如果这是一个副本,请删除。我只是在编辑我的.emacs文件,在做完修改之后。我重新启动了emacs。但是,它再次出现,它声称配置文件有一些错误。我应该从“--调试-init”开始,这也是我所做的。但它并没有帮助我解决或发现语法错误。那么有什么方法可以找到有语法错误的行吗?或者,如果有类似于(e)lisp的内容,比如xml、json、js等等,那就更好了。提前感谢
编辑
设法得到转储:
Debugger entered--Lisp error: (void-variable whitespace-mode)
redisplay_internal\ \(C\ function\)()
delete-process(#<process server-client-test>)
Someunicodefoo" [("server") server-use-tcp server-auth-dir server-socket-dir generate-new-buffer " *temp*" funcall make-byte-code 0 "Someunicodefoo" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" insert-file-contents-literally expand-file-name looking-at "127\\.0\\.0\\.1:[0-9]+ \\([0-9]+\\)" comm process-attributes string-to-number match-string 1 t :other delete-process make-network-process :name "server-client-test" :family local :server nil :noquery :service] 14 "\n\n(fn)"])
server-running-p("server")
byte-code("Someunicodefoo" [load-file-name buffer-file-name recentf-menu-before user-emacs-directory recentf-save-file server-name add-to-list load-path file-name-directory "../packages" tool-bar-mode 0 load "ergoemacs-keybindings/ergoemacs-mode" ergoemacs-mode 1 "init_load_packages" "init_version" "init_functions" "init_settings" "init_aliases" "init_abbrevs-lisp-mode" "init_keybinding" "init_mouse" "init_clean_menus" require recentf "Close" ".recentf" recentf-mode server server-running-p t server-start] 4)
load("/home/dirk/.emacs.d/ergoemacs_1.9.3.1/site-lisp/../ergoemacs/init")
eval-buffer(#<buffer *load*-842275> nil "/home/dirk/.emacs.d/ergoemacs_1.9.3.1/site-lisp/site-start.el" nil t) ; Reading at buffer position 1432
load-with-code-conversion("/home/dirk/.emacs.d/ergoemacs_1.9.3.1/site-lisp/site-start.el" "/home/dirk/.emacs.d/ergoemacs_1.9.3.1/site-lisp/site-start.el" nil nil)
load("/home/dirk/.emacs.d/ergoemacs_1.9.3.1/site-lisp/site-start.el" nil nil t)
load-file("~/.emacs.d/ergoemacs_1.9.3.1/site-lisp/site-start.el")
eval-buffer(#<buffer *load*> nil "/home/dirk/.emacs" nil t) ; Reading at buffer position 2883
load-with-code-conversion("/home/dirk/.emacs" "/home/dirk/.emacs" t t)
load("~/.emacs" t t)
command-line()
normal-top-level()发布于 2014-05-14 14:05:38
对于"lint"-like检查,有elint.el,但更重要的是,有一个字节编译器:M-x byte-compile-file RET允许您字节编译一个文件,并将为您提供关于语法和样式的各种警告。
但是,您的回溯表明,问题可能不是语法问题。大多数情况下,菜单中的某个地方出现了一个whitespace-mode (即菜单项的:enable属性),这表明了一个错误,因为whitespace-mode变量碰巧还没有定义。因此,正如Phils所建议的,加载whitespace可能会解决这个问题。
https://stackoverflow.com/questions/23647479
复制相似问题