diff options
| author | Miles Bader | 2006-05-10 20:42:41 +0000 |
|---|---|---|
| committer | Miles Bader | 2006-05-10 20:42:41 +0000 |
| commit | 3bcf2b084a0dd1ff0399480d57b87e01cfe061dc (patch) | |
| tree | 355c68cda5a5c9c73824840df3cdae6320017283 /src/keymap.c | |
| parent | 0ea38cf9dca8f2b148d78f638eed17e8896984af (diff) | |
| parent | d105bfecce2288cd99f591382586a22a4ce1b6f2 (diff) | |
| download | emacs-3bcf2b084a0dd1ff0399480d57b87e01cfe061dc.tar.gz emacs-3bcf2b084a0dd1ff0399480d57b87e01cfe061dc.zip | |
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
Diffstat (limited to 'src/keymap.c')
| -rw-r--r-- | src/keymap.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/keymap.c b/src/keymap.c index f5aea3b3902..fb506200a1c 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -2120,12 +2120,21 @@ push_key_description (c, p, force_multibyte) | |||
| 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); |
| 2128 | 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 | } | ||
| 2137 | |||
| 2129 | if (c & alt_modifier) | 2138 | if (c & alt_modifier) |
| 2130 | { | 2139 | { |
| 2131 | *p++ = 'A'; | 2140 | *p++ = 'A'; |
| @@ -3310,7 +3319,9 @@ describe_map (map, prefix, elt_describer, partial, shadow, | |||
| 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; |