Inside Emacs at
(info "(eintr)Buffer Exercises") there is the following exercise:
Use ‘if’ and ‘get-buffer’ to write a function that prints a message telling you whether a buffer exists.
In Emacs Lisp there is
bufferp to do just that, but it is nice to have a go at one’s own version of it as an exercise. My result:
(defun exercise-bufferp (buffer) "If the requested buffer exists, say that it exists. If not, say that it does not exist." (interactive "B") (if (get-buffer buffer) (message "The buffer exists :)") (message "The buffer does not exist :(")))
Explanation line by line:
1. Begins defining the function, gives it a name and also names its argument.
4. Makes the function interactive, i.e. makes the function into an
M-x command. “B” means the argument will be treated as buffer names, accepting also buffer names that do not exist.
get-buffer as requested in the exercise.
6. Message for then event.
7. Message for else event.