如果这是重复请删除.我只是编辑我的.emacs文件,并在完成更改后.我重新启动了emacs.但是当它再次出现时,它声称配置文件有一些错误.我应该从"--debug-init"开始,这也是我所做的.但它没有帮助我解决也没有找到语法错误.那么有没有办法找到有语法错误的行.或者甚至更好,如果有像(x)lisp lint之类的东西,例如xml,json,js等等.提前致谢
管理获得转储:
Debugger entered--Lisp error: (void-variable whitespace-mode) redisplay_internal\ \(C\ function\)() delete-process(#) 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(# 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(# 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()
Lindydancer.. 6
一种方法是打开文件并标记它的前半部分并应用eval-region
.如果报告错误,请标记其中的一半并重复.如果未报告错误,请将其应用于另一半.
通过这种方式,您可以缩小问题范围,一旦找到问题,您就可以找到问题所在.
我用它来寻找不正确的括号另一种技术是一个额外的括号添加到文件的开头和结尾,分别运行C-M-f,并C-M-b分别从开头和结尾.如果括号不正确,它们将与新添加的括号匹配,并且该点将移至不正确的括号.
编辑:您可以M-x check-parens用来检查不匹配的括号.