我正在尝试在emacs中创建切换功能。我试过if声明。它不会工作。你可以帮帮我吗。我实际上试图在两个主题之间切换功能,这就是为什么我要尝试这样做
(defun switch()
(interactive)
(when (= a 1)
(message "true")
(setq a 2))
(when (= a 2)
(message "false")
(setq a 1))
)
答案 0 :(得分:2)
您可以使用
(define-minor-mode foo-mode
"Doc."
:global t
(if foo-mode
<onething>
<another>))
答案 1 :(得分:1)
(defvar a 1 "Initial setting for the `a` global variable.")
(defun my-switch ()
"Doc-string for `my-switch` function."
(interactive)
(cond
((= a 1)
(message "true")
(setq a 2))
((= a 2)
(message "false")
(setq a 1)) ) )
答案 2 :(得分:1)
其他答案的变体,没有将变量a
暴露给世界其他地方:
(lexical-let (a)
(defun my/toggle ()
(setq a (not a))
(message (or (and a "true")
"false"))))
当然lexical-let
可以在使用lexical bindings的文件中替换为let
。