回到另一个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成为可行的,但是我对它不太满意 - 有更好的方法吗?
答案 0 :(得分:1)
回答你的第一个问题:
(dolist (item my-list)
(define-key global-map (vector 'menu-bar 'my-menu item)
(cons item `(lambda () (interactive) (my-function ,item)))))