aboutsummaryrefslogtreecommitdiffstats
path: root/src/keymap.c
diff options
context:
space:
mode:
authorKaroly Lorentey2005-12-19 19:57:22 +0000
committerKaroly Lorentey2005-12-19 19:57:22 +0000
commite93b29568add51c918892153759a1fcd440e85be (patch)
tree4ca3494b355f5df3d0cdbe155eeaa3f630f293c1 /src/keymap.c
parent8d3cdf56502e89f00e86b02f24422acfa1b34beb (diff)
parent3031d8b0bb97f21c79b3022ff3e7564173facd18 (diff)
downloademacs-e93b29568add51c918892153759a1fcd440e85be.tar.gz
emacs-e93b29568add51c918892153759a1fcd440e85be.zip
Merged from miles@gnu.org--gnu-2005 (patch 169-173, 671-676)
Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-671 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-672 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-673 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-674 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-675 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-676 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-169 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-170 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-171 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-172 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-173 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-454
Diffstat (limited to 'src/keymap.c')
-rw-r--r--src/keymap.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/keymap.c b/src/keymap.c
index 36517cf0794..97789a75f1d 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -389,6 +389,7 @@ Return PARENT. PARENT should be nil or another keymap. */)
389 if (EQ (XCDR (prev), parent)) 389 if (EQ (XCDR (prev), parent))
390 RETURN_UNGCPRO (parent); 390 RETURN_UNGCPRO (parent);
391 391
392 CHECK_IMPURE (prev);
392 XSETCDR (prev, parent); 393 XSETCDR (prev, parent);
393 break; 394 break;
394 } 395 }
@@ -906,6 +907,7 @@ store_in_keymap (keymap, idx, def)
906 { 907 {
907 if (NATNUMP (idx) && XFASTINT (idx) < ASIZE (elt)) 908 if (NATNUMP (idx) && XFASTINT (idx) < ASIZE (elt))
908 { 909 {
910 CHECK_IMPURE (elt);
909 ASET (elt, XFASTINT (idx), def); 911 ASET (elt, XFASTINT (idx), def);
910 return def; 912 return def;
911 } 913 }
@@ -931,6 +933,7 @@ store_in_keymap (keymap, idx, def)
931 { 933 {
932 if (EQ (idx, XCAR (elt))) 934 if (EQ (idx, XCAR (elt)))
933 { 935 {
936 CHECK_IMPURE (elt);
934 XSETCDR (elt, def); 937 XSETCDR (elt, def);
935 return def; 938 return def;
936 } 939 }
@@ -948,6 +951,7 @@ store_in_keymap (keymap, idx, def)
948 keymap_end: 951 keymap_end:
949 /* We have scanned the entire keymap, and not found a binding for 952 /* We have scanned the entire keymap, and not found a binding for
950 IDX. Let's add one. */ 953 IDX. Let's add one. */
954 CHECK_IMPURE (insertion_point);
951 XSETCDR (insertion_point, 955 XSETCDR (insertion_point,
952 Fcons (Fcons (idx, def), XCDR (insertion_point))); 956 Fcons (Fcons (idx, def), XCDR (insertion_point)));
953 } 957 }
@@ -1210,7 +1214,7 @@ A number as value means KEY is "too long";
1210that is, characters or symbols in it except for the last one 1214that is, characters or symbols in it except for the last one
1211fail to be a valid sequence of prefix characters in KEYMAP. 1215fail to be a valid sequence of prefix characters in KEYMAP.
1212The number is how many characters at the front of KEY 1216The number is how many characters at the front of KEY
1213it takes to reach a non-prefix command. 1217it takes to reach a non-prefix key.
1214 1218
1215Normally, `lookup-key' ignores bindings for t, which act as default 1219Normally, `lookup-key' ignores bindings for t, which act as default
1216bindings, used when nothing else in the keymap applies; this makes it 1220bindings, used when nothing else in the keymap applies; this makes it