2011-02-01 70 views
0

在豬等/ *開始塊註釋。如果我把它放在一個正則表達式字符串'blah/blah/*'中,emacs認爲這是一個塊註釋,並且語法突出顯示到地獄。我對elisp不熟悉,但我確信這是一個爲豬提供註釋的腳本的問題。字符串內的註釋令牌

我該如何解決?

+0

我使用的Emacs(Debian測試中的23.2.1)能夠在字符串內部的獨立評論和評論之間進行區分。也許你在.emacs中得到了一些東西來觸發這種行爲?或者,您使用的是哪個版本的Emacs和哪個操作系統? – vpit3833 2011-02-01 06:13:47

+0

RHEL和emacs-23.2.1 – 2011-02-01 06:19:49

+0

您是否在使用http://sourceforge.net/projects/pig-mode/? – phils 2011-02-01 06:54:08

回答

2

菲爾斯指出了問題的意見更好的設計的主要方式,但因爲你仍然好奇:你使用的pig模式版本沒有設置正確的語法表。 emacs識別註釋和字符串的最可靠方法是使用語法表將字符映射到註釋和字符串的開始/結束。你正在使用的版本試圖用font-lock來完成。

0

你必須逃避\'es和*。所有正則表達式引擎使用的字符都必須轉義。

如果要匹配「\」,則可能必須在交互式使用replace-regexp時編寫「\\」,如果將其用作lisp函數,則可能需要編寫「\\\\」。

(我甚至都逃不過我的逃逸在此評論,所以有8名逃逸上面最後轉義序列)