GNU Emacs Lisp Reference Manual
This section describes the two primitives for creating buffers. get-buffer-create creates a buffer if it finds no existing buffer with the specified name; generate-new-buffer always creates a new buffer and gives it a unique name.
Other functions you can use to create buffers include with-output-to-temp-buffer (see Temporary Displays) and create-file-buffer (see Visiting Files). Starting a subprocess can also create a buffer (see Processes).
An error is signaled if name is not a string.
(get-buffer-create "foo")
=> #
The major mode for the new buffer is set to Fundamental mode. The variable default-major-mode is handled at a higher level. See Auto Major Mode.
<n>' to name, where n is an integer. It tries successive integers starting with 2 until it finds an available name. An error is signaled if name is not a string.
(generate-new-buffer "bar")
=> #
(generate-new-buffer "bar")
=> #<2>>
(generate-new-buffer "bar")
=> #<3>>
The major mode for the new buffer is set to Fundamental mode. The variable default-major-mode is handled at a higher level. See Auto Major Mode.
See the related function generate-new-buffer-name in Buffer Names.