From 4c6e656ffe07bdacbe441d3f37fd5eeb74476fba Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Wed, 19 Aug 1992 07:00:42 +0000 Subject: (internal_self_insert): Ignore value of Fexpand_abbrev; instead, check whether buf is modified when it returns. --- src/cmds.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/cmds.c') diff --git a/src/cmds.c b/src/cmds.c index 915c185bafc..691a60f5cc0 100644 --- a/src/cmds.c +++ b/src/cmds.c @@ -256,6 +256,12 @@ In Auto Fill mode, if no numeric arg, break the preceding line if it's long.") 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 @@ internal_self_insert (c1, noautofill) && 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') -- cgit v1.2.1