Ответ 1
Используйте progn
:
(if condition
(progn
(do-something)
(do-something-else)))
В elisp есть случай "если", когда я хотел бы выполнять много разных вещей:
(if condition
(do-something)
(do-something-else)
...)
Однако (do-something-else) выполняется только в случае else-case. Как указать блок выполнения команд? Например:
(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 для условных выражений.