如何配置SBCL,以便在我使用Emacs中的“M-x slime”启动它时使用的内存比默认值多?
从我在网上看到的,答案似乎是调用SBCL,传递参数“--dynamic-space-size< size in MB>”。由于我不直接调用SBCL,我不知道如何传递它。
我在Windows 7上使用GNU Emacs 22.3.1和SBCL 1.0.48。我也没有经验配置,所以新手的介绍将不胜感激。
答案 0 :(得分:12)
通常的方法是将变量inferior-lisp-program
的值设置为要执行的命令,包括您要提供的任何选项。我现在没有电子邮件,但这可能就足够了:
(setq inferior-lisp-program "sbcl --dynamic-space-size 1024")
答案 1 :(得分:11)
我使用SLIME 1:20120420-2进行Debian挤压。 answer Kilian Foth Slime Manual: 2.5.2 Multiple Lisps在此版本中不起作用。我写信给slime-devel并被告知
只要你不在你的使用中使用slime-lisp-implementation 〜/ .emacs,设置inferior-lisp-program应该可以工作 如果您正在使用slime-lisp-implementation,则必须修改
这个变量因为如果是sl,slime会忽略劣质lisp程序 slime-lisp-implementation不是零:
(setq slime-lisp-implementations
'((sbcl ("sbcl" "--dynamic-space-size" "1024"))))
因此,如果想要检查slime-lisp-implementations
的值是什么
只需评估变量
slime-lisp-implementations
,例如用M-x
EVAL-表达。如果它没有或没有约束,则不会被使用。
事实证明,slime-lisp-implementations
对我的价值是
(("sbcl" ("sbcl")) ("clisp" ("clisp")) ("ecl" ("ecl")) ("cmucl" ("cmucl")))
所以,我在我的~/.emacs
(setq slime-lisp-implementations '(("sbcl" ("sbcl" "--dynamic-space-size" "1024")) ("clisp" ("clisp")) ("ecl" ("ecl")) ("cmucl" ("cmucl"))))
关于设置的位置
如果你想弄清楚它的价值是什么或者是什么 有,也检查/ etc / emacs / site-lisp /或/ usr / share / emacs / site-lisp /
在此版本的SLIME中,slime-lisp-implementations
设置为/usr/share/emacs/site-lisp/slime/slime.el
。
有关slime-lisp-implementations
的文档,请参阅
setting heap size for SBCL for use with SLIME
或使用M-x describe-variable。
以上所有引用均来自slime-devel上的帖子{{3}}。