我有 emacs 23.3.1,在 Windows 上运行。
php-mode 1.5 来自 http://php-mode.sourceforge.net/,修改:2008-11-04
我认为这曾经可以工作,但是现在,当我尝试使用注释区域注释掉一段代码时,注释区域是“newcomment.el”中的一个交互式编译的 Lisp 函数,我得到的结果很差。
例子:
前:

后:

可以看到注释块中的每一行都有单行注释开始顺序//和多行注释结束顺序*/。
这不是一个大问题,尽管它很丑陋。当我尝试取消注释该块时,问题就出现了。我收到错误消息“找不到评论结束”。换句话说,comment-region是不可逆的C-u comment-region。
我会看看我是否能解决这个问题,但是在 php-mode 中是否有我缺少的设置?
有人知道吗?
更多的
我没有在我的 php-mode-hook 函数中添加任何东西来更改comment-startandcomment-end变量。当我调试时,comment-region我可以看到它们以某种方式设置为不匹配//的一对。*/这就解释了注释区域的奇怪结果。我不相信是我的代码确实设置了这些变量。
我尝试在我的钩子中明确地将它们设置为//and (空字符串)。在这种情况下,comment-region看起来更漂亮,但它仍然没有取消注释。我也尝试了匹配的/*and */,但结果相同。取消注释不成功;错误是can't find comment end.。
更多2
我认为我的语法表是正确的。它显示了这一点:

...这对我来说似乎是正确的。