(internal_self_insert): Check the property
authorRichard M. Stallman <rms@gnu.org>
Thu, 2 Jan 1997 02:30:33 +0000 (02:30 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 2 Jan 1997 02:30:33 +0000 (02:30 +0000)
on the hook, not on the abbrev symbol.

src/cmds.c

index 2e6464b..db05b38 100644 (file)
@@ -325,11 +325,13 @@ internal_self_insert (c1, noautofill)
       sym = Fexpand_abbrev ();
 
       /* If we expanded an abbrev which has only a hook,
+        and the hook has a non-nil `no-self-insert' property,
         return right away--don't really self-insert.  */
-      if (! NILP (sym) && ! NILP (XSYMBOL (sym)->function))
+      if (! NILP (sym) && ! NILP (XSYMBOL (sym)->function)
+         && SYMBOLP (XSYMBOL (sym)->function))
        {
          Lisp_Object prop;
-         prop = Fget (sym, intern ("no-self-insert"));
+         prop = Fget (XSYMBOL (sym)->function, intern ("no-self-insert"));
          if (! NILP (prop))
            return Qnil;
        }