aboutsummaryrefslogtreecommitdiffstats
path: root/src/keymap.c
diff options
context:
space:
mode:
authorKaroly Lorentey2005-02-03 23:28:36 +0000
committerKaroly Lorentey2005-02-03 23:28:36 +0000
commit597cfb3fbc57114062f12dfdfa37c0157fff1e97 (patch)
treedea42300f641805b707eb9a64035acac8c9f547e /src/keymap.c
parentfd41924555942f6c3c1e12400ab313717a3818cd (diff)
parent4e07258f2b539fa9a3ba97442e81e3e67a9ce5a7 (diff)
downloademacs-597cfb3fbc57114062f12dfdfa37c0157fff1e97.tar.gz
emacs-597cfb3fbc57114062f12dfdfa37c0157fff1e97.zip
Merged in changes from CVS trunk. (Long time no see!) :-)
Patches applied: * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-83 Update from CVS * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-84 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-1 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-2 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-3 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-4 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-5 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-6 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-7 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-8 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-9 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-10 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-11 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-12 Remove "-face" suffix from lazy-highlight face name * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-13 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-14 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-15 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-16 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-17 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-18 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-19 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-20 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-21 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-22 <no summary provided> * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-23 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-24 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-25 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-26 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-27 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-28 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-29 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-30 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-31 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-32 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-33 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-34 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-35 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-36 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-37 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-38 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-39 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-40 Fix regressions from latest reftex update * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-41 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-42 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-43 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-44 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-45 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-46 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-47 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-48 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-49 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-50 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-51 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-52 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-53 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-54 Update from CVS: lisp/cus-start.el (all): Add `undo-outer-limit'. * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-55 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-56 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-57 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-58 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-59 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-60 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-61 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-62 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-63 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-64 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-65 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-66 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-67 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-68 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-69 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-70 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-71 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-72 src/dispextern.h (xassert): Enable unconditionally. * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-73 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-74 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-75 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--base-0 tag of miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-82 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-1 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-2 Merge from miles@gnu.org--gnu-2004 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-3 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-4 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-5 Update from CVS: exi/gnus-faq.texi ([4.1]): Typo. * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-6 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-7 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-8 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-9 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-10 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-11 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-281
Diffstat (limited to 'src/keymap.c')
-rw-r--r--src/keymap.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/keymap.c b/src/keymap.c
index 4375b2e3a51..f28032d0f82 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -1,6 +1,6 @@
1/* Manipulation of keymaps 1/* Manipulation of keymaps
2 Copyright (C) 1985, 86,87,88,93,94,95,98,99, 2000, 01, 2004 2 Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1998, 1999, 2000,
3 Free Software Foundation, Inc. 3 2001, 2004, 2005 Free Software Foundation, Inc.
4 4
5This file is part of GNU Emacs. 5This file is part of GNU Emacs.
6 6
@@ -529,6 +529,10 @@ access_keymap (map, idx, t_ok, noinherit, autoload)
529 struct gcpro gcpro1; 529 struct gcpro gcpro1;
530 Lisp_Object meta_map; 530 Lisp_Object meta_map;
531 GCPRO1 (map); 531 GCPRO1 (map);
532 /* A strange value in which Meta is set would cause
533 infinite recursion. Protect against that. */
534 if (XINT (meta_prefix_char) & CHAR_META)
535 meta_prefix_char = make_number (27);
532 meta_map = get_keymap (access_keymap (map, meta_prefix_char, 536 meta_map = get_keymap (access_keymap (map, meta_prefix_char,
533 t_ok, noinherit, autoload), 537 t_ok, noinherit, autoload),
534 0, autoload); 538 0, autoload);
@@ -1487,10 +1491,13 @@ OLP if non-nil indicates that we should obey `overriding-local-map' and
1487 1491
1488 if (!NILP (olp)) 1492 if (!NILP (olp))
1489 { 1493 {
1490 if (!NILP (Voverriding_local_map))
1491 keymaps = Fcons (Voverriding_local_map, keymaps);
1492 if (!NILP (current_kboard->Voverriding_terminal_local_map)) 1494 if (!NILP (current_kboard->Voverriding_terminal_local_map))
1493 keymaps = Fcons (current_kboard->Voverriding_terminal_local_map, keymaps); 1495 keymaps = Fcons (current_kboard->Voverriding_terminal_local_map, keymaps);
1496 /* The doc said that overriding-terminal-local-map should
1497 override overriding-local-map. The code used them both,
1498 but it seems clearer to use just one. rms, jan 2005. */
1499 else if (!NILP (Voverriding_local_map))
1500 keymaps = Fcons (Voverriding_local_map, keymaps);
1494 } 1501 }
1495 if (NILP (XCDR (keymaps))) 1502 if (NILP (XCDR (keymaps)))
1496 { 1503 {
@@ -1498,16 +1505,20 @@ OLP if non-nil indicates that we should obey `overriding-local-map' and
1498 Lisp_Object *maps; 1505 Lisp_Object *maps;
1499 int nmaps, i; 1506 int nmaps, i;
1500 1507
1508 /* This usually returns the buffer's local map,
1509 but that can be overridden by a `local-map' property. */
1501 local = get_local_map (PT, current_buffer, Qlocal_map); 1510 local = get_local_map (PT, current_buffer, Qlocal_map);
1502 if (!NILP (local)) 1511 if (!NILP (local))
1503 keymaps = Fcons (local, keymaps); 1512 keymaps = Fcons (local, keymaps);
1504 1513
1514 /* Now put all the minor mode keymaps on the list. */
1505 nmaps = current_minor_maps (0, &maps); 1515 nmaps = current_minor_maps (0, &maps);
1506 1516
1507 for (i = --nmaps; i >= 0; i--) 1517 for (i = --nmaps; i >= 0; i--)
1508 if (!NILP (maps[i])) 1518 if (!NILP (maps[i]))
1509 keymaps = Fcons (maps[i], keymaps); 1519 keymaps = Fcons (maps[i], keymaps);
1510 1520
1521 /* This returns nil unless there is a `keymap' property. */
1511 local = get_local_map (PT, current_buffer, Qkeymap); 1522 local = get_local_map (PT, current_buffer, Qkeymap);
1512 if (!NILP (local)) 1523 if (!NILP (local))
1513 keymaps = Fcons (local, keymaps); 1524 keymaps = Fcons (local, keymaps);