2

シンボルのリストは限られているので、それらの中から選択するための ido ベースのユーザー インターフェイスを作成したいと考えていますが、これも記憶できるようにしたいと考えています。私が思いついたのはこれです:

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

しかし、何度緑を選択しても、色は同じ順序で表示され、履歴はゼロのままです。誰でも助けることができますか?

4

1 に答える 1

3

Elisp は動的スコープを使用します。これは、変数名が本当に重要であることを意味します。より具体的には、あなたの場合、あなたhisthistido によって使用される変数との間に名前の競合があります。<prefix>-このような問題を回避するために、グローバル変数には常に何かを使用してください。

于 2012-03-20T20:46:30.777 に答える