2009-05-21 69 views
1

让我们来看看,如果我能在计算器达到EmacsW32用户。EmacsW32重命名缓冲器与旧的Windows缩短文件名

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

安装EmacsW32的补丁版本,我觉得很高兴,txt文件关联问心无愧Emacs的,所以,当你点击一个,emacsclient打开它的运行实例Emacs的。

问题是,由于某种原因,缓冲区重命名为短文件名旧式的,因此,举例来说,使用文件“的活动,2008.txt”缓冲区被更名为“ACTIV〜1.TXT” ,我不喜欢。

我怎么EmacsW32不重命名缓冲区,并使用整个文件名作为缓冲区名呢?

+1

我是EmacsW32用户,我无法重现这一点,我得到缓冲区的整个文件名。我的版本是LENNART-69DE564(补丁)的2007-05-23的GNU Emacs 22.0.990.1(i386-mingw-nt5.1.2600),EmacsW32版本是1.54。也许你的.emacs中的某些东西导致了这种情况? – 2009-05-21 14:43:25

回答

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. 

的解决方案是在发生在REG键使用的%1%L

1

伊克,吸住。

为什么不直接使用自带的标准Windows emacs distribution的emacsclientw?

它确实有点问题,如果Emacs还没有运行,你会得到一个恼人的“无错误”错误框,但任何真正的emacs用户无论如何都会首先启动emacs。 :-)