2

我有一个有限的符号列表,我想制作一个基于 ido 的用户界面来从中选择,但我也希望它能够记住。我想出的是:

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

但是无论我选择绿色多少次,颜色似乎都以相同的顺序出现,而 hist 仍然为零。任何人都可以帮忙吗?

4

1 回答 1

3

Elisp 使用动态范围,这意味着变量名非常重要。更具体地说,在您的情况下,您histhistido 使用的变量之间存在命名冲突。始终在全局变量上使用<prefix>-thingy 来避免此类问题。

于 2012-03-20T20:46:30.777 回答