Mercurial > emacs
comparison src/buffer.c @ 39971:820d9cd6761a
Put doc strings in comments.
| author | Pavel Jan?k <Pavel@Janik.cz> |
|---|---|
| date | Mon, 15 Oct 2001 20:51:37 +0000 |
| parents | efbac46c874c |
| children | 579177964efa |
comparison
equal
deleted
inserted
replaced
| 39970:68ccba559c4b | 39971:820d9cd6761a |
|---|---|
| 37 #endif /* not MAXPATHLEN */ | 37 #endif /* not MAXPATHLEN */ |
| 38 | 38 |
| 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" |
| 45 #include "commands.h" | 46 #include "commands.h" |
| 46 #include "buffer.h" | 47 #include "buffer.h" |
| 195 error ("No buffer named %s", XSTRING (spec)->data); | 196 error ("No buffer named %s", XSTRING (spec)->data); |
| 196 error ("Invalid buffer argument"); | 197 error ("Invalid buffer argument"); |
| 197 } | 198 } |
| 198 | 199 |
| 199 DEFUN ("buffer-live-p", Fbuffer_live_p, Sbuffer_live_p, 1, 1, 0, | 200 DEFUN ("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. |
| 201 Value is nil if OBJECT is not a buffer or if it has been killed.") | 202 Value 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)) |
| 206 ? Qt : Qnil); | 207 ? Qt : Qnil); |
| 207 } | 208 } |
| 208 | 209 |
| 209 DEFUN ("buffer-list", Fbuffer_list, Sbuffer_list, 0, 1, 0, | 210 DEFUN ("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. |
| 211 If the optional arg FRAME is a frame, we return that frame's buffer list.") | 212 If 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; |
| 216 general = Fmapcar (Qcdr, Vbuffer_alist); | 217 general = Fmapcar (Qcdr, Vbuffer_alist); |
| 217 | 218 |
| 256 } | 257 } |
| 257 return Qnil; | 258 return Qnil; |
| 258 } | 259 } |
| 259 | 260 |
| 260 DEFUN ("get-buffer", Fget_buffer, Sget_buffer, 1, 1, 0, | 261 DEFUN ("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). |
| 262 If there is no live buffer named NAME, return nil.\n\ | 263 If there is no live buffer named NAME, return nil. |
| 263 NAME may also be a buffer; if so, the value is that buffer.") | 264 NAME 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)) |
| 268 return name; | 269 return name; |
| 269 CHECK_STRING (name, 0); | 270 CHECK_STRING (name, 0); |
| 270 | 271 |
| 271 return Fcdr (assoc_ignore_text_properties (name, Vbuffer_alist)); | 272 return Fcdr (assoc_ignore_text_properties (name, Vbuffer_alist)); |
| 272 } | 273 } |
| 273 | 274 |
| 274 DEFUN ("get-file-buffer", Fget_file_buffer, Sget_file_buffer, 1, 1, 0, | 275 DEFUN ("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). |
| 276 The buffer's `buffer-file-name' must match exactly the expansion of FILENAME.\n\ | 277 The buffer's `buffer-file-name' must match exactly the expansion of FILENAME. |
| 277 If there is no such live buffer, return nil.\n\ | 278 If there is no such live buffer, return nil. |
| 278 See also `find-buffer-visiting'.") | 279 See 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; |
| 283 Lisp_Object handler; | 284 Lisp_Object handler; |
| 284 | 285 |
| 323 | 324 |
| 324 /* Incremented for each buffer created, to assign the buffer number. */ | 325 /* Incremented for each buffer created, to assign the buffer number. */ |
| 325 int buffer_count; | 326 int buffer_count; |
| 326 | 327 |
| 327 DEFUN ("get-buffer-create", Fget_buffer_create, Sget_buffer_create, 1, 1, 0, | 328 DEFUN ("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. |
| 329 A new buffer is created if there is no live buffer named NAME.\n\ | 330 A new buffer is created if there is no live buffer named NAME. |
| 330 If NAME starts with a space, the new buffer does not keep undo information.\n\ | 331 If NAME starts with a space, the new buffer does not keep undo information. |
| 331 If NAME is a buffer instead of a string, then it is the value returned.\n\ | 332 If NAME is a buffer instead of a string, then it is the value returned. |
| 332 The value is never nil.") | 333 The 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; |
| 337 register struct buffer *b; | 338 register struct buffer *b; |
| 338 | 339 |
| 503 | 504 |
| 504 | 505 |
| 505 DEFUN ("make-indirect-buffer", Fmake_indirect_buffer, Smake_indirect_buffer, | 506 DEFUN ("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. |
| 509 BASE-BUFFER should be an existing buffer (or buffer name).\n\ | 510 BASE-BUFFER should be an existing buffer (or buffer name). |
| 510 NAME should be a string which is not the name of an existing buffer.\n\ | 511 NAME should be a string which is not the name of an existing buffer. |
| 511 Optional argument CLONE non-nil means preserve BASE-BUFFER's state,\n\ | 512 Optional argument CLONE non-nil means preserve BASE-BUFFER's state, |
| 512 such as major and minor modes, in the indirect buffer.\n\ | 513 such as major and minor modes, in the indirect buffer. |
| 513 CLONE nil means the indirect buffer's state is reset to default values.") | 514 CLONE 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; |
| 518 struct buffer *b; | 519 struct buffer *b; |
| 519 | 520 |
| 722 and set-visited-file-name ought to be able to use this to really | 723 and set-visited-file-name ought to be able to use this to really |
| 723 rename the buffer properly. */ | 724 rename the buffer properly. */ |
| 724 | 725 |
| 725 DEFUN ("generate-new-buffer-name", Fgenerate_new_buffer_name, Sgenerate_new_buffer_name, | 726 DEFUN ("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. |
| 728 If there is no live buffer named NAME, then return NAME.\n\ | 729 If there is no live buffer named NAME, then return NAME. |
| 729 Otherwise modify name by appending `<NUMBER>', incrementing NUMBER\n\ | 730 Otherwise modify name by appending `<NUMBER>', incrementing NUMBER |
| 730 until an unused name is found, and then return that name.\n\ | 731 until an unused name is found, and then return that name. |
| 731 Optional second argument IGNORE specifies a name that is okay to use\n\ | 732 Optional 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) |
| 733 even if a buffer with that name exists.") | 734 even 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; |
| 738 int count; | 739 int count; |
| 739 char number[10]; | 740 char number[10]; |
| 758 } | 759 } |
| 759 } | 760 } |
| 760 | 761 |
| 761 | 762 |
| 762 DEFUN ("buffer-name", Fbuffer_name, Sbuffer_name, 0, 1, 0, | 763 DEFUN ("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. |
| 764 With no argument or nil as argument, return the name of the current buffer.") | 765 With 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)) |
| 769 return current_buffer->name; | 770 return current_buffer->name; |
| 770 CHECK_BUFFER (buffer, 0); | 771 CHECK_BUFFER (buffer, 0); |
| 771 return XBUFFER (buffer)->name; | 772 return XBUFFER (buffer)->name; |
| 772 } | 773 } |
| 773 | 774 |
| 774 DEFUN ("buffer-file-name", Fbuffer_file_name, Sbuffer_file_name, 0, 1, 0, | 775 DEFUN ("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. |
| 776 No argument or nil as argument means use the current buffer.") | 777 No 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)) |
| 781 return current_buffer->filename; | 782 return current_buffer->filename; |
| 782 CHECK_BUFFER (buffer, 0); | 783 CHECK_BUFFER (buffer, 0); |
| 783 return XBUFFER (buffer)->filename; | 784 return XBUFFER (buffer)->filename; |
| 784 } | 785 } |
| 785 | 786 |
| 786 DEFUN ("buffer-base-buffer", Fbuffer_base_buffer, Sbuffer_base_buffer, | 787 DEFUN ("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. |
| 789 If BUFFER is not indirect, return nil.") | 790 If 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; |
| 794 Lisp_Object base_buffer; | 795 Lisp_Object base_buffer; |
| 795 | 796 |
| 807 return base_buffer; | 808 return base_buffer; |
| 808 } | 809 } |
| 809 | 810 |
| 810 DEFUN ("buffer-local-variables", Fbuffer_local_variables, | 811 DEFUN ("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. |
| 813 Most elements look like (SYMBOL . VALUE), describing one variable.\n\ | 814 Most elements look like (SYMBOL . VALUE), describing one variable. |
| 814 For a symbol that is locally unbound, just the symbol appears in the value.\n\ | 815 For a symbol that is locally unbound, just the symbol appears in the value. |
| 815 Note that storing new VALUEs in these elements doesn't change the variables.\n\ | 816 Note that storing new VALUEs in these elements doesn't change the variables. |
| 816 No argument or nil as argument means use current buffer as BUFFER.") | 817 No 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; |
| 821 register Lisp_Object result; | 822 register Lisp_Object result; |
| 822 | 823 |
| 879 } | 880 } |
| 880 | 881 |
| 881 | 882 |
| 882 DEFUN ("buffer-modified-p", Fbuffer_modified_p, Sbuffer_modified_p, | 883 DEFUN ("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. |
| 885 No argument or nil as argument means use current buffer as BUFFER.") | 886 No 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; |
| 890 if (NILP (buffer)) | 891 if (NILP (buffer)) |
| 891 buf = current_buffer; | 892 buf = current_buffer; |
| 898 return BUF_SAVE_MODIFF (buf) < BUF_MODIFF (buf) ? Qt : Qnil; | 899 return BUF_SAVE_MODIFF (buf) < BUF_MODIFF (buf) ? Qt : Qnil; |
| 899 } | 900 } |
| 900 | 901 |
| 901 DEFUN ("set-buffer-modified-p", Fset_buffer_modified_p, Sset_buffer_modified_p, | 902 DEFUN ("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. |
| 904 A non-nil FLAG means mark the buffer modified.") | 905 A 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; |
| 909 register Lisp_Object fn; | 910 register Lisp_Object fn; |
| 910 Lisp_Object buffer, window; | 911 Lisp_Object buffer, window; |
| 949 return flag; | 950 return flag; |
| 950 } | 951 } |
| 951 | 952 |
| 952 DEFUN ("restore-buffer-modified-p", Frestore_buffer_modified_p, | 953 DEFUN ("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. |
| 955 It is not ensured that mode lines will be updated to show the modified\n\ | 956 It is not ensured that mode lines will be updated to show the modified |
| 956 state of the current buffer. Use with care.") | 957 state 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 |
| 961 Lisp_Object fn; | 962 Lisp_Object fn; |
| 962 | 963 |
| 979 return flag; | 980 return flag; |
| 980 } | 981 } |
| 981 | 982 |
| 982 DEFUN ("buffer-modified-tick", Fbuffer_modified_tick, Sbuffer_modified_tick, | 983 DEFUN ("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. |
| 985 Each buffer has a tick counter which is incremented each time the text in\n\ | 986 Each buffer has a tick counter which is incremented each time the text in |
| 986 that buffer is changed. It wraps around occasionally.\n\ | 987 that buffer is changed. It wraps around occasionally. |
| 987 No argument or nil as argument means use current buffer as BUFFER.") | 988 No 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; |
| 992 if (NILP (buffer)) | 993 if (NILP (buffer)) |
| 993 buf = current_buffer; | 994 buf = current_buffer; |
| 1000 return make_number (BUF_MODIFF (buf)); | 1001 return make_number (BUF_MODIFF (buf)); |
| 1001 } | 1002 } |
| 1002 | 1003 |
| 1003 DEFUN ("rename-buffer", Frename_buffer, Srename_buffer, 1, 2, | 1004 DEFUN ("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). |
| 1006 If second arg UNIQUE is nil or omitted, it is an error if a\n\ | 1007 If second arg UNIQUE is nil or omitted, it is an error if a |
| 1007 buffer named NEWNAME already exists.\n\ | 1008 buffer named NEWNAME already exists. |
| 1008 If UNIQUE is non-nil, come up with a new name using\n\ | 1009 If UNIQUE is non-nil, come up with a new name using |
| 1009 `generate-new-buffer-name'.\n\ | 1010 `generate-new-buffer-name'. |
| 1010 Interactively, you can set UNIQUE with a prefix argument.\n\ | 1011 Interactively, you can set UNIQUE with a prefix argument. |
| 1011 We return the name we actually gave the buffer.\n\ | 1012 We return the name we actually gave the buffer. |
| 1012 This does not change the name of the visited file (if any).") | 1013 This 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; |
| 1017 | 1018 |
| 1018 CHECK_STRING (newname, 0); | 1019 CHECK_STRING (newname, 0); |
| 1049 /* Refetch since that last call may have done GC. */ | 1050 /* Refetch since that last call may have done GC. */ |
| 1050 return current_buffer->name; | 1051 return current_buffer->name; |
| 1051 } | 1052 } |
| 1052 | 1053 |
| 1053 DEFUN ("other-buffer", Fother_buffer, Sother_buffer, 0, 3, 0, | 1054 DEFUN ("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. |
| 1055 Buffers not visible in windows are preferred to visible buffers,\n\ | 1056 Buffers not visible in windows are preferred to visible buffers, |
| 1056 unless optional second argument VISIBLE-OK is non-nil.\n\ | 1057 unless optional second argument VISIBLE-OK is non-nil. |
| 1057 If the optional third argument FRAME is non-nil, use that frame's\n\ | 1058 If the optional third argument FRAME is non-nil, use that frame's |
| 1058 buffer list instead of the selected frame's buffer list.\n\ | 1059 buffer list instead of the selected frame's buffer list. |
| 1059 If no other buffer exists, the buffer `*scratch*' is returned.\n\ | 1060 If no other buffer exists, the buffer `*scratch*' is returned. |
| 1060 If BUFFER is omitted or nil, some interesting buffer is returned.") | 1061 If 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 (); |
| 1065 register Lisp_Object tail, buf, notsogood, tem, pred, add_ons; | 1066 register Lisp_Object tail, buf, notsogood, tem, pred, add_ons; |
| 1066 notsogood = Qnil; | 1067 notsogood = Qnil; |
| 1120 return buf; | 1121 return buf; |
| 1121 } | 1122 } |
| 1122 | 1123 |
| 1123 DEFUN ("buffer-disable-undo", Fbuffer_disable_undo, Sbuffer_disable_undo, | 1124 DEFUN ("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. |
| 1126 No argument or nil as argument means do this for the current buffer.") | 1127 No 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; |
| 1131 | 1132 |
| 1132 if (NILP (buffer)) | 1133 if (NILP (buffer)) |
| 1143 return Qnil; | 1144 return Qnil; |
| 1144 } | 1145 } |
| 1145 | 1146 |
| 1146 DEFUN ("buffer-enable-undo", Fbuffer_enable_undo, Sbuffer_enable_undo, | 1147 DEFUN ("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. |
| 1149 No argument or nil as argument means do this for the current buffer.") | 1150 No 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; |
| 1154 | 1155 |
| 1155 if (NILP (buffer)) | 1156 if (NILP (buffer)) |
| 1172 Hook to be run (by `run-hooks', which see) when a buffer is killed.\n\ | 1173 Hook to be run (by `run-hooks', which see) when a buffer is killed.\n\ |
| 1173 The buffer being killed will be current while the hook is running.\n\ | 1174 The buffer being killed will be current while the hook is running.\n\ |
| 1174 See `kill-buffer'." | 1175 See `kill-buffer'." |
| 1175 */ | 1176 */ |
| 1176 DEFUN ("kill-buffer", Fkill_buffer, Skill_buffer, 1, 1, "bKill buffer: ", | 1177 DEFUN ("kill-buffer", Fkill_buffer, Skill_buffer, 1, 1, "bKill buffer: ", |
| 1177 "Kill the buffer BUFFER.\n\ | 1178 /* Kill the buffer BUFFER. |
| 1178 The argument may be a buffer or may be the name of a buffer.\n\ | 1179 The argument may be a buffer or may be the name of a buffer. |
| 1179 An argument of nil means kill the current buffer.\n\n\ | 1180 An argument of nil means kill the current buffer. |
| 1180 Value is t if the buffer is actually killed, nil if user says no.\n\n\ | 1181 |
| 1181 The value of `kill-buffer-hook' (which may be local to that buffer),\n\ | 1182 Value is t if the buffer is actually killed, nil if user says no. |
| 1182 if not void, is a list of functions to be called, with no arguments,\n\ | 1183 |
| 1183 before the buffer is actually killed. The buffer to be killed is current\n\ | 1184 The value of `kill-buffer-hook' (which may be local to that buffer), |
| 1184 when the hook functions are called.\n\n\ | 1185 if not void, is a list of functions to be called, with no arguments, |
| 1185 Any processes that have this buffer as the `process-buffer' are killed\n\ | 1186 before the buffer is actually killed. The buffer to be killed is current |
| 1186 with SIGHUP.") | 1187 when the hook functions are called. |
| 1187 (buffer) | 1188 |
| 1189 Any processes that have this buffer as the `process-buffer' are killed | |
| 1190 with SIGHUP. */ | |
| 1191 (buffer)) | |
| 1188 Lisp_Object buffer; | 1192 Lisp_Object buffer; |
| 1189 { | 1193 { |
| 1190 Lisp_Object buf; | 1194 Lisp_Object buf; |
| 1191 register struct buffer *b; | 1195 register struct buffer *b; |
| 1192 register Lisp_Object tem; | 1196 register Lisp_Object tem; |
| 1443 else | 1447 else |
| 1444 set_frame_buffer_list (frame, Fcons (buf, frame_buffer_list (frame))); | 1448 set_frame_buffer_list (frame, Fcons (buf, frame_buffer_list (frame))); |
| 1445 } | 1449 } |
| 1446 | 1450 |
| 1447 DEFUN ("set-buffer-major-mode", Fset_buffer_major_mode, Sset_buffer_major_mode, 1, 1, 0, | 1451 DEFUN ("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'. |
| 1449 Use this function before selecting the buffer, since it may need to inspect\n\ | 1453 Use this function before selecting the buffer, since it may need to inspect |
| 1450 the current buffer's major mode.") | 1454 the 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; |
| 1455 Lisp_Object function; | 1459 Lisp_Object function; |
| 1456 | 1460 |
| 1521 | 1525 |
| 1522 return buf; | 1526 return buf; |
| 1523 } | 1527 } |
| 1524 | 1528 |
| 1525 DEFUN ("switch-to-buffer", Fswitch_to_buffer, Sswitch_to_buffer, 1, 2, "BSwitch to buffer: ", | 1529 DEFUN ("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. |
| 1527 BUFFER may be a buffer or a buffer name.\n\ | 1531 BUFFER may be a buffer or a buffer name. |
| 1528 Optional second arg NORECORD non-nil means\n\ | 1532 Optional second arg NORECORD non-nil means |
| 1529 do not put this buffer at the front of the list of recently selected ones.\n\ | 1533 do not put this buffer at the front of the list of recently selected ones. |
| 1530 \n\ | 1534 |
| 1531 WARNING: This is NOT the way to work on another buffer temporarily\n\ | 1535 WARNING: This is NOT the way to work on another buffer temporarily |
| 1532 within a Lisp program! Use `set-buffer' instead. That avoids messing with\n\ | 1536 within a Lisp program! Use `set-buffer' instead. That avoids messing with |
| 1533 the window-buffer correspondences.") | 1537 the 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; |
| 1538 | 1542 |
| 1539 err = no_switch_window (selected_window); | 1543 err = no_switch_window (selected_window); |
| 1541 | 1545 |
| 1542 return switch_to_buffer_1 (buffer, norecord); | 1546 return switch_to_buffer_1 (buffer, norecord); |
| 1543 } | 1547 } |
| 1544 | 1548 |
| 1545 DEFUN ("pop-to-buffer", Fpop_to_buffer, Spop_to_buffer, 1, 3, 0, | 1549 DEFUN ("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. |
| 1547 If BUFFER is nil, then some other buffer is chosen.\n\ | 1551 If BUFFER is nil, then some other buffer is chosen. |
| 1548 If `pop-up-windows' is non-nil, windows can be split to do this.\n\ | 1552 If `pop-up-windows' is non-nil, windows can be split to do this. |
| 1549 If optional second arg OTHER-WINDOW is non-nil, insist on finding another\n\ | 1553 If optional second arg OTHER-WINDOW is non-nil, insist on finding another |
| 1550 window even if BUFFER is already visible in the selected window.\n\ | 1554 window even if BUFFER is already visible in the selected window. |
| 1551 This uses the function `display-buffer' as a subroutine; see the documentation\n\ | 1555 This uses the function `display-buffer' as a subroutine; see the documentation |
| 1552 of `display-buffer' for additional customization information.\n\ | 1556 of `display-buffer' for additional customization information. |
| 1553 \n\ | 1557 |
| 1554 Optional third arg NORECORD non-nil means\n\ | 1558 Optional third arg NORECORD non-nil means |
| 1555 do not put this buffer at the front of the list of recently selected ones.") | 1559 do 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; |
| 1560 if (NILP (buffer)) | 1564 if (NILP (buffer)) |
| 1561 buf = Fother_buffer (Fcurrent_buffer (), Qnil, Qnil); | 1565 buf = Fother_buffer (Fcurrent_buffer (), Qnil, Qnil); |
| 1575 Fselect_window (Fdisplay_buffer (buf, other_window, Qnil)); | 1579 Fselect_window (Fdisplay_buffer (buf, other_window, Qnil)); |
| 1576 return buf; | 1580 return buf; |
| 1577 } | 1581 } |
| 1578 | 1582 |
| 1579 DEFUN ("current-buffer", Fcurrent_buffer, Scurrent_buffer, 0, 0, 0, | 1583 DEFUN ("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); |
| 1585 return buf; | 1589 return buf; |
| 1586 } | 1590 } |
| 1771 BUF_ZV_BYTE (b) = marker_byte_position (b->zv_marker); | 1775 BUF_ZV_BYTE (b) = marker_byte_position (b->zv_marker); |
| 1772 } | 1776 } |
| 1773 } | 1777 } |
| 1774 | 1778 |
| 1775 DEFUN ("set-buffer", Fset_buffer, Sset_buffer, 1, 1, 0, | 1779 DEFUN ("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. |
| 1777 BUFFER may be a buffer or the name of an existing buffer.\n\ | 1781 BUFFER may be a buffer or the name of an existing buffer. |
| 1778 See also `save-excursion' when you want to make a buffer current temporarily.\n\ | 1782 See also `save-excursion' when you want to make a buffer current temporarily. |
| 1779 This function does not display the buffer, so its effect ends\n\ | 1783 This function does not display the buffer, so its effect ends |
| 1780 when the current command terminates.\n\ | 1784 when the current command terminates. |
| 1781 Use `switch-to-buffer' or `pop-to-buffer' to switch buffers permanently.") | 1785 Use `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; |
| 1786 buf = Fget_buffer (buffer); | 1790 buf = Fget_buffer (buffer); |
| 1787 if (NILP (buf)) | 1791 if (NILP (buf)) |
| 1803 return Qnil; | 1807 return Qnil; |
| 1804 } | 1808 } |
| 1805 | 1809 |
| 1806 DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only, | 1810 DEFUN ("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)) |
| 1813 Fsignal (Qbuffer_read_only, (Fcons (Fcurrent_buffer (), Qnil))); | 1817 Fsignal (Qbuffer_read_only, (Fcons (Fcurrent_buffer (), Qnil))); |
| 1814 return Qnil; | 1818 return Qnil; |
| 1815 } | 1819 } |
| 1816 | 1820 |
| 1817 DEFUN ("bury-buffer", Fbury_buffer, Sbury_buffer, 0, 1, "", | 1821 DEFUN ("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. |
| 1819 There it is the least likely candidate for `other-buffer' to return;\n\ | 1823 There it is the least likely candidate for `other-buffer' to return; |
| 1820 thus, the least likely buffer for \\[switch-to-buffer] to select by default.\n\ | 1824 thus, the least likely buffer for \\[switch-to-buffer] to select by default. |
| 1821 If BUFFER is nil or omitted, bury the current buffer.\n\ | 1825 If BUFFER is nil or omitted, bury the current buffer. |
| 1822 Also, if BUFFER is nil or omitted, remove the current buffer from the\n\ | 1826 Also, if BUFFER is nil or omitted, remove the current buffer from the |
| 1823 selected window if it is displayed there.") | 1827 selected 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. */ |
| 1828 if (NILP (buffer)) | 1832 if (NILP (buffer)) |
| 1829 { | 1833 { |
| 1867 | 1871 |
| 1868 return Qnil; | 1872 return Qnil; |
| 1869 } | 1873 } |
| 1870 | 1874 |
| 1871 DEFUN ("erase-buffer", Ferase_buffer, Serase_buffer, 0, 0, "*", | 1875 DEFUN ("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. |
| 1873 Any narrowing restriction in effect (see `narrow-to-region') is removed,\n\ | 1877 Any narrowing restriction in effect (see `narrow-to-region') is removed, |
| 1874 so the buffer is truly empty after this.") | 1878 so the buffer is truly empty after this. */ |
| 1875 () | 1879 ()) |
| 1876 { | 1880 { |
| 1877 Fwiden (); | 1881 Fwiden (); |
| 1878 | 1882 |
| 1879 del_range (BEG, Z); | 1883 del_range (BEG, Z); |
| 1880 | 1884 |
| 1941 return byte_pos; | 1945 return byte_pos; |
| 1942 } | 1946 } |
| 1943 | 1947 |
| 1944 DEFUN ("set-buffer-multibyte", Fset_buffer_multibyte, Sset_buffer_multibyte, | 1948 DEFUN ("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. |
| 1947 If FLAG is t, this makes the buffer a multibyte buffer.\n\ | 1951 If FLAG is t, this makes the buffer a multibyte buffer. |
| 1948 If FLAG is nil, this makes the buffer a single-byte buffer.\n\ | 1952 If FLAG is nil, this makes the buffer a single-byte buffer. |
| 1949 The buffer contents remain unchanged as a sequence of bytes\n\ | 1953 The buffer contents remain unchanged as a sequence of bytes |
| 1950 but the contents viewed as characters do change.") | 1954 but 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; |
| 1955 struct buffer *other; | 1959 struct buffer *other; |
| 1956 int undo_enabled_p = !EQ (current_buffer->undo_list, Qt); | 1960 int undo_enabled_p = !EQ (current_buffer->undo_list, Qt); |
| 2194 return flag; | 2198 return flag; |
| 2195 } | 2199 } |
| 2196 | 2200 |
| 2197 DEFUN ("kill-all-local-variables", Fkill_all_local_variables, Skill_all_local_variables, | 2201 DEFUN ("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. |
| 2200 Most local variable bindings are eliminated so that the default values\n\ | 2204 Most local variable bindings are eliminated so that the default values |
| 2201 become effective once more. Also, the syntax table is set from\n\ | 2205 become 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, |
| 2203 and the abbrev table from `fundamental-mode-abbrev-table'.\n\ | 2207 and the abbrev table from `fundamental-mode-abbrev-table'. |
| 2204 This function also forces redisplay of the mode line.\n\ | 2208 This function also forces redisplay of the mode line. |
| 2205 \n\ | 2209 |
| 2206 Every function to select a new major mode starts by\n\ | 2210 Every function to select a new major mode starts by |
| 2207 calling this function.\n\n\ | 2211 calling this function. |
| 2208 As a special exception, local variables whose names have\n\ | 2212 |
| 2209 a non-nil `permanent-local' property are not eliminated by this function.\n\ | 2213 As a special exception, local variables whose names have |
| 2210 \n\ | 2214 a non-nil `permanent-local' property are not eliminated by this function. |
| 2211 The first thing this function does is run\n\ | 2215 |
| 2212 the normal hook `change-major-mode-hook'.") | 2216 The first thing this function does is run |
| 2213 () | 2217 the 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; |
| 2217 | 2222 |
| 2218 if (!NILP (Vrun_hooks)) | 2223 if (!NILP (Vrun_hooks)) |
| 3330 break; | 3335 break; |
| 3331 } | 3336 } |
| 3332 } | 3337 } |
| 3333 | 3338 |
| 3334 DEFUN ("overlayp", Foverlayp, Soverlayp, 1, 1, 0, | 3339 DEFUN ("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 |
| 3342 DEFUN ("make-overlay", Fmake_overlay, Smake_overlay, 2, 5, 0, | 3347 DEFUN ("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. |
| 3344 If omitted, BUFFER defaults to the current buffer.\n\ | 3349 If omitted, BUFFER defaults to the current buffer. |
| 3345 BEG and END may be integers or markers.\n\ | 3350 BEG and END may be integers or markers. |
| 3346 The fourth arg FRONT-ADVANCE, if non-nil, makes the\n\ | 3351 The fourth arg FRONT-ADVANCE, if non-nil, makes the |
| 3347 front delimiter advance when text is inserted there.\n\ | 3352 front delimiter advance when text is inserted there. |
| 3348 The fifth arg REAR-ADVANCE, if non-nil, makes the\n\ | 3353 The fifth arg REAR-ADVANCE, if non-nil, makes the |
| 3349 rear delimiter advance when text is inserted there.") | 3354 rear 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 { |
| 3354 Lisp_Object overlay; | 3359 Lisp_Object overlay; |
| 3355 struct buffer *b; | 3360 struct buffer *b; |
| 3431 windows_or_buffers_changed = 1; | 3436 windows_or_buffers_changed = 1; |
| 3432 | 3437 |
| 3433 ++BUF_OVERLAY_MODIFF (buf); | 3438 ++BUF_OVERLAY_MODIFF (buf); |
| 3434 } | 3439 } |
| 3435 | 3440 |
| 3436 | 3441 |
| 3437 Lisp_Object Fdelete_overlay (); | 3442 Lisp_Object Fdelete_overlay (); |
| 3438 | 3443 |
| 3439 DEFUN ("move-overlay", Fmove_overlay, Smove_overlay, 3, 4, 0, | 3444 DEFUN ("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. |
| 3441 If BUFFER is omitted, leave OVERLAY in the same buffer it inhabits now.\n\ | 3446 If BUFFER is omitted, leave OVERLAY in the same buffer it inhabits now. |
| 3442 If BUFFER is omitted, and OVERLAY is in no buffer, put it in the current\n\ | 3447 If BUFFER is omitted, and OVERLAY is in no buffer, put it in the current |
| 3443 buffer.") | 3448 buffer. */ |
| 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; |
| 3448 Lisp_Object obuffer; | 3453 Lisp_Object obuffer; |
| 3449 int count = specpdl_ptr - specpdl; | 3454 int count = specpdl_ptr - specpdl; |
| 3539 | 3544 |
| 3540 return unbind_to (count, overlay); | 3545 return unbind_to (count, overlay); |
| 3541 } | 3546 } |
| 3542 | 3547 |
| 3543 DEFUN ("delete-overlay", Fdelete_overlay, Sdelete_overlay, 1, 1, 0, | 3548 DEFUN ("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; |
| 3549 struct buffer *b; | 3554 struct buffer *b; |
| 3550 int count = specpdl_ptr - specpdl; | 3555 int count = specpdl_ptr - specpdl; |
| 3579 } | 3584 } |
| 3580 | 3585 |
| 3581 /* Overlay dissection functions. */ | 3586 /* Overlay dissection functions. */ |
| 3582 | 3587 |
| 3583 DEFUN ("overlay-start", Foverlay_start, Soverlay_start, 1, 1, 0, | 3588 DEFUN ("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); |
| 3589 | 3594 |
| 3590 return (Fmarker_position (OVERLAY_START (overlay))); | 3595 return (Fmarker_position (OVERLAY_START (overlay))); |
| 3591 } | 3596 } |
| 3592 | 3597 |
| 3593 DEFUN ("overlay-end", Foverlay_end, Soverlay_end, 1, 1, 0, | 3598 DEFUN ("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); |
| 3599 | 3604 |
| 3600 return (Fmarker_position (OVERLAY_END (overlay))); | 3605 return (Fmarker_position (OVERLAY_END (overlay))); |
| 3601 } | 3606 } |
| 3602 | 3607 |
| 3603 DEFUN ("overlay-buffer", Foverlay_buffer, Soverlay_buffer, 1, 1, 0, | 3608 DEFUN ("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); |
| 3609 | 3614 |
| 3610 return Fmarker_buffer (OVERLAY_START (overlay)); | 3615 return Fmarker_buffer (OVERLAY_START (overlay)); |
| 3611 } | 3616 } |
| 3612 | 3617 |
| 3613 DEFUN ("overlay-properties", Foverlay_properties, Soverlay_properties, 1, 1, 0, | 3618 DEFUN ("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. |
| 3615 This is a copy of OVERLAY's plist; modifying its conses has no effect on\n\ | 3620 This is a copy of OVERLAY's plist; modifying its conses has no effect on |
| 3616 OVERLAY.") | 3621 OVERLAY. */ |
| 3617 (overlay) | 3622 (overlay)) |
| 3618 Lisp_Object overlay; | 3623 Lisp_Object overlay; |
| 3619 { | 3624 { |
| 3620 CHECK_OVERLAY (overlay, 0); | 3625 CHECK_OVERLAY (overlay, 0); |
| 3621 | 3626 |
| 3622 return Fcopy_sequence (XOVERLAY (overlay)->plist); | 3627 return Fcopy_sequence (XOVERLAY (overlay)->plist); |
| 3623 } | 3628 } |
| 3624 | 3629 |
| 3625 | 3630 |
| 3626 DEFUN ("overlays-at", Foverlays_at, Soverlays_at, 1, 1, 0, | 3631 DEFUN ("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; |
| 3632 Lisp_Object *overlay_vec; | 3637 Lisp_Object *overlay_vec; |
| 3633 int len; | 3638 int len; |
| 3650 xfree (overlay_vec); | 3655 xfree (overlay_vec); |
| 3651 return result; | 3656 return result; |
| 3652 } | 3657 } |
| 3653 | 3658 |
| 3654 DEFUN ("overlays-in", Foverlays_in, Soverlays_in, 2, 2, 0, | 3659 DEFUN ("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. |
| 3656 Overlap means that at least one character is contained within the overlay\n\ | 3661 Overlap means that at least one character is contained within the overlay |
| 3657 and also contained within the specified region.\n\ | 3662 and also contained within the specified region. |
| 3658 Empty overlays are included in the result if they are located at BEG\n\ | 3663 Empty overlays are included in the result if they are located at BEG |
| 3659 or between BEG and END.") | 3664 or 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; |
| 3664 Lisp_Object *overlay_vec; | 3669 Lisp_Object *overlay_vec; |
| 3665 int len; | 3670 int len; |
| 3683 return result; | 3688 return result; |
| 3684 } | 3689 } |
| 3685 | 3690 |
| 3686 DEFUN ("next-overlay-change", Fnext_overlay_change, Snext_overlay_change, | 3691 DEFUN ("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. |
| 3689 If there are no more overlay boundaries after POS, return (point-max).") | 3694 If 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; |
| 3694 int endpos; | 3699 int endpos; |
| 3695 Lisp_Object *overlay_vec; | 3700 Lisp_Object *overlay_vec; |
| 3724 return make_number (endpos); | 3729 return make_number (endpos); |
| 3725 } | 3730 } |
| 3726 | 3731 |
| 3727 DEFUN ("previous-overlay-change", Fprevious_overlay_change, | 3732 DEFUN ("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. |
| 3730 If there are no more overlay boundaries before POS, return (point-min).") | 3735 If 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; |
| 3735 int prevpos; | 3740 int prevpos; |
| 3736 Lisp_Object *overlay_vec; | 3741 Lisp_Object *overlay_vec; |
| 3757 } | 3762 } |
| 3758 | 3763 |
| 3759 /* These functions are for debugging overlays. */ | 3764 /* These functions are for debugging overlays. */ |
| 3760 | 3765 |
| 3761 DEFUN ("overlay-lists", Foverlay_lists, Soverlay_lists, 0, 0, 0, | 3766 DEFUN ("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. |
| 3763 The car has all the overlays before the overlay center;\n\ | 3768 The car has all the overlays before the overlay center; |
| 3764 the cdr has all the overlays after the overlay center.\n\ | 3769 the cdr has all the overlays after the overlay center. |
| 3765 Recentering overlays moves overlays between these lists.\n\ | 3770 Recentering overlays moves overlays between these lists. |
| 3766 The lists you get are copies, so that changing them has no effect.\n\ | 3771 The lists you get are copies, so that changing them has no effect. |
| 3767 However, the overlays you get are the real objects that the buffer uses.") | 3772 However, 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; |
| 3772 if (CONSP (before)) | 3777 if (CONSP (before)) |
| 3773 before = Fcopy_sequence (before); | 3778 before = Fcopy_sequence (before); |
| 3777 | 3782 |
| 3778 return Fcons (before, after); | 3783 return Fcons (before, after); |
| 3779 } | 3784 } |
| 3780 | 3785 |
| 3781 DEFUN ("overlay-recenter", Foverlay_recenter, Soverlay_recenter, 1, 1, 0, | 3786 DEFUN ("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); |
| 3787 | 3792 |
| 3788 recenter_overlay_lists (current_buffer, XINT (pos)); | 3793 recenter_overlay_lists (current_buffer, XINT (pos)); |
| 3789 return Qnil; | 3794 return Qnil; |
| 3790 } | 3795 } |
| 3791 | 3796 |
| 3792 DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0, | 3797 DEFUN ("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; |
| 3798 | 3803 |
| 3799 CHECK_OVERLAY (overlay, 0); | 3804 CHECK_OVERLAY (overlay, 0); |
| 3817 | 3822 |
| 3818 return fallback; | 3823 return fallback; |
| 3819 } | 3824 } |
| 3820 | 3825 |
| 3821 DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0, | 3826 DEFUN ("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; |
| 3827 int changed; | 3832 int changed; |
| 3828 | 3833 |
| 4995 | 5000 |
| 4996 /* All these use DEFVAR_LISP_NOPRO because the slots in | 5001 /* All these use DEFVAR_LISP_NOPRO because the slots in |
| 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. |
| 5002 This is the same as (default-value 'mode-line-format)."); | 5007 This 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. |
| 5007 This is the same as (default-value 'header-line-format)."); | 5012 This 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. |
| 5011 This is the same as (default-value 'cursor-type)."); | 5016 This 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. |
| 5016 This is the same as (default-value 'line-spacing)."); | 5021 This 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. |
| 5021 This is the same as (default-value 'abbrev-mode)."); | 5026 This 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. |
| 5026 This is the same as (default-value 'ctl-arrow)."); | 5031 This 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)."); | 5036 This 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. |
| 5036 This is the same as (default-value 'enable-multibyte-characters)."); | 5041 This 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. |
| 5041 This is the same as (default-value 'buffer-file-coding-system)."); | 5046 This 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. |
| 5046 This is the same as (default-value 'truncate-lines)."); | 5051 This 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. |
| 5051 This is the same as (default-value 'fill-column)."); | 5056 This 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. |
| 5056 This is the same as (default-value 'left-margin)."); | 5061 This 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. |
| 5061 This is the same as (default-value 'tab-width)."); | 5066 This 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. |
| 5066 This is the same as (default-value 'case-fold-search)."); | 5071 This 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. |
| 5072 This is the same as (default-value 'buffer-file-type).\n\ | 5077 This is the same as (default-value 'buffer-file-type). |
| 5073 The file type is nil for text, t for binary."); | 5078 The 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. |
| 5079 This is the same as (default-value 'left-margin-width)."); | 5084 This 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. |
| 5084 This is the same as (default-value 'right-margin-width)."); | 5089 This 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. |
| 5089 This is the same as (default-value 'indicate-empty-lines)."); | 5094 This 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 |
| 5094 don't override it. This is the same as (default-value\n\ | 5099 don'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 |
| 5100 don't override it. This is the same as (default-value\n\ | 5105 don'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 ¤t_buffer->header_line_format, | 5109 ¤t_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 |
| 5107 displayed at the top of a window."); | 5112 displayed at the top of a window. */); |
| 5108 | 5113 |
| 5109 DEFVAR_PER_BUFFER ("mode-line-format", ¤t_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", ¤t_buffer->mode_line_format, | 5114 DEFVAR_PER_BUFFER ("mode-line-format", ¤t_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. |
| 5117 Each buffer has its own value of this variable.\n\ | 5117 Each buffer has its own value of this variable. |
| 5118 Value may be nil, a string, a symbol or a list or cons cell.\n\ | 5118 Value may be nil, a string, a symbol or a list or cons cell. |
| 5119 A value of nil means don't display a mode line.\n\ | 5119 A value of nil means don't display a mode line. |
| 5120 For a symbol, its value is used (but it is ignored if t or nil).\n\ | 5120 For 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. |
| 5123 For a list of the form `(:eval FORM)', FORM is evaluated and the result\n\ | 5123 For 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. |
| 5125 For a list whose car is a symbol, the symbol's value is taken,\n\ | 5125 For 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. |
| 5128 For a list whose car is a string or list, each element is processed\n\ | 5128 For 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. |
| 5130 For a list whose car is an integer, the cdr of the list is processed\n\ | 5130 For 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. |
| 5133 A string is printed verbatim in the mode line except for %-constructs:\n\ | 5133 A 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. |
| 5155 Decimal digits after the % specify field width to which to pad."); | 5155 Decimal 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\ | 5159 nil here means use current buffer's major mode. */); |
| 5160 nil here means use current buffer's major mode."); | |
| 5161 | 5160 |
| 5162 DEFVAR_PER_BUFFER ("major-mode", ¤t_buffer->major_mode, | 5161 DEFVAR_PER_BUFFER ("major-mode", ¤t_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", ¤t_buffer->mode_name, | 5165 DEFVAR_PER_BUFFER ("mode-name", ¤t_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", ¤t_buffer->abbrev_mode, Qnil, | 5169 DEFVAR_PER_BUFFER ("abbrev-mode", ¤t_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", ¤t_buffer->case_fold_search, | 5172 DEFVAR_PER_BUFFER ("case-fold-search", ¤t_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", ¤t_buffer->fill_column, | 5176 DEFVAR_PER_BUFFER ("fill-column", ¤t_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", ¤t_buffer->left_margin, | 5180 DEFVAR_PER_BUFFER ("left-margin", ¤t_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. |
| 5184 Linefeed indents to this column in Fundamental mode."); | 5183 Linefeed indents to this column in Fundamental mode. */); |
| 5185 | 5184 |
| 5186 DEFVAR_PER_BUFFER ("tab-width", ¤t_buffer->tab_width, | 5185 DEFVAR_PER_BUFFER ("tab-width", ¤t_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", ¤t_buffer->ctl_arrow, Qnil, | 5189 DEFVAR_PER_BUFFER ("ctl-arrow", ¤t_buffer->ctl_arrow, Qnil |
| 5191 "*Non-nil means display control chars with uparrow.\n\ | 5190 /* *Non-nil means display control chars with uparrow. |
| 5192 A value of nil means use backslash and octal digits.\n\ | 5191 A value of nil means use backslash and octal digits. |
| 5193 This variable does not apply to characters whose display is specified\n\ | 5192 This variable does not apply to characters whose display is specified |
| 5194 in the current display table (if there is one)."); | 5193 in 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 ¤t_buffer->enable_multibyte_characters, | 5196 ¤t_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. |
| 5200 Otherwise they are regarded as unibyte. This affects the display,\n\ | 5199 Otherwise they are regarded as unibyte. This affects the display, |
| 5201 file I/O and the behavior of various editing commands.\n\ | 5200 file I/O and the behavior of various editing commands. |
| 5202 \n\ | 5201 |
| 5203 This variable is buffer-local but you cannot set it directly;\n\ | 5202 This variable is buffer-local but you cannot set it directly; |
| 5204 use the function `set-buffer-multibyte' to change a buffer's representation.\n\ | 5203 use the function `set-buffer-multibyte' to change a buffer's representation. |
| 5205 Changing its default value with `setq-default' is supported.\n\ | 5204 Changing its default value with `setq-default' is supported. |
| 5206 See also variable `default-enable-multibyte-characters' and Info node\n\ | 5205 See 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 ¤t_buffer->buffer_file_coding_system, Qnil, | 5209 ¤t_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. |
| 5212 This variable applies to saving the buffer, and also to `write-region'\n\ | 5211 This variable applies to saving the buffer, and also to `write-region' |
| 5213 and other functions that use `write-region'.\n\ | 5212 and other functions that use `write-region'. |
| 5214 It does not apply to sending output to subprocesses, however.\n\ | 5213 It does not apply to sending output to subprocesses, however. |
| 5215 \n\ | 5214 |
| 5216 If this is nil, the buffer is saved without any code conversion\n\ | 5215 If this is nil, the buffer is saved without any code conversion |
| 5217 unless some coding system is specified in `file-coding-system-alist'\n\ | 5216 unless some coding system is specified in `file-coding-system-alist' |
| 5218 for the buffer file.\n\ | 5217 for the buffer file. |
| 5219 \n\ | 5218 |
| 5220 The variable `coding-system-for-write', if non-nil, overrides this variable.\n\ | 5219 The variable `coding-system-for-write', if non-nil, overrides this variable. |
| 5221 \n\ | 5220 |
| 5222 This variable is never applied to a way of decoding a file while reading it."); | 5221 This variable is never applied to a way of decoding a file while reading it. */); |
| 5223 | 5222 |
| 5224 DEFVAR_PER_BUFFER ("direction-reversed", ¤t_buffer->direction_reversed, | 5223 DEFVAR_PER_BUFFER ("direction-reversed", ¤t_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", ¤t_buffer->truncate_lines, Qnil, | 5227 DEFVAR_PER_BUFFER ("truncate-lines", ¤t_buffer->truncate_lines, Qnil |
| 5229 "*Non-nil means do not display continuation lines;\n\ | 5228 /* *Non-nil means do not display continuation lines; |
| 5230 give each line of text one screen line.\n\ | 5229 give each line of text one screen line. |
| 5231 \n\ | 5230 |
| 5232 Note that this is overridden by the variable\n\ | 5231 Note 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 |
| 5234 and this buffer is not full-frame width."); | 5233 and this buffer is not full-frame width. */); |
| 5235 | 5234 |
| 5236 #ifdef DOS_NT | 5235 #ifdef DOS_NT |
| 5237 DEFVAR_PER_BUFFER ("buffer-file-type", ¤t_buffer->buffer_file_type, | 5236 DEFVAR_PER_BUFFER ("buffer-file-type", ¤t_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. |
| 5240 This variable is meaningful on MS-DOG and Windows NT.\n\ | 5239 This variable is meaningful on MS-DOG and Windows NT. |
| 5241 On those systems, it is automatically local in every buffer.\n\ | 5240 On those systems, it is automatically local in every buffer. |
| 5242 On other systems, this variable is normally always nil."); | 5241 On other systems, this variable is normally always nil. */); |
| 5243 #endif | 5242 #endif |
| 5244 | 5243 |
| 5245 DEFVAR_PER_BUFFER ("default-directory", ¤t_buffer->directory, | 5244 DEFVAR_PER_BUFFER ("default-directory", ¤t_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. |
| 5248 To interactively change the default directory, use command `cd'."); | 5247 To interactively change the default directory, use command `cd'. */); |
| 5249 | 5248 |
| 5250 DEFVAR_PER_BUFFER ("auto-fill-function", ¤t_buffer->auto_fill_function, | 5249 DEFVAR_PER_BUFFER ("auto-fill-function", ¤t_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. |
| 5253 It is called after self-inserting any character specified in\n\ | 5252 It is called after self-inserting any character specified in |
| 5254 the `auto-fill-chars' table.\n\ | 5253 the `auto-fill-chars' table. |
| 5255 NOTE: This variable is not a hook;\n\ | 5254 NOTE: This variable is not a hook; |
| 5256 its value may not be a list of functions."); | 5255 its value may not be a list of functions. */); |
| 5257 | 5256 |
| 5258 DEFVAR_PER_BUFFER ("buffer-file-name", ¤t_buffer->filename, | 5257 DEFVAR_PER_BUFFER ("buffer-file-name", ¤t_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", ¤t_buffer->file_truename, | 5261 DEFVAR_PER_BUFFER ("buffer-file-truename", ¤t_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. |
| 5265 The truename of a file is calculated by `file-truename'\n\ | 5264 The truename of a file is calculated by `file-truename' |
| 5266 and then abbreviated with `abbreviate-file-name'."); | 5265 and 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 ¤t_buffer->auto_save_file_name, | 5268 ¤t_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, |
| 5272 or nil if buffer should not be auto-saved."); | 5271 or nil if buffer should not be auto-saved. */); |
| 5273 | 5272 |
| 5274 DEFVAR_PER_BUFFER ("buffer-read-only", ¤t_buffer->read_only, Qnil, | 5273 DEFVAR_PER_BUFFER ("buffer-read-only", ¤t_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", ¤t_buffer->backed_up, Qnil, | 5276 DEFVAR_PER_BUFFER ("buffer-backed-up", ¤t_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. |
| 5279 Backing up is done before the first time the file is saved."); | 5278 Backing up is done before the first time the file is saved. */); |
| 5280 | 5279 |
| 5281 DEFVAR_PER_BUFFER ("buffer-saved-size", ¤t_buffer->save_length, | 5280 DEFVAR_PER_BUFFER ("buffer-saved-size", ¤t_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. |
| 5284 0 initially."); | 5283 0 initially. */); |
| 5285 | 5284 |
| 5286 DEFVAR_PER_BUFFER ("selective-display", ¤t_buffer->selective_display, | 5285 DEFVAR_PER_BUFFER ("selective-display", ¤t_buffer->selective_display, |
| 5287 Qnil, | 5286 Qnil |
| 5288 "Non-nil enables selective display:\n\ | 5287 /* Non-nil enables selective display: |
| 5289 Integer N as value means display only lines\n\ | 5288 Integer 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. |
| 5291 A value of t means, after a ^M, all the rest of the line is invisible.\n\ | 5290 A 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 ¤t_buffer->selective_display_ellipses, | 5295 ¤t_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", ¤t_buffer->overwrite_mode, Qnil, | 5300 DEFVAR_PER_BUFFER ("overwrite-mode", ¤t_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. |
| 5303 The value should be one of `overwrite-mode-textual',\n\ | 5302 The value should be one of `overwrite-mode-textual', |
| 5304 `overwrite-mode-binary', or nil.\n\ | 5303 `overwrite-mode-binary', or nil. |
| 5305 If it is `overwrite-mode-textual', self-insertion still\n\ | 5304 If it is `overwrite-mode-textual', self-insertion still |
| 5306 inserts at the end of a line, and inserts when point is before a tab,\n\ | 5305 inserts at the end of a line, and inserts when point is before a tab, |
| 5307 until the tab is filled in.\n\ | 5306 until the tab is filled in. |
| 5308 If `overwrite-mode-binary', self-insertion replaces newlines and tabs too."); | 5307 If `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", ¤t_buffer->display_table, | 5309 DEFVAR_PER_BUFFER ("buffer-display-table", ¤t_buffer->display_table, |
| 5313 Qnil, | 5310 Qnil |
| 5314 "Display table that controls display of the contents of current buffer.\n\ | 5311 /* Display table that controls display of the contents of current buffer. |
| 5315 \n\ | 5312 |
| 5316 If this variable is nil, the value of `standard-display-table' is used.\n\ | 5313 If this variable is nil, the value of `standard-display-table' is used. |
| 5317 Each window can have its own, overriding display table, see\n\ | 5314 Each window can have its own, overriding display table, see |
| 5318 `set-window-display-table' and `window-display-table'.\n\ | 5315 `set-window-display-table' and `window-display-table'. |
| 5319 \n\ | 5316 |
| 5320 The display table is a char-table created with `make-display-table'.\n\ | 5317 The display table is a char-table created with `make-display-table'. |
| 5321 A char-table is an array indexed by character codes. Normal array\n\ | 5318 A char-table is an array indexed by character codes. Normal array |
| 5322 primitives `aref' and `aset' can be used to access elements of a char-table.\n\ | 5319 primitives `aref' and `aset' can be used to access elements of a char-table. |
| 5323 \n\ | 5320 |
| 5324 Each of the char-table elements control how to display the corresponding\n\ | 5321 Each of the char-table elements control how to display the corresponding |
| 5325 text character: the element at index C in the table says how to display\n\ | 5322 text character: the element at index C in the table says how to display |
| 5326 the character whose code is C. Each element should be a vector of\n\ | 5323 the character whose code is C. Each element should be a vector of |
| 5327 characters or nil. nil means display the character in the default fashion;\n\ | 5324 characters or nil. nil means display the character in the default fashion; |
| 5328 otherwise, the characters from the vector are delivered to the screen\n\ | 5325 otherwise, the characters from the vector are delivered to the screen |
| 5329 instead of the original character.\n\ | 5326 instead of the original character. |
| 5330 \n\ | 5327 |
| 5331 For example, (aset buffer-display-table ?X ?Y) will cause Emacs to display\n\ | 5328 For example, (aset buffer-display-table ?X ?Y) will cause Emacs to display |
| 5332 a capital Y instead of each X character.\n\ | 5329 a capital Y instead of each X character. |
| 5333 \n\ | 5330 |
| 5334 In addition, a char-table has six extra slots to control the display of:\n\ | 5331 In addition, a char-table has six extra slots to control the display of: |
| 5335 \n\ | 5332 |
| 5336 the end of a truncated screen line (extra-slot 0, a single character);\n\ | 5333 the end of a truncated screen line (extra-slot 0, a single character); |
| 5337 the end of a continued line (extra-slot 1, a single character);\n\ | 5334 the end of a continued line (extra-slot 1, a single character); |
| 5338 the escape character used to display character codes in octal\n\ | 5335 the escape character used to display character codes in octal |
| 5339 (extra-slot 2, a single character);\n\ | 5336 (extra-slot 2, a single character); |
| 5340 the character used as an arrow for control characters (extra-slot 3,\n\ | 5337 the character used as an arrow for control characters (extra-slot 3, |
| 5341 a single character);\n\ | 5338 a single character); |
| 5342 the decoration indicating the presence of invisible lines (extra-slot 4,\n\ | 5339 the decoration indicating the presence of invisible lines (extra-slot 4, |
| 5343 a vector of characters);\n\ | 5340 a vector of characters); |
| 5344 the character used to draw the border between side-by-side windows\n\ | 5341 the character used to draw the border between side-by-side windows |
| 5345 (extra-slot 5, a single character).\n\ | 5342 (extra-slot 5, a single character). |
| 5346 \n\ | 5343 |
| 5347 See also the functions `display-table-slot' and `set-display-table-slot'."); | 5344 See also the functions `display-table-slot' and `set-display-table-slot'. */); |
| 5348 #endif | |
| 5349 DEFVAR_PER_BUFFER ("buffer-display-table", ¤t_buffer->display_table, | |
| 5350 Qnil, 0); | |
| 5351 | 5345 |
| 5352 DEFVAR_PER_BUFFER ("left-margin-width", ¤t_buffer->left_margin_width, | 5346 DEFVAR_PER_BUFFER ("left-margin-width", ¤t_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. |
| 5355 A value of nil means no marginal area."); | 5349 A value of nil means no marginal area. */); |
| 5356 | 5350 |
| 5357 DEFVAR_PER_BUFFER ("right-margin-width", ¤t_buffer->right_margin_width, | 5351 DEFVAR_PER_BUFFER ("right-margin-width", ¤t_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. |
| 5360 A value of nil means no marginal area."); | 5354 A value of nil means no marginal area. */); |
| 5361 | 5355 |
| 5362 DEFVAR_PER_BUFFER ("indicate-empty-lines", | 5356 DEFVAR_PER_BUFFER ("indicate-empty-lines", |
| 5363 ¤t_buffer->indicate_empty_lines, Qnil, | 5357 ¤t_buffer->indicate_empty_lines, Qnil |
| 5364 "*Visually indicate empty lines after the buffer end.\n\ | 5358 /* *Visually indicate empty lines after the buffer end. |
| 5365 If non-nil, a bitmap is displayed in the left fringe of a window on\n\ | 5359 If non-nil, a bitmap is displayed in the left fringe of a window on |
| 5366 window-systems."); | 5360 window-systems. */); |
| 5367 | 5361 |
| 5368 DEFVAR_PER_BUFFER ("scroll-up-aggressively", | 5362 DEFVAR_PER_BUFFER ("scroll-up-aggressively", |
| 5369 ¤t_buffer->scroll_up_aggressively, Qnil, | 5363 ¤t_buffer->scroll_up_aggressively, Qnil |
| 5370 "*If a number, scroll display up aggressively.\n\ | 5364 /* *If a number, scroll display up aggressively. |
| 5371 If scrolling a window because point is above the window start, choose\n\ | 5365 If scrolling a window because point is above the window start, choose |
| 5372 a new window start so that point ends up that fraction of the window's\n\ | 5366 a new window start so that point ends up that fraction of the window's |
| 5373 height from the top of the window."); | 5367 height from the top of the window. */); |
| 5374 | 5368 |
| 5375 DEFVAR_PER_BUFFER ("scroll-down-aggressively", | 5369 DEFVAR_PER_BUFFER ("scroll-down-aggressively", |
| 5376 ¤t_buffer->scroll_down_aggressively, Qnil, | 5370 ¤t_buffer->scroll_down_aggressively, Qnil |
| 5377 "*If a number, scroll display down aggressively.\n\ | 5371 /* *If a number, scroll display down aggressively. |
| 5378 If scrolling a window because point is below the window end, choose\n\ | 5372 If scrolling a window because point is below the window end, choose |
| 5379 a new window start so that point ends up that fraction of the window's\n\ | 5373 a new window start so that point ends up that fraction of the window's |
| 5380 height from the bottom of the window."); | 5374 height 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. |
| 5388 Two arguments are passed to each function: the positions of\n\ | 5382 Two arguments are passed to each function: the positions of |
| 5389 the beginning and end of the range of old text to be changed.\n\ | 5383 the 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.) |
| 5391 No information is given about the length of the text after the change.\n\ | 5385 No information is given about the length of the text after the change. |
| 5392 \n\ | 5386 |
| 5393 Buffer changes made while executing the `before-change-functions'\n\ | 5387 Buffer changes made while executing the `before-change-functions' |
| 5394 don't call any before-change or after-change functions.\n\ | 5388 don't call any before-change or after-change functions. |
| 5395 That's because these variables are temporarily set to nil.\n\ | 5389 That's because these variables are temporarily set to nil. |
| 5396 As a result, a hook function cannot straightforwardly alter the value of\n\ | 5390 As a result, a hook function cannot straightforwardly alter the value of |
| 5397 these variables. See the Emacs Lisp manual for a way of\n\ | 5391 these variables. See the Emacs Lisp manual for a way of |
| 5398 accomplishing an equivalent result by using other variables.\n\ | 5392 accomplishing an equivalent result by using other variables. |
| 5399 \n\ | 5393 |
| 5400 If an unhandled error happens in running these functions,\n\ | 5394 If an unhandled error happens in running these functions, |
| 5401 the variable's value remains nil. That prevents the error\n\ | 5395 the variable's value remains nil. That prevents the error |
| 5402 from happening repeatedly and making Emacs nonfunctional."); | 5396 from 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. |
| 5407 Three arguments are passed to each function: the positions of\n\ | 5401 Three arguments are passed to each function: the positions of |
| 5408 the beginning and end of the range of changed text,\n\ | 5402 the beginning and end of the range of changed text, |
| 5409 and the length in bytes of the pre-change text replaced by that range.\n\ | 5403 and 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; |
| 5411 for a deletion, that length is the number of bytes deleted,\n\ | 5405 for a deletion, that length is the number of bytes deleted, |
| 5412 and the post-change beginning and end are at the same place.)\n\ | 5406 and the post-change beginning and end are at the same place.) |
| 5413 \n\ | 5407 |
| 5414 Buffer changes made while executing the `after-change-functions'\n\ | 5408 Buffer changes made while executing the `after-change-functions' |
| 5415 don't call any before-change or after-change functions.\n\ | 5409 don't call any before-change or after-change functions. |
| 5416 That's because these variables are temporarily set to nil.\n\ | 5410 That's because these variables are temporarily set to nil. |
| 5417 As a result, a hook function cannot straightforwardly alter the value of\n\ | 5411 As a result, a hook function cannot straightforwardly alter the value of |
| 5418 these variables. See the Emacs Lisp manual for a way of\n\ | 5412 these variables. See the Emacs Lisp manual for a way of |
| 5419 accomplishing an equivalent result by using other variables.\n\ | 5413 accomplishing an equivalent result by using other variables. |
| 5420 \n\ | 5414 |
| 5421 If an unhandled error happens in running these functions,\n\ | 5415 If an unhandled error happens in running these functions, |
| 5422 the variable's value remains nil. That prevents the error\n\ | 5416 the variable's value remains nil. That prevents the error |
| 5423 from happening repeatedly and making Emacs nonfunctional."); | 5417 from 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. |
| 5428 The functions are run using the `run-hooks' function."); | 5422 The 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", ¤t_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", ¤t_buffer->undo_list, Qnil, | 5427 Recent changes come first; older changes follow newer. |
| 5434 "List of undo entries in current buffer.\n\ | 5428 |
| 5435 Recent changes come first; older changes follow newer.\n\ | 5429 An entry (BEG . END) represents an insertion which begins at |
| 5436 \n\ | 5430 position BEG and ends at position END. |
| 5437 An entry (BEG . END) represents an insertion which begins at\n\ | 5431 |
| 5438 position BEG and ends at position END.\n\ | 5432 An entry (TEXT . POSITION) represents the deletion of the string TEXT |
| 5439 \n\ | 5433 from (abs POSITION). If POSITION is positive, point was at the front |
| 5440 An entry (TEXT . POSITION) represents the deletion of the string TEXT\n\ | 5434 of the text being deleted; if negative, point was at the end. |
| 5441 from (abs POSITION). If POSITION is positive, point was at the front\n\ | 5435 |
| 5442 of the text being deleted; if negative, point was at the end.\n\ | 5436 An 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 |
| 5444 An entry (t HIGH . LOW) indicates that the buffer previously had\n\ | 5438 of 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\ | 5439 modification time of the most recent save is different, this entry is |
| 5446 of the visited file's modification time, as of that time. If the\n\ | 5440 obsolete. |
| 5447 modification time of the most recent save is different, this entry is\n\ | 5441 |
| 5448 obsolete.\n\ | 5442 An entry (nil PROPERTY VALUE BEG . END) indicates that a text property |
| 5449 \n\ | 5443 was modified between BEG and END. PROPERTY is the property name, |
| 5450 An entry (nil PROPERTY VALUE BEG . END) indicates that a text property\n\ | 5444 and VALUE is the old value. |
| 5451 was modified between BEG and END. PROPERTY is the property name,\n\ | 5445 |
| 5452 and VALUE is the old value.\n\ | 5446 An entry (MARKER . DISTANCE) indicates that the marker MARKER |
| 5453 \n\ | 5447 was adjusted in position by the offset DISTANCE (an integer). |
| 5454 An entry (MARKER . DISTANCE) indicates that the marker MARKER\n\ | 5448 |
| 5455 was adjusted in position by the offset DISTANCE (an integer).\n\ | 5449 An entry of the form POSITION indicates that point was at the buffer |
| 5456 \n\ | 5450 location given by the integer. Undoing an entry of this form places |
| 5457 An entry of the form POSITION indicates that point was at the buffer\n\ | 5451 point at POSITION. |
| 5458 location given by the integer. Undoing an entry of this form places\n\ | 5452 |
| 5459 point at POSITION.\n\ | 5453 nil marks undo boundaries. The undo command treats the changes |
| 5460 \n\ | 5454 between two undo boundaries as a single step to be undone. |
| 5461 nil marks undo boundaries. The undo command treats the changes\n\ | 5455 |
| 5462 between two undo boundaries as a single step to be undone.\n\ | 5456 If the value of the variable is t, undo information is not recorded. */); |
| 5463 \n\ | 5457 |
| 5464 If the value of the variable is t, undo information is not recorded."); | 5458 DEFVAR_PER_BUFFER ("mark-active", ¤t_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", ¤t_buffer->undo_list, Qnil, | 5460 |
| 5467 0); | 5461 DEFVAR_PER_BUFFER ("cache-long-line-scans", ¤t_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", ¤t_buffer->mark_active, Qnil, | 5463 |
| 5470 "Non-nil means the mark and region are currently active in this buffer."); | 5464 Normally, the line-motion functions work by scanning the buffer for |
| 5471 | 5465 newlines. Columnar operations (like move-to-column and |
| 5472 DEFVAR_PER_BUFFER ("cache-long-line-scans", ¤t_buffer->cache_long_line_scans, Qnil, | 5466 compute-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\ | 5467 widths as they go. This works well for ordinary text, but if the |
| 5474 \n\ | 5468 buffer's lines are very long (say, more than 500 characters), these |
| 5475 Normally, the line-motion functions work by scanning the buffer for\n\ | 5469 motion functions will take longer to execute. Emacs may also take |
| 5476 newlines. Columnar operations (like move-to-column and\n\ | 5470 longer to update the display. |
| 5477 compute-motion) also work by scanning the buffer, summing character\n\ | 5471 |
| 5478 widths as they go. This works well for ordinary text, but if the\n\ | 5472 If cache-long-line-scans is non-nil, these motion functions cache the |
| 5479 buffer's lines are very long (say, more than 500 characters), these\n\ | 5473 results of their scans, and consult the cache to avoid rescanning |
| 5480 motion functions will take longer to execute. Emacs may also take\n\ | 5474 regions of the buffer until the text is modified. The caches are most |
| 5481 longer to update the display.\n\ | 5475 beneficial when they prevent the most searching---that is, when the |
| 5482 \n\ | 5476 buffer contains long lines and large regions of characters with the |
| 5483 If cache-long-line-scans is non-nil, these motion functions cache the\n\ | 5477 same, fixed screen width. |
| 5484 results of their scans, and consult the cache to avoid rescanning\n\ | 5478 |
| 5485 regions of the buffer until the text is modified. The caches are most\n\ | 5479 When cache-long-line-scans is non-nil, processing short lines will |
| 5486 beneficial when they prevent the most searching---that is, when the\n\ | 5480 become slightly slower (because of the overhead of consulting the |
| 5487 buffer contains long lines and large regions of characters with the\n\ | 5481 cache), and the caches will use memory roughly proportional to the |
| 5488 same, fixed screen width.\n\ | 5482 number of newlines and characters whose screen width varies. |
| 5489 \n\ | 5483 |
| 5490 When cache-long-line-scans is non-nil, processing short lines will\n\ | 5484 The caches require no explicit maintenance; their accuracy is |
| 5491 become slightly slower (because of the overhead of consulting the\n\ | 5485 maintained internally by the Emacs primitives. Enabling or disabling |
| 5492 cache), and the caches will use memory roughly proportional to the\n\ | 5486 the cache should not affect the behavior of any of the motion |
| 5493 number of newlines and characters whose screen width varies.\n\ | 5487 functions; it should only affect their performance. */); |
| 5494 \n\ | 5488 |
| 5495 The caches require no explicit maintenance; their accuracy is\n\ | 5489 DEFVAR_PER_BUFFER ("point-before-scroll", ¤t_buffer->point_before_scroll, Qnil |
| 5496 maintained internally by the Emacs primitives. Enabling or disabling\n\ | 5490 /* Value of point before the last series of scroll operations, or nil. */); |
| 5497 the cache should not affect the behavior of any of the motion\n\ | 5491 |
| 5498 functions; it should only affect their performance."); | 5492 DEFVAR_PER_BUFFER ("buffer-file-format", ¤t_buffer->file_format, Qnil |
| 5499 | 5493 /* List of formats to use when saving this buffer. |
| 5500 DEFVAR_PER_BUFFER ("point-before-scroll", ¤t_buffer->point_before_scroll, Qnil, | 5494 Formats are defined by `format-alist'. This variable is |
| 5501 "Value of point before the last series of scroll operations, or nil."); | 5495 set when a file is visited. Automatically local in all buffers. */); |
| 5502 | |
| 5503 DEFVAR_PER_BUFFER ("buffer-file-format", ¤t_buffer->file_format, Qnil, | |
| 5504 "List of formats to use when saving this buffer.\n\ | |
| 5505 Formats are defined by `format-alist'. This variable is\n\ | |
| 5506 set 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 ¤t_buffer->invisibility_spec, Qnil, | 5498 ¤t_buffer->invisibility_spec, Qnil |
| 5510 "Invisibility spec of this buffer.\n\ | 5499 /* Invisibility spec of this buffer. |
| 5511 The default is t, which means that text is invisible\n\ | 5500 The default is t, which means that text is invisible |
| 5512 if it has a non-nil `invisible' property.\n\ | 5501 if it has a non-nil `invisible' property. |
| 5513 If the value is a list, a text character is invisible if its `invisible'\n\ | 5502 If the value is a list, a text character is invisible if its `invisible' |
| 5514 property is an element in that list.\n\ | 5503 property is an element in that list. |
| 5515 If an element is a cons cell of the form (PROP . ELLIPSIS),\n\ | 5504 If an element is a cons cell of the form (PROP . ELLIPSIS), |
| 5516 then characters with property value PROP are invisible,\n\ | 5505 then characters with property value PROP are invisible, |
| 5517 and they have an ellipsis as well if ELLIPSIS is non-nil."); | 5506 and 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 ¤t_buffer->display_count, Qnil, | 5509 ¤t_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. |
| 5522 The function `set-window-buffer increments it."); | 5511 The function `set-window-buffer' increments it. */); |
| 5523 | 5512 |
| 5524 DEFVAR_PER_BUFFER ("buffer-display-time", | 5513 DEFVAR_PER_BUFFER ("buffer-display-time", |
| 5525 ¤t_buffer->display_time, Qnil, | 5514 ¤t_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. |
| 5527 The function `set-window-buffer' updates this variable\n\ | 5516 The function `set-window-buffer' updates this variable |
| 5528 to the value obtained by calling `current-time'.\n\ | 5517 to the value obtained by calling `current-time'. |
| 5529 If the buffer has never been shown in a window, the value is nil."); | 5518 If 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. |
| 5533 Non-nil also enables highlighting of the region whenever the mark is active.\n\ | 5522 Non-nil also enables highlighting of the region whenever the mark is active. |
| 5534 The variable `highlight-nonselected-windows' controls whether to highlight\n\ | 5523 The variable `highlight-nonselected-windows' controls whether to highlight |
| 5535 all windows or just the selected window."); | 5524 all 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. |
| 5540 If the value is t, disregard `buffer-read-only' and all `read-only'\n\ | 5529 If the value is t, disregard `buffer-read-only' and all `read-only' |
| 5541 text properties. If the value is a list, disregard `buffer-read-only'\n\ | 5530 text properties. If the value is a list, disregard `buffer-read-only' |
| 5542 and disregard a `read-only' text property if the property value\n\ | 5531 and disregard a `read-only' text property if the property value |
| 5543 is a member of the list."); | 5532 is a member of the list. */); |
| 5544 Vinhibit_read_only = Qnil; | 5533 Vinhibit_read_only = Qnil; |
| 5545 | 5534 |
| 5546 DEFVAR_PER_BUFFER ("cursor-type", ¤t_buffer->cursor_type, Qnil, | 5535 DEFVAR_PER_BUFFER ("cursor-type", ¤t_buffer->cursor_type, Qnil |
| 5547 "Cursor to use in window displaying this buffer.\n\ | 5536 /* Cursor to use in window displaying this buffer. |
| 5548 Values are interpreted as follows:\n\ | 5537 Values 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 ¤t_buffer->extra_line_spacing, Qnil, | 5546 ¤t_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. |
| 5559 The space is measured in pixels, and put below lines on window systems."); | 5548 The 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); |
| 5566 defsubr (&Sbuffer_list); | 5555 defsubr (&Sbuffer_list); |
| 5567 defsubr (&Sget_buffer); | 5556 defsubr (&Sget_buffer); |
