diff options
| author | Craig Jennings <c@cjennings.net> | 2024-04-07 13:41:34 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2024-04-07 13:41:34 -0500 |
| commit | 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 (patch) | |
| tree | f1190704f78f04a2b0b4c977d20fe96a828377f1 /devdocs/elisp/buffer-type.html | |
new repository
Diffstat (limited to 'devdocs/elisp/buffer-type.html')
| -rw-r--r-- | devdocs/elisp/buffer-type.html | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/devdocs/elisp/buffer-type.html b/devdocs/elisp/buffer-type.html new file mode 100644 index 00000000..27744cf2 --- /dev/null +++ b/devdocs/elisp/buffer-type.html @@ -0,0 +1,14 @@ + <h4 class="subsection">Buffer Type</h4> <p>A <em>buffer</em> is an object that holds text that can be edited (see <a href="buffers">Buffers</a>). Most buffers hold the contents of a disk file (see <a href="files">Files</a>) so they can be edited, but some are used for other purposes. Most buffers are also meant to be seen by the user, and therefore displayed, at some time, in a window (see <a href="windows">Windows</a>). But a buffer need not be displayed in any window. Each buffer has a designated position called <em>point</em> (see <a href="positions">Positions</a>); most editing commands act on the contents of the current buffer in the neighborhood of point. At any time, one buffer is the <em>current buffer</em>. </p> <p>The contents of a buffer are much like a string, but buffers are not used like strings in Emacs Lisp, and the available operations are different. For example, you can insert text efficiently into an existing buffer, altering the buffer’s contents, whereas inserting text into a string requires concatenating substrings, and the result is an entirely new string object. </p> <p>Many of the standard Emacs functions manipulate or test the characters in the current buffer; a whole chapter in this manual is devoted to describing these functions (see <a href="text">Text</a>). </p> <p>Several other data structures are associated with each buffer: </p> <ul> <li> a local syntax table (see <a href="syntax-tables">Syntax Tables</a>); </li> +<li> a local keymap (see <a href="keymaps">Keymaps</a>); and, </li> +<li> a list of buffer-local variable bindings (see <a href="buffer_002dlocal-variables">Buffer-Local Variables</a>). </li> +<li> overlays (see <a href="overlays">Overlays</a>). </li> +<li> text properties for the text in the buffer (see <a href="text-properties">Text Properties</a>). </li> +</ul> <p>The local keymap and variable list contain entries that individually override global bindings or values. These are used to customize the behavior of programs in different buffers, without actually changing the programs. </p> <p>A buffer may be <em>indirect</em>, which means it shares the text of another buffer, but presents it differently. See <a href="indirect-buffers">Indirect Buffers</a>. </p> <p>Buffers have no read syntax. They print in hash notation, showing the buffer name. </p> <div class="example"> <pre class="example">(current-buffer) + ⇒ #<buffer objects.texi> +</pre> +</div><div class="_attribution"> + <p class="_attribution-p"> + Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc. <br>Licensed under the GNU GPL license.<br> + <a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Buffer-Type.html" class="_attribution-link">https://www.gnu.org/software/emacs/manual/html_node/elisp/Buffer-Type.html</a> + </p> +</div> |
