我在两台电脑上使用emacs 23。
在两者上,dpkg -s emacs
输出以下版本号。
但是有一个window.el
而另一个没有。这使得诸如split-window
之类的某些功能表现不同。显然未安装window.el
的计算机上此功能的帮助页面会读取来自C source code
的内容。
这种差异来自哪里?
我更喜欢split-window
来自window.el
的行为:它允许在拆分窗口时指定SIDE并提供其他功能,例如window-resize
。
我想这是最近的一个,但我不知道如何检查它,也不知道如何将另一个升级到这个状态。
答案 0 :(得分:3)
图书馆window.el
和山丘一样古老。也许您的意思是您的某个Emacs安装有window.elc
而不是window.el
?
更有可能的是,您只是指函数split-window
。是的,它曾经是一个内置函数(即在C中定义),现在它在window.el
中定义(该文件也存在于旧函数中,其中该函数是内置函数)。
仅供参考,许多窗口和缓冲区显示内容在Lisp中重写split-window
的同时发生了变化。许多行为都以微小或重大的方式发生了变化。
什么是根本不清楚是您报告的问题。你问,“这种差异来自哪里?如何解决?”我已经解释了一下差异。至于如何解决它 - 需要修复的“它”是什么,以及固定行为会是什么样的?
呃,到目前为止,你的问题是无法回答的。如果您更准确地指定事物,也许我们可以提供更多帮助。
答案 1 :(得分:1)
我不确定您的debian软件包是怎么回事,但是如果内存服务于可读的.el(.gz)文件不是在基本软件包中提供的,而是在单独的软件包中提供的。这是因为您严格需要的是字节编译的.elc文件,因此他们可以通过省略它们来减少基本包文件大小(以使您能够读取elisp代码为代价)。
M-x load-library RET window RET
成功吗?
请注意,Emacs 24是当前的稳定版本。您可能想要升级。
编辑:
M-x emacs-version
告诉您正在运行哪个版本的Emacs,这将始终为您提供明确的答案。
(如果版本 相同,则运行emacs -Q
以消除图片中的特定于站点和用户的配置文件,因为这些文件始终是不同行为的罪魁祸首。)