aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.c
diff options
context:
space:
mode:
authorPavel Janík2001-10-15 20:52:59 +0000
committerPavel Janík2001-10-15 20:52:59 +0000
commit018ba359ab456f6a43f3acea0c15df616aa0ad02 (patch)
treea2ebfe50bfcf7f41ab564651ee84fe6f8f733e86 /src/buffer.c
parent502150e5b8b733d803cea1d7546f4749c3678227 (diff)
downloademacs-018ba359ab456f6a43f3acea0c15df616aa0ad02.tar.gz
emacs-018ba359ab456f6a43f3acea0c15df616aa0ad02.zip
Put doc strings in comments.
Diffstat (limited to 'src/buffer.c')
-rw-r--r--src/buffer.c1305
1 files changed, 647 insertions, 658 deletions
diff --git a/src/buffer.c b/src/buffer.c
index cdde404725f..e3c3c4c4524 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -39,6 +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#include "lisp.h" 43#include "lisp.h"
43#include "intervals.h" 44#include "intervals.h"
44#include "window.h" 45#include "window.h"
@@ -197,9 +198,9 @@ nsberror (spec)
197} 198}
198 199
199DEFUN ("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,
200 "Return non-nil if OBJECT is a buffer which has not been killed.\n\ 201 /* Return non-nil if OBJECT is a buffer which has not been killed.
201Value 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. */
202 (object) 203 (object))
203 Lisp_Object object; 204 Lisp_Object object;
204{ 205{
205 return ((BUFFERP (object) && ! NILP (XBUFFER (object)->name)) 206 return ((BUFFERP (object) && ! NILP (XBUFFER (object)->name))
@@ -207,9 +208,9 @@ Value is nil if OBJECT is not a buffer or if it has been killed.")
207} 208}
208 209
209DEFUN ("buffer-list", Fbuffer_list, Sbuffer_list, 0, 1, 0, 210DEFUN ("buffer-list", Fbuffer_list, Sbuffer_list, 0, 1, 0,
210 "Return a list of all existing live buffers.\n\ 211 /* Return a list of all existing live buffers.
211If 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. */
212 (frame) 213 (frame))
213 Lisp_Object frame; 214 Lisp_Object frame;
214{ 215{
215 Lisp_Object framelist, general; 216 Lisp_Object framelist, general;
@@ -258,10 +259,10 @@ assoc_ignore_text_properties (key, list)
258} 259}
259 260
260DEFUN ("get-buffer", Fget_buffer, Sget_buffer, 1, 1, 0, 261DEFUN ("get-buffer", Fget_buffer, Sget_buffer, 1, 1, 0,
261 "Return the buffer named NAME (a string).\n\ 262 /* Return the buffer named NAME (a string).
262If there is no live buffer named NAME, return nil.\n\ 263If there is no live buffer named NAME, return nil.
263NAME 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. */
264 (name) 265 (name))
265 register Lisp_Object name; 266 register Lisp_Object name;
266{ 267{
267 if (BUFFERP (name)) 268 if (BUFFERP (name))
@@ -272,11 +273,11 @@ NAME may also be a buffer; if so, the value is that buffer.")
272} 273}
273 274
274DEFUN ("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,
275 "Return the buffer visiting file FILENAME (a string).\n\ 276 /* Return the buffer visiting file FILENAME (a string).
276The buffer's `buffer-file-name' must match exactly the expansion of FILENAME.\n\ 277The buffer's `buffer-file-name' must match exactly the expansion of FILENAME.
277If there is no such live buffer, return nil.\n\ 278If there is no such live buffer, return nil.
278See also `find-buffer-visiting'.") 279See also `find-buffer-visiting'. */
279 (filename) 280 (filename))
280 register Lisp_Object filename; 281 register Lisp_Object filename;
281{ 282{
282 register Lisp_Object tail, buf, tem; 283 register Lisp_Object tail, buf, tem;
@@ -325,12 +326,12 @@ get_truename_buffer (filename)
325int buffer_count; 326int buffer_count;
326 327
327DEFUN ("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,
328 "Return the buffer named NAME, or create such a buffer and return it.\n\ 329 /* Return the buffer named NAME, or create such a buffer and return it.
329A new buffer is created if there is no live buffer named NAME.\n\ 330A new buffer is created if there is no live buffer named NAME.
330If NAME starts with a space, the new buffer does not keep undo information.\n\ 331If NAME starts with a space, the new buffer does not keep undo information.
331If NAME is a buffer instead of a string, then it is the value returned.\n\ 332If NAME is a buffer instead of a string, then it is the value returned.
332The value is never nil.") 333The value is never nil. */
333 (name) 334 (name))
334 register Lisp_Object name; 335 register Lisp_Object name;
335{ 336{
336 register Lisp_Object buf; 337 register Lisp_Object buf;
@@ -505,13 +506,13 @@ clone_per_buffer_values (from, to)
505DEFUN ("make-indirect-buffer", Fmake_indirect_buffer, Smake_indirect_buffer, 506DEFUN ("make-indirect-buffer", Fmake_indirect_buffer, Smake_indirect_buffer,
506 2, 3, 507 2, 3,
507 "bMake indirect buffer (to buffer): \nBName of indirect buffer: ", 508 "bMake indirect buffer (to buffer): \nBName of indirect buffer: ",
508 "Create and return an indirect buffer for buffer BASE-BUFFER, named NAME.\n\ 509 /* Create and return an indirect buffer for buffer BASE-BUFFER, named NAME.
509BASE-BUFFER should be an existing buffer (or buffer name).\n\ 510BASE-BUFFER should be an existing buffer (or buffer name).
510NAME should be a string which is not the name of an existing buffer.\n\ 511NAME should be a string which is not the name of an existing buffer.
511Optional argument CLONE non-nil means preserve BASE-BUFFER's state,\n\ 512Optional argument CLONE non-nil means preserve BASE-BUFFER's state,
512such as major and minor modes, in the indirect buffer.\n\ 513such as major and minor modes, in the indirect buffer.
513CLONE 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. */
514 (base_buffer, name, clone) 515 (base_buffer, name, clone))
515 Lisp_Object base_buffer, name, clone; 516 Lisp_Object base_buffer, name, clone;
516{ 517{
517 Lisp_Object buf; 518 Lisp_Object buf;
@@ -724,14 +725,14 @@ reset_buffer_local_variables (b, permanent_too)
724 725
725DEFUN ("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,
726 1, 2, 0, 727 1, 2, 0,
727 "Return a string that is the name of no existing buffer based on NAME.\n\ 728 /* Return a string that is the name of no existing buffer based on NAME.
728If there is no live buffer named NAME, then return NAME.\n\ 729If there is no live buffer named NAME, then return NAME.
729Otherwise modify name by appending `<NUMBER>', incrementing NUMBER\n\ 730Otherwise modify name by appending `<NUMBER>', incrementing NUMBER
730until an unused name is found, and then return that name.\n\ 731until an unused name is found, and then return that name.
731Optional second argument IGNORE specifies a name that is okay to use\n\ 732Optional second argument IGNORE specifies a name that is okay to use
732\(if it is in the sequence to be tried)\n\ 733\(if it is in the sequence to be tried)
733even if a buffer with that name exists.") 734even if a buffer with that name exists. */
734 (name, ignore) 735 (name, ignore))
735 register Lisp_Object name, ignore; 736 register Lisp_Object name, ignore;
736{ 737{
737 register Lisp_Object gentemp, tem; 738 register Lisp_Object gentemp, tem;
@@ -760,9 +761,9 @@ even if a buffer with that name exists.")
760 761
761 762
762DEFUN ("buffer-name", Fbuffer_name, Sbuffer_name, 0, 1, 0, 763DEFUN ("buffer-name", Fbuffer_name, Sbuffer_name, 0, 1, 0,
763 "Return the name of BUFFER, as a string.\n\ 764 /* Return the name of BUFFER, as a string.
764With 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. */
765 (buffer) 766 (buffer))
766 register Lisp_Object buffer; 767 register Lisp_Object buffer;
767{ 768{
768 if (NILP (buffer)) 769 if (NILP (buffer))
@@ -772,9 +773,9 @@ With no argument or nil as argument, return the name of the current buffer.")
772} 773}
773 774
774DEFUN ("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,
775 "Return name of file BUFFER is visiting, or nil if none.\n\ 776 /* Return name of file BUFFER is visiting, or nil if none.
776No argument or nil as argument means use the current buffer.") 777No argument or nil as argument means use the current buffer. */
777 (buffer) 778 (buffer))
778 register Lisp_Object buffer; 779 register Lisp_Object buffer;
779{ 780{
780 if (NILP (buffer)) 781 if (NILP (buffer))
@@ -785,9 +786,9 @@ No argument or nil as argument means use the current buffer.")
785 786
786DEFUN ("buffer-base-buffer", Fbuffer_base_buffer, Sbuffer_base_buffer, 787DEFUN ("buffer-base-buffer", Fbuffer_base_buffer, Sbuffer_base_buffer,
787 0, 1, 0, 788 0, 1, 0,
788 "Return the base buffer of indirect buffer BUFFER.\n\ 789 /* Return the base buffer of indirect buffer BUFFER.
789If BUFFER is not indirect, return nil.") 790If BUFFER is not indirect, return nil. */
790 (buffer) 791 (buffer))
791 register Lisp_Object buffer; 792 register Lisp_Object buffer;
792{ 793{
793 struct buffer *base; 794 struct buffer *base;
@@ -809,12 +810,12 @@ If BUFFER is not indirect, return nil.")
809 810
810DEFUN ("buffer-local-variables", Fbuffer_local_variables, 811DEFUN ("buffer-local-variables", Fbuffer_local_variables,
811 Sbuffer_local_variables, 0, 1, 0, 812 Sbuffer_local_variables, 0, 1, 0,
812 "Return an alist of variables that are buffer-local in BUFFER.\n\ 813 /* Return an alist of variables that are buffer-local in BUFFER.
813Most elements look like (SYMBOL . VALUE), describing one variable.\n\ 814Most elements look like (SYMBOL . VALUE), describing one variable.
814For a symbol that is locally unbound, just the symbol appears in the value.\n\ 815For a symbol that is locally unbound, just the symbol appears in the value.
815Note that storing new VALUEs in these elements doesn't change the variables.\n\ 816Note that storing new VALUEs in these elements doesn't change the variables.
816No argument or nil as argument means use current buffer as BUFFER.") 817No argument or nil as argument means use current buffer as BUFFER. */
817 (buffer) 818 (buffer))
818 register Lisp_Object buffer; 819 register Lisp_Object buffer;
819{ 820{
820 register struct buffer *buf; 821 register struct buffer *buf;
@@ -881,9 +882,9 @@ No argument or nil as argument means use current buffer as BUFFER.")
881 882
882DEFUN ("buffer-modified-p", Fbuffer_modified_p, Sbuffer_modified_p, 883DEFUN ("buffer-modified-p", Fbuffer_modified_p, Sbuffer_modified_p,
883 0, 1, 0, 884 0, 1, 0,
884 "Return t if BUFFER was modified since its file was last read or saved.\n\ 885 /* Return t if BUFFER was modified since its file was last read or saved.
885No argument or nil as argument means use current buffer as BUFFER.") 886No argument or nil as argument means use current buffer as BUFFER. */
886 (buffer) 887 (buffer))
887 register Lisp_Object buffer; 888 register Lisp_Object buffer;
888{ 889{
889 register struct buffer *buf; 890 register struct buffer *buf;
@@ -900,9 +901,9 @@ No argument or nil as argument means use current buffer as BUFFER.")
900 901
901DEFUN ("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,
902 1, 1, 0, 903 1, 1, 0,
903 "Mark current buffer as modified or unmodified according to FLAG.\n\ 904 /* Mark current buffer as modified or unmodified according to FLAG.
904A non-nil FLAG means mark the buffer modified.") 905A non-nil FLAG means mark the buffer modified. */
905 (flag) 906 (flag))
906 register Lisp_Object flag; 907 register Lisp_Object flag;
907{ 908{
908 register int already; 909 register int already;
@@ -951,10 +952,10 @@ A non-nil FLAG means mark the buffer modified.")
951 952
952DEFUN ("restore-buffer-modified-p", Frestore_buffer_modified_p, 953DEFUN ("restore-buffer-modified-p", Frestore_buffer_modified_p,
953 Srestore_buffer_modified_p, 1, 1, 0, 954 Srestore_buffer_modified_p, 1, 1, 0,
954 "Like `set-buffer-modified-p', with a differences concerning redisplay.\n\ 955 /* Like `set-buffer-modified-p', with a differences concerning redisplay.
955It is not ensured that mode lines will be updated to show the modified\n\ 956It is not ensured that mode lines will be updated to show the modified
956state of the current buffer. Use with care.") 957state of the current buffer. Use with care. */
957 (flag) 958 (flag))
958 Lisp_Object flag; 959 Lisp_Object flag;
959{ 960{
960#ifdef CLASH_DETECTION 961#ifdef CLASH_DETECTION
@@ -981,11 +982,11 @@ state of the current buffer. Use with care.")
981 982
982DEFUN ("buffer-modified-tick", Fbuffer_modified_tick, Sbuffer_modified_tick, 983DEFUN ("buffer-modified-tick", Fbuffer_modified_tick, Sbuffer_modified_tick,
983 0, 1, 0, 984 0, 1, 0,
984 "Return BUFFER's tick counter, incremented for each change in text.\n\ 985 /* Return BUFFER's tick counter, incremented for each change in text.
985Each buffer has a tick counter which is incremented each time the text in\n\ 986Each buffer has a tick counter which is incremented each time the text in
986that buffer is changed. It wraps around occasionally.\n\ 987that buffer is changed. It wraps around occasionally.
987No argument or nil as argument means use current buffer as BUFFER.") 988No argument or nil as argument means use current buffer as BUFFER. */
988 (buffer) 989 (buffer))
989 register Lisp_Object buffer; 990 register Lisp_Object buffer;
990{ 991{
991 register struct buffer *buf; 992 register struct buffer *buf;
@@ -1002,15 +1003,15 @@ No argument or nil as argument means use current buffer as BUFFER.")
1002 1003
1003DEFUN ("rename-buffer", Frename_buffer, Srename_buffer, 1, 2, 1004DEFUN ("rename-buffer", Frename_buffer, Srename_buffer, 1, 2,
1004 "sRename buffer (to new name): \nP", 1005 "sRename buffer (to new name): \nP",
1005 "Change current buffer's name to NEWNAME (a string).\n\ 1006 /* Change current buffer's name to NEWNAME (a string).
1006If second arg UNIQUE is nil or omitted, it is an error if a\n\ 1007If second arg UNIQUE is nil or omitted, it is an error if a
1007buffer named NEWNAME already exists.\n\ 1008buffer named NEWNAME already exists.
1008If UNIQUE is non-nil, come up with a new name using\n\ 1009If UNIQUE is non-nil, come up with a new name using
1009`generate-new-buffer-name'.\n\ 1010`generate-new-buffer-name'.
1010Interactively, you can set UNIQUE with a prefix argument.\n\ 1011Interactively, you can set UNIQUE with a prefix argument.
1011We return the name we actually gave the buffer.\n\ 1012We return the name we actually gave the buffer.
1012This does not change the name of the visited file (if any).") 1013This does not change the name of the visited file (if any). */
1013 (newname, unique) 1014 (newname, unique))
1014 register Lisp_Object newname, unique; 1015 register Lisp_Object newname, unique;
1015{ 1016{
1016 register Lisp_Object tem, buf; 1017 register Lisp_Object tem, buf;
@@ -1051,14 +1052,14 @@ This does not change the name of the visited file (if any).")
1051} 1052}
1052 1053
1053DEFUN ("other-buffer", Fother_buffer, Sother_buffer, 0, 3, 0, 1054DEFUN ("other-buffer", Fother_buffer, Sother_buffer, 0, 3, 0,
1054 "Return most recently selected buffer other than BUFFER.\n\ 1055 /* Return most recently selected buffer other than BUFFER.
1055Buffers not visible in windows are preferred to visible buffers,\n\ 1056Buffers not visible in windows are preferred to visible buffers,
1056unless optional second argument VISIBLE-OK is non-nil.\n\ 1057unless optional second argument VISIBLE-OK is non-nil.
1057If the optional third argument FRAME is non-nil, use that frame's\n\ 1058If the optional third argument FRAME is non-nil, use that frame's
1058buffer list instead of the selected frame's buffer list.\n\ 1059buffer list instead of the selected frame's buffer list.
1059If no other buffer exists, the buffer `*scratch*' is returned.\n\ 1060If no other buffer exists, the buffer `*scratch*' is returned.
1060If BUFFER is omitted or nil, some interesting buffer is returned.") 1061If BUFFER is omitted or nil, some interesting buffer is returned. */
1061 (buffer, visible_ok, frame) 1062 (buffer, visible_ok, frame))
1062 register Lisp_Object buffer, visible_ok, frame; 1063 register Lisp_Object buffer, visible_ok, frame;
1063{ 1064{
1064 Lisp_Object Fset_buffer_major_mode (); 1065 Lisp_Object Fset_buffer_major_mode ();
@@ -1122,9 +1123,9 @@ If BUFFER is omitted or nil, some interesting buffer is returned.")
1122 1123
1123DEFUN ("buffer-disable-undo", Fbuffer_disable_undo, Sbuffer_disable_undo, 1124DEFUN ("buffer-disable-undo", Fbuffer_disable_undo, Sbuffer_disable_undo,
1124 0, 1, "", 1125 0, 1, "",
1125 "Make BUFFER stop keeping undo information.\n\ 1126 /* Make BUFFER stop keeping undo information.
1126No 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. */
1127 (buffer) 1128 (buffer))
1128 register Lisp_Object buffer; 1129 register Lisp_Object buffer;
1129{ 1130{
1130 Lisp_Object real_buffer; 1131 Lisp_Object real_buffer;
@@ -1145,9 +1146,9 @@ No argument or nil as argument means do this for the current buffer.")
1145 1146
1146DEFUN ("buffer-enable-undo", Fbuffer_enable_undo, Sbuffer_enable_undo, 1147DEFUN ("buffer-enable-undo", Fbuffer_enable_undo, Sbuffer_enable_undo,
1147 0, 1, "", 1148 0, 1, "",
1148 "Start keeping undo information for buffer BUFFER.\n\ 1149 /* Start keeping undo information for buffer BUFFER.
1149No 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. */
1150 (buffer) 1151 (buffer))
1151 register Lisp_Object buffer; 1152 register Lisp_Object buffer;
1152{ 1153{
1153 Lisp_Object real_buffer; 1154 Lisp_Object real_buffer;
@@ -1174,17 +1175,20 @@ The buffer being killed will be current while the hook is running.\n\
1174See `kill-buffer'." 1175See `kill-buffer'."
1175 */ 1176 */
1176DEFUN ("kill-buffer", Fkill_buffer, Skill_buffer, 1, 1, "bKill buffer: ", 1177DEFUN ("kill-buffer", Fkill_buffer, Skill_buffer, 1, 1, "bKill buffer: ",
1177 "Kill the buffer BUFFER.\n\ 1178 /* Kill the buffer BUFFER.
1178The argument may be a buffer or may be the name of a buffer.\n\ 1179The argument may be a buffer or may be the name of a buffer.
1179An argument of nil means kill the current buffer.\n\n\ 1180An argument of nil means kill the current buffer.
1180Value is t if the buffer is actually killed, nil if user says no.\n\n\ 1181
1181The value of `kill-buffer-hook' (which may be local to that buffer),\n\ 1182Value is t if the buffer is actually killed, nil if user says no.
1182if not void, is a list of functions to be called, with no arguments,\n\ 1183
1183before the buffer is actually killed. The buffer to be killed is current\n\ 1184The value of `kill-buffer-hook' (which may be local to that buffer),
1184when the hook functions are called.\n\n\ 1185if not void, is a list of functions to be called, with no arguments,
1185Any processes that have this buffer as the `process-buffer' are killed\n\ 1186before the buffer is actually killed. The buffer to be killed is current
1186with SIGHUP.") 1187when the hook functions are called.
1187 (buffer) 1188
1189Any processes that have this buffer as the `process-buffer' are killed
1190with SIGHUP. */
1191 (buffer))
1188 Lisp_Object buffer; 1192 Lisp_Object buffer;
1189{ 1193{
1190 Lisp_Object buf; 1194 Lisp_Object buf;
@@ -1445,10 +1449,10 @@ record_buffer (buf)
1445} 1449}
1446 1450
1447DEFUN ("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,
1448 "Set an appropriate major mode for BUFFER, according to `default-major-mode'.\n\ 1452 /* Set an appropriate major mode for BUFFER, according to `default-major-mode'.
1449Use this function before selecting the buffer, since it may need to inspect\n\ 1453Use this function before selecting the buffer, since it may need to inspect
1450the current buffer's major mode.") 1454the current buffer's major mode. */
1451 (buffer) 1455 (buffer))
1452 Lisp_Object buffer; 1456 Lisp_Object buffer;
1453{ 1457{
1454 int count; 1458 int count;
@@ -1523,15 +1527,15 @@ switch_to_buffer_1 (buffer, norecord)
1523} 1527}
1524 1528
1525DEFUN ("switch-to-buffer", Fswitch_to_buffer, Sswitch_to_buffer, 1, 2, "BSwitch to buffer: ", 1529DEFUN ("switch-to-buffer", Fswitch_to_buffer, Sswitch_to_buffer, 1, 2, "BSwitch to buffer: ",
1526 "Select buffer BUFFER in the current window.\n\ 1530 /* Select buffer BUFFER in the current window.
1527BUFFER may be a buffer or a buffer name.\n\ 1531BUFFER may be a buffer or a buffer name.
1528Optional second arg NORECORD non-nil means\n\ 1532Optional second arg NORECORD non-nil means
1529do not put this buffer at the front of the list of recently selected ones.\n\ 1533do not put this buffer at the front of the list of recently selected ones.
1530\n\ 1534
1531WARNING: This is NOT the way to work on another buffer temporarily\n\ 1535WARNING: This is NOT the way to work on another buffer temporarily
1532within a Lisp program! Use `set-buffer' instead. That avoids messing with\n\ 1536within a Lisp program! Use `set-buffer' instead. That avoids messing with
1533the window-buffer correspondences.") 1537the window-buffer correspondences. */
1534 (buffer, norecord) 1538 (buffer, norecord))
1535 Lisp_Object buffer, norecord; 1539 Lisp_Object buffer, norecord;
1536{ 1540{
1537 char *err; 1541 char *err;
@@ -1543,17 +1547,17 @@ the window-buffer correspondences.")
1543} 1547}
1544 1548
1545DEFUN ("pop-to-buffer", Fpop_to_buffer, Spop_to_buffer, 1, 3, 0, 1549DEFUN ("pop-to-buffer", Fpop_to_buffer, Spop_to_buffer, 1, 3, 0,
1546 "Select buffer BUFFER in some window, preferably a different one.\n\ 1550 /* Select buffer BUFFER in some window, preferably a different one.
1547If BUFFER is nil, then some other buffer is chosen.\n\ 1551If BUFFER is nil, then some other buffer is chosen.
1548If `pop-up-windows' is non-nil, windows can be split to do this.\n\ 1552If `pop-up-windows' is non-nil, windows can be split to do this.
1549If optional second arg OTHER-WINDOW is non-nil, insist on finding another\n\ 1553If optional second arg OTHER-WINDOW is non-nil, insist on finding another
1550window even if BUFFER is already visible in the selected window.\n\ 1554window even if BUFFER is already visible in the selected window.
1551This uses the function `display-buffer' as a subroutine; see the documentation\n\ 1555This uses the function `display-buffer' as a subroutine; see the documentation
1552of `display-buffer' for additional customization information.\n\ 1556of `display-buffer' for additional customization information.
1553\n\ 1557
1554Optional third arg NORECORD non-nil means\n\ 1558Optional third arg NORECORD non-nil means
1555do not put this buffer at the front of the list of recently selected ones.") 1559do not put this buffer at the front of the list of recently selected ones. */
1556 (buffer, other_window, norecord) 1560 (buffer, other_window, norecord))
1557 Lisp_Object buffer, other_window, norecord; 1561 Lisp_Object buffer, other_window, norecord;
1558{ 1562{
1559 register Lisp_Object buf; 1563 register Lisp_Object buf;
@@ -1577,8 +1581,8 @@ do not put this buffer at the front of the list of recently selected ones.")
1577} 1581}
1578 1582
1579DEFUN ("current-buffer", Fcurrent_buffer, Scurrent_buffer, 0, 0, 0, 1583DEFUN ("current-buffer", Fcurrent_buffer, Scurrent_buffer, 0, 0, 0,
1580 "Return the current buffer as a Lisp object.") 1584 /* Return the current buffer as a Lisp object. */
1581 () 1585 ())
1582{ 1586{
1583 register Lisp_Object buf; 1587 register Lisp_Object buf;
1584 XSETBUFFER (buf, current_buffer); 1588 XSETBUFFER (buf, current_buffer);
@@ -1773,13 +1777,13 @@ set_buffer_temp (b)
1773} 1777}
1774 1778
1775DEFUN ("set-buffer", Fset_buffer, Sset_buffer, 1, 1, 0, 1779DEFUN ("set-buffer", Fset_buffer, Sset_buffer, 1, 1, 0,
1776 "Make the buffer BUFFER current for editing operations.\n\ 1780 /* Make the buffer BUFFER current for editing operations.
1777BUFFER may be a buffer or the name of an existing buffer.\n\ 1781BUFFER may be a buffer or the name of an existing buffer.
1778See also `save-excursion' when you want to make a buffer current temporarily.\n\ 1782See also `save-excursion' when you want to make a buffer current temporarily.
1779This function does not display the buffer, so its effect ends\n\ 1783This function does not display the buffer, so its effect ends
1780when the current command terminates.\n\ 1784when the current command terminates.
1781Use `switch-to-buffer' or `pop-to-buffer' to switch buffers permanently.") 1785Use `switch-to-buffer' or `pop-to-buffer' to switch buffers permanently. */
1782 (buffer) 1786 (buffer))
1783 register Lisp_Object buffer; 1787 register Lisp_Object buffer;
1784{ 1788{
1785 register Lisp_Object buf; 1789 register Lisp_Object buf;
@@ -1805,8 +1809,8 @@ set_buffer_if_live (buffer)
1805 1809
1806DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only, 1810DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only,
1807 Sbarf_if_buffer_read_only, 0, 0, 0, 1811 Sbarf_if_buffer_read_only, 0, 0, 0,
1808 "Signal a `buffer-read-only' error if the current buffer is read-only.") 1812 /* Signal a `buffer-read-only' error if the current buffer is read-only. */
1809 () 1813 ())
1810{ 1814{
1811 if (!NILP (current_buffer->read_only) 1815 if (!NILP (current_buffer->read_only)
1812 && NILP (Vinhibit_read_only)) 1816 && NILP (Vinhibit_read_only))
@@ -1815,13 +1819,13 @@ DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only,
1815} 1819}
1816 1820
1817DEFUN ("bury-buffer", Fbury_buffer, Sbury_buffer, 0, 1, "", 1821DEFUN ("bury-buffer", Fbury_buffer, Sbury_buffer, 0, 1, "",
1818 "Put BUFFER at the end of the list of all buffers.\n\ 1822 /* Put BUFFER at the end of the list of all buffers.
1819There it is the least likely candidate for `other-buffer' to return;\n\ 1823There it is the least likely candidate for `other-buffer' to return;
1820thus, the least likely buffer for \\[switch-to-buffer] to select by default.\n\ 1824thus, the least likely buffer for \\[switch-to-buffer] to select by default.
1821If BUFFER is nil or omitted, bury the current buffer.\n\ 1825If BUFFER is nil or omitted, bury the current buffer.
1822Also, if BUFFER is nil or omitted, remove the current buffer from the\n\ 1826Also, if BUFFER is nil or omitted, remove the current buffer from the
1823selected window if it is displayed there.") 1827selected window if it is displayed there. */
1824 (buffer) 1828 (buffer))
1825 register Lisp_Object buffer; 1829 register Lisp_Object buffer;
1826{ 1830{
1827 /* Figure out what buffer we're going to bury. */ 1831 /* Figure out what buffer we're going to bury. */
@@ -1869,10 +1873,10 @@ selected window if it is displayed there.")
1869} 1873}
1870 1874
1871DEFUN ("erase-buffer", Ferase_buffer, Serase_buffer, 0, 0, "*", 1875DEFUN ("erase-buffer", Ferase_buffer, Serase_buffer, 0, 0, "*",
1872 "Delete the entire contents of the current buffer.\n\ 1876 /* Delete the entire contents of the current buffer.
1873Any narrowing restriction in effect (see `narrow-to-region') is removed,\n\ 1877Any narrowing restriction in effect (see `narrow-to-region') is removed,
1874so the buffer is truly empty after this.") 1878so the buffer is truly empty after this. */
1875 () 1879 ())
1876{ 1880{
1877 Fwiden (); 1881 Fwiden ();
1878 1882
@@ -1943,12 +1947,12 @@ advance_to_char_boundary (byte_pos)
1943 1947
1944DEFUN ("set-buffer-multibyte", Fset_buffer_multibyte, Sset_buffer_multibyte, 1948DEFUN ("set-buffer-multibyte", Fset_buffer_multibyte, Sset_buffer_multibyte,
1945 1, 1, 0, 1949 1, 1, 0,
1946 "Set the multibyte flag of the current buffer to FLAG.\n\ 1950 /* Set the multibyte flag of the current buffer to FLAG.
1947If FLAG is t, this makes the buffer a multibyte buffer.\n\ 1951If FLAG is t, this makes the buffer a multibyte buffer.
1948If FLAG is nil, this makes the buffer a single-byte buffer.\n\ 1952If FLAG is nil, this makes the buffer a single-byte buffer.
1949The buffer contents remain unchanged as a sequence of bytes\n\ 1953The buffer contents remain unchanged as a sequence of bytes
1950but the contents viewed as characters do change.") 1954but the contents viewed as characters do change. */
1951 (flag) 1955 (flag))
1952 Lisp_Object flag; 1956 Lisp_Object flag;
1953{ 1957{
1954 Lisp_Object tail, markers; 1958 Lisp_Object tail, markers;
@@ -2196,21 +2200,22 @@ but the contents viewed as characters do change.")
2196 2200
2197DEFUN ("kill-all-local-variables", Fkill_all_local_variables, Skill_all_local_variables, 2201DEFUN ("kill-all-local-variables", Fkill_all_local_variables, Skill_all_local_variables,
2198 0, 0, 0, 2202 0, 0, 0,
2199 "Switch to Fundamental mode by killing current buffer's local variables.\n\ 2203 /* Switch to Fundamental mode by killing current buffer's local variables.
2200Most local variable bindings are eliminated so that the default values\n\ 2204Most local variable bindings are eliminated so that the default values
2201become effective once more. Also, the syntax table is set from\n\ 2205become effective once more. Also, the syntax table is set from
2202`standard-syntax-table', the local keymap is set to nil,\n\ 2206`standard-syntax-table', the local keymap is set to nil,
2203and the abbrev table from `fundamental-mode-abbrev-table'.\n\ 2207and the abbrev table from `fundamental-mode-abbrev-table'.
2204This function also forces redisplay of the mode line.\n\ 2208This function also forces redisplay of the mode line.
2205\n\ 2209
2206Every function to select a new major mode starts by\n\ 2210Every function to select a new major mode starts by
2207calling this function.\n\n\ 2211calling this function.
2208As a special exception, local variables whose names have\n\ 2212
2209a non-nil `permanent-local' property are not eliminated by this function.\n\ 2213As a special exception, local variables whose names have
2210\n\ 2214a non-nil `permanent-local' property are not eliminated by this function.
2211The first thing this function does is run\n\ 2215
2212the normal hook `change-major-mode-hook'.") 2216The first thing this function does is run
2213 () 2217the normal hook `change-major-mode-hook'. */
2218 ())
2214{ 2219{
2215 register Lisp_Object alist, sym, tem; 2220 register Lisp_Object alist, sym, tem;
2216 Lisp_Object oalist; 2221 Lisp_Object oalist;
@@ -3332,22 +3337,22 @@ fix_overlays_before (bp, prev, pos)
3332} 3337}
3333 3338
3334DEFUN ("overlayp", Foverlayp, Soverlayp, 1, 1, 0, 3339DEFUN ("overlayp", Foverlayp, Soverlayp, 1, 1, 0,
3335 "Return t if OBJECT is an overlay.") 3340 /* Return t if OBJECT is an overlay. */
3336 (object) 3341 (object))
3337 Lisp_Object object; 3342 Lisp_Object object;
3338{ 3343{
3339 return (OVERLAYP (object) ? Qt : Qnil); 3344 return (OVERLAYP (object) ? Qt : Qnil);
3340} 3345}
3341 3346
3342DEFUN ("make-overlay", Fmake_overlay, Smake_overlay, 2, 5, 0, 3347DEFUN ("make-overlay", Fmake_overlay, Smake_overlay, 2, 5, 0,
3343 "Create a new overlay with range BEG to END in BUFFER.\n\ 3348 /* Create a new overlay with range BEG to END in BUFFER.
3344If omitted, BUFFER defaults to the current buffer.\n\ 3349If omitted, BUFFER defaults to the current buffer.
3345BEG and END may be integers or markers.\n\ 3350BEG and END may be integers or markers.
3346The fourth arg FRONT-ADVANCE, if non-nil, makes the\n\ 3351The fourth arg FRONT-ADVANCE, if non-nil, makes the
3347front delimiter advance when text is inserted there.\n\ 3352front delimiter advance when text is inserted there.
3348The fifth arg REAR-ADVANCE, if non-nil, makes the\n\ 3353The fifth arg REAR-ADVANCE, if non-nil, makes the
3349rear delimiter advance when text is inserted there.") 3354rear delimiter advance when text is inserted there. */
3350 (beg, end, buffer, front_advance, rear_advance) 3355 (beg, end, buffer, front_advance, rear_advance))
3351 Lisp_Object beg, end, buffer; 3356 Lisp_Object beg, end, buffer;
3352 Lisp_Object front_advance, rear_advance; 3357 Lisp_Object front_advance, rear_advance;
3353{ 3358{
@@ -3433,15 +3438,15 @@ modify_overlay (buf, start, end)
3433 ++BUF_OVERLAY_MODIFF (buf); 3438 ++BUF_OVERLAY_MODIFF (buf);
3434} 3439}
3435 3440
3436 3441
3437Lisp_Object Fdelete_overlay (); 3442Lisp_Object Fdelete_overlay ();
3438 3443
3439DEFUN ("move-overlay", Fmove_overlay, Smove_overlay, 3, 4, 0, 3444DEFUN ("move-overlay", Fmove_overlay, Smove_overlay, 3, 4, 0,
3440 "Set the endpoints of OVERLAY to BEG and END in BUFFER.\n\ 3445 /* Set the endpoints of OVERLAY to BEG and END in BUFFER.
3441If BUFFER is omitted, leave OVERLAY in the same buffer it inhabits now.\n\ 3446If BUFFER is omitted, leave OVERLAY in the same buffer it inhabits now.
3442If BUFFER is omitted, and OVERLAY is in no buffer, put it in the current\n\ 3447If BUFFER is omitted, and OVERLAY is in no buffer, put it in the current
3443buffer.") 3448buffer. */
3444 (overlay, beg, end, buffer) 3449 (overlay, beg, end, buffer))
3445 Lisp_Object overlay, beg, end, buffer; 3450 Lisp_Object overlay, beg, end, buffer;
3446{ 3451{
3447 struct buffer *b, *ob; 3452 struct buffer *b, *ob;
@@ -3541,8 +3546,8 @@ buffer.")
3541} 3546}
3542 3547
3543DEFUN ("delete-overlay", Fdelete_overlay, Sdelete_overlay, 1, 1, 0, 3548DEFUN ("delete-overlay", Fdelete_overlay, Sdelete_overlay, 1, 1, 0,
3544 "Delete the overlay OVERLAY from its buffer.") 3549 /* Delete the overlay OVERLAY from its buffer. */
3545 (overlay) 3550 (overlay))
3546 Lisp_Object overlay; 3551 Lisp_Object overlay;
3547{ 3552{
3548 Lisp_Object buffer; 3553 Lisp_Object buffer;
@@ -3581,8 +3586,8 @@ DEFUN ("delete-overlay", Fdelete_overlay, Sdelete_overlay, 1, 1, 0,
3581/* Overlay dissection functions. */ 3586/* Overlay dissection functions. */
3582 3587
3583DEFUN ("overlay-start", Foverlay_start, Soverlay_start, 1, 1, 0, 3588DEFUN ("overlay-start", Foverlay_start, Soverlay_start, 1, 1, 0,
3584 "Return the position at which OVERLAY starts.") 3589 /* Return the position at which OVERLAY starts. */
3585 (overlay) 3590 (overlay))
3586 Lisp_Object overlay; 3591 Lisp_Object overlay;
3587{ 3592{
3588 CHECK_OVERLAY (overlay, 0); 3593 CHECK_OVERLAY (overlay, 0);
@@ -3591,8 +3596,8 @@ DEFUN ("overlay-start", Foverlay_start, Soverlay_start, 1, 1, 0,
3591} 3596}
3592 3597
3593DEFUN ("overlay-end", Foverlay_end, Soverlay_end, 1, 1, 0, 3598DEFUN ("overlay-end", Foverlay_end, Soverlay_end, 1, 1, 0,
3594 "Return the position at which OVERLAY ends.") 3599 /* Return the position at which OVERLAY ends. */
3595 (overlay) 3600 (overlay))
3596 Lisp_Object overlay; 3601 Lisp_Object overlay;
3597{ 3602{
3598 CHECK_OVERLAY (overlay, 0); 3603 CHECK_OVERLAY (overlay, 0);
@@ -3601,8 +3606,8 @@ DEFUN ("overlay-end", Foverlay_end, Soverlay_end, 1, 1, 0,
3601} 3606}
3602 3607
3603DEFUN ("overlay-buffer", Foverlay_buffer, Soverlay_buffer, 1, 1, 0, 3608DEFUN ("overlay-buffer", Foverlay_buffer, Soverlay_buffer, 1, 1, 0,
3604 "Return the buffer OVERLAY belongs to.") 3609 /* Return the buffer OVERLAY belongs to. */
3605 (overlay) 3610 (overlay))
3606 Lisp_Object overlay; 3611 Lisp_Object overlay;
3607{ 3612{
3608 CHECK_OVERLAY (overlay, 0); 3613 CHECK_OVERLAY (overlay, 0);
@@ -3611,10 +3616,10 @@ DEFUN ("overlay-buffer", Foverlay_buffer, Soverlay_buffer, 1, 1, 0,
3611} 3616}
3612 3617
3613DEFUN ("overlay-properties", Foverlay_properties, Soverlay_properties, 1, 1, 0, 3618DEFUN ("overlay-properties", Foverlay_properties, Soverlay_properties, 1, 1, 0,
3614 "Return a list of the properties on OVERLAY.\n\ 3619 /* Return a list of the properties on OVERLAY.
3615This is a copy of OVERLAY's plist; modifying its conses has no effect on\n\ 3620This is a copy of OVERLAY's plist; modifying its conses has no effect on
3616OVERLAY.") 3621OVERLAY. */
3617 (overlay) 3622 (overlay))
3618 Lisp_Object overlay; 3623 Lisp_Object overlay;
3619{ 3624{
3620 CHECK_OVERLAY (overlay, 0); 3625 CHECK_OVERLAY (overlay, 0);
@@ -3624,8 +3629,8 @@ OVERLAY.")
3624 3629
3625 3630
3626DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0, 3631DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0,
3627 "Return a list of the overlays that contain position POS.") 3632 /* Return a list of the overlays that contain position POS. */
3628 (pos) 3633 (pos))
3629 Lisp_Object pos; 3634 Lisp_Object pos;
3630{ 3635{
3631 int noverlays; 3636 int noverlays;
@@ -3652,12 +3657,12 @@ DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0,
3652} 3657}
3653 3658
3654DEFUN ("overlays-in", Foverlays_in, Soverlays_in, 2, 2, 0, 3659DEFUN ("overlays-in", Foverlays_in, Soverlays_in, 2, 2, 0,
3655 "Return a list of the overlays that overlap the region BEG ... END.\n\ 3660 /* Return a list of the overlays that overlap the region BEG ... END.
3656Overlap means that at least one character is contained within the overlay\n\ 3661Overlap means that at least one character is contained within the overlay
3657and also contained within the specified region.\n\ 3662and also contained within the specified region.
3658Empty overlays are included in the result if they are located at BEG\n\ 3663Empty overlays are included in the result if they are located at BEG
3659or between BEG and END.") 3664or between BEG and END. */
3660 (beg, end) 3665 (beg, end))
3661 Lisp_Object beg, end; 3666 Lisp_Object beg, end;
3662{ 3667{
3663 int noverlays; 3668 int noverlays;
@@ -3685,9 +3690,9 @@ or between BEG and END.")
3685 3690
3686DEFUN ("next-overlay-change", Fnext_overlay_change, Snext_overlay_change, 3691DEFUN ("next-overlay-change", Fnext_overlay_change, Snext_overlay_change,
3687 1, 1, 0, 3692 1, 1, 0,
3688 "Return the next position after POS where an overlay starts or ends.\n\ 3693 /* Return the next position after POS where an overlay starts or ends.
3689If there are no more overlay boundaries after POS, return (point-max).") 3694If there are no more overlay boundaries after POS, return (point-max). */
3690 (pos) 3695 (pos))
3691 Lisp_Object pos; 3696 Lisp_Object pos;
3692{ 3697{
3693 int noverlays; 3698 int noverlays;
@@ -3726,9 +3731,9 @@ If there are no more overlay boundaries after POS, return (point-max).")
3726 3731
3727DEFUN ("previous-overlay-change", Fprevious_overlay_change, 3732DEFUN ("previous-overlay-change", Fprevious_overlay_change,
3728 Sprevious_overlay_change, 1, 1, 0, 3733 Sprevious_overlay_change, 1, 1, 0,
3729 "Return the previous position before POS where an overlay starts or ends.\n\ 3734 /* Return the previous position before POS where an overlay starts or ends.
3730If there are no more overlay boundaries before POS, return (point-min).") 3735If there are no more overlay boundaries before POS, return (point-min). */
3731 (pos) 3736 (pos))
3732 Lisp_Object pos; 3737 Lisp_Object pos;
3733{ 3738{
3734 int noverlays; 3739 int noverlays;
@@ -3759,13 +3764,13 @@ If there are no more overlay boundaries before POS, return (point-min).")
3759/* These functions are for debugging overlays. */ 3764/* These functions are for debugging overlays. */
3760 3765
3761DEFUN ("overlay-lists", Foverlay_lists, Soverlay_lists, 0, 0, 0, 3766DEFUN ("overlay-lists", Foverlay_lists, Soverlay_lists, 0, 0, 0,
3762 "Return a pair of lists giving all the overlays of the current buffer.\n\ 3767 /* Return a pair of lists giving all the overlays of the current buffer.
3763The car has all the overlays before the overlay center;\n\ 3768The car has all the overlays before the overlay center;
3764the cdr has all the overlays after the overlay center.\n\ 3769the cdr has all the overlays after the overlay center.
3765Recentering overlays moves overlays between these lists.\n\ 3770Recentering overlays moves overlays between these lists.
3766The lists you get are copies, so that changing them has no effect.\n\ 3771The lists you get are copies, so that changing them has no effect.
3767However, the overlays you get are the real objects that the buffer uses.") 3772However, the overlays you get are the real objects that the buffer uses. */
3768 () 3773 ())
3769{ 3774{
3770 Lisp_Object before, after; 3775 Lisp_Object before, after;
3771 before = current_buffer->overlays_before; 3776 before = current_buffer->overlays_before;
@@ -3779,8 +3784,8 @@ However, the overlays you get are the real objects that the buffer uses.")
3779} 3784}
3780 3785
3781DEFUN ("overlay-recenter", Foverlay_recenter, Soverlay_recenter, 1, 1, 0, 3786DEFUN ("overlay-recenter", Foverlay_recenter, Soverlay_recenter, 1, 1, 0,
3782 "Recenter the overlays of the current buffer around position POS.") 3787 /* Recenter the overlays of the current buffer around position POS. */
3783 (pos) 3788 (pos))
3784 Lisp_Object pos; 3789 Lisp_Object pos;
3785{ 3790{
3786 CHECK_NUMBER_COERCE_MARKER (pos, 0); 3791 CHECK_NUMBER_COERCE_MARKER (pos, 0);
@@ -3790,8 +3795,8 @@ DEFUN ("overlay-recenter", Foverlay_recenter, Soverlay_recenter, 1, 1, 0,
3790} 3795}
3791 3796
3792DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0, 3797DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0,
3793 "Get the property of overlay OVERLAY with property name PROP.") 3798 /* Get the property of overlay OVERLAY with property name PROP. */
3794 (overlay, prop) 3799 (overlay, prop))
3795 Lisp_Object overlay, prop; 3800 Lisp_Object overlay, prop;
3796{ 3801{
3797 Lisp_Object plist, fallback; 3802 Lisp_Object plist, fallback;
@@ -3819,8 +3824,8 @@ DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0,
3819} 3824}
3820 3825
3821DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0, 3826DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0,
3822 "Set one property of overlay OVERLAY: give property PROP value VALUE.") 3827 /* Set one property of overlay OVERLAY: give property PROP value VALUE. */
3823 (overlay, prop, value) 3828 (overlay, prop, value))
3824 Lisp_Object overlay, prop, value; 3829 Lisp_Object overlay, prop, value;
3825{ 3830{
3826 Lisp_Object tail, buffer; 3831 Lisp_Object tail, buffer;
@@ -4997,569 +5002,553 @@ syms_of_buffer ()
4997 buffer_defaults will all be marked via Vbuffer_defaults. */ 5002 buffer_defaults will all be marked via Vbuffer_defaults. */
4998 5003
4999 DEFVAR_LISP_NOPRO ("default-mode-line-format", 5004 DEFVAR_LISP_NOPRO ("default-mode-line-format",
5000 &buffer_defaults.mode_line_format, 5005 &buffer_defaults.mode_line_format
5001 "Default value of `mode-line-format' for buffers that don't override it.\n\ 5006 /* Default value of `mode-line-format' for buffers that don't override it.
5002This is the same as (default-value 'mode-line-format)."); 5007This is the same as (default-value 'mode-line-format). */);
5003 5008
5004 DEFVAR_LISP_NOPRO ("default-header-line-format", 5009 DEFVAR_LISP_NOPRO ("default-header-line-format",
5005 &buffer_defaults.header_line_format, 5010 &buffer_defaults.header_line_format
5006 "Default value of `header-line-format' for buffers that don't override it.\n\ 5011 /* Default value of `header-line-format' for buffers that don't override it.
5007This is the same as (default-value 'header-line-format)."); 5012This is the same as (default-value 'header-line-format). */);
5008 5013
5009 DEFVAR_LISP_NOPRO ("default-cursor-type", &buffer_defaults.cursor_type, 5014 DEFVAR_LISP_NOPRO ("default-cursor-type", &buffer_defaults.cursor_type
5010 "Default value of `cursor-type' for buffers that don't override it.\n\ 5015 /* Default value of `cursor-type' for buffers that don't override it.
5011This is the same as (default-value 'cursor-type)."); 5016This is the same as (default-value 'cursor-type). */);
5012 5017
5013 DEFVAR_LISP_NOPRO ("default-line-spacing", 5018 DEFVAR_LISP_NOPRO ("default-line-spacing",
5014 &buffer_defaults.extra_line_spacing, 5019 &buffer_defaults.extra_line_spacing
5015 "Default value of `line-spacing' for buffers that don't override it.\n\ 5020 /* Default value of `line-spacing' for buffers that don't override it.
5016This is the same as (default-value 'line-spacing)."); 5021This is the same as (default-value 'line-spacing). */);
5017 5022
5018 DEFVAR_LISP_NOPRO ("default-abbrev-mode", 5023 DEFVAR_LISP_NOPRO ("default-abbrev-mode",
5019 &buffer_defaults.abbrev_mode, 5024 &buffer_defaults.abbrev_mode
5020 "Default value of `abbrev-mode' for buffers that do not override it.\n\ 5025 /* Default value of `abbrev-mode' for buffers that do not override it.
5021This is the same as (default-value 'abbrev-mode)."); 5026This is the same as (default-value 'abbrev-mode). */);
5022 5027
5023 DEFVAR_LISP_NOPRO ("default-ctl-arrow", 5028 DEFVAR_LISP_NOPRO ("default-ctl-arrow",
5024 &buffer_defaults.ctl_arrow, 5029 &buffer_defaults.ctl_arrow
5025 "Default value of `ctl-arrow' for buffers that do not override it.\n\ 5030 /* Default value of `ctl-arrow' for buffers that do not override it.
5026This is the same as (default-value 'ctl-arrow)."); 5031This is the same as (default-value 'ctl-arrow). */);
5027 5032
5028 DEFVAR_LISP_NOPRO ("default-direction-reversed", 5033 DEFVAR_LISP_NOPRO ("default-direction-reversed",
5029 &buffer_defaults.direction_reversed, 5034 &buffer_defaults.direction_reversed
5030 "Default value of `direction_reversed' for buffers that do not override it.\n\ 5035 /* Default value of `direction_reversed' for buffers that do not override it.
5031 This is the same as (default-value 'direction-reversed)."); 5036This is the same as (default-value 'direction-reversed). */);
5032 5037
5033 DEFVAR_LISP_NOPRO ("default-enable-multibyte-characters", 5038 DEFVAR_LISP_NOPRO ("default-enable-multibyte-characters",
5034 &buffer_defaults.enable_multibyte_characters, 5039 &buffer_defaults.enable_multibyte_characters
5035 "*Default value of `enable-multibyte-characters' for buffers not overriding it.\n\ 5040 /* *Default value of `enable-multibyte-characters' for buffers not overriding it.
5036This is the same as (default-value 'enable-multibyte-characters)."); 5041This is the same as (default-value 'enable-multibyte-characters). */);
5037 5042
5038 DEFVAR_LISP_NOPRO ("default-buffer-file-coding-system", 5043 DEFVAR_LISP_NOPRO ("default-buffer-file-coding-system",
5039 &buffer_defaults.buffer_file_coding_system, 5044 &buffer_defaults.buffer_file_coding_system
5040 "Default value of `buffer-file-coding-system' for buffers not overriding it.\n\ 5045 /* Default value of `buffer-file-coding-system' for buffers not overriding it.
5041This is the same as (default-value 'buffer-file-coding-system)."); 5046This is the same as (default-value 'buffer-file-coding-system). */);
5042 5047
5043 DEFVAR_LISP_NOPRO ("default-truncate-lines", 5048 DEFVAR_LISP_NOPRO ("default-truncate-lines",
5044 &buffer_defaults.truncate_lines, 5049 &buffer_defaults.truncate_lines
5045 "Default value of `truncate-lines' for buffers that do not override it.\n\ 5050 /* Default value of `truncate-lines' for buffers that do not override it.
5046This is the same as (default-value 'truncate-lines)."); 5051This is the same as (default-value 'truncate-lines). */);
5047 5052
5048 DEFVAR_LISP_NOPRO ("default-fill-column", 5053 DEFVAR_LISP_NOPRO ("default-fill-column",
5049 &buffer_defaults.fill_column, 5054 &buffer_defaults.fill_column
5050 "Default value of `fill-column' for buffers that do not override it.\n\ 5055 /* Default value of `fill-column' for buffers that do not override it.
5051This is the same as (default-value 'fill-column)."); 5056This is the same as (default-value 'fill-column). */);
5052 5057
5053 DEFVAR_LISP_NOPRO ("default-left-margin", 5058 DEFVAR_LISP_NOPRO ("default-left-margin",
5054 &buffer_defaults.left_margin, 5059 &buffer_defaults.left_margin
5055 "Default value of `left-margin' for buffers that do not override it.\n\ 5060 /* Default value of `left-margin' for buffers that do not override it.
5056This is the same as (default-value 'left-margin)."); 5061This is the same as (default-value 'left-margin). */);
5057 5062
5058 DEFVAR_LISP_NOPRO ("default-tab-width", 5063 DEFVAR_LISP_NOPRO ("default-tab-width",
5059 &buffer_defaults.tab_width, 5064 &buffer_defaults.tab_width
5060 "Default value of `tab-width' for buffers that do not override it.\n\ 5065 /* Default value of `tab-width' for buffers that do not override it.
5061This is the same as (default-value 'tab-width)."); 5066This is the same as (default-value 'tab-width). */);
5062 5067
5063 DEFVAR_LISP_NOPRO ("default-case-fold-search", 5068 DEFVAR_LISP_NOPRO ("default-case-fold-search",
5064 &buffer_defaults.case_fold_search, 5069 &buffer_defaults.case_fold_search
5065 "Default value of `case-fold-search' for buffers that don't override it.\n\ 5070 /* Default value of `case-fold-search' for buffers that don't override it.
5066This is the same as (default-value 'case-fold-search)."); 5071This is the same as (default-value 'case-fold-search). */);
5067 5072
5068#ifdef DOS_NT 5073#ifdef DOS_NT
5069 DEFVAR_LISP_NOPRO ("default-buffer-file-type", 5074 DEFVAR_LISP_NOPRO ("default-buffer-file-type",
5070 &buffer_defaults.buffer_file_type, 5075 &buffer_defaults.buffer_file_type
5071 "Default file type for buffers that do not override it.\n\ 5076 /* Default file type for buffers that do not override it.
5072This is the same as (default-value 'buffer-file-type).\n\ 5077This is the same as (default-value 'buffer-file-type).
5073The file type is nil for text, t for binary."); 5078The file type is nil for text, t for binary. */);
5074#endif 5079#endif
5075 5080
5076 DEFVAR_LISP_NOPRO ("default-left-margin-width", 5081 DEFVAR_LISP_NOPRO ("default-left-margin-width",
5077 &buffer_defaults.left_margin_width, 5082 &buffer_defaults.left_margin_width
5078 "Default value of `left-margin-width' for buffers that don't override it.\n\ 5083 /* Default value of `left-margin-width' for buffers that don't override it.
5079This is the same as (default-value 'left-margin-width)."); 5084This is the same as (default-value 'left-margin-width). */);
5080 5085
5081 DEFVAR_LISP_NOPRO ("default-right-margin-width", 5086 DEFVAR_LISP_NOPRO ("default-right-margin-width",
5082 &buffer_defaults.right_margin_width, 5087 &buffer_defaults.right_margin_width
5083 "Default value of `right_margin_width' for buffers that don't override it.\n\ 5088 /* Default value of `right_margin_width' for buffers that don't override it.
5084This is the same as (default-value 'right-margin-width)."); 5089This is the same as (default-value 'right-margin-width). */);
5085 5090
5086 DEFVAR_LISP_NOPRO ("default-indicate-empty-lines", 5091 DEFVAR_LISP_NOPRO ("default-indicate-empty-lines",
5087 &buffer_defaults.indicate_empty_lines, 5092 &buffer_defaults.indicate_empty_lines
5088 "Default value of `indicate-empty-lines' for buffers that don't override it.\n\ 5093 /* Default value of `indicate-empty-lines' for buffers that don't override it.
5089This is the same as (default-value 'indicate-empty-lines)."); 5094This is the same as (default-value 'indicate-empty-lines). */);
5090 5095
5091 DEFVAR_LISP_NOPRO ("default-scroll-up-aggressively", 5096 DEFVAR_LISP_NOPRO ("default-scroll-up-aggressively",
5092 &buffer_defaults.scroll_up_aggressively, 5097 &buffer_defaults.scroll_up_aggressively
5093 "Default value of `scroll-up-aggressively' for buffers that\n\ 5098 /* Default value of `scroll-up-aggressively' for buffers that
5094don't override it. This is the same as (default-value\n\ 5099don't override it. This is the same as (default-value
5095'scroll-up-aggressively)."); 5100'scroll-up-aggressively). */);
5096 5101
5097 DEFVAR_LISP_NOPRO ("default-scroll-down-aggressively", 5102 DEFVAR_LISP_NOPRO ("default-scroll-down-aggressively",
5098 &buffer_defaults.scroll_down_aggressively, 5103 &buffer_defaults.scroll_down_aggressively
5099 "Default value of `scroll-down-aggressively' for buffers that\n\ 5104 /* Default value of `scroll-down-aggressively' for buffers that
5100don't override it. This is the same as (default-value\n\ 5105don't override it. This is the same as (default-value
5101'scroll-down-aggressively)."); 5106'scroll-down-aggressively). */);
5102 5107
5103 DEFVAR_PER_BUFFER ("header-line-format", 5108 DEFVAR_PER_BUFFER ("header-line-format",
5104 &current_buffer->header_line_format, 5109 &current_buffer->header_line_format,
5105 Qnil, 5110 Qnil
5106 "Analogous to `mode-line-format', but for the mode line that can be\n\ 5111 /* Analogous to `mode-line-format', but for the mode line that can be
5107displayed at the top of a window."); 5112displayed at the top of a window. */);
5108 5113
5109 DEFVAR_PER_BUFFER ("mode-line-format", &current_buffer->mode_line_format,
5110 Qnil, 0);
5111
5112/* This doc string is too long for cpp; cpp dies if it isn't in a comment.
5113 But make-docfile finds it!
5114 DEFVAR_PER_BUFFER ("mode-line-format", &current_buffer->mode_line_format, 5114 DEFVAR_PER_BUFFER ("mode-line-format", &current_buffer->mode_line_format,
5115 Qnil, 5115 Qnil
5116 "Template for displaying mode line for current buffer.\n\ 5116 /* Template for displaying mode line for current buffer.
5117Each buffer has its own value of this variable.\n\ 5117Each buffer has its own value of this variable.
5118Value may be nil, a string, a symbol or a list or cons cell.\n\ 5118Value may be nil, a string, a symbol or a list or cons cell.
5119A value of nil means don't display a mode line.\n\ 5119A value of nil means don't display a mode line.
5120For a symbol, its value is used (but it is ignored if t or nil).\n\ 5120For a symbol, its value is used (but it is ignored if t or nil).
5121 A string appearing directly as the value of a symbol is processed verbatim\n\ 5121 A string appearing directly as the value of a symbol is processed verbatim
5122 in that the %-constructs below are not recognized.\n\ 5122 in that the %-constructs below are not recognized.
5123For a list of the form `(:eval FORM)', FORM is evaluated and the result\n\ 5123For a list of the form `(:eval FORM)', FORM is evaluated and the result
5124 is used as a mode line element.\n\ 5124 is used as a mode line element.
5125For a list whose car is a symbol, the symbol's value is taken,\n\ 5125For a list whose car is a symbol, the symbol's value is taken,
5126 and if that is non-nil, the cadr of the list is processed recursively.\n\ 5126 and if that is non-nil, the cadr of the list is processed recursively.
5127 Otherwise, the caddr of the list (if there is one) is processed.\n\ 5127 Otherwise, the caddr of the list (if there is one) is processed.
5128For a list whose car is a string or list, each element is processed\n\ 5128For a list whose car is a string or list, each element is processed
5129 recursively and the results are effectively concatenated.\n\ 5129 recursively and the results are effectively concatenated.
5130For a list whose car is an integer, the cdr of the list is processed\n\ 5130For a list whose car is an integer, the cdr of the list is processed
5131 and padded (if the number is positive) or truncated (if negative)\n\ 5131 and padded (if the number is positive) or truncated (if negative)
5132 to the width specified by that number.\n\ 5132 to the width specified by that number.
5133A string is printed verbatim in the mode line except for %-constructs:\n\ 5133A string is printed verbatim in the mode line except for %-constructs:
5134 (%-constructs are allowed when the string is the entire mode-line-format\n\ 5134 (%-constructs are allowed when the string is the entire mode-line-format
5135 or when it is found in a cons-cell or a list)\n\ 5135 or when it is found in a cons-cell or a list)
5136 %b -- print buffer name. %f -- print visited file name.\n\ 5136 %b -- print buffer name. %f -- print visited file name.
5137 %F -- print frame name.\n\ 5137 %F -- print frame name.
5138 %* -- print %, * or hyphen. %+ -- print *, % or hyphen.\n\ 5138 %* -- print %, * or hyphen. %+ -- print *, % or hyphen.
5139 %& is like %*, but ignore read-only-ness.\n\ 5139 %& is like %*, but ignore read-only-ness.
5140 % means buffer is read-only and * means it is modified.\n\ 5140 % means buffer is read-only and * means it is modified.
5141 For a modified read-only buffer, %* gives % and %+ gives *.\n\ 5141 For a modified read-only buffer, %* gives % and %+ gives *.
5142 %s -- print process status. %l -- print the current line number.\n\ 5142 %s -- print process status. %l -- print the current line number.
5143 %c -- print the current column number (this makes editing slower).\n\ 5143 %c -- print the current column number (this makes editing slower).
5144 To make the column number update correctly in all cases,\n\ 5144 To make the column number update correctly in all cases,
5145 `column-number-mode' must be non-nil.\n\ 5145 `column-number-mode' must be non-nil.
5146 %p -- print percent of buffer above top of window, or Top, Bot or All.\n\ 5146 %p -- print percent of buffer above top of window, or Top, Bot or All.
5147 %P -- print percent of buffer above bottom of window, perhaps plus Top,\n\ 5147 %P -- print percent of buffer above bottom of window, perhaps plus Top,
5148 or print Bottom or All.\n\ 5148 or print Bottom or All.
5149 %m -- print the mode name.\n\ 5149 %m -- print the mode name.
5150 %n -- print Narrow if appropriate.\n\ 5150 %n -- print Narrow if appropriate.
5151 %z -- print mnemonics of buffer, terminal, and keyboard coding systems.\n\ 5151 %z -- print mnemonics of buffer, terminal, and keyboard coding systems.
5152 %Z -- like %z, but including the end-of-line format.\n\ 5152 %Z -- like %z, but including the end-of-line format.
5153 %[ -- print one [ for each recursive editing level. %] similar.\n\ 5153 %[ -- print one [ for each recursive editing level. %] similar.
5154 %% -- print %. %- -- print infinitely many dashes.\n\ 5154 %% -- print %. %- -- print infinitely many dashes.
5155Decimal digits after the % specify field width to which to pad."); 5155Decimal digits after the % specify field width to which to pad. */);
5156*/ 5156
5157 5157 DEFVAR_LISP_NOPRO ("default-major-mode", &buffer_defaults.major_mode
5158 DEFVAR_LISP_NOPRO ("default-major-mode", &buffer_defaults.major_mode, 5158 /* *Major mode for new buffers. Defaults to `fundamental-mode'.
5159 "*Major mode for new buffers. Defaults to `fundamental-mode'.\n\ 5159nil here means use current buffer's major mode. */);
5160nil here means use current buffer's major mode.");
5161 5160
5162 DEFVAR_PER_BUFFER ("major-mode", &current_buffer->major_mode, 5161 DEFVAR_PER_BUFFER ("major-mode", &current_buffer->major_mode,
5163 make_number (Lisp_Symbol), 5162 make_number (Lisp_Symbol)
5164 "Symbol for current buffer's major mode."); 5163 /* Symbol for current buffer's major mode. */);
5165 5164
5166 DEFVAR_PER_BUFFER ("mode-name", &current_buffer->mode_name, 5165 DEFVAR_PER_BUFFER ("mode-name", &current_buffer->mode_name,
5167 make_number (Lisp_String), 5166 make_number (Lisp_String)
5168 "Pretty name of current buffer's major mode (a string)."); 5167 /* Pretty name of current buffer's major mode (a string). */);
5169 5168
5170 DEFVAR_PER_BUFFER ("abbrev-mode", &current_buffer->abbrev_mode, Qnil, 5169 DEFVAR_PER_BUFFER ("abbrev-mode", &current_buffer->abbrev_mode, Qnil
5171 "Non-nil turns on automatic expansion of abbrevs as they are inserted."); 5170 /* Non-nil turns on automatic expansion of abbrevs as they are inserted. */);
5172 5171
5173 DEFVAR_PER_BUFFER ("case-fold-search", &current_buffer->case_fold_search, 5172 DEFVAR_PER_BUFFER ("case-fold-search", &current_buffer->case_fold_search,
5174 Qnil, 5173 Qnil
5175 "*Non-nil if searches and matches should ignore case."); 5174 /* *Non-nil if searches and matches should ignore case. */);
5176 5175
5177 DEFVAR_PER_BUFFER ("fill-column", &current_buffer->fill_column, 5176 DEFVAR_PER_BUFFER ("fill-column", &current_buffer->fill_column,
5178 make_number (Lisp_Int), 5177 make_number (Lisp_Int)
5179 "*Column beyond which automatic line-wrapping should happen."); 5178 /* *Column beyond which automatic line-wrapping should happen. */);
5180 5179
5181 DEFVAR_PER_BUFFER ("left-margin", &current_buffer->left_margin, 5180 DEFVAR_PER_BUFFER ("left-margin", &current_buffer->left_margin,
5182 make_number (Lisp_Int), 5181 make_number (Lisp_Int)
5183 "*Column for the default indent-line-function to indent to.\n\ 5182 /* *Column for the default indent-line-function to indent to.
5184Linefeed indents to this column in Fundamental mode."); 5183Linefeed indents to this column in Fundamental mode. */);
5185 5184
5186 DEFVAR_PER_BUFFER ("tab-width", &current_buffer->tab_width, 5185 DEFVAR_PER_BUFFER ("tab-width", &current_buffer->tab_width,
5187 make_number (Lisp_Int), 5186 make_number (Lisp_Int)
5188 "*Distance between tab stops (for display of tab characters), in columns."); 5187 /* *Distance between tab stops (for display of tab characters), in columns. */);
5189 5188
5190 DEFVAR_PER_BUFFER ("ctl-arrow", &current_buffer->ctl_arrow, Qnil, 5189 DEFVAR_PER_BUFFER ("ctl-arrow", &current_buffer->ctl_arrow, Qnil
5191 "*Non-nil means display control chars with uparrow.\n\ 5190 /* *Non-nil means display control chars with uparrow.
5192A value of nil means use backslash and octal digits.\n\ 5191A value of nil means use backslash and octal digits.
5193This variable does not apply to characters whose display is specified\n\ 5192This variable does not apply to characters whose display is specified
5194in the current display table (if there is one)."); 5193in the current display table (if there is one). */);
5195 5194
5196 DEFVAR_PER_BUFFER ("enable-multibyte-characters", 5195 DEFVAR_PER_BUFFER ("enable-multibyte-characters",
5197 &current_buffer->enable_multibyte_characters, 5196 &current_buffer->enable_multibyte_characters,
5198 make_number (-1), 5197 make_number (-1)
5199 "Non-nil means the buffer contents are regarded as multi-byte characters.\n\ 5198 /* Non-nil means the buffer contents are regarded as multi-byte characters.
5200Otherwise they are regarded as unibyte. This affects the display,\n\ 5199Otherwise they are regarded as unibyte. This affects the display,
5201file I/O and the behavior of various editing commands.\n\ 5200file I/O and the behavior of various editing commands.
5202\n\ 5201
5203This variable is buffer-local but you cannot set it directly;\n\ 5202This variable is buffer-local but you cannot set it directly;
5204use the function `set-buffer-multibyte' to change a buffer's representation.\n\ 5203use the function `set-buffer-multibyte' to change a buffer's representation.
5205Changing its default value with `setq-default' is supported.\n\ 5204Changing its default value with `setq-default' is supported.
5206See also variable `default-enable-multibyte-characters' and Info node\n\ 5205See also variable `default-enable-multibyte-characters' and Info node
5207`(elisp)Text Representations'."); 5206`(elisp)Text Representations'. */);
5208 5207
5209 DEFVAR_PER_BUFFER ("buffer-file-coding-system", 5208 DEFVAR_PER_BUFFER ("buffer-file-coding-system",
5210 &current_buffer->buffer_file_coding_system, Qnil, 5209 &current_buffer->buffer_file_coding_system, Qnil
5211 "Coding system to be used for encoding the buffer contents on saving.\n\ 5210 /* Coding system to be used for encoding the buffer contents on saving.
5212This variable applies to saving the buffer, and also to `write-region'\n\ 5211This variable applies to saving the buffer, and also to `write-region'
5213and other functions that use `write-region'.\n\ 5212and other functions that use `write-region'.
5214It does not apply to sending output to subprocesses, however.\n\ 5213It does not apply to sending output to subprocesses, however.
5215\n\ 5214
5216If this is nil, the buffer is saved without any code conversion\n\ 5215If this is nil, the buffer is saved without any code conversion
5217unless some coding system is specified in `file-coding-system-alist'\n\ 5216unless some coding system is specified in `file-coding-system-alist'
5218for the buffer file.\n\ 5217for the buffer file.
5219\n\ 5218
5220The variable `coding-system-for-write', if non-nil, overrides this variable.\n\ 5219The variable `coding-system-for-write', if non-nil, overrides this variable.
5221\n\ 5220
5222This variable is never applied to a way of decoding a file while reading it."); 5221This variable is never applied to a way of decoding a file while reading it. */);
5223 5222
5224 DEFVAR_PER_BUFFER ("direction-reversed", &current_buffer->direction_reversed, 5223 DEFVAR_PER_BUFFER ("direction-reversed", &current_buffer->direction_reversed,
5225 Qnil, 5224 Qnil
5226 "*Non-nil means lines in the buffer are displayed right to left."); 5225 /* *Non-nil means lines in the buffer are displayed right to left. */);
5227 5226
5228 DEFVAR_PER_BUFFER ("truncate-lines", &current_buffer->truncate_lines, Qnil, 5227 DEFVAR_PER_BUFFER ("truncate-lines", &current_buffer->truncate_lines, Qnil
5229 "*Non-nil means do not display continuation lines;\n\ 5228 /* *Non-nil means do not display continuation lines;
5230give each line of text one screen line.\n\ 5229give each line of text one screen line.
5231\n\ 5230
5232Note that this is overridden by the variable\n\ 5231Note that this is overridden by the variable
5233`truncate-partial-width-windows' if that variable is non-nil\n\ 5232`truncate-partial-width-windows' if that variable is non-nil
5234and this buffer is not full-frame width."); 5233and this buffer is not full-frame width. */);
5235 5234
5236#ifdef DOS_NT 5235#ifdef DOS_NT
5237 DEFVAR_PER_BUFFER ("buffer-file-type", &current_buffer->buffer_file_type, 5236 DEFVAR_PER_BUFFER ("buffer-file-type", &current_buffer->buffer_file_type,
5238 Qnil, 5237 Qnil
5239 "Non-nil if the visited file is a binary file.\n\ 5238 /* Non-nil if the visited file is a binary file.
5240This variable is meaningful on MS-DOG and Windows NT.\n\ 5239This variable is meaningful on MS-DOG and Windows NT.
5241On those systems, it is automatically local in every buffer.\n\ 5240On those systems, it is automatically local in every buffer.
5242On other systems, this variable is normally always nil."); 5241On other systems, this variable is normally always nil. */);
5243#endif 5242#endif
5244 5243
5245 DEFVAR_PER_BUFFER ("default-directory", &current_buffer->directory, 5244 DEFVAR_PER_BUFFER ("default-directory", &current_buffer->directory,
5246 make_number (Lisp_String), 5245 make_number (Lisp_String)
5247 "Name of default directory of current buffer. Should end with slash.\n\ 5246 /* Name of default directory of current buffer. Should end with slash.
5248To interactively change the default directory, use command `cd'."); 5247To interactively change the default directory, use command `cd'. */);
5249 5248
5250 DEFVAR_PER_BUFFER ("auto-fill-function", &current_buffer->auto_fill_function, 5249 DEFVAR_PER_BUFFER ("auto-fill-function", &current_buffer->auto_fill_function,
5251 Qnil, 5250 Qnil
5252 "Function called (if non-nil) to perform auto-fill.\n\ 5251 /* Function called (if non-nil) to perform auto-fill.
5253It is called after self-inserting any character specified in\n\ 5252It is called after self-inserting any character specified in
5254the `auto-fill-chars' table.\n\ 5253the `auto-fill-chars' table.
5255NOTE: This variable is not a hook;\n\ 5254NOTE: This variable is not a hook;
5256its value may not be a list of functions."); 5255its value may not be a list of functions. */);
5257 5256
5258 DEFVAR_PER_BUFFER ("buffer-file-name", &current_buffer->filename, 5257 DEFVAR_PER_BUFFER ("buffer-file-name", &current_buffer->filename,
5259 make_number (Lisp_String), 5258 make_number (Lisp_String)
5260 "Name of file visited in current buffer, or nil if not visiting a file."); 5259 /* Name of file visited in current buffer, or nil if not visiting a file. */);
5261 5260
5262 DEFVAR_PER_BUFFER ("buffer-file-truename", &current_buffer->file_truename, 5261 DEFVAR_PER_BUFFER ("buffer-file-truename", &current_buffer->file_truename,
5263 make_number (Lisp_String), 5262 make_number (Lisp_String)
5264 "Abbreviated truename of file visited in current buffer, or nil if none.\n\ 5263 /* Abbreviated truename of file visited in current buffer, or nil if none.
5265The truename of a file is calculated by `file-truename'\n\ 5264The truename of a file is calculated by `file-truename'
5266and then abbreviated with `abbreviate-file-name'."); 5265and then abbreviated with `abbreviate-file-name'. */);
5267 5266
5268 DEFVAR_PER_BUFFER ("buffer-auto-save-file-name", 5267 DEFVAR_PER_BUFFER ("buffer-auto-save-file-name",
5269 &current_buffer->auto_save_file_name, 5268 &current_buffer->auto_save_file_name,
5270 make_number (Lisp_String), 5269 make_number (Lisp_String)
5271 "Name of file for auto-saving current buffer,\n\ 5270 /* Name of file for auto-saving current buffer,
5272or nil if buffer should not be auto-saved."); 5271or nil if buffer should not be auto-saved. */);
5273 5272
5274 DEFVAR_PER_BUFFER ("buffer-read-only", &current_buffer->read_only, Qnil, 5273 DEFVAR_PER_BUFFER ("buffer-read-only", &current_buffer->read_only, Qnil
5275 "Non-nil if this buffer is read-only."); 5274 /* Non-nil if this buffer is read-only. */);
5276 5275
5277 DEFVAR_PER_BUFFER ("buffer-backed-up", &current_buffer->backed_up, Qnil, 5276 DEFVAR_PER_BUFFER ("buffer-backed-up", &current_buffer->backed_up, Qnil
5278 "Non-nil if this buffer's file has been backed up.\n\ 5277 /* Non-nil if this buffer's file has been backed up.
5279Backing up is done before the first time the file is saved."); 5278Backing up is done before the first time the file is saved. */);
5280 5279
5281 DEFVAR_PER_BUFFER ("buffer-saved-size", &current_buffer->save_length, 5280 DEFVAR_PER_BUFFER ("buffer-saved-size", &current_buffer->save_length,
5282 make_number (Lisp_Int), 5281 make_number (Lisp_Int)
5283 "Length of current buffer when last read in, saved or auto-saved.\n\ 5282 /* Length of current buffer when last read in, saved or auto-saved.
52840 initially."); 52830 initially. */);
5285 5284
5286 DEFVAR_PER_BUFFER ("selective-display", &current_buffer->selective_display, 5285 DEFVAR_PER_BUFFER ("selective-display", &current_buffer->selective_display,
5287 Qnil, 5286 Qnil
5288 "Non-nil enables selective display:\n\ 5287 /* Non-nil enables selective display:
5289Integer N as value means display only lines\n\ 5288Integer N as value means display only lines
5290 that start with less than n columns of space.\n\ 5289 that start with less than n columns of space.
5291A value of t means, after a ^M, all the rest of the line is invisible.\n\ 5290A value of t means, after a ^M, all the rest of the line is invisible.
5292 Then ^M's in the file are written into files as newlines."); 5291 Then ^M's in the file are written into files as newlines. */);
5293 5292
5294#ifndef old 5293#ifndef old
5295 DEFVAR_PER_BUFFER ("selective-display-ellipses", 5294 DEFVAR_PER_BUFFER ("selective-display-ellipses",
5296 &current_buffer->selective_display_ellipses, 5295 &current_buffer->selective_display_ellipses,
5297 Qnil, 5296 Qnil
5298 "t means display ... on previous line when a line is invisible."); 5297 /* t means display ... on previous line when a line is invisible. */);
5299#endif 5298#endif
5300 5299
5301 DEFVAR_PER_BUFFER ("overwrite-mode", &current_buffer->overwrite_mode, Qnil, 5300 DEFVAR_PER_BUFFER ("overwrite-mode", &current_buffer->overwrite_mode, Qnil
5302 "Non-nil if self-insertion should replace existing text.\n\ 5301 /* Non-nil if self-insertion should replace existing text.
5303The value should be one of `overwrite-mode-textual',\n\ 5302The value should be one of `overwrite-mode-textual',
5304`overwrite-mode-binary', or nil.\n\ 5303`overwrite-mode-binary', or nil.
5305If it is `overwrite-mode-textual', self-insertion still\n\ 5304If it is `overwrite-mode-textual', self-insertion still
5306inserts at the end of a line, and inserts when point is before a tab,\n\ 5305inserts at the end of a line, and inserts when point is before a tab,
5307until the tab is filled in.\n\ 5306until the tab is filled in.
5308If `overwrite-mode-binary', self-insertion replaces newlines and tabs too."); 5307If `overwrite-mode-binary', self-insertion replaces newlines and tabs too. */);
5309 5308
5310#if 0 /* The doc string is too long for some compilers,
5311 but make-docfile can find it in this comment. */
5312 DEFVAR_PER_BUFFER ("buffer-display-table", &current_buffer->display_table,
5313 Qnil,
5314 "Display table that controls display of the contents of current buffer.\n\
5315\n\
5316If this variable is nil, the value of `standard-display-table' is used.\n\
5317Each window can have its own, overriding display table, see\n\
5318`set-window-display-table' and `window-display-table'.\n\
5319\n\
5320The display table is a char-table created with `make-display-table'.\n\
5321A char-table is an array indexed by character codes. Normal array\n\
5322primitives `aref' and `aset' can be used to access elements of a char-table.\n\
5323\n\
5324Each of the char-table elements control how to display the corresponding\n\
5325text character: the element at index C in the table says how to display\n\
5326the character whose code is C. Each element should be a vector of\n\
5327characters or nil. nil means display the character in the default fashion;\n\
5328otherwise, the characters from the vector are delivered to the screen\n\
5329instead of the original character.\n\
5330\n\
5331For example, (aset buffer-display-table ?X ?Y) will cause Emacs to display\n\
5332a capital Y instead of each X character.\n\
5333\n\
5334In addition, a char-table has six extra slots to control the display of:\n\
5335\n\
5336 the end of a truncated screen line (extra-slot 0, a single character);\n\
5337 the end of a continued line (extra-slot 1, a single character);\n\
5338 the escape character used to display character codes in octal\n\
5339 (extra-slot 2, a single character);\n\
5340 the character used as an arrow for control characters (extra-slot 3,\n\
5341 a single character);\n\
5342 the decoration indicating the presence of invisible lines (extra-slot 4,\n\
5343 a vector of characters);\n\
5344 the character used to draw the border between side-by-side windows\n\
5345 (extra-slot 5, a single character).\n\
5346\n\
5347See also the functions `display-table-slot' and `set-display-table-slot'.");
5348#endif
5349 DEFVAR_PER_BUFFER ("buffer-display-table", &current_buffer->display_table, 5309 DEFVAR_PER_BUFFER ("buffer-display-table", &current_buffer->display_table,
5350 Qnil, 0); 5310 Qnil
5311 /* Display table that controls display of the contents of current buffer.
5312
5313If this variable is nil, the value of `standard-display-table' is used.
5314Each window can have its own, overriding display table, see
5315`set-window-display-table' and `window-display-table'.
5316
5317The display table is a char-table created with `make-display-table'.
5318A char-table is an array indexed by character codes. Normal array
5319primitives `aref' and `aset' can be used to access elements of a char-table.
5320
5321Each of the char-table elements control how to display the corresponding
5322text character: the element at index C in the table says how to display
5323the character whose code is C. Each element should be a vector of
5324characters or nil. nil means display the character in the default fashion;
5325otherwise, the characters from the vector are delivered to the screen
5326instead of the original character.
5327
5328For example, (aset buffer-display-table ?X ?Y) will cause Emacs to display
5329a capital Y instead of each X character.
5330
5331In addition, a char-table has six extra slots to control the display of:
5332
5333 the end of a truncated screen line (extra-slot 0, a single character);
5334 the end of a continued line (extra-slot 1, a single character);
5335 the escape character used to display character codes in octal
5336 (extra-slot 2, a single character);
5337 the character used as an arrow for control characters (extra-slot 3,
5338 a single character);
5339 the decoration indicating the presence of invisible lines (extra-slot 4,
5340 a vector of characters);
5341 the character used to draw the border between side-by-side windows
5342 (extra-slot 5, a single character).
5343
5344See also the functions `display-table-slot' and `set-display-table-slot'. */);
5351 5345
5352 DEFVAR_PER_BUFFER ("left-margin-width", &current_buffer->left_margin_width, 5346 DEFVAR_PER_BUFFER ("left-margin-width", &current_buffer->left_margin_width,
5353 Qnil, 5347 Qnil
5354 "*Width of left marginal area for display of a buffer.\n\ 5348 /* *Width of left marginal area for display of a buffer.
5355A value of nil means no marginal area."); 5349A value of nil means no marginal area. */);
5356 5350
5357 DEFVAR_PER_BUFFER ("right-margin-width", &current_buffer->right_margin_width, 5351 DEFVAR_PER_BUFFER ("right-margin-width", &current_buffer->right_margin_width,
5358 Qnil, 5352 Qnil
5359 "*Width of right marginal area for display of a buffer.\n\ 5353 /* *Width of right marginal area for display of a buffer.
5360A value of nil means no marginal area."); 5354A value of nil means no marginal area. */);
5361 5355
5362 DEFVAR_PER_BUFFER ("indicate-empty-lines", 5356 DEFVAR_PER_BUFFER ("indicate-empty-lines",
5363 &current_buffer->indicate_empty_lines, Qnil, 5357 &current_buffer->indicate_empty_lines, Qnil
5364 "*Visually indicate empty lines after the buffer end.\n\ 5358 /* *Visually indicate empty lines after the buffer end.
5365If non-nil, a bitmap is displayed in the left fringe of a window on\n\ 5359If non-nil, a bitmap is displayed in the left fringe of a window on
5366window-systems."); 5360window-systems. */);
5367 5361
5368 DEFVAR_PER_BUFFER ("scroll-up-aggressively", 5362 DEFVAR_PER_BUFFER ("scroll-up-aggressively",
5369 &current_buffer->scroll_up_aggressively, Qnil, 5363 &current_buffer->scroll_up_aggressively, Qnil
5370 "*If a number, scroll display up aggressively.\n\ 5364 /* *If a number, scroll display up aggressively.
5371If scrolling a window because point is above the window start, choose\n\ 5365If scrolling a window because point is above the window start, choose
5372a new window start so that point ends up that fraction of the window's\n\ 5366a new window start so that point ends up that fraction of the window's
5373height from the top of the window."); 5367height from the top of the window. */);
5374 5368
5375 DEFVAR_PER_BUFFER ("scroll-down-aggressively", 5369 DEFVAR_PER_BUFFER ("scroll-down-aggressively",
5376 &current_buffer->scroll_down_aggressively, Qnil, 5370 &current_buffer->scroll_down_aggressively, Qnil
5377 "*If a number, scroll display down aggressively.\n\ 5371 /* *If a number, scroll display down aggressively.
5378If scrolling a window because point is below the window end, choose\n\ 5372If scrolling a window because point is below the window end, choose
5379a new window start so that point ends up that fraction of the window's\n\ 5373a new window start so that point ends up that fraction of the window's
5380height from the bottom of the window."); 5374height from the bottom of the window. */);
5381 5375
5382/*DEFVAR_LISP ("debug-check-symbol", &Vcheck_symbol, 5376/*DEFVAR_LISP ("debug-check-symbol", &Vcheck_symbol,
5383 "Don't ask."); 5377 "Don't ask.");
5384*/ 5378*/
5385 5379
5386 DEFVAR_LISP ("before-change-functions", &Vbefore_change_functions, 5380 DEFVAR_LISP ("before-change-functions", &Vbefore_change_functions
5387 "List of functions to call before each text change.\n\ 5381 /* List of functions to call before each text change.
5388Two arguments are passed to each function: the positions of\n\ 5382Two arguments are passed to each function: the positions of
5389the beginning and end of the range of old text to be changed.\n\ 5383the beginning and end of the range of old text to be changed.
5390\(For an insertion, the beginning and end are at the same place.)\n\ 5384\(For an insertion, the beginning and end are at the same place.)
5391No information is given about the length of the text after the change.\n\ 5385No information is given about the length of the text after the change.
5392\n\ 5386
5393Buffer changes made while executing the `before-change-functions'\n\ 5387Buffer changes made while executing the `before-change-functions'
5394don't call any before-change or after-change functions.\n\ 5388don't call any before-change or after-change functions.
5395That's because these variables are temporarily set to nil.\n\ 5389That's because these variables are temporarily set to nil.
5396As a result, a hook function cannot straightforwardly alter the value of\n\ 5390As a result, a hook function cannot straightforwardly alter the value of
5397these variables. See the Emacs Lisp manual for a way of\n\ 5391these variables. See the Emacs Lisp manual for a way of
5398accomplishing an equivalent result by using other variables.\n\ 5392accomplishing an equivalent result by using other variables.
5399\n\ 5393
5400If an unhandled error happens in running these functions,\n\ 5394If an unhandled error happens in running these functions,
5401the variable's value remains nil. That prevents the error\n\ 5395the variable's value remains nil. That prevents the error
5402from happening repeatedly and making Emacs nonfunctional."); 5396from happening repeatedly and making Emacs nonfunctional. */);
5403 Vbefore_change_functions = Qnil; 5397 Vbefore_change_functions = Qnil;
5404 5398
5405 DEFVAR_LISP ("after-change-functions", &Vafter_change_functions, 5399 DEFVAR_LISP ("after-change-functions", &Vafter_change_functions
5406 "List of function to call after each text change.\n\ 5400 /* List of function to call after each text change.
5407Three arguments are passed to each function: the positions of\n\ 5401Three arguments are passed to each function: the positions of
5408the beginning and end of the range of changed text,\n\ 5402the beginning and end of the range of changed text,
5409and the length in bytes of the pre-change text replaced by that range.\n\ 5403and the length in bytes of the pre-change text replaced by that range.
5410\(For an insertion, the pre-change length is zero;\n\ 5404\(For an insertion, the pre-change length is zero;
5411for a deletion, that length is the number of bytes deleted,\n\ 5405for a deletion, that length is the number of bytes deleted,
5412and the post-change beginning and end are at the same place.)\n\ 5406and the post-change beginning and end are at the same place.)
5413\n\ 5407
5414Buffer changes made while executing the `after-change-functions'\n\ 5408Buffer changes made while executing the `after-change-functions'
5415don't call any before-change or after-change functions.\n\ 5409don't call any before-change or after-change functions.
5416That's because these variables are temporarily set to nil.\n\ 5410That's because these variables are temporarily set to nil.
5417As a result, a hook function cannot straightforwardly alter the value of\n\ 5411As a result, a hook function cannot straightforwardly alter the value of
5418these variables. See the Emacs Lisp manual for a way of\n\ 5412these variables. See the Emacs Lisp manual for a way of
5419accomplishing an equivalent result by using other variables.\n\ 5413accomplishing an equivalent result by using other variables.
5420\n\ 5414
5421If an unhandled error happens in running these functions,\n\ 5415If an unhandled error happens in running these functions,
5422the variable's value remains nil. That prevents the error\n\ 5416the variable's value remains nil. That prevents the error
5423from happening repeatedly and making Emacs nonfunctional."); 5417from happening repeatedly and making Emacs nonfunctional. */);
5424 Vafter_change_functions = Qnil; 5418 Vafter_change_functions = Qnil;
5425 5419
5426 DEFVAR_LISP ("first-change-hook", &Vfirst_change_hook, 5420 DEFVAR_LISP ("first-change-hook", &Vfirst_change_hook
5427 "A list of functions to call before changing a buffer which is unmodified.\n\ 5421 /* A list of functions to call before changing a buffer which is unmodified.
5428The functions are run using the `run-hooks' function."); 5422The functions are run using the `run-hooks' function. */);
5429 Vfirst_change_hook = Qnil; 5423 Vfirst_change_hook = Qnil;
5430 5424
5431#if 0 /* The doc string is too long for some compilers, 5425 DEFVAR_PER_BUFFER ("buffer-undo-list", &current_buffer->undo_list, Qnil
5432 but make-docfile can find it in this comment. */ 5426 /* List of undo entries in current buffer.
5433 DEFVAR_PER_BUFFER ("buffer-undo-list", &current_buffer->undo_list, Qnil, 5427Recent changes come first; older changes follow newer.
5434 "List of undo entries in current buffer.\n\ 5428
5435Recent changes come first; older changes follow newer.\n\ 5429An entry (BEG . END) represents an insertion which begins at
5436\n\ 5430position BEG and ends at position END.
5437An entry (BEG . END) represents an insertion which begins at\n\ 5431
5438position BEG and ends at position END.\n\ 5432An entry (TEXT . POSITION) represents the deletion of the string TEXT
5439\n\ 5433from (abs POSITION). If POSITION is positive, point was at the front
5440An entry (TEXT . POSITION) represents the deletion of the string TEXT\n\ 5434of the text being deleted; if negative, point was at the end.
5441from (abs POSITION). If POSITION is positive, point was at the front\n\ 5435
5442of the text being deleted; if negative, point was at the end.\n\ 5436An entry (t HIGH . LOW) indicates that the buffer previously had
5443\n\ 5437\"unmodified\" status. HIGH and LOW are the high and low 16-bit portions
5444An entry (t HIGH . LOW) indicates that the buffer previously had\n\ 5438of the visited file's modification time, as of that time. If the
5445\"unmodified\" status. HIGH and LOW are the high and low 16-bit portions\n\ 5439modification time of the most recent save is different, this entry is
5446of the visited file's modification time, as of that time. If the\n\ 5440obsolete.
5447modification time of the most recent save is different, this entry is\n\ 5441
5448obsolete.\n\ 5442An entry (nil PROPERTY VALUE BEG . END) indicates that a text property
5449\n\ 5443was modified between BEG and END. PROPERTY is the property name,
5450An entry (nil PROPERTY VALUE BEG . END) indicates that a text property\n\ 5444and VALUE is the old value.
5451was modified between BEG and END. PROPERTY is the property name,\n\ 5445
5452and VALUE is the old value.\n\ 5446An entry (MARKER . DISTANCE) indicates that the marker MARKER
5453\n\ 5447was adjusted in position by the offset DISTANCE (an integer).
5454An entry (MARKER . DISTANCE) indicates that the marker MARKER\n\ 5448
5455was adjusted in position by the offset DISTANCE (an integer).\n\ 5449An entry of the form POSITION indicates that point was at the buffer
5456\n\ 5450location given by the integer. Undoing an entry of this form places
5457An entry of the form POSITION indicates that point was at the buffer\n\ 5451point at POSITION.
5458location given by the integer. Undoing an entry of this form places\n\ 5452
5459point at POSITION.\n\ 5453nil marks undo boundaries. The undo command treats the changes
5460\n\ 5454between two undo boundaries as a single step to be undone.
5461nil marks undo boundaries. The undo command treats the changes\n\ 5455
5462between two undo boundaries as a single step to be undone.\n\ 5456If the value of the variable is t, undo information is not recorded. */);
5463\n\ 5457
5464If the value of the variable is t, undo information is not recorded."); 5458 DEFVAR_PER_BUFFER ("mark-active", &current_buffer->mark_active, Qnil
5465#endif 5459 /* Non-nil means the mark and region are currently active in this buffer. */);
5466 DEFVAR_PER_BUFFER ("buffer-undo-list", &current_buffer->undo_list, Qnil, 5460
5467 0); 5461 DEFVAR_PER_BUFFER ("cache-long-line-scans", &current_buffer->cache_long_line_scans, Qnil
5468 5462 /* Non-nil means that Emacs should use caches to handle long lines more quickly.
5469 DEFVAR_PER_BUFFER ("mark-active", &current_buffer->mark_active, Qnil, 5463
5470 "Non-nil means the mark and region are currently active in this buffer."); 5464Normally, the line-motion functions work by scanning the buffer for
5471 5465newlines. Columnar operations (like move-to-column and
5472 DEFVAR_PER_BUFFER ("cache-long-line-scans", &current_buffer->cache_long_line_scans, Qnil, 5466compute-motion) also work by scanning the buffer, summing character
5473 "Non-nil means that Emacs should use caches to handle long lines more quickly.\n\ 5467widths as they go. This works well for ordinary text, but if the
5474\n\ 5468buffer's lines are very long (say, more than 500 characters), these
5475Normally, the line-motion functions work by scanning the buffer for\n\ 5469motion functions will take longer to execute. Emacs may also take
5476newlines. Columnar operations (like move-to-column and\n\ 5470longer to update the display.
5477compute-motion) also work by scanning the buffer, summing character\n\ 5471
5478widths as they go. This works well for ordinary text, but if the\n\ 5472If cache-long-line-scans is non-nil, these motion functions cache the
5479buffer's lines are very long (say, more than 500 characters), these\n\ 5473results of their scans, and consult the cache to avoid rescanning
5480motion functions will take longer to execute. Emacs may also take\n\ 5474regions of the buffer until the text is modified. The caches are most
5481longer to update the display.\n\ 5475beneficial when they prevent the most searching---that is, when the
5482\n\ 5476buffer contains long lines and large regions of characters with the
5483If cache-long-line-scans is non-nil, these motion functions cache the\n\ 5477same, fixed screen width.
5484results of their scans, and consult the cache to avoid rescanning\n\ 5478
5485regions of the buffer until the text is modified. The caches are most\n\ 5479When cache-long-line-scans is non-nil, processing short lines will
5486beneficial when they prevent the most searching---that is, when the\n\ 5480become slightly slower (because of the overhead of consulting the
5487buffer contains long lines and large regions of characters with the\n\ 5481cache), and the caches will use memory roughly proportional to the
5488same, fixed screen width.\n\ 5482number of newlines and characters whose screen width varies.
5489\n\ 5483
5490When cache-long-line-scans is non-nil, processing short lines will\n\ 5484The caches require no explicit maintenance; their accuracy is
5491become slightly slower (because of the overhead of consulting the\n\ 5485maintained internally by the Emacs primitives. Enabling or disabling
5492cache), and the caches will use memory roughly proportional to the\n\ 5486the cache should not affect the behavior of any of the motion
5493number of newlines and characters whose screen width varies.\n\ 5487functions; it should only affect their performance. */);
5494\n\ 5488
5495The caches require no explicit maintenance; their accuracy is\n\ 5489 DEFVAR_PER_BUFFER ("point-before-scroll", &current_buffer->point_before_scroll, Qnil
5496maintained internally by the Emacs primitives. Enabling or disabling\n\ 5490 /* Value of point before the last series of scroll operations, or nil. */);
5497the cache should not affect the behavior of any of the motion\n\ 5491
5498functions; it should only affect their performance."); 5492 DEFVAR_PER_BUFFER ("buffer-file-format", &current_buffer->file_format, Qnil
5499 5493 /* List of formats to use when saving this buffer.
5500 DEFVAR_PER_BUFFER ("point-before-scroll", &current_buffer->point_before_scroll, Qnil, 5494Formats are defined by `format-alist'. This variable is
5501 "Value of point before the last series of scroll operations, or nil."); 5495set when a file is visited. Automatically local in all buffers. */);
5502
5503 DEFVAR_PER_BUFFER ("buffer-file-format", &current_buffer->file_format, Qnil,
5504 "List of formats to use when saving this buffer.\n\
5505Formats are defined by `format-alist'. This variable is\n\
5506set when a file is visited. Automatically local in all buffers.");
5507 5496
5508 DEFVAR_PER_BUFFER ("buffer-invisibility-spec", 5497 DEFVAR_PER_BUFFER ("buffer-invisibility-spec",
5509 &current_buffer->invisibility_spec, Qnil, 5498 &current_buffer->invisibility_spec, Qnil
5510 "Invisibility spec of this buffer.\n\ 5499 /* Invisibility spec of this buffer.
5511The default is t, which means that text is invisible\n\ 5500The default is t, which means that text is invisible
5512if it has a non-nil `invisible' property.\n\ 5501if it has a non-nil `invisible' property.
5513If the value is a list, a text character is invisible if its `invisible'\n\ 5502If the value is a list, a text character is invisible if its `invisible'
5514property is an element in that list.\n\ 5503property is an element in that list.
5515If an element is a cons cell of the form (PROP . ELLIPSIS),\n\ 5504If an element is a cons cell of the form (PROP . ELLIPSIS),
5516then characters with property value PROP are invisible,\n\ 5505then characters with property value PROP are invisible,
5517and they have an ellipsis as well if ELLIPSIS is non-nil."); 5506and they have an ellipsis as well if ELLIPSIS is non-nil. */);
5518 5507
5519 DEFVAR_PER_BUFFER ("buffer-display-count", 5508 DEFVAR_PER_BUFFER ("buffer-display-count",
5520 &current_buffer->display_count, Qnil, 5509 &current_buffer->display_count, Qnil
5521 "A number incremented each time this buffer is displayed in a window.\n\ 5510 /* A number incremented each time this buffer is displayed in a window.
5522The function `set-window-buffer increments it."); 5511The function `set-window-buffer' increments it. */);
5523 5512
5524 DEFVAR_PER_BUFFER ("buffer-display-time", 5513 DEFVAR_PER_BUFFER ("buffer-display-time",
5525 &current_buffer->display_time, Qnil, 5514 &current_buffer->display_time, Qnil
5526 "Time stamp updated each time this buffer is displayed in a window.\n\ 5515 /* Time stamp updated each time this buffer is displayed in a window.
5527The function `set-window-buffer' updates this variable\n\ 5516The function `set-window-buffer' updates this variable
5528to the value obtained by calling `current-time'.\n\ 5517to the value obtained by calling `current-time'.
5529If the buffer has never been shown in a window, the value is nil."); 5518If the buffer has never been shown in a window, the value is nil. */);
5530 5519
5531 DEFVAR_LISP ("transient-mark-mode", &Vtransient_mark_mode, 5520 DEFVAR_LISP ("transient-mark-mode", &Vtransient_mark_mode
5532 "*Non-nil means deactivate the mark when the buffer contents change.\n\ 5521 /* *Non-nil means deactivate the mark when the buffer contents change.
5533Non-nil also enables highlighting of the region whenever the mark is active.\n\ 5522Non-nil also enables highlighting of the region whenever the mark is active.
5534The variable `highlight-nonselected-windows' controls whether to highlight\n\ 5523The variable `highlight-nonselected-windows' controls whether to highlight
5535all windows or just the selected window."); 5524all windows or just the selected window. */);
5536 Vtransient_mark_mode = Qnil; 5525 Vtransient_mark_mode = Qnil;
5537 5526
5538 DEFVAR_LISP ("inhibit-read-only", &Vinhibit_read_only, 5527 DEFVAR_LISP ("inhibit-read-only", &Vinhibit_read_only
5539 "*Non-nil means disregard read-only status of buffers or characters.\n\ 5528 /* *Non-nil means disregard read-only status of buffers or characters.
5540If the value is t, disregard `buffer-read-only' and all `read-only'\n\ 5529If the value is t, disregard `buffer-read-only' and all `read-only'
5541text properties. If the value is a list, disregard `buffer-read-only'\n\ 5530text properties. If the value is a list, disregard `buffer-read-only'
5542and disregard a `read-only' text property if the property value\n\ 5531and disregard a `read-only' text property if the property value
5543is a member of the list."); 5532is a member of the list. */);
5544 Vinhibit_read_only = Qnil; 5533 Vinhibit_read_only = Qnil;
5545 5534
5546 DEFVAR_PER_BUFFER ("cursor-type", &current_buffer->cursor_type, Qnil, 5535 DEFVAR_PER_BUFFER ("cursor-type", &current_buffer->cursor_type, Qnil
5547 "Cursor to use in window displaying this buffer.\n\ 5536 /* Cursor to use in window displaying this buffer.
5548Values are interpreted as follows:\n\ 5537Values are interpreted as follows:
5549\n\ 5538
5550 t use the cursor specified for the frame\n\ 5539 t use the cursor specified for the frame
5551 nil don't display a cursor\n\ 5540 nil don't display a cursor
5552 `bar' display a bar cursor with default width\n\ 5541 `bar' display a bar cursor with default width
5553 (bar . WIDTH) display a bar cursor with width WIDTH\n\ 5542 (bar . WIDTH) display a bar cursor with width WIDTH
5554 others display a box cursor."); 5543 others display a box cursor. */);
5555 5544
5556 DEFVAR_PER_BUFFER ("line-spacing", 5545 DEFVAR_PER_BUFFER ("line-spacing",
5557 &current_buffer->extra_line_spacing, Qnil, 5546 &current_buffer->extra_line_spacing, Qnil
5558 "Additional space to put between lines when displaying a buffer.\n\ 5547 /* Additional space to put between lines when displaying a buffer.
5559The space is measured in pixels, and put below lines on window systems."); 5548The space is measured in pixels, and put below lines on window systems. */);
5560 5549
5561 DEFVAR_LISP ("kill-buffer-query-functions", &Vkill_buffer_query_functions, 5550 DEFVAR_LISP ("kill-buffer-query-functions", &Vkill_buffer_query_functions
5562 "List of functions called with no args to query before killing a buffer."); 5551 /* List of functions called with no args to query before killing a buffer. */);
5563 Vkill_buffer_query_functions = Qnil; 5552 Vkill_buffer_query_functions = Qnil;
5564 5553
5565 defsubr (&Sbuffer_live_p); 5554 defsubr (&Sbuffer_live_p);