【问题标题】:Elisp ido mode with history for a list fo symbols带有历史符号列表的 Elisp ido 模式
【发布时间】:2012-03-20 17:27:46
【问题描述】:

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

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

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

【问题讨论】:

    标签: emacs lisp elisp history ido


    【解决方案1】:

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

    【讨论】:

    • 我尝试了my-hist 而不是hist,它实际上改变了my-hist 变量并且在我执行M-p 时表现正确。但是结果还是按照原来的顺序。
    • 也许不是为了改变选项的顺序。我认为它像现在应该的那样工作。谢谢
    猜你喜欢
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    相关资源
    最近更新 更多