修改 info.plist 中的 Executable 选项可以带参数执行emacs

修改 info.plist 中的 CFBundleExecutable 选项可以带参数执行emacs

LISPBOX针对MAC APP的结构,修改了EMACS Bundle 中的 info.plist 文件的 Executable 选项,正常的该选项就是可执行文件名,比如 EMACS 的可执行文件名就是 emacs ,但是这样直接运行的话就没办法附加各种运行参数了,所以LISPBOX 就在包里加入了一个 lispbox.sh 的脚本,这个脚本的作用就是执行一个带参数的 emacs ,具体内容如下:

#!/bin/bash
if [ "${0:0:2}" = "./" ]; then
    export LISPBOX_HOME=`pwd`/../../..
else
    export LISPBOX_HOME=`dirname $0`/../../..
fi
export SBCL_HOME=${LISPBOX_HOME}/sbcl-1.0.42/lib/sbcl
exec ${LISPBOX_HOME}/Emacs.app/Contents/MacOS/Emacs --no-init-file --no-site-file --eval='(progn (load "lispbox") (slime))'


实际执行的操作就是获取当前所在的目录名,设置SBCL的路径,然后执行:
Emacs --no-init-file --no-site-file

“--eval=...”这部分相当于在EMACS里执行 load lispbox.el 然后再执行 slime.el

你可能感兴趣的:(修改 info.plist 中的 Executable 选项可以带参数执行emacs)