summaryrefslogtreecommitdiff
path: root/src/cmds.c
diff options
context:
space:
mode:
authorJim Blandy <jimb@redhat.com>1993-03-16 18:18:05 +0000
committerJim Blandy <jimb@redhat.com>1993-03-16 18:18:05 +0000
commit33db68dc9d6e2a5eaca48785a84bd4a1ce399a0a (patch)
tree8cc7c91464646ab22267cb1c62f52ba836ce3e79 /src/cmds.c
parent01478010c154c93e376f81adc17be869654961e2 (diff)
downloademacs-33db68dc9d6e2a5eaca48785a84bd4a1ce399a0a.tar.gz
* cmds.c (overwrite_binary_mode): Deleted; this implements the
wrong feature. (Qoverwrite_mode_binary): New variable. (internal_self_insert): If current_buffer->overwrite_mode is `overwrite-mode-binary', do as overwrite_binary_mode used to. (syms_of_cmds): Remove defvar of overwrite_binary_mode; initialize Qoverwrite_mode_binary. * buffer.c (syms_of_buffer): Doc fix for overwrite_mode. * buffer.h (struct buffer): Doc fix.
Diffstat (limited to 'src/cmds.c')
-rw-r--r--src/cmds.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/cmds.c b/src/cmds.c
index 9dfd2b48a8f..e81d7c61e59 100644
--- a/src/cmds.c
+++ b/src/cmds.c
@@ -26,7 +26,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
Lisp_Object Qkill_forward_chars, Qkill_backward_chars, Vblink_paren_function;
-int overwrite_binary_mode;
+/* A possible value for a buffer's overwrite-mode variable. */
+Lisp_Object Qoverwrite_mode_binary;
+
DEFUN ("forward-char", Fforward_char, Sforward_char, 0, 1, "p",
"Move point right ARG characters (left if ARG negative).\n\
@@ -273,14 +275,16 @@ internal_self_insert (c1, noautofill)
Lisp_Object tem;
register enum syntaxcode synt;
register int c = c1;
+ Lisp_Object overwrite = current_buffer->overwrite_mode;
if (!NILP (Vbefore_change_function) || !NILP (Vafter_change_function))
hairy = 1;
- if (!NILP (current_buffer->overwrite_mode)
+ if (!NILP (overwrite)
&& point < ZV
- && (overwrite_binary_mode || (c != '\n' && FETCH_CHAR (point) != '\n'))
- && (overwrite_binary_mode
+ && (EQ (overwrite, Qoverwrite_mode_binary)
+ || (c != '\n' && FETCH_CHAR (point) != '\n'))
+ && (EQ (overwrite, Qoverwrite_mode_binary)
|| FETCH_CHAR (point) != '\t'
|| XINT (current_buffer->tab_width) <= 0
|| XFASTINT (current_buffer->tab_width) > 20
@@ -336,11 +340,8 @@ syms_of_cmds ()
Qkill_forward_chars = intern ("kill-forward-chars");
staticpro (&Qkill_forward_chars);
- DEFVAR_BOOL ("overwrite-binary-mode", &overwrite_binary_mode,
- "*Non-nil means overwrite mode treats tab and newline normally.\n\
-Ordinarily, overwriting preserves a tab until its whole width is overwritten\n\
-and never replaces a newline.");
- overwrite_binary_mode = 1;
+ Qoverwrite_mode_binary = intern ("overwrite-mode-binary");
+ staticpro (&Qoverwrite_mode_binary);
DEFVAR_LISP ("blink-paren-function", &Vblink_paren_function,
"Function called, if non-nil, whenever a close parenthesis is inserted.\n\