【问题标题】:Emacs updating ruby major modeEmacs 更新 ruby​​ 主模式
【发布时间】:2011-07-13 04:38:22
【问题描述】:

我正在使用 emacs 23.1,其中包含 ruby​​ 的主要模式。 这个正则表达式语法高亮错误让我抓狂: http://redmine.ruby-lang.org/issues/show/4242

如前所述,该错误已在较新版本的 ruby​​-mode.el 中得到修复
我想更新到这个新版本的 ruby​​-mode.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|

它似乎与方法参数周围的 () 一起正常工作,所以这将是我现在的解决方法:)

【问题讨论】:

    标签: ruby emacs elisp


    【解决方案1】:

    尝试添加自动加载的显式路径:

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

    顺便说一句,如果你想知道emacs库在哪个文件中加载,使用M-x locate-library

    【讨论】:

      【解决方案2】:

      尝试将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 中找到了它。

      【讨论】:

      • 很遗憾,加载目录不起作用。我尝试了一个 ruby​​-mode 目录并添加了该路径,但也失败了。如何检查 emacs 在哪里找到 ruby​​ 模式?我绝对可以使用它来确保它正在加载正确的文件。谢谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-23
      • 2013-07-06
      • 2016-10-10
      相关资源
      最近更新 更多