1

我正在使用ido模式。和 AIX 上的 GNUM emacs 21.1.1。我在 .emacs.d 中添加了 ido.el。并在 .emacs 文件中添加以下内容。

(load-file "~/.emacs.d/site-lisp/ido/ido.el")
(require 'ido)
(ido-mode t)
(setq ido-enable-flex-matching t) ;; enable fuzzy matching

启动emacs时,它会抱怨。并且没有 ido 模式。如何解决这个问题?

error: "Unknown req `min-colors' with options `(88)'"

To ensure normal operation, you should investigate the cause
of the error in your initialization file and remove it.  Start
Emacs with the `--debug-init' option to view a complete error
backtrace

回溯的内容

Debugger entered--Lisp error: (error "Unknown req `min-colors' with options `(88)'")
  signal(error ("Unknown req `min-colors' with options `(88)'"))
  error("Unknown req `%S' with options `%S'" min-colors (88))
  face-spec-set-match-display(((min-colors 88) (class color)) #<frame F1 0x201a3600\ >)
  face-spec-choose((((... ...) (:foreground "red1")) ((...) (:foreground "red")) (t (:underline t))) #<frame F1 0x201a3600\ >)
  face-spec-set(ido-subdir (((... ...) (:foreground "red1")) ((...) (:foreground "red")) (t (:underline t))) #<frame F1 0x201a3600\ >)
  custom-declare-face(ido-subdir (((... ...) (:foreground "red1")) ((...) (:foreground "red")) (t (:underline t))) "Face used by ido for highlighting subdirs in the alternatives." :group ido)
  (defface ido-subdir (quote (... ... ...)) "Face used by ido for highlighting subdirs in the alternatives." :group (quote ido))
  eval-buffer(#<buffer  *load*<2>> nil "~/.emacs.d/site-lisp/ido/ido.el" nil t)
  load-with-code-conversion("~/.emacs.d/site-lisp/ido/ido.el" "~/.emacs.d/site-lisp/ido/ido.el" nil nil)
  load("~/.emacs.d/site-lisp/ido/ido.el" nil nil t)
  load-file("~/.emacs.d/site-lisp/ido/ido.el")
  eval-buffer(#<buffer  *load*> nil "~/.emacs" nil t)
  load-with-code-conversion("~/.emacs" "~/.emacs" t t)
  load("~/.emacs" t t)
  #[nil "^H\205\227^@   Æ=\203^Q^@Ç^HÈQ\2025^@  É=\203'^@ÊÇËÌ#\203#^@Í\2025^@Î\2025^@   Ï=\2031^@Ð\2025^@Ç^HÑQ^ZÒ^SÓ\nÒ\211#\210^KÒ=\203F^@Ë^S^K\203\210^@Ô^K!Õ\232\203\210^@Ö^K!\211^\×P^]Ø^M!\203d$
  command-line()
  normal-top-level()
4

2 回答 2

0

Emacs 21.1.1 相当古老(21.1 几乎正好在 10 年前发布)。升级到更新的版本,应该没问题(除非它不再在 AIX 上构建?)很多人正在使用尚未最终确定的版本 24,但 23.3 是当前的稳定版本。

ido 也是 Emacs 的标准部分,这些天,所以你应该能够摆脱你的副本。

诚然,通过采用这种方法,您很可能会遇到其他升级不兼容问题,但随着时间的推移,这个问题肯定只会变得更糟......

于 2011-09-18T21:24:43.017 回答
0

我也有同样的问题。我们正在升级到 RHEL5,所以我认为我们将长期使用 emacs 21。幸运的是 EmacsWiki 有一个旧版本的链接。它已有十多年的历史,但总比没有好。

它似乎工作正常,但一些常量有不同的名称。例如,我将 ido-default-file-method 设置为 selected-window,但后者在旧版本的代码中被命名为 same-window。

于 2011-10-20T21:23:44.187 回答