Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/emacs/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使emacs在字体锁定模式下呈现数学组合字符?_Emacs_Font Lock_Font Lock Mode - Fatal编程技术网

如何使emacs在字体锁定模式下呈现数学组合字符?

如何使emacs在字体锁定模式下呈现数学组合字符?,emacs,font-lock,font-lock-mode,Emacs,Font Lock,Font Lock Mode,我正试图让emacs在字体锁定模式下正确地呈现数学组合字符,如分划、过栏等。目标是能够写一些数学的东西,比如ẋdot,并将其显示为“ẋ”,或者x̄bar显示为“x” 这就是我到目前为止所做的,而且基本上是有效的 (font-lock-add-keywords nil `(("\\<\\(\\w\\)\\(_dot\\)\\>" (0 (progn (compose-region (match-beginning 1) (match-end 2)

我正试图让emacs在字体锁定模式下正确地呈现数学组合字符,如分划、过栏等。目标是能够写一些数学的东西,比如ẋdot,并将其显示为“ẋ”,或者x̄bar显示为“x”

这就是我到目前为止所做的,而且基本上是有效的

 (font-lock-add-keywords 
  nil 
  `(("\\<\\(\\w\\)\\(_dot\\)\\>" 
     (0 (progn (compose-region (match-beginning 1) (match-end 2) 
                  (concatenate 'string (match-string 1) " ̇" )) nil)))))
(字体锁定添加关键字)
无
`(("\\" 
(0(程序(合成区域)(匹配开始1)(匹配结束2)
(连接“字符串(匹配字符串1)”)(零
但是:我在合成的角色之前看到了一个视觉工件角色。执行上述操作后,在*scratch*缓冲区中写入“x_dot”或类似内容来测试这一点

这个神器像幽灵一样来来去去去。在编写“o”和“-”等普通字符时,不会出现这种行为,如下面的示例所示

 (font-lock-add-keywords 
  nil 
  `(("\\<\\(\\w\\)\\(_dash\\)\\>" 
     (0 (progn (compose-region (match-beginning 1) (match-end 2) 
                  (concatenate 'string (match-string 1) "-" )) nil)))))
(字体锁定添加关键字)
无
`(("\\" 
(0(程序(合成区域)(匹配开始1)(匹配结束2)
(连接“字符串(匹配字符串1)”-”)nil‘‘‘‘‘‘‘)
然后在某处输入“x_dash”


发生了什么?

无论如何,您的第一个示例在我的操作系统X上的前沿Emacs中运行良好,没有瑕疵。您可能看到了特定于您平台的Emacs UI和/或字体库的渲染怪癖。如果你发布更多关于你正在运行的Emacs的信息,比我更专业的人可能会证实这个问题。

我在ubuntu上用Emacs 23.2测试了这个例子,发现了同样的问题。是的,我也在ubuntu上用Emacs 23.2测试。我看看能不能找到真正的问题。。。