Mercurial > emacs
comparison src/buffer.c @ 3481:56424e6245c2
(syms_of_buffer): Set up Lisp var inhibit-read-only.
(Vinhibit_read_only): Declared.
(Fbarf_if_buffer_read_only): Check Vinhibit_read_only.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Fri, 04 Jun 1993 18:08:07 +0000 |
| parents | aa78c7babb8e |
| children | 78b4e6241f85 |
comparison
equal
deleted
inserted
replaced
| 3480:9784ebc37245 | 3481:56424e6245c2 |
|---|---|
| 109 /* Functions to call before and after each text change. */ | 109 /* Functions to call before and after each text change. */ |
| 110 Lisp_Object Vbefore_change_function; | 110 Lisp_Object Vbefore_change_function; |
| 111 Lisp_Object Vafter_change_function; | 111 Lisp_Object Vafter_change_function; |
| 112 | 112 |
| 113 Lisp_Object Vtransient_mark_mode; | 113 Lisp_Object Vtransient_mark_mode; |
| 114 | |
| 115 /* t means ignore all read-only text properties. | |
| 116 A list means ignore such a property if its value is a member of the list. | |
| 117 Any non-nil value means ignore buffer-read-only. */ | |
| 118 Lisp_Object Vinhibit_read_only; | |
| 114 | 119 |
| 115 /* List of functions to call before changing an unmodified buffer. */ | 120 /* List of functions to call before changing an unmodified buffer. */ |
| 116 Lisp_Object Vfirst_change_hook; | 121 Lisp_Object Vfirst_change_hook; |
| 117 Lisp_Object Qfirst_change_hook; | 122 Lisp_Object Qfirst_change_hook; |
| 118 | 123 |
| 937 DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only, | 942 DEFUN ("barf-if-buffer-read-only", Fbarf_if_buffer_read_only, |
| 938 Sbarf_if_buffer_read_only, 0, 0, 0, | 943 Sbarf_if_buffer_read_only, 0, 0, 0, |
| 939 "Signal a `buffer-read-only' error if the current buffer is read-only.") | 944 "Signal a `buffer-read-only' error if the current buffer is read-only.") |
| 940 () | 945 () |
| 941 { | 946 { |
| 942 while (!NILP (current_buffer->read_only)) | 947 if (!NILP (current_buffer->read_only) |
| 948 && NILP (Vinhibit_read_only)) | |
| 943 Fsignal (Qbuffer_read_only, (Fcons (Fcurrent_buffer (), Qnil))); | 949 Fsignal (Qbuffer_read_only, (Fcons (Fcurrent_buffer (), Qnil))); |
| 944 return Qnil; | 950 return Qnil; |
| 945 } | 951 } |
| 946 | 952 |
| 947 DEFUN ("bury-buffer", Fbury_buffer, Sbury_buffer, 0, 1, "", | 953 DEFUN ("bury-buffer", Fbury_buffer, Sbury_buffer, 0, 1, "", |
| 2311 | 2317 |
| 2312 DEFVAR_LISP ("transient-mark-mode", &Vtransient_mark_mode, | 2318 DEFVAR_LISP ("transient-mark-mode", &Vtransient_mark_mode, |
| 2313 "*Non-nil means deactivate the mark when the buffer contents change."); | 2319 "*Non-nil means deactivate the mark when the buffer contents change."); |
| 2314 Vtransient_mark_mode = Qnil; | 2320 Vtransient_mark_mode = Qnil; |
| 2315 | 2321 |
| 2322 DEFVAR_LISP ("inhibit-read-only", &Vinhibit_read_only | |
| 2323 "*Non-nil means disregard read-only status of buffers or characters.\n\ | |
| 2324 If the value is t, disregard `buffer-read-only' and all `read-only'\n\ | |
| 2325 text properties. If the value is a list, disregard `buffer-read-only'\n\ | |
| 2326 and disregard a `read-only' text property if the property value\n\ | |
| 2327 is a member of the list."); | |
| 2328 Vinhibit_read_only = Qnil; | |
| 2329 | |
| 2316 defsubr (&Sbuffer_list); | 2330 defsubr (&Sbuffer_list); |
| 2317 defsubr (&Sget_buffer); | 2331 defsubr (&Sget_buffer); |
| 2318 defsubr (&Sget_file_buffer); | 2332 defsubr (&Sget_file_buffer); |
| 2319 defsubr (&Sget_buffer_create); | 2333 defsubr (&Sget_buffer_create); |
| 2320 defsubr (&Sgenerate_new_buffer_name); | 2334 defsubr (&Sgenerate_new_buffer_name); |
