我有一个有限的符号列表,我想制作一个基于 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/