Emacs:从列表中的项目构建菜单

时间:2014-02-15 12:35:38

标签: emacs

回到另一个Emacs问题。我正在尝试让我的软件包添加一个菜单,但我在这里遇到了一些问题。

我有一个包含字符串的列表,我对于此列表中的每个项目,我想在菜单中添加一个条目,调用一个以字符串作为参数的函数。现在的问题是我无法对此菜单进行硬编码,因为该列表应由用户编辑。

我在考虑以下几点:

(dolist (item my-list)
  (define-key global-map [menu-bar my-menu item]
              (cons item `(lambda () (interactive) (my-function ,item)))))

现在的问题是我只能在<menu-bar> <my-menu> <item>获得一个菜单项。如何在[menu-bar my-menu item]中使用变量“item”的值,而不是文字字符串“item”?

另外,让lambda成为可行的,但是我对它不太满意 - 有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

回答你的第一个问题:

(dolist (item my-list)
  (define-key global-map (vector 'menu-bar 'my-menu item)
              (cons item `(lambda () (interactive) (my-function ,item)))))