这也许有点奇怪,但我什至不知道去哪里开始看起来,如果有人能指出我正确的方向,我将非常感激。
我刚刚完成了我的发行版的全新安装,其中包括移动到下一个版本(是的,它是 Ubuntu),因此除了发行版提供的任何内容(最新版本和依此类推)。不管怎样,当我发现make
有很多抱怨时,我正在愉快地使用一个(emacs 的稍微定制版本)这样做。查看 makefile,我发现配置脚本没有放入任何“续行”字符。
配置脚本相当长(毕竟这是 emacs),仅仅搜索\
是毫无意义的!那么有人知道为什么会发生这种情况吗?
(正如我所说,这是一个全新安装,所以也许这只是我忘记安装的某个软件包。但这有点奇怪。)
答案1
这是一个可能正确也可能不正确的猜测。
- 假设:在升级之前您已经在该目录中配置并构建了 Emacs。
- 假设:您的 shell (
/bin/sh
) 在升级过程中发生了变化。 - 假设:Emacs 缓存了一些有关 shell 的数据。
如果这些假设成立,则配置脚本可能已缓存有关 shell 处理反斜杠的信息。在这方面,shell 之间存在不兼容性,特别是与echo
内置 shell 之间不兼容,因此如果缓存包含过时的信息,则输出可能会缺少反斜杠或具有双反斜杠。
运行make distclean
以擦除缓存并重试。