我在两台计算机上使用emacs 23。在这两种情况下,dpkg -s emacs都会输出以下版本号。然而,一个有window.el,而另一个没有。这使得split-window等一些函数的行为有所不同。在显然没有安装window.el的电脑上,这项功能的帮助页面显示它来自C source code。
这种差异从何而来?
我更喜欢split-window来自window.el的行为:它允许在拆分窗口时指定侧边,并提供额外的函数,如window-resize。我想这是最新的一个,但我不知道如何检查它,也不知道如何将另一个升级到这种状态。
发布于 2013-11-06 05:09:26
Library window.el和群山一样古老。也许您的意思是,您的某个Emacs安装包有window.elc,但没有window.el
更有可能的是,您只引用了函数split-window。是的,它曾经是一个内置函数(即,用C定义的),现在它是在window.el中定义的(该文件也存在于旧的Emacs版本中,该函数是内置的)。
仅供参考,在Lisp语言重写split-window的同时,许多窗口和缓冲区显示内容也发生了变化。许多行为都发生了变化,或多或少都有变化。
完全不清楚的是你所报告的问题是什么。你会问,“这种差异来自哪里?如何修复它?”我已经解释了一些不同之处。至于如何修复它--需要修复的“它”是什么,修复后的行为会是什么样子?
到目前为止,你的问题是无法回答的。如果您能更准确地指定内容,也许我们可以提供更多帮助。
发布于 2013-11-06 04:52:49
我不确定你的debian软件包是怎么回事,但如果内存服务,可读.el(.gz)文件不是在基本软件包中提供的,而是在一个单独的软件包中提供的。这是因为严格来说,您只需要字节编译的.elc文件,因此它们可以通过省略它们来减小基本包文件的大小(以使您能够读取elisp代码为代价)。
M-x load-library RET window RET是否成功?
请注意,Emacs 24是当前的稳定版本。您可能想要升级。
编辑:
M-x emacs-version会告诉您运行的是哪个版本的Emacs,这将始终给您一个明确的答案。
(如果版本相同,则运行emacs -Q以消除图片中特定于站点和用户的配置文件,因为这些配置文件总是导致不同行为的罪魁祸首。)
https://stackoverflow.com/questions/19798594
复制相似问题