Mercurial > emacs
diff src/keymap.c @ 90737:95d0cdf160ea
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 586-614)
- Update from CVS
- Update from erc--emacs--22
- Merge from gnus--rel--5.10
- Merge from erc--main--0
- Make byte compiler correctly write circular constants
* gnus--rel--5.10 (patch 186-196)
- Update from CVS
- Merge from emacs--devo--0
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-162
| author | Miles Bader <miles@gnu.org> |
|---|---|
| date | Fri, 26 Jan 2007 06:16:11 +0000 |
| parents | bc10a33dd40b 42d89518722a |
| children | ec58e5c426ef |
line wrap: on
line diff
--- a/src/keymap.c Fri Jan 26 02:30:28 2007 +0000 +++ b/src/keymap.c Fri Jan 26 06:16:11 2007 +0000 @@ -1,7 +1,7 @@ /* Manipulation of keymaps Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2004, - 2005, 2006 Free Software Foundation, Inc. + 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -3452,9 +3452,13 @@ tem = shadow_lookup (shadow, kludge, Qt); if (!NILP (tem)) { + /* If both bindings are keymaps, this key is a prefix key, + so don't say it is shadowed. */ + if (KEYMAPP (definition) && KEYMAPP (tem)) + ; /* Avoid generating duplicate entries if the - shadowed binding has the same definition. */ - if (mention_shadow && !EQ (tem, definition)) + shadowed binding has the same definition. */ + else if (mention_shadow && !EQ (tem, definition)) this_shadowed = 1; else continue;
