/[emacs]/emacs/src/keymap.c
ViewVC logotype

Diff of /emacs/src/keymap.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.248 by pj, Fri Nov 23 07:02:19 2001 UTC revision 1.249 by monnier, Mon Nov 26 22:30:21 2001 UTC
# Line 589  access_keymap (map, idx, t_ok, noinherit Line 589  access_keymap (map, idx, t_ok, noinherit
589              /* Character codes with modifiers              /* Character codes with modifiers
590                 are not included in a char-table.                 are not included in a char-table.
591                 All character codes without modifiers are included.  */                 All character codes without modifiers are included.  */
592              if (NATNUMP (idx)              if (NATNUMP (idx) && (XFASTINT (idx) & CHAR_MODIFIER_MASK) == 0)
593                  && (XFASTINT (idx) & CHAR_MODIFIER_MASK) == 0)                {
594                val = Faref (binding, idx);                  val = Faref (binding, idx);
595                    /* `nil' has a special meaning for char-tables, so
596                       we use something else to record an explicitly
597                       unbound entry.  */
598                    if (NILP (val))
599                      val = Qunbound;
600                  }
601            }            }
602    
603          /* If we found a binding, clean it up and return it.  */          /* If we found a binding, clean it up and return it.  */
604          if (!EQ (val, Qunbound))          if (!EQ (val, Qunbound))
605            {            {
606                if (EQ (val, Qt))
607                  /* A Qt binding is just like an explicit nil binding
608                     (i.e. it shadows any parent binding but not bindings in
609                     keymaps of lower precedence).  */
610                  val = Qnil;
611              val = get_keyelt (val, autoload);              val = get_keyelt (val, autoload);
612              if (KEYMAPP (val))              if (KEYMAPP (val))
613                fix_submap_inheritance (map, idx, val);                fix_submap_inheritance (map, idx, val);
# Line 765  store_in_keymap (keymap, idx, def) Line 776  store_in_keymap (keymap, idx, def)
776              /* Character codes with modifiers              /* Character codes with modifiers
777                 are not included in a char-table.                 are not included in a char-table.
778                 All character codes without modifiers are included.  */                 All character codes without modifiers are included.  */
779              if (NATNUMP (idx)              if (NATNUMP (idx) && !(XFASTINT (idx) & CHAR_MODIFIER_MASK))
                 && ! (XFASTINT (idx)  
                       & (CHAR_ALT | CHAR_SUPER | CHAR_HYPER  
                          | CHAR_SHIFT | CHAR_CTL | CHAR_META)))  
780                {                {
781                  Faset (elt, idx, def);                  Faset (elt, idx,
782                           /* `nil' has a special meaning for char-tables, so
783                              we use something else to record an explicitly
784                              unbound entry.  */
785                           NILP (def) ? Qt : def);
786                  return def;                  return def;
787                }                }
788              insertion_point = tail;              insertion_point = tail;

Legend:
Removed from v.1.248  
changed lines
  Added in v.1.249

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26