aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/buffer.c')
-rw-r--r--src/buffer.c532
1 files changed, 266 insertions, 266 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 2bb785bda99..7cbd0b68246 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -39,7 +39,7 @@ extern int errno;
39#ifdef HAVE_UNISTD_H 39#ifdef HAVE_UNISTD_H
40#include <unistd.h> 40#include <unistd.h>
41#endif 41#endif
42#define DOC_STRINGS_IN_COMMENTS 42
43#include "lisp.h" 43#include "lisp.h"
44#include "intervals.h" 44#include "intervals.h"
45#include "window.h" 45#include "window.h"
@@ -198,9 +198,9 @@ nsberror (spec)
198} 198}
199 199
200DEFUN ("buffer-live-p", Fbuffer_live_p, Sbuffer_live_p, 1, 1, 0, 200DEFUN ("buffer-live-p", Fbuffer_live_p, Sbuffer_live_p, 1, 1, 0,
201 /* Return non-nil if OBJECT is a buffer which has not been killed. 201 doc: /* Return non-nil if OBJECT is a buffer which has not been killed.
202Value is nil if OBJECT is not a buffer or if it has been killed. */ 202Value is nil if OBJECT is not a buffer or if it has been killed. */)
203 (object)) 203 (object)
204 Lisp_Object object; 204 Lisp_Object object;
205{ 205{
206 return ((BUFFERP (object) && ! NILP (XBUFFER (object)->name)) 206 return ((BUFFERP (object) && ! NILP (XBUFFER (object)->name))
@@ -208,9 +208,9 @@ Value is nil if OBJECT is not a buffer or if it has been killed. */
208} 208}
209 209
210DEFUN ("buffer-list", Fbuffer_list, Sbuffer_list, 0, 1, 0, 210DEFUN ("buffer-list", Fbuffer_list, Sbuffer_list, 0, 1, 0,
211 /* Return a list of all existing live buffers. 211 doc: /* Return a list of all existing live buffers.
212If the optional arg FRAME is a frame, we return that frame's buffer list. */ 212If the optional arg FRAME is a frame, we return that frame's buffer list. */)
213 (frame)) 213 (frame)
214 Lisp_Object frame; 214 Lisp_Object frame;
215{ 215{
216 Lisp_Object framelist, general; 216 Lisp_Object framelist, general;
@@ -259,10 +259,10 @@ assoc_ignore_text_properties (key, list)
259} 259}
260 260
261DEFUN ("get-buffer", Fget_buffer, Sget_buffer, 1, 1, 0, 261DEFUN ("get-buffer", Fget_buffer, Sget_buffer, 1, 1, 0,
262 /* Return the buffer named NAME (a string). 262 doc: /* Return the buffer named NAME (a string).
263If there is no live buffer named NAME, return nil. 263If there is no live buffer named NAME, return nil.
264NAME may also be a buffer; if so, the value is that buffer. */ 264NAME may also be a buffer; if so, the value is that buffer. */)
265 (name)) 265 (name)
266 register Lisp_Object name; 266 register Lisp_Object name;
267{ 267{
268 if (BUFFERP (name)) 268 if (BUFFERP (name))
@@ -273,11 +273,11 @@ NAME may also be a buffer; if so, the value is that buffer. */
273} 273}
274 274
275DEFUN ("get-file-buffer", Fget_file_buffer, Sget_file_buffer, 1, 1, 0, 275DEFUN ("get-file-buffer", Fget_file_buffer, Sget_file_buffer, 1, 1, 0,
276 /* Return the buffer visiting file FILENAME (a string). 276 doc: /* Return the buffer visiting file FILENAME (a string).
277The buffer's `buffer-file-name' must match exactly the expansion of FILENAME. 277The buffer's `buffer-file-name' must match exactly the expansion of FILENAME.
278If there is no such live buffer, return nil. 278If there is no such live buffer, return nil.
279See also `find-buffer-visiting'. */ 279See also `find-buffer-visiting'. */)
280 (filename)) 280 (filename)
281 register Lisp_Object filename; 281 register Lisp_Object filename;
282{ 282{
283 register Lisp_Object tail, buf, tem; 283 register Lisp_Object tail, buf, tem;
@@ -326,12 +326,12 @@ get_truename_buffer (filename)
326int buffer_count; 326int buffer_count;
327 327
328DEFUN ("get-buffer-create", Fget_buffer_create, Sget_buffer_create, 1, 1, 0, 328DEFUN ("get-buffer-create", Fget_buffer_create, Sget_buffer_create, 1, 1, 0,
329 /* Return the buffer named NAME, or create such a buffer and return it. 329 doc: /* Return the buffer named NAME, or create such a buffer and return it.
330A new buffer is created if there is no live buffer named NAME. 330A new buffer is created if there is no live buffer named NAME.
331If NAME starts with a space, the new buffer does not keep undo information. 331If NAME starts with a space, the new buffer does not keep undo information.
332If NAME is a buffer instead of a string, then it is the value returned. 332If NAME is a buffer instead of a string, then it is the value returned.
333The value is never nil. */ 333The value is never nil. */)
334 (name)) 334 (name)
335 register Lisp_Object name; 335 register Lisp_Object name;
336{ 336{
337 register Lisp_Object buf; 337 register Lisp_Object buf;
@@ -506,13 +506,13 @@ clone_per_buffer_values (from, to)
506DEFUN ("make-indirect-buffer", Fmake_indirect_buffer, Smake_indirect_buffer, 506DEFUN ("make-indirect-buffer", Fmake_indirect_buffer, Smake_indirect_buffer,
507 2, 3, 507 2, 3,
508 "bMake indirect buffer (to buffer): \nBName of indirect buffer: ", 508 "bMake indirect buffer (to buffer): \nBName of indirect buffer: ",
509 /* Create and return an indirect buffer for buffer BASE-BUFFER, named NAME. 509 doc: /* Create and return an indirect buffer for buffer BASE-BUFFER, named NAME.
510BASE-BUFFER should be an existing buffer (or buffer name). 510BASE-BUFFER should be an existing buffer (or buffer name).
511NAME should be a string which is not the name of an existing buffer. 511NAME should be a string which is not the name of an existing buffer.
512Optional argument CLONE non-nil means preserve BASE-BUFFER's state, 512Optional argument CLONE non-nil means preserve BASE-BUFFER's state,
513such as major and minor modes, in the indirect buffer. 513such as major and minor modes, in the indirect buffer.
514CLONE nil means the indirect buffer's state is reset to default values. */ 514CLONE nil means the indirect buffer's state is reset to default values. */)
515 (base_buffer, name, clone)) 515 (base_buffer, name, clone)
516 Lisp_Object base_buffer, name, clone; 516 Lisp_Object base_buffer, name, clone;
517{ 517{
518 Lisp_Object buf; 518 Lisp_Object buf;
@@ -725,14 +725,14 @@ reset_buffer_local_variables (b, permanent_too)
725 725
726DEFUN ("generate-new-buffer-name", Fgenerate_new_buffer_name, Sgenerate_new_buffer_name, 726DEFUN ("generate-new-buffer-name", Fgenerate_new_buffer_name, Sgenerate_new_buffer_name,
727 1, 2, 0, 727 1, 2, 0,
728 /* Return a string that is the name of no existing buffer based on NAME. 728 doc: /* Return a string that is the name of no existing buffer based on NAME.
729If there is no live buffer named NAME, then return NAME. 729If there is no live buffer named NAME, then return NAME.
730Otherwise modify name by appending `<NUMBER>', incrementing NUMBER 730Otherwise modify name by appending `<NUMBER>', incrementing NUMBER
731until an unused name is found, and then return that name. 731until an unused name is found, and then return that name.
732Optional second argument IGNORE specifies a name that is okay to use 732Optional second argument IGNORE specifies a name that is okay to use
733\(if it is in the sequence to be tried) 733\(if it is in the sequence to be tried)
734even if a buffer with that name exists. */ 734even if a buffer with that name exists. */)
735 (name, ignore)) 735 (name, ignore)
736 register Lisp_Object name, ignore; 736 register Lisp_Object name, ignore;
737{ 737{
738 register Lisp_Object gentemp, tem; 738 register Lisp_Object gentemp, tem;
@@ -761,9 +761,9 @@ even if a buffer with that name exists. */
761 761
762 762
763DEFUN ("buffer-name", Fbuffer_name, Sbuffer_name, 0, 1, 0, 763DEFUN ("buffer-name", Fbuffer_name, Sbuffer_name, 0, 1, 0,
764 /* Return the name of BUFFER, as a string. 764 doc: /* Return the name of BUFFER, as a string.
765With no argument or nil as argument, return the name of the current buffer. */ 765With no argument or nil as argument, return the name of the current buffer. */)
766 (buffer)) 766 (buffer)
767 register Lisp_Object buffer; 767 register Lisp_Object buffer;
768{ 768{
769 if (NILP (buffer)) 769 if (NILP (buffer))
@@ -773,9 +773,9 @@ With no argument or nil as argument, return the name of the current buffer. */
773} 773}
774 774
775DEFUN ("buffer-file-name", Fbuffer_file_name, Sbuffer_file_name, 0, 1, 0, 775DEFUN ("buffer-file-name", Fbuffer_file_name, Sbuffer_file_name, 0, 1, 0,
776 /* Return name of file BUFFER is visiting, or nil if none. 776 doc: /* Return name of file BUFFER is visiting, or nil if none.
777No argument or nil as argument means use the current buffer. */ 777No argument or nil as argument means use the current buffer. */)
778 (buffer)) 778 (buffer)
779 register Lisp_Object buffer; 779 register Lisp_Object buffer;
780{ 780{
781 if (NILP (buffer)) 781 if (NILP (buffer))
@@ -786,9 +786,9 @@ No argument or nil as argument means use the current buffer. */
786 786
787DEFUN ("buffer-base-buffer", Fbuffer_base_buffer, Sbuffer_base_buffer, 787DEFUN ("buffer-base-buffer", Fbuffer_base_buffer, Sbuffer_base_buffer,
788 0, 1, 0, 788 0, 1, 0,
789 /* Return the base buffer of indirect buffer BUFFER. 789 doc: /* Return the base buffer of indirect buffer BUFFER.
790If BUFFER is not indirect, return nil. */ 790If BUFFER is not indirect, return nil. */)
791 (buffer)) 791 (buffer)
792 register Lisp_Object buffer; 792 register Lisp_Object buffer;
793{ 793{
794 struct buffer *base; 794 struct buffer *base;
@@ -810,12 +810,12 @@ If BUFFER is not indirect, return nil. */
810 810
811DEFUN ("buffer-local-variables", Fbuffer_local_variables, 811DEFUN ("buffer-local-variables", Fbuffer_local_variables,
812 Sbuffer_local_variables, 0, 1, 0, 812 Sbuffer_local_variables, 0, 1, 0,
813 /* Return an alist of variables that are buffer-local in BUFFER. 813 doc: /* Return an alist of variables that are buffer-local in BUFFER.
814Most elements look like (SYMBOL . VALUE), describing one variable. 814Most elements look like (SYMBOL . VALUE), describing one variable.
815For a symbol that is locally unbound, just the symbol appears in the value. 815For a symbol that is locally unbound, just the symbol appears in the value.
816Note that storing new VALUEs in these elements doesn't change the variables. 816Note that storing new VALUEs in these elements doesn't change the variables.
817No argument or nil as argument means use current buffer as BUFFER. */ 817No argument or nil as argument means use current buffer as BUFFER. */)
818 (buffer)) 818 (buffer)
819 register Lisp_Object buffer; 819 register Lisp_Object buffer;
820{ 820{
821 register struct buffer *buf; 821 register struct buffer *buf;
@@ -882,9 +882,9 @@ No argument or nil as argument means use current buffer as BUFFER. */
882 882
883DEFUN ("buffer-modified-p", Fbuffer_modified_p, Sbuffer_modified_p, 883DEFUN ("buffer-modified-p", Fbuffer_modified_p, Sbuffer_modified_p,
884 0, 1, 0, 884 0, 1, 0,
885 /* Return t if BUFFER was modified since its file was last read or saved. 885 doc: /* Return t if BUFFER was modified since its file was last read or saved.
886No argument or nil as argument means use current buffer as BUFFER. */ 886No argument or nil as argument means use current buffer as BUFFER. */)
887 (buffer)) 887 (buffer)
888 register Lisp_Object buffer; 888 register Lisp_Object buffer;
889{ 889{
890 register struct buffer *buf; 890 register struct buffer *buf;
@@ -901,9 +901,9 @@ No argument or nil as argument means use current buffer as BUFFER. */
901 901
902DEFUN ("set-buffer-modified-p", Fset_buffer_modified_p, Sset_buffer_modified_p, 902DEFUN ("set-buffer-modified-p", Fset_buffer_modified_p, Sset_buffer_modified_p,
903 1, 1, 0, 903 1, 1, 0,
904 /* Mark current buffer as modified or unmodified according to FLAG. 904 doc: /* Mark current buffer as modified or unmodified according to FLAG.
905A non-nil FLAG means mark the buffer modified. */ 905A non-nil FLAG means mark the buffer modified. */)
906 (flag)) 906 (flag)
907 register Lisp_Object flag; 907 register Lisp_Object flag;
908{ 908{
909 register int already; 909 register int already;
@@ -952,10 +952,10 @@ A non-nil FLAG means mark the buffer modified. */
952 952
953DEFUN ("restore-buffer-modified-p", Frestore_buffer_modified_p, 953DEFUN ("restore-buffer-modified-p", Frestore_buffer_modified_p,
954 Srestore_buffer_modified_p, 1, 1, 0, 954 Srestore_buffer_modified_p, 1, 1, 0,
955 /* Like `set-buffer-modified-p', with a differences concerning redisplay. 955 doc: /* Like `set-buffer-modified-p', with a differences concerning redisplay.
956It is not ensured that mode lines will be updated to show the modified 956It is not ensured that mode lines will be updated to show the modified
957state of the current buffer. Use with care. */ 957state of the current buffer. Use with care. */)
958 (flag)) 958 (flag)
959 Lisp_Object flag; 959 Lisp_Object flag;
960{ 960{
961#ifdef CLASH_DETECTION 961#ifdef CLASH_DETECTION
@@ -982,11 +982,11 @@ state of the current buffer. Use with care. */
982 982
983DEFUN ("buffer-modified-tick", Fbuffer_modified_tick, Sbuffer_modified_tick, 983DEFUN ("buffer-modified-tick", Fbuffer_modified_tick, Sbuffer_modified_tick,
984 0, 1, 0, 984 0, 1, 0,
985 /* Return BUFFER's tick counter, incremented for each change in text. 985 doc: /* Return BUFFER's tick counter, incremented for each change in text.
986Each buffer has a tick counter which is incremented each time the text in 986Each buffer has a tick counter which is incremented each time the text in
987that buffer is changed. It wraps around occasionally. 987that buffer is changed. It wraps around occasionally.
988No argument or nil as argument means use current buffer as BUFFER. */ 988No argument or nil as argument means use current buffer as BUFFER. */)
989 (buffer)) 989 (buffer)
990 register Lisp_Object buffer; 990 register Lisp_Object buffer;
991{ 991{
992 register struct buffer *buf; 992 register struct buffer *buf;
@@ -1003,15 +1003,15 @@ No argument or nil as argument means use current buffer as BUFFER. */
1003 1003
1004DEFUN ("rename-buffer", Frename_buffer, Srename_buffer, 1, 2, 1004DEFUN ("rename-buffer", Frename_buffer, Srename_buffer, 1, 2,
1005 "sRename buffer (to new name): \nP", 1005 "sRename buffer (to new name): \nP",
1006 /* Change current buffer's name to NEWNAME (a string). 1006 doc: /* Change current buffer's name to NEWNAME (a string).
1007If second arg UNIQUE is nil or omitted, it is an error if a 1007If second arg UNIQUE is nil or omitted, it is an error if a
1008buffer named NEWNAME already exists. 1008buffer named NEWNAME already exists.
1009If UNIQUE is non-nil, come up with a new name using 1009If UNIQUE is non-nil, come up with a new name using
1010`generate-new-buffer-name'. 1010`generate-new-buffer-name'.
1011Interactively, you can set UNIQUE with a prefix argument. 1011Interactively, you can set UNIQUE with a prefix argument.
1012We return the name we actually gave the buffer. 1012We return the name we actually gave the buffer.
1013This does not change the name of the visited file (if any). */ 1013This does not change the name of the visited file (if any). */)
1014 (newname, unique)) 1014 (newname, unique)
1015 register Lisp_Object newname, unique; 1015 register Lisp_Object newname, unique;
1016{ 1016{
1017 register Lisp_Object tem, buf; 1017 register Lisp_Object tem, buf;
@@ -1052,14 +1052,14 @@ This does not change the name of the visited file (if any). */
1052} 1052}
1053 1053
1054DEFUN ("other-buffer", Fother_buffer, Sother_buffer, 0, 3, 0, 1054DEFUN ("other-buffer", Fother_buffer, Sother_buffer, 0, 3, 0,
1055 /* Return most recently selected buffer other than BUFFER. 1055 doc: /* Return most recently selected buffer other than BUFFER.
1056Buffers not visible in windows are preferred to visible buffers, 1056Buffers not visible in windows are preferred to visible buffers,
1057unless optional second argument VISIBLE-OK is non-nil. 1057unless optional second argument VISIBLE-OK is non-nil.
1058If the optional third argument FRAME is non-nil, use that frame's 1058If the optional third argument FRAME is non-nil, use that frame's
1059buffer list instead of the selected frame's buffer list. 1059buffer list instead of the selected frame's buffer list.
1060If no other buffer exists, the buffer `*scratch*' is returned. 1060If no other buffer exists, the buffer `*scratch*' is returned.
1061If BUFFER is omitted or nil, some interesting buffer is returned. */ 1061If BUFFER is omitted or nil, some interesting buffer is returned. */)
1062 (buffer, visible_ok, frame)) 1062 (buffer, visible_ok, frame)
1063 register Lisp_Object buffer, visible_ok, frame; 1063 register Lisp_Object buffer, visible_ok, frame;
1064{ 1064{
1065 Lisp_Object Fset_buffer_major_mode (); 1065 Lisp_Object Fset_buffer_major_mode ();
@@ -1123,9 +1123,9 @@ If BUFFER is omitted or nil, some interesting buffer is returned. */
1123 1123
1124DEFUN ("buffer-disable-undo", Fbuffer_disable_undo, Sbuffer_disable_undo, 1124DEFUN ("buffer-disable-undo", Fbuffer_disable_undo, Sbuffer_disable_undo,
1125 0, 1, "", 1125 0, 1, "",
1126 /* Make BUFFER stop keeping undo information. 1126 doc: /* Make BUFFER stop keeping undo information.
1127No argument or nil as argument means do this for the current buffer. */ 1127No argument or nil as argument means do this for the current buffer. */)
1128 (buffer)) 1128 (buffer)
1129 register Lisp_Object buffer; 1129 register Lisp_Object buffer;
1130{ 1130{
1131 Lisp_Object real_buffer; 1131 Lisp_Object real_buffer;
@@ -1146,9 +1146,9 @@ No argument or nil as argument means do this for the current buffer. */
1146 1146
1147DEFUN ("buffer-enable-undo", Fbuffer_enable_undo, Sbuffer_enable_undo, 1147DEFUN ("buffer-enable-undo", Fbuffer_enable_undo, Sbuffer_enable_undo,
1148 0, 1, "", 1148 0, 1, "",
1149 /* Start keeping undo information for buffer BUFFER. 1149 doc: /* Start keeping undo information for buffer BUFFER.
1150No argument or nil as argument means do this for the current buffer. */ 1150No argument or nil as argument means do this for the current buffer. */)
1151 (buffer)) 1151 (buffer)
1152 register Lisp_Object buffer; 1152 register Lisp_Object buffer;
1153{ 1153{
1154 Lisp_Object real_buffer; 1154 Lisp_Object real_buffer;
@@ -1175,7 +1175,7 @@ The buffer being killed will be current while the hook is running.\n\
1175See `kill-buffer'." 1175See `kill-buffer'."
1176 */ 1176 */
1177DEFUN ("kill-buffer", Fkill_buffer, Skill_buffer, 1, 1, "bKill buffer: ", 1177DEFUN ("kill-buffer", Fkill_buffer, Skill_buffer, 1, 1, "bKill buffer: ",
1178 /* Kill the buffer BUFFER. 1178 doc: /* Kill the buffer BUFFER.
1179The argument may be a buffer or may be the name of a buffer. 1179The argument may be a buffer or may be the name of a buffer.
1180An argument of nil means kill the current buffer. 1180An argument of nil means kill the current buffer.
1181 1181
@@ -1187,8 +1187,8 @@ before the buffer is actually killed. The buffer to be killed is current
1187when the hook functions are called. 1187when the hook functions are called.
1188 1188
1189Any processes that have this buffer as the `process-buffer' are killed 1189Any processes that have this buffer as the `process-buffer' are killed
1190with SIGHUP. */ 1190with SIGHUP. */)
1191 (buffer)) 1191 (buffer)
1192 Lisp_Object buffer; 1192 Lisp_Object buffer;
1193{ 1193{
1194 Lisp_Object buf; 1194 Lisp_Object buf;
@@ -1449,12 +1449,12 @@ record_buffer (buf)
1449} 1449}
1450 1450
1451DEFUN ("set-buffer-major-mode", Fset_buffer_major_mode, Sset_buffer_major_mode, 1, 1, 0, 1451DEFUN ("set-buffer-major-mode", Fset_buffer_major_mode, Sset_buffer_major_mode, 1, 1, 0,
1452 /* Set an appropriate major mode for BUFFER. 1452 doc: /* Set an appropriate major mode for BUFFER.
1453For the *scratch* buffer, use `initial-major-mode', otherwise chose a mode 1453For the *scratch* buffer, use `initial-major-mode', otherwise chose a mode
1454according to `default-major-mode'. 1454according to `default-major-mode'.
1455Use this function before selecting the buffer, since it may need to inspect 1455Use this function before selecting the buffer, since it may need to inspect
1456the current buffer's major mode. */ 1456the current buffer's major mode. */)
1457 (buffer)) 1457 (buffer)
1458 Lisp_Object buffer; 1458 Lisp_Object buffer;
1459{ 1459{
1460 int count; 1460 int count;
@@ -1536,15 +1536,15 @@ switch_to_buffer_1 (buffer, norecord)
1536} 1536}
1537 1537
1538DEFUN ("switch-to-buffer", Fswitch_to_buffer, Sswitch_to_buffer, 1, 2, "BSwitch to buffer: ", 1538DEFUN ("switch-to-buffer", Fswitch_to_buffer, Sswitch_to_buffer, 1, 2, "BSwitch to buffer: ",
1539 /* Select buffer BUFFER in the current window. 1539 doc: /* Select buffer BUFFER in the current window.
1540BUFFER may be a buffer or a buffer name. 1540BUFFER may be a buffer or a buffer name.
1541Optional second arg NORECORD non-nil means 1541Optional second arg NORECORD non-nil means
1542do not put this buffer at the front of the list of recently selected ones. 1542do not put this buffer at the front of the list of recently selected ones.
1543 1543
1544WARNING: This is NOT the way to work on another buffer temporarily 1544WARNING: This is NOT the way to work on another buffer temporarily
1545within a Lisp program! Use `set-buffer' instead. That avoids messing with 1545within a Lisp program! Use `set-buffer' instead. That avoids messing with
1546the window-buffer correspondences. */ 1546the window-buffer correspondences. */)
1547 (buffer, norecord)) 1547 (buffer, norecord)
1548 Lisp_Object buffer, norecord; 1548 Lisp_Object buffer, norecord;
1549{ 1549{
1550 char *err; 1550 char *err;
@@ -1556,7 +1556,7 @@ the window-buffer correspondences. */
1556} 1556}
1557 1557
1558DEFUN ("pop-to-buffer", Fpop_to_buffer, Spop_to_buffer, 1, 3, 0, 1558DEFUN ("pop-to-buffer", Fpop_to_buffer, Spop_to_buffer, 1, 3, 0,
1559 /* Select buffer BUFFER in some window, preferably a different one. 1559 doc: /* Select buffer BUFFER in some window, preferably a different one.
1560If BUFFER is nil, then some other buffer is chosen. 1560If BUFFER is nil, then some other buffer is chosen.
1561If `pop-up-windows' is non-nil, windows can be split to do this. 1561If `pop-up-windows' is non-nil, windows can be split to do this.
1562If optional second arg OTHER-WINDOW is non-nil, insist on finding another 1562If optional second arg OTHER-WINDOW is non-nil, insist on finding another
@@ -1565,8 +1565,8 @@ This uses the function `display-buffer' as a subroutine; see the documentation
1565of `display-buffer' for additional customization information. 1565of `display-buffer' for additional customization information.
1566 1566
1567Optional third arg NORECORD non-nil means 1567Optional third arg NORECORD non-nil means
1568do not put this buffer at the front of the list of recently selected ones. */ 1568do not put this buffer at the front of the list of recently selected ones. */)
1569 (buffer, other_window, norecord)) 1569 (buffer, other_window, norecord)
1570 Lisp_Object buffer, other_window, norecord; 1570 Lisp_Object buffer, other_window, norecord;
1571{ 1571{
1572 register Lisp_Object buf; 1572 register Lisp_Object buf;
@@ -1590,8 +1590,8 @@ do not put this buffer at the front of the list of recently selected ones. */
1590} 1590}
1591 1591
1592DEFUN ("current-buffer", Fcurrent_buffer, Scurrent_buffer, 0, 0, 0, 1592DEFUN ("current-buffer", Fcurrent_buffer, Scurrent_buffer, 0, 0, 0,
1593 /* Return the current buffer as a Lisp object. */ 1593 doc: /* Return the current buffer as a Lisp object. */)
1594 ()) 1594 ()
1595{ 1595{
1596 register Lisp_Object buf; 1596 register Lisp_Object buf;
1597 XSETBUFFER (buf, current_buffer); 1597 XSETBUFFER (buf, current_buffer);
@@ -1786,13 +1786,13 @@ set_buffer_temp (b)
1786} 1786}
1787 1787
1788DEFUN ("set-buffer", Fset_buffer, Sset_buffer, 1, 1, 0, 1788DEFUN ("set-buffer", Fset_buffer, Sset_buffer, 1, 1, 0,
1789 /* Make the buffer BUFFER current for editing operations. 1789 doc: /* Make the buffer BUFFER current for editing operations.
1790BUFFER may be a buffer or the name of an existing buffer. 1790BUFFER may be a buffer or the name of an existing buffer.
1791See also `save-excursion' when you want to make a buffer current temporarily. 1791See also `save-excursion' when you want to make a buffer current temporarily.
1792This function does not display the buffer, so its effect ends 1792This function does not display the buffer, so its effect ends
1793when the current command terminates. 1793when the current command terminates.
1794Use `switch-to-buffer' or `pop-to-buffer' to switch buffers permanently. */ 1794Use `switch-to-buffer' or `pop-to-buffer' to switch buffers permanently. */)
1795 (buffer)) 1795 (buffer)
1796 register Lisp_Object buffer; 1796 register Lisp_Object buffer;
1797{ 1797{
1798 register Lisp_Object buf; 1798 register Lisp_Object buf;
@@ -1818,8 +1818,8 @@ set_buffer_if_live (buffer)
1818 1818
1819DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only, 1819DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only,
1820 Sbarf_if_buffer_read_only, 0, 0, 0, 1820 Sbarf_if_buffer_read_only, 0, 0, 0,
1821 /* Signal a `buffer-read-only' error if the current buffer is read-only. */ 1821 doc: /* Signal a `buffer-read-only' error if the current buffer is read-only. */)
1822 ()) 1822 ()
1823{ 1823{
1824 if (!NILP (current_buffer->read_only) 1824 if (!NILP (current_buffer->read_only)
1825 && NILP (Vinhibit_read_only)) 1825 && NILP (Vinhibit_read_only))
@@ -1828,13 +1828,13 @@ DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only,
1828} 1828}
1829 1829
1830DEFUN ("bury-buffer", Fbury_buffer, Sbury_buffer, 0, 1, "", 1830DEFUN ("bury-buffer", Fbury_buffer, Sbury_buffer, 0, 1, "",
1831 /* Put BUFFER at the end of the list of all buffers. 1831 doc: /* Put BUFFER at the end of the list of all buffers.
1832There it is the least likely candidate for `other-buffer' to return; 1832There it is the least likely candidate for `other-buffer' to return;
1833thus, the least likely buffer for \\[switch-to-buffer] to select by default. 1833thus, the least likely buffer for \\[switch-to-buffer] to select by default.
1834If BUFFER is nil or omitted, bury the current buffer. 1834If BUFFER is nil or omitted, bury the current buffer.
1835Also, if BUFFER is nil or omitted, remove the current buffer from the 1835Also, if BUFFER is nil or omitted, remove the current buffer from the
1836selected window if it is displayed there. */ 1836selected window if it is displayed there. */)
1837 (buffer)) 1837 (buffer)
1838 register Lisp_Object buffer; 1838 register Lisp_Object buffer;
1839{ 1839{
1840 /* Figure out what buffer we're going to bury. */ 1840 /* Figure out what buffer we're going to bury. */
@@ -1882,10 +1882,10 @@ selected window if it is displayed there. */
1882} 1882}
1883 1883
1884DEFUN ("erase-buffer", Ferase_buffer, Serase_buffer, 0, 0, "*", 1884DEFUN ("erase-buffer", Ferase_buffer, Serase_buffer, 0, 0, "*",
1885 /* Delete the entire contents of the current buffer. 1885 doc: /* Delete the entire contents of the current buffer.
1886Any narrowing restriction in effect (see `narrow-to-region') is removed, 1886Any narrowing restriction in effect (see `narrow-to-region') is removed,
1887so the buffer is truly empty after this. */ 1887so the buffer is truly empty after this. */)
1888 ()) 1888 ()
1889{ 1889{
1890 Fwiden (); 1890 Fwiden ();
1891 1891
@@ -1956,12 +1956,12 @@ advance_to_char_boundary (byte_pos)
1956 1956
1957DEFUN ("set-buffer-multibyte", Fset_buffer_multibyte, Sset_buffer_multibyte, 1957DEFUN ("set-buffer-multibyte", Fset_buffer_multibyte, Sset_buffer_multibyte,
1958 1, 1, 0, 1958 1, 1, 0,
1959 /* Set the multibyte flag of the current buffer to FLAG. 1959 doc: /* Set the multibyte flag of the current buffer to FLAG.
1960If FLAG is t, this makes the buffer a multibyte buffer. 1960If FLAG is t, this makes the buffer a multibyte buffer.
1961If FLAG is nil, this makes the buffer a single-byte buffer. 1961If FLAG is nil, this makes the buffer a single-byte buffer.
1962The buffer contents remain unchanged as a sequence of bytes 1962The buffer contents remain unchanged as a sequence of bytes
1963but the contents viewed as characters do change. */ 1963but the contents viewed as characters do change. */)
1964 (flag)) 1964 (flag)
1965 Lisp_Object flag; 1965 Lisp_Object flag;
1966{ 1966{
1967 Lisp_Object tail, markers; 1967 Lisp_Object tail, markers;
@@ -2209,7 +2209,7 @@ but the contents viewed as characters do change. */
2209 2209
2210DEFUN ("kill-all-local-variables", Fkill_all_local_variables, Skill_all_local_variables, 2210DEFUN ("kill-all-local-variables", Fkill_all_local_variables, Skill_all_local_variables,
2211 0, 0, 0, 2211 0, 0, 0,
2212 /* Switch to Fundamental mode by killing current buffer's local variables. 2212 doc: /* Switch to Fundamental mode by killing current buffer's local variables.
2213Most local variable bindings are eliminated so that the default values 2213Most local variable bindings are eliminated so that the default values
2214become effective once more. Also, the syntax table is set from 2214become effective once more. Also, the syntax table is set from
2215`standard-syntax-table', the local keymap is set to nil, 2215`standard-syntax-table', the local keymap is set to nil,
@@ -2223,8 +2223,8 @@ As a special exception, local variables whose names have
2223a non-nil `permanent-local' property are not eliminated by this function. 2223a non-nil `permanent-local' property are not eliminated by this function.
2224 2224
2225The first thing this function does is run 2225The first thing this function does is run
2226the normal hook `change-major-mode-hook'. */ 2226the normal hook `change-major-mode-hook'. */)
2227 ()) 2227 ()
2228{ 2228{
2229 register Lisp_Object alist, sym, tem; 2229 register Lisp_Object alist, sym, tem;
2230 Lisp_Object oalist; 2230 Lisp_Object oalist;
@@ -3346,22 +3346,22 @@ fix_overlays_before (bp, prev, pos)
3346} 3346}
3347 3347
3348DEFUN ("overlayp", Foverlayp, Soverlayp, 1, 1, 0, 3348DEFUN ("overlayp", Foverlayp, Soverlayp, 1, 1, 0,
3349 /* Return t if OBJECT is an overlay. */ 3349 doc: /* Return t if OBJECT is an overlay. */)
3350 (object)) 3350 (object)
3351 Lisp_Object object; 3351 Lisp_Object object;
3352{ 3352{
3353 return (OVERLAYP (object) ? Qt : Qnil); 3353 return (OVERLAYP (object) ? Qt : Qnil);
3354} 3354}
3355 3355
3356DEFUN ("make-overlay", Fmake_overlay, Smake_overlay, 2, 5, 0, 3356DEFUN ("make-overlay", Fmake_overlay, Smake_overlay, 2, 5, 0,
3357 /* Create a new overlay with range BEG to END in BUFFER. 3357 doc: /* Create a new overlay with range BEG to END in BUFFER.
3358If omitted, BUFFER defaults to the current buffer. 3358If omitted, BUFFER defaults to the current buffer.
3359BEG and END may be integers or markers. 3359BEG and END may be integers or markers.
3360The fourth arg FRONT-ADVANCE, if non-nil, makes the 3360The fourth arg FRONT-ADVANCE, if non-nil, makes the
3361front delimiter advance when text is inserted there. 3361front delimiter advance when text is inserted there.
3362The fifth arg REAR-ADVANCE, if non-nil, makes the 3362The fifth arg REAR-ADVANCE, if non-nil, makes the
3363rear delimiter advance when text is inserted there. */ 3363rear delimiter advance when text is inserted there. */)
3364 (beg, end, buffer, front_advance, rear_advance)) 3364 (beg, end, buffer, front_advance, rear_advance)
3365 Lisp_Object beg, end, buffer; 3365 Lisp_Object beg, end, buffer;
3366 Lisp_Object front_advance, rear_advance; 3366 Lisp_Object front_advance, rear_advance;
3367{ 3367{
@@ -3451,11 +3451,11 @@ modify_overlay (buf, start, end)
3451Lisp_Object Fdelete_overlay (); 3451Lisp_Object Fdelete_overlay ();
3452 3452
3453DEFUN ("move-overlay", Fmove_overlay, Smove_overlay, 3, 4, 0, 3453DEFUN ("move-overlay", Fmove_overlay, Smove_overlay, 3, 4, 0,
3454 /* Set the endpoints of OVERLAY to BEG and END in BUFFER. 3454 doc: /* Set the endpoints of OVERLAY to BEG and END in BUFFER.
3455If BUFFER is omitted, leave OVERLAY in the same buffer it inhabits now. 3455If BUFFER is omitted, leave OVERLAY in the same buffer it inhabits now.
3456If BUFFER is omitted, and OVERLAY is in no buffer, put it in the current 3456If BUFFER is omitted, and OVERLAY is in no buffer, put it in the current
3457buffer. */ 3457buffer. */)
3458 (overlay, beg, end, buffer)) 3458 (overlay, beg, end, buffer)
3459 Lisp_Object overlay, beg, end, buffer; 3459 Lisp_Object overlay, beg, end, buffer;
3460{ 3460{
3461 struct buffer *b, *ob; 3461 struct buffer *b, *ob;
@@ -3555,8 +3555,8 @@ buffer. */
3555} 3555}
3556 3556
3557DEFUN ("delete-overlay", Fdelete_overlay, Sdelete_overlay, 1, 1, 0, 3557DEFUN ("delete-overlay", Fdelete_overlay, Sdelete_overlay, 1, 1, 0,
3558 /* Delete the overlay OVERLAY from its buffer. */ 3558 doc: /* Delete the overlay OVERLAY from its buffer. */)
3559 (overlay)) 3559 (overlay)
3560 Lisp_Object overlay; 3560 Lisp_Object overlay;
3561{ 3561{
3562 Lisp_Object buffer; 3562 Lisp_Object buffer;
@@ -3595,8 +3595,8 @@ DEFUN ("delete-overlay", Fdelete_overlay, Sdelete_overlay, 1, 1, 0,
3595/* Overlay dissection functions. */ 3595/* Overlay dissection functions. */
3596 3596
3597DEFUN ("overlay-start", Foverlay_start, Soverlay_start, 1, 1, 0, 3597DEFUN ("overlay-start", Foverlay_start, Soverlay_start, 1, 1, 0,
3598 /* Return the position at which OVERLAY starts. */ 3598 doc: /* Return the position at which OVERLAY starts. */)
3599 (overlay)) 3599 (overlay)
3600 Lisp_Object overlay; 3600 Lisp_Object overlay;
3601{ 3601{
3602 CHECK_OVERLAY (overlay, 0); 3602 CHECK_OVERLAY (overlay, 0);
@@ -3605,8 +3605,8 @@ DEFUN ("overlay-start", Foverlay_start, Soverlay_start, 1, 1, 0,
3605} 3605}
3606 3606
3607DEFUN ("overlay-end", Foverlay_end, Soverlay_end, 1, 1, 0, 3607DEFUN ("overlay-end", Foverlay_end, Soverlay_end, 1, 1, 0,
3608 /* Return the position at which OVERLAY ends. */ 3608 doc: /* Return the position at which OVERLAY ends. */)
3609 (overlay)) 3609 (overlay)
3610 Lisp_Object overlay; 3610 Lisp_Object overlay;
3611{ 3611{
3612 CHECK_OVERLAY (overlay, 0); 3612 CHECK_OVERLAY (overlay, 0);
@@ -3615,8 +3615,8 @@ DEFUN ("overlay-end", Foverlay_end, Soverlay_end, 1, 1, 0,
3615} 3615}
3616 3616
3617DEFUN ("overlay-buffer", Foverlay_buffer, Soverlay_buffer, 1, 1, 0, 3617DEFUN ("overlay-buffer", Foverlay_buffer, Soverlay_buffer, 1, 1, 0,
3618 /* Return the buffer OVERLAY belongs to. */ 3618 doc: /* Return the buffer OVERLAY belongs to. */)
3619 (overlay)) 3619 (overlay)
3620 Lisp_Object overlay; 3620 Lisp_Object overlay;
3621{ 3621{
3622 CHECK_OVERLAY (overlay, 0); 3622 CHECK_OVERLAY (overlay, 0);
@@ -3625,10 +3625,10 @@ DEFUN ("overlay-buffer", Foverlay_buffer, Soverlay_buffer, 1, 1, 0,
3625} 3625}
3626 3626
3627DEFUN ("overlay-properties", Foverlay_properties, Soverlay_properties, 1, 1, 0, 3627DEFUN ("overlay-properties", Foverlay_properties, Soverlay_properties, 1, 1, 0,
3628 /* Return a list of the properties on OVERLAY. 3628 doc: /* Return a list of the properties on OVERLAY.
3629This is a copy of OVERLAY's plist; modifying its conses has no effect on 3629This is a copy of OVERLAY's plist; modifying its conses has no effect on
3630OVERLAY. */ 3630OVERLAY. */)
3631 (overlay)) 3631 (overlay)
3632 Lisp_Object overlay; 3632 Lisp_Object overlay;
3633{ 3633{
3634 CHECK_OVERLAY (overlay, 0); 3634 CHECK_OVERLAY (overlay, 0);
@@ -3638,8 +3638,8 @@ OVERLAY. */
3638 3638
3639 3639
3640DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0, 3640DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0,
3641 /* Return a list of the overlays that contain position POS. */ 3641 doc: /* Return a list of the overlays that contain position POS. */)
3642 (pos)) 3642 (pos)
3643 Lisp_Object pos; 3643 Lisp_Object pos;
3644{ 3644{
3645 int noverlays; 3645 int noverlays;
@@ -3666,12 +3666,12 @@ DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0,
3666} 3666}
3667 3667
3668DEFUN ("overlays-in", Foverlays_in, Soverlays_in, 2, 2, 0, 3668DEFUN ("overlays-in", Foverlays_in, Soverlays_in, 2, 2, 0,
3669 /* Return a list of the overlays that overlap the region BEG ... END. 3669 doc: /* Return a list of the overlays that overlap the region BEG ... END.
3670Overlap means that at least one character is contained within the overlay 3670Overlap means that at least one character is contained within the overlay
3671and also contained within the specified region. 3671and also contained within the specified region.
3672Empty overlays are included in the result if they are located at BEG 3672Empty overlays are included in the result if they are located at BEG
3673or between BEG and END. */ 3673or between BEG and END. */)
3674 (beg, end)) 3674 (beg, end)
3675 Lisp_Object beg, end; 3675 Lisp_Object beg, end;
3676{ 3676{
3677 int noverlays; 3677 int noverlays;
@@ -3699,9 +3699,9 @@ or between BEG and END. */
3699 3699
3700DEFUN ("next-overlay-change", Fnext_overlay_change, Snext_overlay_change, 3700DEFUN ("next-overlay-change", Fnext_overlay_change, Snext_overlay_change,
3701 1, 1, 0, 3701 1, 1, 0,
3702 /* Return the next position after POS where an overlay starts or ends. 3702 doc: /* Return the next position after POS where an overlay starts or ends.
3703If there are no more overlay boundaries after POS, return (point-max). */ 3703If there are no more overlay boundaries after POS, return (point-max). */)
3704 (pos)) 3704 (pos)
3705 Lisp_Object pos; 3705 Lisp_Object pos;
3706{ 3706{
3707 int noverlays; 3707 int noverlays;
@@ -3740,9 +3740,9 @@ If there are no more overlay boundaries after POS, return (point-max). */
3740 3740
3741DEFUN ("previous-overlay-change", Fprevious_overlay_change, 3741DEFUN ("previous-overlay-change", Fprevious_overlay_change,
3742 Sprevious_overlay_change, 1, 1, 0, 3742 Sprevious_overlay_change, 1, 1, 0,
3743 /* Return the previous position before POS where an overlay starts or ends. 3743 doc: /* Return the previous position before POS where an overlay starts or ends.
3744If there are no more overlay boundaries before POS, return (point-min). */ 3744If there are no more overlay boundaries before POS, return (point-min). */)
3745 (pos)) 3745 (pos)
3746 Lisp_Object pos; 3746 Lisp_Object pos;
3747{ 3747{
3748 int noverlays; 3748 int noverlays;
@@ -3773,13 +3773,13 @@ If there are no more overlay boundaries before POS, return (point-min). */
3773/* These functions are for debugging overlays. */ 3773/* These functions are for debugging overlays. */
3774 3774
3775DEFUN ("overlay-lists", Foverlay_lists, Soverlay_lists, 0, 0, 0, 3775DEFUN ("overlay-lists", Foverlay_lists, Soverlay_lists, 0, 0, 0,
3776 /* Return a pair of lists giving all the overlays of the current buffer. 3776 doc: /* Return a pair of lists giving all the overlays of the current buffer.
3777The car has all the overlays before the overlay center; 3777The car has all the overlays before the overlay center;
3778the cdr has all the overlays after the overlay center. 3778the cdr has all the overlays after the overlay center.
3779Recentering overlays moves overlays between these lists. 3779Recentering overlays moves overlays between these lists.
3780The lists you get are copies, so that changing them has no effect. 3780The lists you get are copies, so that changing them has no effect.
3781However, the overlays you get are the real objects that the buffer uses. */ 3781However, the overlays you get are the real objects that the buffer uses. */)
3782 ()) 3782 ()
3783{ 3783{
3784 Lisp_Object before, after; 3784 Lisp_Object before, after;
3785 before = current_buffer->overlays_before; 3785 before = current_buffer->overlays_before;
@@ -3793,8 +3793,8 @@ However, the overlays you get are the real objects that the buffer uses. */
3793} 3793}
3794 3794
3795DEFUN ("overlay-recenter", Foverlay_recenter, Soverlay_recenter, 1, 1, 0, 3795DEFUN ("overlay-recenter", Foverlay_recenter, Soverlay_recenter, 1, 1, 0,
3796 /* Recenter the overlays of the current buffer around position POS. */ 3796 doc: /* Recenter the overlays of the current buffer around position POS. */)
3797 (pos)) 3797 (pos)
3798 Lisp_Object pos; 3798 Lisp_Object pos;
3799{ 3799{
3800 CHECK_NUMBER_COERCE_MARKER (pos, 0); 3800 CHECK_NUMBER_COERCE_MARKER (pos, 0);
@@ -3804,8 +3804,8 @@ DEFUN ("overlay-recenter", Foverlay_recenter, Soverlay_recenter, 1, 1, 0,
3804} 3804}
3805 3805
3806DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0, 3806DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0,
3807 /* Get the property of overlay OVERLAY with property name PROP. */ 3807 doc: /* Get the property of overlay OVERLAY with property name PROP. */)
3808 (overlay, prop)) 3808 (overlay, prop)
3809 Lisp_Object overlay, prop; 3809 Lisp_Object overlay, prop;
3810{ 3810{
3811 Lisp_Object plist, fallback; 3811 Lisp_Object plist, fallback;
@@ -3833,8 +3833,8 @@ DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0,
3833} 3833}
3834 3834
3835DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0, 3835DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0,
3836 /* Set one property of overlay OVERLAY: give property PROP value VALUE. */ 3836 doc: /* Set one property of overlay OVERLAY: give property PROP value VALUE. */)
3837 (overlay, prop, value)) 3837 (overlay, prop, value)
3838 Lisp_Object overlay, prop, value; 3838 Lisp_Object overlay, prop, value;
3839{ 3839{
3840 Lisp_Object tail, buffer; 3840 Lisp_Object tail, buffer;
@@ -5011,118 +5011,118 @@ syms_of_buffer ()
5011 buffer_defaults will all be marked via Vbuffer_defaults. */ 5011 buffer_defaults will all be marked via Vbuffer_defaults. */
5012 5012
5013 DEFVAR_LISP_NOPRO ("default-mode-line-format", 5013 DEFVAR_LISP_NOPRO ("default-mode-line-format",
5014 &buffer_defaults.mode_line_format 5014 &buffer_defaults.mode_line_format,
5015 /* Default value of `mode-line-format' for buffers that don't override it. 5015 doc: /* Default value of `mode-line-format' for buffers that don't override it.
5016This is the same as (default-value 'mode-line-format). */); 5016This is the same as (default-value 'mode-line-format). */);
5017 5017
5018 DEFVAR_LISP_NOPRO ("default-header-line-format", 5018 DEFVAR_LISP_NOPRO ("default-header-line-format",
5019 &buffer_defaults.header_line_format 5019 &buffer_defaults.header_line_format,
5020 /* Default value of `header-line-format' for buffers that don't override it. 5020 doc: /* Default value of `header-line-format' for buffers that don't override it.
5021This is the same as (default-value 'header-line-format). */); 5021This is the same as (default-value 'header-line-format). */);
5022 5022
5023 DEFVAR_LISP_NOPRO ("default-cursor-type", &buffer_defaults.cursor_type 5023 DEFVAR_LISP_NOPRO ("default-cursor-type", &buffer_defaults.cursor_type,
5024 /* Default value of `cursor-type' for buffers that don't override it. 5024 doc: /* Default value of `cursor-type' for buffers that don't override it.
5025This is the same as (default-value 'cursor-type). */); 5025This is the same as (default-value 'cursor-type). */);
5026 5026
5027 DEFVAR_LISP_NOPRO ("default-line-spacing", 5027 DEFVAR_LISP_NOPRO ("default-line-spacing",
5028 &buffer_defaults.extra_line_spacing 5028 &buffer_defaults.extra_line_spacing,
5029 /* Default value of `line-spacing' for buffers that don't override it. 5029 doc: /* Default value of `line-spacing' for buffers that don't override it.
5030This is the same as (default-value 'line-spacing). */); 5030This is the same as (default-value 'line-spacing). */);
5031 5031
5032 DEFVAR_LISP_NOPRO ("default-abbrev-mode", 5032 DEFVAR_LISP_NOPRO ("default-abbrev-mode",
5033 &buffer_defaults.abbrev_mode 5033 &buffer_defaults.abbrev_mode,
5034 /* Default value of `abbrev-mode' for buffers that do not override it. 5034 doc: /* Default value of `abbrev-mode' for buffers that do not override it.
5035This is the same as (default-value 'abbrev-mode). */); 5035This is the same as (default-value 'abbrev-mode). */);
5036 5036
5037 DEFVAR_LISP_NOPRO ("default-ctl-arrow", 5037 DEFVAR_LISP_NOPRO ("default-ctl-arrow",
5038 &buffer_defaults.ctl_arrow 5038 &buffer_defaults.ctl_arrow,
5039 /* Default value of `ctl-arrow' for buffers that do not override it. 5039 doc: /* Default value of `ctl-arrow' for buffers that do not override it.
5040This is the same as (default-value 'ctl-arrow). */); 5040This is the same as (default-value 'ctl-arrow). */);
5041 5041
5042 DEFVAR_LISP_NOPRO ("default-direction-reversed", 5042 DEFVAR_LISP_NOPRO ("default-direction-reversed",
5043 &buffer_defaults.direction_reversed 5043 &buffer_defaults.direction_reversed,
5044 /* Default value of `direction_reversed' for buffers that do not override it. 5044 doc: /* Default value of `direction_reversed' for buffers that do not override it.
5045This is the same as (default-value 'direction-reversed). */); 5045This is the same as (default-value 'direction-reversed). */);
5046 5046
5047 DEFVAR_LISP_NOPRO ("default-enable-multibyte-characters", 5047 DEFVAR_LISP_NOPRO ("default-enable-multibyte-characters",
5048 &buffer_defaults.enable_multibyte_characters 5048 &buffer_defaults.enable_multibyte_characters,
5049 /* *Default value of `enable-multibyte-characters' for buffers not overriding it. 5049 doc: /* *Default value of `enable-multibyte-characters' for buffers not overriding it.
5050This is the same as (default-value 'enable-multibyte-characters). */); 5050This is the same as (default-value 'enable-multibyte-characters). */);
5051 5051
5052 DEFVAR_LISP_NOPRO ("default-buffer-file-coding-system", 5052 DEFVAR_LISP_NOPRO ("default-buffer-file-coding-system",
5053 &buffer_defaults.buffer_file_coding_system 5053 &buffer_defaults.buffer_file_coding_system,
5054 /* Default value of `buffer-file-coding-system' for buffers not overriding it. 5054 doc: /* Default value of `buffer-file-coding-system' for buffers not overriding it.
5055This is the same as (default-value 'buffer-file-coding-system). */); 5055This is the same as (default-value 'buffer-file-coding-system). */);
5056 5056
5057 DEFVAR_LISP_NOPRO ("default-truncate-lines", 5057 DEFVAR_LISP_NOPRO ("default-truncate-lines",
5058 &buffer_defaults.truncate_lines 5058 &buffer_defaults.truncate_lines,
5059 /* Default value of `truncate-lines' for buffers that do not override it. 5059 doc: /* Default value of `truncate-lines' for buffers that do not override it.
5060This is the same as (default-value 'truncate-lines). */); 5060This is the same as (default-value 'truncate-lines). */);
5061 5061
5062 DEFVAR_LISP_NOPRO ("default-fill-column", 5062 DEFVAR_LISP_NOPRO ("default-fill-column",
5063 &buffer_defaults.fill_column 5063 &buffer_defaults.fill_column,
5064 /* Default value of `fill-column' for buffers that do not override it. 5064 doc: /* Default value of `fill-column' for buffers that do not override it.
5065This is the same as (default-value 'fill-column). */); 5065This is the same as (default-value 'fill-column). */);
5066 5066
5067 DEFVAR_LISP_NOPRO ("default-left-margin", 5067 DEFVAR_LISP_NOPRO ("default-left-margin",
5068 &buffer_defaults.left_margin 5068 &buffer_defaults.left_margin,
5069 /* Default value of `left-margin' for buffers that do not override it. 5069 doc: /* Default value of `left-margin' for buffers that do not override it.
5070This is the same as (default-value 'left-margin). */); 5070This is the same as (default-value 'left-margin). */);
5071 5071
5072 DEFVAR_LISP_NOPRO ("default-tab-width", 5072 DEFVAR_LISP_NOPRO ("default-tab-width",
5073 &buffer_defaults.tab_width 5073 &buffer_defaults.tab_width,
5074 /* Default value of `tab-width' for buffers that do not override it. 5074 doc: /* Default value of `tab-width' for buffers that do not override it.
5075This is the same as (default-value 'tab-width). */); 5075This is the same as (default-value 'tab-width). */);
5076 5076
5077 DEFVAR_LISP_NOPRO ("default-case-fold-search", 5077 DEFVAR_LISP_NOPRO ("default-case-fold-search",
5078 &buffer_defaults.case_fold_search 5078 &buffer_defaults.case_fold_search,
5079 /* Default value of `case-fold-search' for buffers that don't override it. 5079 doc: /* Default value of `case-fold-search' for buffers that don't override it.
5080This is the same as (default-value 'case-fold-search). */); 5080This is the same as (default-value 'case-fold-search). */);
5081 5081
5082#ifdef DOS_NT 5082#ifdef DOS_NT
5083 DEFVAR_LISP_NOPRO ("default-buffer-file-type", 5083 DEFVAR_LISP_NOPRO ("default-buffer-file-type",
5084 &buffer_defaults.buffer_file_type 5084 &buffer_defaults.buffer_file_type,
5085 /* Default file type for buffers that do not override it. 5085 doc: /* Default file type for buffers that do not override it.
5086This is the same as (default-value 'buffer-file-type). 5086This is the same as (default-value 'buffer-file-type).
5087The file type is nil for text, t for binary. */); 5087The file type is nil for text, t for binary. */);
5088#endif 5088#endif
5089 5089
5090 DEFVAR_LISP_NOPRO ("default-left-margin-width", 5090 DEFVAR_LISP_NOPRO ("default-left-margin-width",
5091 &buffer_defaults.left_margin_width 5091 &buffer_defaults.left_margin_width,
5092 /* Default value of `left-margin-width' for buffers that don't override it. 5092 doc: /* Default value of `left-margin-width' for buffers that don't override it.
5093This is the same as (default-value 'left-margin-width). */); 5093This is the same as (default-value 'left-margin-width). */);
5094 5094
5095 DEFVAR_LISP_NOPRO ("default-right-margin-width", 5095 DEFVAR_LISP_NOPRO ("default-right-margin-width",
5096 &buffer_defaults.right_margin_width 5096 &buffer_defaults.right_margin_width,
5097 /* Default value of `right_margin_width' for buffers that don't override it. 5097 doc: /* Default value of `right_margin_width' for buffers that don't override it.
5098This is the same as (default-value 'right-margin-width). */); 5098This is the same as (default-value 'right-margin-width). */);
5099 5099
5100 DEFVAR_LISP_NOPRO ("default-indicate-empty-lines", 5100 DEFVAR_LISP_NOPRO ("default-indicate-empty-lines",
5101 &buffer_defaults.indicate_empty_lines 5101 &buffer_defaults.indicate_empty_lines,
5102 /* Default value of `indicate-empty-lines' for buffers that don't override it. 5102 doc: /* Default value of `indicate-empty-lines' for buffers that don't override it.
5103This is the same as (default-value 'indicate-empty-lines). */); 5103This is the same as (default-value 'indicate-empty-lines). */);
5104 5104
5105 DEFVAR_LISP_NOPRO ("default-scroll-up-aggressively", 5105 DEFVAR_LISP_NOPRO ("default-scroll-up-aggressively",
5106 &buffer_defaults.scroll_up_aggressively 5106 &buffer_defaults.scroll_up_aggressively,
5107 /* Default value of `scroll-up-aggressively' for buffers that 5107 doc: /* Default value of `scroll-up-aggressively' for buffers that
5108don't override it. This is the same as (default-value 5108don't override it. This is the same as (default-value
5109'scroll-up-aggressively). */); 5109'scroll-up-aggressively). */);
5110 5110
5111 DEFVAR_LISP_NOPRO ("default-scroll-down-aggressively", 5111 DEFVAR_LISP_NOPRO ("default-scroll-down-aggressively",
5112 &buffer_defaults.scroll_down_aggressively 5112 &buffer_defaults.scroll_down_aggressively,
5113 /* Default value of `scroll-down-aggressively' for buffers that 5113 doc: /* Default value of `scroll-down-aggressively' for buffers that
5114don't override it. This is the same as (default-value 5114don't override it. This is the same as (default-value
5115'scroll-down-aggressively). */); 5115'scroll-down-aggressively). */);
5116 5116
5117 DEFVAR_PER_BUFFER ("header-line-format", 5117 DEFVAR_PER_BUFFER ("header-line-format",
5118 &current_buffer->header_line_format, 5118 &current_buffer->header_line_format,
5119 Qnil 5119 Qnil,
5120 /* Analogous to `mode-line-format', but for the mode line that can be 5120 doc: /* Analogous to `mode-line-format', but for the mode line that can be
5121displayed at the top of a window. */); 5121displayed at the top of a window. */);
5122 5122
5123 DEFVAR_PER_BUFFER ("mode-line-format", &current_buffer->mode_line_format, 5123 DEFVAR_PER_BUFFER ("mode-line-format", &current_buffer->mode_line_format,
5124 Qnil 5124 Qnil,
5125 /* Template for displaying mode line for current buffer. 5125 doc: /* Template for displaying mode line for current buffer.
5126Each buffer has its own value of this variable. 5126Each buffer has its own value of this variable.
5127Value may be nil, a string, a symbol or a list or cons cell. 5127Value may be nil, a string, a symbol or a list or cons cell.
5128A value of nil means don't display a mode line. 5128A value of nil means don't display a mode line.
@@ -5163,48 +5163,48 @@ A string is printed verbatim in the mode line except for %-constructs:
5163 %% -- print %. %- -- print infinitely many dashes. 5163 %% -- print %. %- -- print infinitely many dashes.
5164Decimal digits after the % specify field width to which to pad. */); 5164Decimal digits after the % specify field width to which to pad. */);
5165 5165
5166 DEFVAR_LISP_NOPRO ("default-major-mode", &buffer_defaults.major_mode 5166 DEFVAR_LISP_NOPRO ("default-major-mode", &buffer_defaults.major_mode,
5167 /* *Major mode for new buffers. Defaults to `fundamental-mode'. 5167 doc: /* *Major mode for new buffers. Defaults to `fundamental-mode'.
5168nil here means use current buffer's major mode. */); 5168nil here means use current buffer's major mode. */);
5169 5169
5170 DEFVAR_PER_BUFFER ("major-mode", &current_buffer->major_mode, 5170 DEFVAR_PER_BUFFER ("major-mode", &current_buffer->major_mode,
5171 make_number (Lisp_Symbol) 5171 make_number (Lisp_Symbol),
5172 /* Symbol for current buffer's major mode. */); 5172 doc: /* Symbol for current buffer's major mode. */);
5173 5173
5174 DEFVAR_PER_BUFFER ("mode-name", &current_buffer->mode_name, 5174 DEFVAR_PER_BUFFER ("mode-name", &current_buffer->mode_name,
5175 make_number (Lisp_String) 5175 make_number (Lisp_String),
5176 /* Pretty name of current buffer's major mode (a string). */); 5176 doc: /* Pretty name of current buffer's major mode (a string). */);
5177 5177
5178 DEFVAR_PER_BUFFER ("abbrev-mode", &current_buffer->abbrev_mode, Qnil 5178 DEFVAR_PER_BUFFER ("abbrev-mode", &current_buffer->abbrev_mode, Qnil,
5179 /* Non-nil turns on automatic expansion of abbrevs as they are inserted. */); 5179 doc: /* Non-nil turns on automatic expansion of abbrevs as they are inserted. */);
5180 5180
5181 DEFVAR_PER_BUFFER ("case-fold-search", &current_buffer->case_fold_search, 5181 DEFVAR_PER_BUFFER ("case-fold-search", &current_buffer->case_fold_search,
5182 Qnil 5182 Qnil,
5183 /* *Non-nil if searches and matches should ignore case. */); 5183 doc: /* *Non-nil if searches and matches should ignore case. */);
5184 5184
5185 DEFVAR_PER_BUFFER ("fill-column", &current_buffer->fill_column, 5185 DEFVAR_PER_BUFFER ("fill-column", &current_buffer->fill_column,
5186 make_number (Lisp_Int) 5186 make_number (Lisp_Int),
5187 /* *Column beyond which automatic line-wrapping should happen. */); 5187 doc: /* *Column beyond which automatic line-wrapping should happen. */);
5188 5188
5189 DEFVAR_PER_BUFFER ("left-margin", &current_buffer->left_margin, 5189 DEFVAR_PER_BUFFER ("left-margin", &current_buffer->left_margin,
5190 make_number (Lisp_Int) 5190 make_number (Lisp_Int),
5191 /* *Column for the default indent-line-function to indent to. 5191 doc: /* *Column for the default indent-line-function to indent to.
5192Linefeed indents to this column in Fundamental mode. */); 5192Linefeed indents to this column in Fundamental mode. */);
5193 5193
5194 DEFVAR_PER_BUFFER ("tab-width", &current_buffer->tab_width, 5194 DEFVAR_PER_BUFFER ("tab-width", &current_buffer->tab_width,
5195 make_number (Lisp_Int) 5195 make_number (Lisp_Int),
5196 /* *Distance between tab stops (for display of tab characters), in columns. */); 5196 doc: /* *Distance between tab stops (for display of tab characters), in columns. */);
5197 5197
5198 DEFVAR_PER_BUFFER ("ctl-arrow", &current_buffer->ctl_arrow, Qnil 5198 DEFVAR_PER_BUFFER ("ctl-arrow", &current_buffer->ctl_arrow, Qnil,
5199 /* *Non-nil means display control chars with uparrow. 5199 doc: /* *Non-nil means display control chars with uparrow.
5200A value of nil means use backslash and octal digits. 5200A value of nil means use backslash and octal digits.
5201This variable does not apply to characters whose display is specified 5201This variable does not apply to characters whose display is specified
5202in the current display table (if there is one). */); 5202in the current display table (if there is one). */);
5203 5203
5204 DEFVAR_PER_BUFFER ("enable-multibyte-characters", 5204 DEFVAR_PER_BUFFER ("enable-multibyte-characters",
5205 &current_buffer->enable_multibyte_characters, 5205 &current_buffer->enable_multibyte_characters,
5206 make_number (-1) 5206 make_number (-1),
5207 /* Non-nil means the buffer contents are regarded as multi-byte characters. 5207 doc: /* Non-nil means the buffer contents are regarded as multi-byte characters.
5208Otherwise they are regarded as unibyte. This affects the display, 5208Otherwise they are regarded as unibyte. This affects the display,
5209file I/O and the behavior of various editing commands. 5209file I/O and the behavior of various editing commands.
5210 5210
@@ -5215,8 +5215,8 @@ See also variable `default-enable-multibyte-characters' and Info node
5215`(elisp)Text Representations'. */); 5215`(elisp)Text Representations'. */);
5216 5216
5217 DEFVAR_PER_BUFFER ("buffer-file-coding-system", 5217 DEFVAR_PER_BUFFER ("buffer-file-coding-system",
5218 &current_buffer->buffer_file_coding_system, Qnil 5218 &current_buffer->buffer_file_coding_system, Qnil,
5219 /* Coding system to be used for encoding the buffer contents on saving. 5219 doc: /* Coding system to be used for encoding the buffer contents on saving.
5220This variable applies to saving the buffer, and also to `write-region' 5220This variable applies to saving the buffer, and also to `write-region'
5221and other functions that use `write-region'. 5221and other functions that use `write-region'.
5222It does not apply to sending output to subprocesses, however. 5222It does not apply to sending output to subprocesses, however.
@@ -5230,11 +5230,11 @@ The variable `coding-system-for-write', if non-nil, overrides this variable.
5230This variable is never applied to a way of decoding a file while reading it. */); 5230This variable is never applied to a way of decoding a file while reading it. */);
5231 5231
5232 DEFVAR_PER_BUFFER ("direction-reversed", &current_buffer->direction_reversed, 5232 DEFVAR_PER_BUFFER ("direction-reversed", &current_buffer->direction_reversed,
5233 Qnil 5233 Qnil,
5234 /* *Non-nil means lines in the buffer are displayed right to left. */); 5234 doc: /* *Non-nil means lines in the buffer are displayed right to left. */);
5235 5235
5236 DEFVAR_PER_BUFFER ("truncate-lines", &current_buffer->truncate_lines, Qnil 5236 DEFVAR_PER_BUFFER ("truncate-lines", &current_buffer->truncate_lines, Qnil,
5237 /* *Non-nil means do not display continuation lines; 5237 doc: /* *Non-nil means do not display continuation lines;
5238give each line of text one screen line. 5238give each line of text one screen line.
5239 5239
5240Note that this is overridden by the variable 5240Note that this is overridden by the variable
@@ -5243,57 +5243,57 @@ and this buffer is not full-frame width. */);
5243 5243
5244#ifdef DOS_NT 5244#ifdef DOS_NT
5245 DEFVAR_PER_BUFFER ("buffer-file-type", &current_buffer->buffer_file_type, 5245 DEFVAR_PER_BUFFER ("buffer-file-type", &current_buffer->buffer_file_type,
5246 Qnil 5246 Qnil,
5247 /* Non-nil if the visited file is a binary file. 5247 doc: /* Non-nil if the visited file is a binary file.
5248This variable is meaningful on MS-DOG and Windows NT. 5248This variable is meaningful on MS-DOG and Windows NT.
5249On those systems, it is automatically local in every buffer. 5249On those systems, it is automatically local in every buffer.
5250On other systems, this variable is normally always nil. */); 5250On other systems, this variable is normally always nil. */);
5251#endif 5251#endif
5252 5252
5253 DEFVAR_PER_BUFFER ("default-directory", &current_buffer->directory, 5253 DEFVAR_PER_BUFFER ("default-directory", &current_buffer->directory,
5254 make_number (Lisp_String) 5254 make_number (Lisp_String),
5255 /* Name of default directory of current buffer. Should end with slash. 5255 doc: /* Name of default directory of current buffer. Should end with slash.
5256To interactively change the default directory, use command `cd'. */); 5256To interactively change the default directory, use command `cd'. */);
5257 5257
5258 DEFVAR_PER_BUFFER ("auto-fill-function", &current_buffer->auto_fill_function, 5258 DEFVAR_PER_BUFFER ("auto-fill-function", &current_buffer->auto_fill_function,
5259 Qnil 5259 Qnil,
5260 /* Function called (if non-nil) to perform auto-fill. 5260 doc: /* Function called (if non-nil) to perform auto-fill.
5261It is called after self-inserting any character specified in 5261It is called after self-inserting any character specified in
5262the `auto-fill-chars' table. 5262the `auto-fill-chars' table.
5263NOTE: This variable is not a hook; 5263NOTE: This variable is not a hook;
5264its value may not be a list of functions. */); 5264its value may not be a list of functions. */);
5265 5265
5266 DEFVAR_PER_BUFFER ("buffer-file-name", &current_buffer->filename, 5266 DEFVAR_PER_BUFFER ("buffer-file-name", &current_buffer->filename,
5267 make_number (Lisp_String) 5267 make_number (Lisp_String),
5268 /* Name of file visited in current buffer, or nil if not visiting a file. */); 5268 doc: /* Name of file visited in current buffer, or nil if not visiting a file. */);
5269 5269
5270 DEFVAR_PER_BUFFER ("buffer-file-truename", &current_buffer->file_truename, 5270 DEFVAR_PER_BUFFER ("buffer-file-truename", &current_buffer->file_truename,
5271 make_number (Lisp_String) 5271 make_number (Lisp_String),
5272 /* Abbreviated truename of file visited in current buffer, or nil if none. 5272 doc: /* Abbreviated truename of file visited in current buffer, or nil if none.
5273The truename of a file is calculated by `file-truename' 5273The truename of a file is calculated by `file-truename'
5274and then abbreviated with `abbreviate-file-name'. */); 5274and then abbreviated with `abbreviate-file-name'. */);
5275 5275
5276 DEFVAR_PER_BUFFER ("buffer-auto-save-file-name", 5276 DEFVAR_PER_BUFFER ("buffer-auto-save-file-name",
5277 &current_buffer->auto_save_file_name, 5277 &current_buffer->auto_save_file_name,
5278 make_number (Lisp_String) 5278 make_number (Lisp_String),
5279 /* Name of file for auto-saving current buffer, 5279 doc: /* Name of file for auto-saving current buffer,
5280or nil if buffer should not be auto-saved. */); 5280or nil if buffer should not be auto-saved. */);
5281 5281
5282 DEFVAR_PER_BUFFER ("buffer-read-only", &current_buffer->read_only, Qnil 5282 DEFVAR_PER_BUFFER ("buffer-read-only", &current_buffer->read_only, Qnil,
5283 /* Non-nil if this buffer is read-only. */); 5283 doc: /* Non-nil if this buffer is read-only. */);
5284 5284
5285 DEFVAR_PER_BUFFER ("buffer-backed-up", &current_buffer->backed_up, Qnil 5285 DEFVAR_PER_BUFFER ("buffer-backed-up", &current_buffer->backed_up, Qnil,
5286 /* Non-nil if this buffer's file has been backed up. 5286 doc: /* Non-nil if this buffer's file has been backed up.
5287Backing up is done before the first time the file is saved. */); 5287Backing up is done before the first time the file is saved. */);
5288 5288
5289 DEFVAR_PER_BUFFER ("buffer-saved-size", &current_buffer->save_length, 5289 DEFVAR_PER_BUFFER ("buffer-saved-size", &current_buffer->save_length,
5290 make_number (Lisp_Int) 5290 make_number (Lisp_Int),
5291 /* Length of current buffer when last read in, saved or auto-saved. 5291 doc: /* Length of current buffer when last read in, saved or auto-saved.
52920 initially. */); 52920 initially. */);
5293 5293
5294 DEFVAR_PER_BUFFER ("selective-display", &current_buffer->selective_display, 5294 DEFVAR_PER_BUFFER ("selective-display", &current_buffer->selective_display,
5295 Qnil 5295 Qnil,
5296 /* Non-nil enables selective display: 5296 doc: /* Non-nil enables selective display:
5297Integer N as value means display only lines 5297Integer N as value means display only lines
5298 that start with less than n columns of space. 5298 that start with less than n columns of space.
5299A value of t means, after a ^M, all the rest of the line is invisible. 5299A value of t means, after a ^M, all the rest of the line is invisible.
@@ -5302,12 +5302,12 @@ A value of t means, after a ^M, all the rest of the line is invisible.
5302#ifndef old 5302#ifndef old
5303 DEFVAR_PER_BUFFER ("selective-display-ellipses", 5303 DEFVAR_PER_BUFFER ("selective-display-ellipses",
5304 &current_buffer->selective_display_ellipses, 5304 &current_buffer->selective_display_ellipses,
5305 Qnil 5305 Qnil,
5306 /* t means display ... on previous line when a line is invisible. */); 5306 doc: /* t means display ... on previous line when a line is invisible. */);
5307#endif 5307#endif
5308 5308
5309 DEFVAR_PER_BUFFER ("overwrite-mode", &current_buffer->overwrite_mode, Qnil 5309 DEFVAR_PER_BUFFER ("overwrite-mode", &current_buffer->overwrite_mode, Qnil,
5310 /* Non-nil if self-insertion should replace existing text. 5310 doc: /* Non-nil if self-insertion should replace existing text.
5311The value should be one of `overwrite-mode-textual', 5311The value should be one of `overwrite-mode-textual',
5312`overwrite-mode-binary', or nil. 5312`overwrite-mode-binary', or nil.
5313If it is `overwrite-mode-textual', self-insertion still 5313If it is `overwrite-mode-textual', self-insertion still
@@ -5316,8 +5316,8 @@ until the tab is filled in.
5316If `overwrite-mode-binary', self-insertion replaces newlines and tabs too. */); 5316If `overwrite-mode-binary', self-insertion replaces newlines and tabs too. */);
5317 5317
5318 DEFVAR_PER_BUFFER ("buffer-display-table", &current_buffer->display_table, 5318 DEFVAR_PER_BUFFER ("buffer-display-table", &current_buffer->display_table,
5319 Qnil 5319 Qnil,
5320 /* Display table that controls display of the contents of current buffer. 5320 doc: /* Display table that controls display of the contents of current buffer.
5321 5321
5322If this variable is nil, the value of `standard-display-table' is used. 5322If this variable is nil, the value of `standard-display-table' is used.
5323Each window can have its own, overriding display table, see 5323Each window can have its own, overriding display table, see
@@ -5353,31 +5353,31 @@ In addition, a char-table has six extra slots to control the display of:
5353See also the functions `display-table-slot' and `set-display-table-slot'. */); 5353See also the functions `display-table-slot' and `set-display-table-slot'. */);
5354 5354
5355 DEFVAR_PER_BUFFER ("left-margin-width", &current_buffer->left_margin_width, 5355 DEFVAR_PER_BUFFER ("left-margin-width", &current_buffer->left_margin_width,
5356 Qnil 5356 Qnil,
5357 /* *Width of left marginal area for display of a buffer. 5357 doc: /* *Width of left marginal area for display of a buffer.
5358A value of nil means no marginal area. */); 5358A value of nil means no marginal area. */);
5359 5359
5360 DEFVAR_PER_BUFFER ("right-margin-width", &current_buffer->right_margin_width, 5360 DEFVAR_PER_BUFFER ("right-margin-width", &current_buffer->right_margin_width,
5361 Qnil 5361 Qnil,
5362 /* *Width of right marginal area for display of a buffer. 5362 doc: /* *Width of right marginal area for display of a buffer.
5363A value of nil means no marginal area. */); 5363A value of nil means no marginal area. */);
5364 5364
5365 DEFVAR_PER_BUFFER ("indicate-empty-lines", 5365 DEFVAR_PER_BUFFER ("indicate-empty-lines",
5366 &current_buffer->indicate_empty_lines, Qnil 5366 &current_buffer->indicate_empty_lines, Qnil,
5367 /* *Visually indicate empty lines after the buffer end. 5367 doc: /* *Visually indicate empty lines after the buffer end.
5368If non-nil, a bitmap is displayed in the left fringe of a window on 5368If non-nil, a bitmap is displayed in the left fringe of a window on
5369window-systems. */); 5369window-systems. */);
5370 5370
5371 DEFVAR_PER_BUFFER ("scroll-up-aggressively", 5371 DEFVAR_PER_BUFFER ("scroll-up-aggressively",
5372 &current_buffer->scroll_up_aggressively, Qnil 5372 &current_buffer->scroll_up_aggressively, Qnil,
5373 /* *If a number, scroll display up aggressively. 5373 doc: /* *If a number, scroll display up aggressively.
5374If scrolling a window because point is above the window start, choose 5374If scrolling a window because point is above the window start, choose
5375a new window start so that point ends up that fraction of the window's 5375a new window start so that point ends up that fraction of the window's
5376height from the top of the window. */); 5376height from the top of the window. */);
5377 5377
5378 DEFVAR_PER_BUFFER ("scroll-down-aggressively", 5378 DEFVAR_PER_BUFFER ("scroll-down-aggressively",
5379 &current_buffer->scroll_down_aggressively, Qnil 5379 &current_buffer->scroll_down_aggressively, Qnil,
5380 /* *If a number, scroll display down aggressively. 5380 doc: /* *If a number, scroll display down aggressively.
5381If scrolling a window because point is below the window end, choose 5381If scrolling a window because point is below the window end, choose
5382a new window start so that point ends up that fraction of the window's 5382a new window start so that point ends up that fraction of the window's
5383height from the bottom of the window. */); 5383height from the bottom of the window. */);
@@ -5386,8 +5386,8 @@ height from the bottom of the window. */);
5386 "Don't ask."); 5386 "Don't ask.");
5387*/ 5387*/
5388 5388
5389 DEFVAR_LISP ("before-change-functions", &Vbefore_change_functions 5389 DEFVAR_LISP ("before-change-functions", &Vbefore_change_functions,
5390 /* List of functions to call before each text change. 5390 doc: /* List of functions to call before each text change.
5391Two arguments are passed to each function: the positions of 5391Two arguments are passed to each function: the positions of
5392the beginning and end of the range of old text to be changed. 5392the beginning and end of the range of old text to be changed.
5393\(For an insertion, the beginning and end are at the same place.) 5393\(For an insertion, the beginning and end are at the same place.)
@@ -5405,8 +5405,8 @@ the variable's value remains nil. That prevents the error
5405from happening repeatedly and making Emacs nonfunctional. */); 5405from happening repeatedly and making Emacs nonfunctional. */);
5406 Vbefore_change_functions = Qnil; 5406 Vbefore_change_functions = Qnil;
5407 5407
5408 DEFVAR_LISP ("after-change-functions", &Vafter_change_functions 5408 DEFVAR_LISP ("after-change-functions", &Vafter_change_functions,
5409 /* List of function to call after each text change. 5409 doc: /* List of function to call after each text change.
5410Three arguments are passed to each function: the positions of 5410Three arguments are passed to each function: the positions of
5411the beginning and end of the range of changed text, 5411the beginning and end of the range of changed text,
5412and the length in bytes of the pre-change text replaced by that range. 5412and the length in bytes of the pre-change text replaced by that range.
@@ -5426,13 +5426,13 @@ the variable's value remains nil. That prevents the error
5426from happening repeatedly and making Emacs nonfunctional. */); 5426from happening repeatedly and making Emacs nonfunctional. */);
5427 Vafter_change_functions = Qnil; 5427 Vafter_change_functions = Qnil;
5428 5428
5429 DEFVAR_LISP ("first-change-hook", &Vfirst_change_hook 5429 DEFVAR_LISP ("first-change-hook", &Vfirst_change_hook,
5430 /* A list of functions to call before changing a buffer which is unmodified. 5430 doc: /* A list of functions to call before changing a buffer which is unmodified.
5431The functions are run using the `run-hooks' function. */); 5431The functions are run using the `run-hooks' function. */);
5432 Vfirst_change_hook = Qnil; 5432 Vfirst_change_hook = Qnil;
5433 5433
5434 DEFVAR_PER_BUFFER ("buffer-undo-list", &current_buffer->undo_list, Qnil 5434 DEFVAR_PER_BUFFER ("buffer-undo-list", &current_buffer->undo_list, Qnil,
5435 /* List of undo entries in current buffer. 5435 doc: /* List of undo entries in current buffer.
5436Recent changes come first; older changes follow newer. 5436Recent changes come first; older changes follow newer.
5437 5437
5438An entry (BEG . END) represents an insertion which begins at 5438An entry (BEG . END) represents an insertion which begins at
@@ -5464,11 +5464,11 @@ between two undo boundaries as a single step to be undone.
5464 5464
5465If the value of the variable is t, undo information is not recorded. */); 5465If the value of the variable is t, undo information is not recorded. */);
5466 5466
5467 DEFVAR_PER_BUFFER ("mark-active", &current_buffer->mark_active, Qnil 5467 DEFVAR_PER_BUFFER ("mark-active", &current_buffer->mark_active, Qnil,
5468 /* Non-nil means the mark and region are currently active in this buffer. */); 5468 doc: /* Non-nil means the mark and region are currently active in this buffer. */);
5469 5469
5470 DEFVAR_PER_BUFFER ("cache-long-line-scans", &current_buffer->cache_long_line_scans, Qnil 5470 DEFVAR_PER_BUFFER ("cache-long-line-scans", &current_buffer->cache_long_line_scans, Qnil,
5471 /* Non-nil means that Emacs should use caches to handle long lines more quickly. 5471 doc: /* Non-nil means that Emacs should use caches to handle long lines more quickly.
5472 5472
5473Normally, the line-motion functions work by scanning the buffer for 5473Normally, the line-motion functions work by scanning the buffer for
5474newlines. Columnar operations (like move-to-column and 5474newlines. Columnar operations (like move-to-column and
@@ -5495,17 +5495,17 @@ maintained internally by the Emacs primitives. Enabling or disabling
5495the cache should not affect the behavior of any of the motion 5495the cache should not affect the behavior of any of the motion
5496functions; it should only affect their performance. */); 5496functions; it should only affect their performance. */);
5497 5497
5498 DEFVAR_PER_BUFFER ("point-before-scroll", &current_buffer->point_before_scroll, Qnil 5498 DEFVAR_PER_BUFFER ("point-before-scroll", &current_buffer->point_before_scroll, Qnil,
5499 /* Value of point before the last series of scroll operations, or nil. */); 5499 doc: /* Value of point before the last series of scroll operations, or nil. */);
5500 5500
5501 DEFVAR_PER_BUFFER ("buffer-file-format", &current_buffer->file_format, Qnil 5501 DEFVAR_PER_BUFFER ("buffer-file-format", &current_buffer->file_format, Qnil,
5502 /* List of formats to use when saving this buffer. 5502 doc: /* List of formats to use when saving this buffer.
5503Formats are defined by `format-alist'. This variable is 5503Formats are defined by `format-alist'. This variable is
5504set when a file is visited. Automatically local in all buffers. */); 5504set when a file is visited. Automatically local in all buffers. */);
5505 5505
5506 DEFVAR_PER_BUFFER ("buffer-invisibility-spec", 5506 DEFVAR_PER_BUFFER ("buffer-invisibility-spec",
5507 &current_buffer->invisibility_spec, Qnil 5507 &current_buffer->invisibility_spec, Qnil,
5508 /* Invisibility spec of this buffer. 5508 doc: /* Invisibility spec of this buffer.
5509The default is t, which means that text is invisible 5509The default is t, which means that text is invisible
5510if it has a non-nil `invisible' property. 5510if it has a non-nil `invisible' property.
5511If the value is a list, a text character is invisible if its `invisible' 5511If the value is a list, a text character is invisible if its `invisible'
@@ -5515,34 +5515,34 @@ then characters with property value PROP are invisible,
5515and they have an ellipsis as well if ELLIPSIS is non-nil. */); 5515and they have an ellipsis as well if ELLIPSIS is non-nil. */);
5516 5516
5517 DEFVAR_PER_BUFFER ("buffer-display-count", 5517 DEFVAR_PER_BUFFER ("buffer-display-count",
5518 &current_buffer->display_count, Qnil 5518 &current_buffer->display_count, Qnil,
5519 /* A number incremented each time this buffer is displayed in a window. 5519 doc: /* A number incremented each time this buffer is displayed in a window.
5520The function `set-window-buffer' increments it. */); 5520The function `set-window-buffer' increments it. */);
5521 5521
5522 DEFVAR_PER_BUFFER ("buffer-display-time", 5522 DEFVAR_PER_BUFFER ("buffer-display-time",
5523 &current_buffer->display_time, Qnil 5523 &current_buffer->display_time, Qnil,
5524 /* Time stamp updated each time this buffer is displayed in a window. 5524 doc: /* Time stamp updated each time this buffer is displayed in a window.
5525The function `set-window-buffer' updates this variable 5525The function `set-window-buffer' updates this variable
5526to the value obtained by calling `current-time'. 5526to the value obtained by calling `current-time'.
5527If the buffer has never been shown in a window, the value is nil. */); 5527If the buffer has never been shown in a window, the value is nil. */);
5528 5528
5529 DEFVAR_LISP ("transient-mark-mode", &Vtransient_mark_mode 5529 DEFVAR_LISP ("transient-mark-mode", &Vtransient_mark_mode,
5530 /* *Non-nil means deactivate the mark when the buffer contents change. 5530 doc: /* *Non-nil means deactivate the mark when the buffer contents change.
5531Non-nil also enables highlighting of the region whenever the mark is active. 5531Non-nil also enables highlighting of the region whenever the mark is active.
5532The variable `highlight-nonselected-windows' controls whether to highlight 5532The variable `highlight-nonselected-windows' controls whether to highlight
5533all windows or just the selected window. */); 5533all windows or just the selected window. */);
5534 Vtransient_mark_mode = Qnil; 5534 Vtransient_mark_mode = Qnil;
5535 5535
5536 DEFVAR_LISP ("inhibit-read-only", &Vinhibit_read_only 5536 DEFVAR_LISP ("inhibit-read-only", &Vinhibit_read_only,
5537 /* *Non-nil means disregard read-only status of buffers or characters. 5537 doc: /* *Non-nil means disregard read-only status of buffers or characters.
5538If the value is t, disregard `buffer-read-only' and all `read-only' 5538If the value is t, disregard `buffer-read-only' and all `read-only'
5539text properties. If the value is a list, disregard `buffer-read-only' 5539text properties. If the value is a list, disregard `buffer-read-only'
5540and disregard a `read-only' text property if the property value 5540and disregard a `read-only' text property if the property value
5541is a member of the list. */); 5541is a member of the list. */);
5542 Vinhibit_read_only = Qnil; 5542 Vinhibit_read_only = Qnil;
5543 5543
5544 DEFVAR_PER_BUFFER ("cursor-type", &current_buffer->cursor_type, Qnil 5544 DEFVAR_PER_BUFFER ("cursor-type", &current_buffer->cursor_type, Qnil,
5545 /* Cursor to use in window displaying this buffer. 5545 doc: /* Cursor to use in window displaying this buffer.
5546Values are interpreted as follows: 5546Values are interpreted as follows:
5547 5547
5548 t use the cursor specified for the frame 5548 t use the cursor specified for the frame
@@ -5552,12 +5552,12 @@ Values are interpreted as follows:
5552 others display a box cursor. */); 5552 others display a box cursor. */);
5553 5553
5554 DEFVAR_PER_BUFFER ("line-spacing", 5554 DEFVAR_PER_BUFFER ("line-spacing",
5555 &current_buffer->extra_line_spacing, Qnil 5555 &current_buffer->extra_line_spacing, Qnil,
5556 /* Additional space to put between lines when displaying a buffer. 5556 doc: /* Additional space to put between lines when displaying a buffer.
5557The space is measured in pixels, and put below lines on window systems. */); 5557The space is measured in pixels, and put below lines on window systems. */);
5558 5558
5559 DEFVAR_LISP ("kill-buffer-query-functions", &Vkill_buffer_query_functions 5559 DEFVAR_LISP ("kill-buffer-query-functions", &Vkill_buffer_query_functions,
5560 /* List of functions called with no args to query before killing a buffer. */); 5560 doc: /* List of functions called with no args to query before killing a buffer. */);
5561 Vkill_buffer_query_functions = Qnil; 5561 Vkill_buffer_query_functions = Qnil;
5562 5562
5563 defsubr (&Sbuffer_live_p); 5563 defsubr (&Sbuffer_live_p);