emacs - Elisp ido 模式以及符号列表的历史记录

标签 emacs lisp elisp history ido

我有一个有限的符号列表,我想制作一个基于 ido 的用户界面来在它们之间进行选择,但我也希望它能够记住。我想出的是这样的:

(defvar hist nil)
(ido-completing-read "What, ... is your favorite color? " '("red" "green" "blue") nil t nil 'hist)

但无论我选择绿色多少次,颜色似乎都按相同的顺序出现,并且历史记录为零。 有人可以帮忙吗?

最佳答案

Elisp 使用动态作用域,这意味着变量名称确实很重要。更具体地说,在您的情况下,您的 hist 之间存在命名冲突。和 hist ido 使用的变量。始终使用<prefix>-全局变量上的东西可以避免此类问题。

关于emacs - Elisp ido 模式以及符号列表的历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9791891/

相关文章:

function - Clojure实践——使用复杂数据类型及其元素的函数?

Emacs 光标移动建议

emacs - 如何递归删除emacs备份文件?

emacs - 如何在 emacs 组织模式中突出显示当前子树?

python - 如何在 emacs 中激活 ananconda 的 env python?

emacs - 无法让 Emacs24 加载主题

debugging - Lisp代码调试

lisp - 使用 QuickLisp 时无法启动 ECL

c++ - 尝试使用 prelude 设置 ggtags 和 flycheck 时错误的 emacs 配置

emacs - 使用 ssh session 中的 emacs tramp 对远程文件进行原始编辑