我试着在Inria网站上安装Tuareg模式的Ocaml作为建议。每当我试图启动它时,都会出现以下错误:
符号的功能定义是无效的:
使用edebug defun
Debugger entered--Lisp error: (void-function dolist)
apply(debug error (void-function dolist))
edebug(error (void-function dolist))
(dolist (buf (buffer-list)) (save-current-buffer (set-buffer buf) (if (derived-mode-p (quote tuareg-mode)) (progn (abbrev-mode (if val 1 -1))))))
(lambda (var val) (set-default var val) (dolist (buf (buffer-list)) (save-current-buffer (set-buffer buf) (if (derived-mode-p (quote tuareg-mode)) (progn (abbrev-mode (if val 1 -$
custom-initialize-reset(tuareg-use-abbrev-mode t)
custom-declare-variable(tuareg-use-abbrev-mode t "*Non-nil means electrically indent lines starting with leading keywords.\nLeading keywords are such as `end', `done', `else' etc$
eval-buffer(#<buffer *load*> nil "/nfs/ring/users/2013/phibonacci/.emacs.d/tuareg-mode/tuareg.el" nil t) ; Reading at buffer position 13589
load-with-code-conversion("/nfs/ring/users/2013/phibonacci/.emacs.d/tuareg-mode/tuareg.el" "/nfs/ring/users/2013/phibonacci/.emacs.d/tuareg-mode/tuareg.el" nil t)
command-execute(tuareg-mode record)
execute-extended-command(nil "tuareg-mode")
call-interactively(execute-extended-command nil nil)
recursive-edit()
edebug--recursive-edit(before)
edebug--display(nil 0 before)
edebug-debugger(0 before nil)
edebug-before(0)
(edebug-after (edebug-before 0) 1 (autoload (quote tuareg-mode) "tuareg" "Major mode for editing Caml code" t))
(lambda nil (edebug-after (edebug-before 0) 1 (autoload (quote tuareg-mode) "tuareg" "Major mode for editing Caml code" t)))()
edebug-enter(edebug-anon0 nil (lambda nil (edebug-after (edebug-before 0) 1 (autoload (quote tuareg-mode) "tuareg" "Major mode for editing Caml code" t))))
edebug-enter(edebug-anon0 nil (lambda nil (edebug-after (edebug-before 0) 1 (autoload (quote tuareg-mode) "tuareg" "Major mode for editing Caml code" t))))
eval((edebug-enter (quote edebug-anon0) nil (function (lambda nil (edebug-after (edebug-before 0) 1 (autoload (quote tuareg-mode) "tuareg" "Major mode for editing Caml code" t)))$
eval-expression((edebug-enter (quote edebug-anon0) nil (function (lambda nil (edebug-after (edebug-before 0) 1 (autoload (quote tuareg-mode) "tuareg" "Major mode for editing Caml$
edebug-defun()
call-interactively(edebug-defun record nil)
command-execute(edebug-defun record)
execute-extended-command(nil "edebug-defun")
call-interactively(execute-extended-command nil nil)“/nfs/ring/user/2013/phibonacci”是我的主目录。
我遵循这样的方法:http://www.emacswiki.org/emacs/TuaregMode (只将~/..elisp/tuareg-模式替换为我自己的path ~/.emacs.d/tuareg-模式)
emacs 24.3.1 (2013年)/ 图阿雷格2.0.6 (2012)
发布于 2013-09-10 18:04:57
dolist来自普通的lisp Emacs库。如果图阿雷格使用没有dolist的(eval-when-compile ...(require 'cl)...),那就是一个bug。作为一种解决方法,您可以在您的(require 'cl)中执行.emacs。这不是纯粹主义者Emacs社区推荐的,但这是相当普遍的。
发布于 2013-09-11 00:17:58
IIRC dolist被添加到标准Elisp中,有时在Emacs-21附近,所以你的设置确实有问题。
https://stackoverflow.com/questions/18713975
复制相似问题