comparison src/keymap.c @ 90389:146cd8369025

Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-60 Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 259-273) - Update from CVS - lisp/replace.el (occur-engine): Bind `inhibit-field-text-motion' to t - Merge from gnus--rel--5.10 - Rename "field-at-point" to "field-at-pos" - (comint-insert-input): Remove redundant calls to setq and goto-char * gnus--rel--5.10 (patch 99-100) - Merge from emacs--devo--0 - Update from CVS
author Miles Bader <miles@gnu.org>
date Wed, 10 May 2006 20:42:41 +0000
parents 2ecafc6d5db7 e1a064810f6f
children 9b61abfe926b
comparison
equal deleted inserted replaced
90388:a786f674d33f 90389:146cd8369025
2118 register unsigned int c; 2118 register unsigned int c;
2119 register char *p; 2119 register char *p;
2120 int force_multibyte; 2120 int force_multibyte;
2121 { 2121 {
2122 unsigned c2; 2122 unsigned c2;
2123 int valid_p;
2123 2124
2124 /* Clear all the meaningless bits above the meta bit. */ 2125 /* Clear all the meaningless bits above the meta bit. */
2125 c &= meta_modifier | ~ - meta_modifier; 2126 c &= meta_modifier | ~ - meta_modifier;
2126 c2 = c & ~(alt_modifier | ctrl_modifier | hyper_modifier 2127 c2 = c & ~(alt_modifier | ctrl_modifier | hyper_modifier
2127 | meta_modifier | shift_modifier | super_modifier); 2128 | meta_modifier | shift_modifier | super_modifier);
2129
2130 valid_p = SINGLE_BYTE_CHAR_P (c2) || char_valid_p (c2, 0);
2131 if (! valid_p)
2132 {
2133 /* KEY_DESCRIPTION_SIZE is large enough for this. */
2134 p += sprintf (p, "[%d]", c);
2135 return p;
2136 }
2128 2137
2129 if (c & alt_modifier) 2138 if (c & alt_modifier)
2130 { 2139 {
2131 *p++ = 'A'; 2140 *p++ = 'A';
2132 *p++ = '-'; 2141 *p++ = '-';
3308 if (!NILP (shadow)) 3317 if (!NILP (shadow))
3309 { 3318 {
3310 tem = shadow_lookup (shadow, kludge, Qt); 3319 tem = shadow_lookup (shadow, kludge, Qt);
3311 if (!NILP (tem)) 3320 if (!NILP (tem))
3312 { 3321 {
3313 if (mention_shadow) 3322 /* Avoid generating duplicate entries if the
3323 shadowed binding has the same definition. */
3324 if (mention_shadow && !EQ (tem, definition))
3314 this_shadowed = 1; 3325 this_shadowed = 1;
3315 else 3326 else
3316 continue; 3327 continue;
3317 } 3328 }
3318 } 3329 }