Elisp режим Ido с историей для списка символов - PullRequest
2 голосов
/ 20 марта 2012

У меня есть конечный список символов, и я хочу создать пользовательский интерфейс на основе ido, чтобы выбирать среди них, но я также хочу, чтобы это можно было запомнить.Я придумал вот что:

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

Но независимо от того, сколько раз я выбираю зеленый, цвета, кажется, появляются в одном и том же порядке, а их история остается нулевой.Кто-нибудь может помочь?

1 Ответ

3 голосов
/ 21 марта 2012

Elisp использует динамическую область видимости, что означает, что имена переменных действительно имеют значение. Более конкретно, в вашем случае у вас есть конфликт имен между вашей hist и hist переменной, используемой ido. Всегда используйте <prefix>- вещь в глобальных переменных, чтобы избежать таких проблем.

...