2011-07-13 67 views
1

我正在使用emacs 23.1,包括主要模式的紅寶石。 這個正則表達式的語法高亮顯示的錯誤讓我發瘋了: http://redmine.ruby-lang.org/issues/show/4242Emacs更新紅寶石主要模式

如前所述,錯誤是固定在紅寶石mode.el較新版本的
我想更新到Ruby模式的這一新版本.el。什麼是最好的方法來做到這一點?

我試了一下:
1.我安裝了Ruby 1.9.2-P180
2.我驗證/ruby-1.9.2-p180/misc/ruby-mode.el是固定的版本
3。我複製成.emacs.d
4.在我的.emacs文件我補充說:

(autoload 'ruby-mode "ruby-mode" "Ruby Mode." t) 
(add-to-list 'auto-mode-alist '("\\.rb$" . ruby-mode)) 

然而,錯誤是不固定:(

任何幫助表示讚賞,也感謝你,如果有人知道,這是固定在emacs 23.2或23.3?

編輯: 好吧,事實證明它正確讀取新的ruby-mode.el - 我將ruby-mode.elc重命名爲ruby-mode.elc2以確保是這種情況。或許這是一個新的邊緣案例,我將很快提交一個錯誤報告。
下面是測試案例的人好奇

method /^"([^"]*)"$/ do |arg| 

這似乎與()周圍的方法參數正常工作,所以這將是我的修爲現在:)

回答

1

嘗試複製ruby-mode.el~/.emacs.d/load/代替~/.emacs.d/。這解決了我的問題。

我認爲emacs可能在~/.emacs.d/load/看起來,如果它沒有找到該文件,它會在其他地方。在我的系統Ubuntu 10.04上,我認爲它是在/usr/share/emacs/23.1/lisp/progmodes/ruby-mode.elc中找到的。

+0

不幸的是,加載目錄不起作用。我嘗試了一個ruby-mode目錄並添加了這個路徑,這也失敗了。我如何檢查emacs在哪裏找到ruby模式?我絕對可以使用它來確保它正在加載正確的文件。謝謝。 – Glitz

2

嘗試增加顯式路徑自動加載:

(autoload 'ruby-mode "~/.emacs.d/ruby-mode" "Ruby Mode." t) 

順便說一句,如果你想知道文件在加載的Emacs庫,請M-x locate-library