【问题标题】:font-lock-mode in haskell-mode seems to ruin the width of single spaces in emacshaskell-mode 中的 font-lock-mode 似乎破坏了 emacs 中单个空格的宽度
【发布时间】:2014-04-23 15:06:30
【问题描述】:

我发现font-lock-mode 在单个空格的宽度上做错了,无论我使用什么等宽字体。

以下是一些截图:

  • 使用DejaVu Sans Mono

    font-lock-mode 开启:

    font-lock-mode关闭:

  • 使用Luculent

    font-lock-mode 开启:

    font-lock-mode关闭:

我的 emacs 初始化文件中的相关(可能)行:

(custom-set-variables
 ...
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(default ((t (:inherit nil :stipple nil :inverse-video nil
                :box nil :strike-through nil :overline nil
                :underline nil :slant normal :weight normal
                :height 120 :width normal 
                :foundry "unknown" :family "Luculent")))))

编辑:感谢@Boojum 的帮助,我对 3 种不同风格的角色做了C-u C-x =This is 结果。我猜问题是SPC 没有“面”属性。

另外,我也尝试切换到其他主要模式,发现 这个问题只发生在haskell-mode

【问题讨论】:

    标签: emacs emacs-faces font-lock haskell-mode


    【解决方案1】:

    我不确定发生了什么,但看起来粗体文本设置的大小比默认值略大。您对font-lock-keyword-face 有任何自定义吗?您是否有可以自定义面孔的站点配置文件?

    可能有助于调试的一件事是将点放在示例中的一些粗体文本上,然后输入C-u C-x = 这将为您提供更多信息,说明是什么影响了它的显示方式。也对一些默认(非粗体)文本执行此操作。如果您在此处发布回复,我们可能会为您提供更好的帮助。

    【讨论】:

    • 感谢您的帮助,我选择了 3 个字符,结果是 here。我想问题是 SPC 没有“面”属性。
    • 另一件事是我发现这只发生在haskell-mode中,如果我切换到scheme-mode等其他模式,一切都会好起来的。我认为haskell-mode中的相关文件是this one,希望对您有所帮助。
    • @Javran - 如果您查看右上角的窗口,您会看到 font-lock-function-name-face 使用 18pt(参见 xft 行)。其他两个窗口显示他们正在使用 16pt。所以接下来的事情是检查您可能拥有的font-lock-function-name-face 的任何自定义。那个 haskell 模式看起来就像它只是使用标准的脸(屏幕截图证实了它正在使用的那个)。但如果它只出现在该模式下,您可能需要检查是否有任何钩子。你有什么要给'haskell-font-lock-hook'haskell-mode-hook 的吗?
    • 我终于想通了!但它与钩子无关:我单击“font-lock-function-name”按钮并继续检查值,我发现比例默认为 1.1。将其更改为 1.0 或切换到另一个主题都可以。
    • @Javran 是的,这是该特定主题的问题,因为它使用较大的字体大小作为函数名称,这会破坏可视代码布局。您可能想使用M-x report-emacs-bug 报告错误。顺便说一句,实际的 Emacs 源代码不在 Github 上,而是在 Savannah
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-29
    • 2011-06-20
    • 2012-09-28
    • 2011-05-30
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多