相关疑难解决方法(0)

你能在Emacs Lisp宏中创建交互式功能吗?

我正在尝试在emacs lisp中编写一个宏来创建一些"辅助函数".

最终,我的助手功能将比我在这里更有用.我意识到可能有更好/更直观的方法来完成同样的事情(请发帖)但我的基本问题是为什么这不起作用/我做错了什么:

(defmacro deftext (functionname texttoinsert)
  `(defun ,(make-symbol (concatenate 'string "text-" functionname)) ()
     (interactive)
     (insert-string ,texttoinsert)))

(deftext "swallow" "What is the flight speed velocity of a laden swallow?")
(deftext "ni" "What is the flight speed velocity of a laden swallow?")
Run Code Online (Sandbox Code Playgroud)

如果我获取macroexpand的输出并评估它,我得到了我打算用宏获得的交互式函数,但即使宏运行并且似乎评估,我也无法调用M-x text-nitext-swallow.

macros elisp

8
推荐指数
2
解决办法
1874
查看次数

标签 统计

elisp ×1

macros ×1