最近用 Windows 干活,用文档里说明的方式也能正常编译最新版的 Emacs,但是在安装包的时候,需要用到 makeinfo 这么个指令
msys2 已经安装了 texinfo 这个包,看了下文件目录下,也有 makeinfo
又看了看发现是个 perl 文件,并不是什么可执行程序。
在 msys2 终端里能正常执行
我猜大概是 Windows 不能用 shebang 这种方式?
在 Windows 下该怎么执行 makeinfo 呢?
现在的解决方式 ,把 makeinfo
命令改成 perl makeinfo
,有没有啥 Windows 原生的方式?搜了下有个 gnuwin32,不过里面的 texinfo 版本还是 4.x,有点老。
再更新,用 perl makeinfo
这种方式,生成的 info 成了中文,并且有 dos 换行符,有没有什么办法让它默认用 unix 换行,并且默认是英文?
过了一晚莫名其妙变成英文了,感觉是缓存没清掉?。。。不知道这个叫 top 的 info 文件储存在哪个地方,是不是每次按下 C-h i 时自动生成的,之前的做法是加了 --document-language=en
这个参数,但是没生效,我也就放弃了。。。但是还是有 dos 换行符,不知道咋去掉
ps: 并没有解决,过一会儿又变成中文了
问题是搜不到这个 dir 文件在哪,怀疑是不是每次按下 info 时自动生成的,全局搜索也搜不到这个文件
LdBeth
2022 年11 月 14 日 02:04
5
直接 C-x C-f,Windows 上一般在 AppData 下面,是个隐藏文件夾
你刚刚那句话提醒了我,应该是自动生成的
直接 C-x C-f 的话,它会在 c:/emacs/emacs-git/share/info
里,但该目录下的 dir
文件是英文的
经过测试,开启 Emacs 后 (setq Info-directory-list nil)
,显示的 info 目录是英文的,跟目录下的一致;但自己用 install-info 安装其他 info 后,也就是 Info-directory-list
这个变量不为空时,即便其他 info 是英文的,生成出来的 info 目录还是中文的
SPQR
2022 年12 月 2 日 03:47
7
你可以在makeinfo同目录下创建一个makeinfo.bat
@echo off
perl "%~dpn0" %*
然后就能用emacs调用了,我是最近用package-vc发现编译不了info文件发了bug问才知道,另外如果你不用msys2,可以用Eli的ezwinports ezwinports - Browse Files at SourceForge.net
1 个赞