diff options
| author | Karoly Lorentey | 2005-02-03 23:28:36 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2005-02-03 23:28:36 +0000 |
| commit | 597cfb3fbc57114062f12dfdfa37c0157fff1e97 (patch) | |
| tree | dea42300f641805b707eb9a64035acac8c9f547e /src/keymap.c | |
| parent | fd41924555942f6c3c1e12400ab313717a3818cd (diff) | |
| parent | 4e07258f2b539fa9a3ba97442e81e3e67a9ce5a7 (diff) | |
| download | emacs-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.c | 19 |
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 | ||
| 5 | This file is part of GNU Emacs. | 5 | This 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); |