Emacs “如何修复”;源文件比字节编译文件“更新”;错误?
我发现了错误 源文件`~/.emacs.d/elpa/cmake-mode-20110824/cmake mode.el'比字节编译文件更新 当我尝试在cmake模式下打开CMakeLists.txt文件时 My.emacs(部分)由以下部分组成:Emacs “如何修复”;源文件比字节编译文件“更新”;错误?,emacs,elisp,Emacs,Elisp,我发现了错误 源文件`~/.emacs.d/elpa/cmake-mode-20110824/cmake mode.el'比字节编译文件更新 当我尝试在cmake模式下打开CMakeLists.txt文件时 My.emacs(部分)由以下部分组成: (setq load-path (cons (expand-file-name "~/.emacs.d/elpa/cmake-mode-20110824") load-path)) (requi
(setq load-path (cons
(expand-file-name "~/.emacs.d/elpa/cmake-mode-20110824")
load-path))
(require 'cmake-mode)
(setq auto-mode-alist
(append '(("CMakeLists\\.txt\\'" . cmake-mode)
("\\.cmake\\'" . cmake-mode))
auto-mode-alist))
回溯:
Debugger entered--Lisp error: (wrong-type-argument char-table-p nil)
char-table-parent(nil)
cmake-mode()
set-auto-mode-0(cmake-mode nil)
set-auto-mode()
normal-mode(t)
after-find-file(nil t)
find-file-noselect-1(#<buffer CMakeLists.txt> "~/CMakeLists.txt" nil nil "~/CMakeLists.txt" (19923691 2049))
find-file-noselect("~/CMakeLists.txt" nil nil t)
find-file("~/CMakeLists.txt" t)
call-interactively(find-file nil nil)
调试器已输入--Lisp错误:(错误的类型参数char-table-p nil)
字符表父项(无)
cmake-mode()
设置自动模式0(cmake模式零)
设置自动模式()
正常模式(t)
查找文件后(无)
find-file-noselect-1(#“~/CMakeLists.txt”nil-nil“~/CMakeLists.txt”(19923691 2049))
查找文件noselect(“~/CMakeLists.txt”nil nil t)
查找文件(“~/CMakeLists.txt”t)
交互调用(查找文件nil nil)
我不明白为什么会发生这种错误。免责声明:我是emacs和elisp noob 问题可能出在您的
cmake模式中,该模式已经过时。
以下是修复方法:
从上面删除所有设置
确保您有emacs24
在~/.emacs
中:
(package-initialize)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/"))
M-x包裹列表包裹
。使用C-s查找cmake模式
。
用i标记安装,用x标记安装
你们的免责声明是多余的,因为“源文件更新…”是一个警告,而不是一个错误:)这对我来说是一个错误,该死!如果需要添加到列表
,这是cmake-mode.el中的一个错误。事实上,这是最近修复的。此外,您可能希望将加载首选较新的
设置为非空值,以避免将来加载过时的字节码文件。