How can I check if a current buffer exists in Emacs?

oneself picture oneself · Feb 25, 2009 · Viewed 9.2k times · Source

I would like to write a function which takes action if a give buffer name already exists. For example:

(if (buffer-exists "my-buffer-name")
    ; do something
 )

Does elisp have a function that will check the for the existence of a buffer similar to how my made up "buffer-exists" function does?

Thanks

Answer

Gareth Rees picture Gareth Rees · Feb 25, 2009

From the documentation:

(get-buffer name)

Return the buffer named name (a string).
If there is no live buffer named name, return nil.
name may also be a buffer; if so, the value is that buffer.

(get-buffer-create name)

Return the buffer named name, or create such a buffer and return it.
A new buffer is created if there is no live buffer named name.
If name starts with a space, the new buffer does not keep undo information.
If name is a buffer instead of a string, then it is the value returned.
The value is never nil.