首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在elisp中查找语法错误

如何在elisp中查找语法错误
EN

Stack Overflow用户
提问于 2014-05-14 06:47:10
回答 1查看 2.2K关注 0票数 7

如果这是一个副本,请删除。我只是在编辑我的.emacs文件,在做完修改之后。我重新启动了emacs。但是,它再次出现,它声称配置文件有一些错误。我应该从“--调试-init”开始,这也是我所做的。但它并没有帮助我解决或发现语法错误。那么有什么方法可以找到有语法错误的行吗?或者,如果有类似于(e)lisp的内容,比如xml、json、js等等,那就更好了。提前感谢

编辑

设法得到转储:

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2014-05-14 14:05:38

对于"lint"-like检查,有elint.el,但更重要的是,有一个字节编译器:M-x byte-compile-file RET允许您字节编译一个文件,并将为您提供关于语法和样式的各种警告。

但是,您的回溯表明,问题可能不是语法问题。大多数情况下,菜单中的某个地方出现了一个whitespace-mode (即菜单项的:enable属性),这表明了一个错误,因为whitespace-mode变量碰巧还没有定义。因此,正如Phils所建议的,加载whitespace可能会解决这个问题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23647479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档