「Emacs」- 常见错误汇总

  CREATED BY JENKINSBOT

#1 device is not a termcap terminal device

整个问题的成因有很多,我遇到的只是其中之一。

问题原因

在 ~/.emacs 中,存在如下配置:

(send-string-to-terminal "\033]12;#5C5CFF\007")

但是 send-string-to-terminal 只有在终端模式下运行时才会有效,否则会产生如上错误。

解决方法

加入检查,判断当前环境是否启动图形界面:

(if (not (display-graphic-p))
    (send-string-to-terminal "\033]12;#5C5CFF\007")
  )

#2 Warning: locale not supported by C library, locale unchanged

How to install/change locale on Debian?
`Gtk-WARNING **: Locale not supported by C library. ` when starting apps from the commandline

问题描述

1)当使用 env LC_ALL=zh_CN.UTF-8 /usr/bin/emacs 启动 Emacs 时,能够切换输入法,但是无法输入中文。

2)此时控制台输出如下错误:

Warning: locale not supported by C library, locale unchanged

问题原因

没有安装中文语言环境。使用命令 locale -a 查看当前语言环境。

解决办法

在 Debian 中,(1)编辑 /etc/locale.gen 文件,取消 zh_CN.UTF-8 UTF-8 注释,(2)运行 locale-gen 命令即可,(3)重新运行上述 Emacs 启动命令。

注意事项,(1)解决方法只使用于我们的环境。发行版不同,配置方法可能不同。(2)由于我们未研究过语言环境问题,因此部分内容可能有失准确。