Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Emacs Putting";不适当的ioctl“;路径变量中存在错误_Macos_Version Control_Emacs_Path - Fatal编程技术网

Macos Emacs Putting";不适当的ioctl“;路径变量中存在错误

Macos Emacs Putting";不适当的ioctl“;路径变量中存在错误,macos,version-control,emacs,path,Macos,Version Control,Emacs,Path,我使用的是OSX10.6.8。我用Emacs for OS X复制了以下错误(http://emacsformacosx.com/)和Aquamacs(两者的当前版本) 我在Subversion Repo中编辑文件时,试图进入版本控制模式(CTRL-xv),从而发现了这个问题。我得到以下错误: 正在搜索程序:没有这样的文件或目录,svn 在OSX中,svn位于/usr/bin中 C-h v exec path显示了以下内容: exec-path is a variable defined in

我使用的是OSX10.6.8。我用Emacs for OS X复制了以下错误(http://emacsformacosx.com/)和Aquamacs(两者的当前版本)

我在Subversion Repo中编辑文件时,试图进入版本控制模式(
CTRL-xv
),从而发现了这个问题。我得到以下错误:

正在搜索程序:没有这样的文件或目录,svn

在OSX中,svn位于/usr/bin中

C-h v exec path
显示了以下内容:

exec-path is a variable defined in `C source code'.
Its value is
("mesg" " ttyname" " Inappropriate ioctl for device/usr/bin" "/bin" "/usr/sbin" "/sbin" "/usr/local/bin" "/usr/X11/bin" "/usr/local/git/bin" "/Users/schof/py/scripts" "/usr/texbin" "/Users/schof/py/scripts")
注意“设备的不适当ioctl”是如何与“/usr/bin”混搭在一起的。我很确定这就是为什么Emacs在/usr/bin中找不到svn的原因


有没有办法解决这个问题?或者进一步的故障排除建议?

以下是您可以做的一些事情:

  • 谷歌正在为此编写。这将为您提供一些线索,了解可能导致此消息的事件类型
  • 不使用init文件运行emacs,然后检查exec path变量中是否仍存在此消息。如果是,那么可能是由于Emacs外部的原因(例如,您的.bashrc或其他shell init文件)。查看callproc.C中的C源代码,看起来最可能的罪魁祸首是环境变量“EMACSPATH”或“PATH”,因此您应该检查这些环境变量,以及在运行的任何shell脚本中设置这些变量的任何代码。但是,Mac OS X上的环境变量也可能来自“~/.MacOSX/environment.plist”,因此您应该检查那里设置了什么,以确定这是否是罪魁祸首
  • 如果在没有init文件的情况下运行emacs时没有收到“设备的ioctl不适当”消息,则开始执行emacs init文件的块(每次检查exec path变量以查看运行的代码是否导致添加错误消息)

  • 祝你好运

    对我的.emacs文件进行了二进制搜索,发现是有问题的.emacs代码。然而,我能够通过在emacs shell中执行“echo$PATH”来复制这个问题。不过,从航站楼开始就可以完美地工作了。最终的罪魁祸首是my.bashrc中的一个“mesg n”行,它在从非交互式终端运行时导致错误消息。删除它修复了这个问题。