2010-07-17 57 views
1

我使用CPerl模式在Emacs中編輯我的Perl腳本。但Emacs功能indent-region在該模式下被打破。如果我有一個變量:Emacs CPerl模式:縮進區域中的錯誤

my $num_elements; 

成爲

my $num_ elements; 

這很煩人,尤其是因爲我習慣使用變量名下劃線,並且我按了indent-region鍵盤快捷鍵所有的時間(實際上,基於它的自定義功能indent-whole-buffer),它已經是自動的。

有誰知道如何解決它?

我用這Emacs的:

GNU Emacs 21.4.1 (x86_64-redhat-linux-gnu, X toolkit, Xaw3d scroll bars) 
    of 2007-12-10 on hs20-bc1-5.build.redhat.com 

UPDATE:其實這發生在一個foreach(或類似)後,才:

foreach my $num_elements (1,2) {} 

變爲:

foreach my $num_ elements (1,2) {} 
+0

你可以添加你的版本號嗎?它可以在我的GNU Emacs 23.1.1(i686-pc-linux-gnu,GTK +版本2.16.6)中運行。 – Svante 2010-07-17 19:01:59

+0

@Svante:好的,在上面添加它。 – Frank 2010-07-17 19:03:27

回答

4

更新cperl-mode的版本可用。 official versionan unofficial version that's aware of 5.10 and Moose。更新到其中一個應該可以解決您的問題。

M-x describe-variable cperl-version將顯示您正在使用的cperl模式的版本。

+0

謝謝。我想我將不得不安裝最新版本的cperl(雖然我可能不會這樣,因爲這聽起來像是一件煩人的事情,要花時間...)順便說一下,我的Emacs版本沒有命令'describe-version' 。 – Frank 2010-07-17 20:29:54

+0

對不起,'describe-variable'。安裝cperl-mode的新副本很容易。在'〜/ .emacs'中放入'(add-to-list'load-path「〜/ emacs」),然後將'cperl-mode.el'放入'〜/ emacs'中。 – Schwern 2010-07-17 20:51:01

+0

謝謝!你說服了我,我安裝了cperl 5.14,現在它已經修復了。 – Frank 2010-07-17 21:04:34