Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can you write multiple statements in elisp 'if' statement?

Tags:

syntax

elisp

In elisp, there is an 'if' case where I would like to perform many different things:

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

However, (do-something-else) is executed in the else-case only. How can you specify a block of instructions to execute? For example:

(if condition
    (begin
        (do-something)
        (do-something-else)
        ...))
like image 698
Martin Cote Avatar asked May 26 '09 19:05

Martin Cote


2 Answers

Use progn:

(if condition
    (progn
        (do-something)
        (do-something-else)))
like image 74
mipadi Avatar answered Oct 14 '22 14:10

mipadi


If there's no else required, it might be more readable to use:

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

And, there's the converse

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

Check out the Emacs Lisp manual for conditionals.

like image 39
Trey Jackson Avatar answered Oct 14 '22 13:10

Trey Jackson