如何在elisp'if'语句中编写多个语句?

在elisp中,有一个'如果'的情况下,我想要执行许多不同的事情:

(if condition (do-something) (do-something-else) ...) 

但是,(do-something-else)仅在else情况下执行。 你怎么能指定一个指令块来执行? 例如:

 (if condition (begin (do-something) (do-something-else) ...)) 

使用progn

 (if condition (progn (do-something) (do-something-else))) 

如果没有else要求,可能会更易读:

 (when condition (do-something) (do-something-else)) 

而且,还有相反的情况

 (unless (not condition) (do-something) (do-something-else)) 

检查Emacs Lisp手册的条件 。