EmacsW32使用旧的Windows缩短文件名重命名缓冲区

时间:2009-05-21 13:28:47

标签: emacs emacsw32

让我们看看我是否可以在stackoverflow上访问EmacsW32用户。

我刚从http://ourcomments.org/Emacs/EmacsW32.html

安装了修补版的EmacsW32

我觉得很好.txt文件与Emacs相关联,所以当你点击一个文件时,emacsclient会在正在运行的Emacs实例中打开它。

问题是,由于某种原因,缓冲区使用旧式缩短的文件名重命名,因此,例如,文件“activities-2008.txt”的缓冲区被重命名为“ACTIV~1.TXT”,我不喜欢。

如何让EmacsW32不重命名缓冲区,而是使用整个文件名作为缓冲区名称?

2 个答案:

答案 0 :(得分:1)

Ick,太糟糕了。

为什么不使用标准Windows emacs distribution附带的emacsclientw?

如果Emacs尚未运行,你会遇到一个恼人的“无错误”错误框,但确实有一个问题,但是当他们登录时,任何真正的emacs用户都会首先启动emacs。 : - )

答案 1 :(得分:1)

解决。

问题不在于emacs,而在于在注册表中关联文件类型时Windows运行程序的方式。

在我的注册表中,我将txt文件与Emacs关联的键具有此值:

C:\emacs-23.0.91.1\Emacs\bin\emacsclientw.exe -n "%1"

问题是%1,它被短文件名替换。

根据此消息http://lists.gnu.org/archive/html/help-emacs-windows/2009-05/msg00022.html

 %L is long file names.

 %1 is long file names IF
 * Explorer can find the exe file (it does not look very hard)
 AND
 * The file header says it is Win 95 aware Win16 exe, or
 * It is a 32 bit program

 Else %1 will be a short name.

解决方法是在注册码中使用%L 代替%1