changeset 1022:f7e3bac23a06

(internal_self_insert): Ignore value of Fexpand_abbrev; instead, check whether buf is modified when it returns.
author Richard M. Stallman <rms@gnu.org>
date Wed, 19 Aug 1992 07:00:42 +0000
parents 22f807391bec
children d31e1e0844aa
files src/cmds.c
diffstat 1 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/cmds.c	Wed Aug 19 07:00:25 1992 +0000
+++ b/src/cmds.c	Wed Aug 19 07:00:42 1992 +0000
@@ -256,6 +256,12 @@
   return Qnil;
 }
 
+/* Insert character C1.  If NOAUTOFILL is nonzero, don't do autofill
+   even if it is enabled.
+
+   If this insertion is suitable for direct output (completely simple),
+   return 0.  A value of 1 indicates this *might* not have been simple.  */
+
 internal_self_insert (c1, noautofill)
      char c1;
      int noautofill;
@@ -284,8 +290,11 @@
       && NILP (current_buffer->read_only)
       && point > BEGV && SYNTAX (FETCH_CHAR (point - 1)) == Sword)
     {
-      tem = Fexpand_abbrev ();
-      if (!NILP (tem))
+      Fexpand_abbrev ();
+      /* We can't trust the value of Fexpand_abbrev,
+	 but if the buffer is now changed, this is "hairy"
+	 and not suitable for direct output.  */
+      if (MODIFF <= current_buffer->save_modified)
 	hairy = 1;
     }
   if ((c == ' ' || c == '\n')