[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

27.9 Creating Buffers

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 section 38.8 Temporary Displays) and create-file-buffer (see section 25.1 Visiting Files). Starting a subprocess can also create a buffer (see section 37. Processes).

Function: get-buffer-create name
This function returns a buffer named name. It returns an existing buffer with that name, if one exists; otherwise, it creates a new buffer. The buffer does not become the current buffer--this function does not change which buffer is current.

An error is signaled if name is not a string.

 
(get-buffer-create "foo")
     => #<buffer 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 section 23.1.3 How Emacs Chooses a Major Mode.

Function: generate-new-buffer name
This function returns a newly created, empty buffer, but does not make it current. If there is no buffer named name, then that is the name of the new buffer. If that name is in use, this function adds suffixes of the form `<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")
     => #<buffer bar>
(generate-new-buffer "bar")
     => #<buffer bar<2>>
(generate-new-buffer "bar")
     => #<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 section 23.1.3 How Emacs Chooses a Major Mode.

See the related function generate-new-buffer-name in 27.3 Buffer Names.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on May 2, 2002 using texi2html