为什么我的GNU Emacs不能用tuareg模式初始化?

时间:2014-09-19 11:23:05

标签: macos emacs ocaml tuareg

我在mac os x上运行。 我在/Users/Max/.emacs中有一个文件,里面有这个:

  

(add-to-list'load-path“/ Users / Max / emacs / tuareg-mode /”)
  (加载“tuareg-mode-startup”)

我在/ Users / Max / emacs / tuareg-mode /中有一个文件夹,其中包含我从tuareg 2.0.6获取的文件并提取到我的'tuareg-mode'文件夹:

>Makefile  
ocamldebug.el  
README  
tuareg-pkg.el  
tuareg.el

编辑:获取我的'tuareg-mode'文件夹中的2.0.7文件,这里是:

>Makefile  
ocamldebug.el  
README  
tuareg-pkg.el  
tuareg.el  
tuareg-site-file.el

我打开emacs时遇到的错误是这样的:

  

警告(初始化):加载时发生错误   `/Users/Max/.emacs':

     

符号作为变量的值为void:“/ Users / Max / emacs / tuareg-mode /”

     

为确保正常操作,您应该调查并删除   初始化文件中的错误原因。用。启动Emacs   `--debug-init'选项查看完整的错误回溯。

使用--debug-init选项启动emacs会给我这个:

  

调试器输入 - Lisp错误:(void-variable   “/ Users / Max / emacs / tuareg-mode /”)(add-to-list(quote load-path)   “/ Users / Max / emacs / tuareg-mode /”)eval-buffer(#nil   “/Users/Max/.emacs”nil t);读缓冲位置57   load-with-code-conversion(“/ Users / Max / .emacs”“/ Users / Max /.emacs”t t)   load(“〜/ .emacs”t t)#[0   “\ 205 \ 262 \ 306 = \ 203 \ 307 \ 310Q \ 202; \ 311 = \ 204 \ 307 \ 312Q \ 202; \ 313 \ 307 \ 314 \ 315#\ 203 * \ 316 \ 202; \ 313 \ 307 \ 314 \ 317#\ 203:\ 320 \ NB \ 321 \ 202; \ 316 \ 322 \ 323 \ 322 \ 211#\ 210 \ 322 = \ 203A \ 324 \ 325 \ 326 \ 307 \ 327Q \“\ 323 \ 322 \ 211#\ 210 \ 322 = \ 203 \210\203\243\330!\331\232\203\243\332!\211\333P\334!\203}\211\202\210\334!\203\207\202\210\314\262\203\241\335\"\203\237\336\337#\210\340\341!\210\266\f?\205\260\314\323\342\322\211#)\262\207" [init-file-user system-type delayed-warnings-list user-init-file inhibit-default-init inhibit-startup-screen ms-dos "~" "/_emacs" windows-nt "/.emacs" directory-files nil "^\\.emacs\\(\\.elc?\\)?$" "~/.emacs" "^_emacs\\(\\.elc?\\)?$" (initialization " _ emacs'init   文件已弃用,请使用`.emacs'“)”〜/ _emacs“t load   expand-file-name“init”file-name-as-directory“/.emacs.d”   file-name-extension“elc”file-name-sans-extension“。el”file-exists-p   file-newer-than-file-p消息“警告:%s比%s更新”sit-for   1“默认”] 7“\ n \ n(fn)”]()命令行()normal-top-level()

我是新的Mac OS,对OCaml来说是全新的。我不明白我做错了什么。为什么它不能加载路径?

非常感谢。

2 个答案:

答案 0 :(得分:4)

您没有正确的引号。

字符串必须用简单的ascii“”引号包围。

否则,lisp阅读器会乐意将它们视为符号名称的一部分,这就是为什么它将“/Users/Max/emacs/tuareg-mode/”视为变量。

此:

(add-to-list 'load-path "/Users/Max/emacs/tuareg-mode/")
(load "tuareg-mode-startup")

(add-to-list 'load-path “/Users/Max/emacs/tuareg-mode/”)
(load "tuareg-mode-startup”)

答案 1 :(得分:1)

如果您有最新版本的Emacs,我强烈建议您使用package.el来安装软件包。它会照顾到把东西放在正确的位置。 package.el附带Emacs 24,并且a version that you can install for Emacs 23

安装package.el后,您可以使用M-x package-list-packagesM-x package-install安装软件包。在前者中,找到您要安装的软件包,使用i进行标记,然后将标记的操作应用于x

开箱即用,package.el只允许您访问GNU ELPA(Emacs Lisp包存档),它没有很多包。但是有第三方存储库包含更多。我建议使用MELPA stabledoes provide tuareg。这样的事情应该让你开始:

(require 'package)
(package-initialize)

(add-to-list 'package-archives
             '("melpa-stable" . "http://melpa-stable.milkbox.net/packages/") t)

您还可以使用package.el做其他很酷的事情。如果您有兴趣,我建议特别查看use-package

有关详情,请参阅EmacsWiki