OSX 终端上 emacs cocoa (23.2) 的警告/错误

OSX 终端上 emacs cocoa (23.2) 的警告/错误

我在 OSX 终端上使用 emacs,刚刚安装了较新的版本 23.2,它位于 /Applications/Emacs/Content/Emacs,它是一个可执行文件,因此我将它链接到 /usr/bin/emacs,并将旧版本移动到 /usr/bin/emacs.old,因为它是一个 bin 文件。

现在,当我使用“emacs -nw” (没有.emacs 和空的“.emacs.d”)时,它会打开文件,没有语法高亮(在我的情况下是 php,但这是可以理解的),当我关闭它时,出现以下错误:

警告:依赖于架构的数据目录 (/Users/david/src/emacs-dev/ftp-versions/emacs-23.2/nextstep/Emacs.app/Contents/MacOS/libexec/emacs/23.2/x86_64-apple-darwin/) 不存在。警告:独立于架构的数据目录 (/Users/david/src/emacs-dev/ftp-versions/emacs-23.2/nextstep/Emacs.app/Contents/Resources/share/emacs/23.2/etc/) 不存在。错误:字符集目录 (/Users/david/src/emacs-dev/ftp-versions/emacs-23.2/nextstep/Emacs.app/Contents/Resources/share/emacs/23.2/etc/charsets) 不存在。如果没有字符映射文件,Emacs 将无法正常运行。请检查您的安装!

如果我将 .emacs.old 移动到 .emacs 并将 .emacs.d.old 的内容放到 .emacs.d 中,则当打开某个文件时,emacs 会显示错误,说由于警告无法打开该文件,而当我关闭它时,会出现相同的警告。

奇怪的是,我的用户名不是 david,就像警告“/Users/david/...”中显示的那样,那么它是从哪里来的呢?我可以修复它吗?

谢谢。

编辑:这是我尝试打开 .module 文件时收到的错误:

无法打开加载文件:警告

编辑2:

我想要的只是在“emacs -nw”上进行 shift-select,如果有人有更好的建议,我会很高兴。我现在正在使用旧版 emacs,新版在 -nw 上有太多错误。

答案1

这帮我消除了错误:

$ sudo mv /usr/bin/emacs /usr/bin/emacs.old

现在在文本编辑器中编辑 /usr/bin/emacs 并将其粘贴到:

#!/bin/sh

EMACS_PATH=/Applications/MacPorts/Emacs.app/Contents/MacOS/Emacs

if [ $(id -u) = "0" ]; then
    sudo $EMACS_PATH "$@"
else
    $EMACS_PATH "$@"
fi

(将 $EMACS_PATH 替换为 Emacs 二进制文件的实际路径。)最后,使您的 shell 脚本可执行:

$ sudo chmod +x /usr/bin/emacs

无论出于什么原因,Cocoa Emacs 都不喜欢链接到 /usr/bin/emacs,但如果您从其实际路径调用它,它会毫无怨言地运行。可能是工作目录问题。

如果有人知道更好的方法,我洗耳恭听。

编辑:更新脚本以正确处理参数中的引号

相关内容