changeset 67505:51053176f6b7

(Fset_keymap_parent, store_in_keymap): Use CHECK_IMPURE. (Flookup_key): Doc fix. (syms_of_keymap) <function-key-map>: Doc fix.
author Richard M. Stallman <rms@gnu.org>
date Sun, 11 Dec 2005 15:35:14 +0000
parents b13350468f6c
children b23a7ce63153
files src/keymap.c
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/keymap.c	Sun Dec 11 11:09:33 2005 +0000
+++ b/src/keymap.c	Sun Dec 11 15:35:14 2005 +0000
@@ -396,6 +396,7 @@
 	  if (EQ (XCDR (prev), parent))
 	    RETURN_UNGCPRO (parent);
 
+	  CHECK_IMPURE (prev);
 	  XSETCDR (prev, parent);
 	  break;
 	}
@@ -913,6 +914,7 @@
 	  {
 	    if (NATNUMP (idx) && XFASTINT (idx) < ASIZE (elt))
 	      {
+		CHECK_IMPURE (elt);
 		ASET (elt, XFASTINT (idx), def);
 		return def;
 	      }
@@ -938,6 +940,7 @@
 	  {
 	    if (EQ (idx, XCAR (elt)))
 	      {
+		CHECK_IMPURE (elt);
 		XSETCDR (elt, def);
 		return def;
 	      }
@@ -955,6 +958,7 @@
   keymap_end:
     /* We have scanned the entire keymap, and not found a binding for
        IDX.  Let's add one.  */
+    CHECK_IMPURE (insertion_point);
     XSETCDR (insertion_point,
 	     Fcons (Fcons (idx, def), XCDR (insertion_point)));
   }
@@ -1217,7 +1221,7 @@
 that is, characters or symbols in it except for the last one
 fail to be a valid sequence of prefix characters in KEYMAP.
 The number is how many characters at the front of KEY
-it takes to reach a non-prefix command.
+it takes to reach a non-prefix key.
 
 Normally, `lookup-key' ignores bindings for t, which act as default
 bindings, used when nothing else in the keymap applies; this makes it
@@ -3836,9 +3840,9 @@
 
 
   DEFVAR_LISP ("function-key-map", &Vfunction_key_map,
-	       doc: /* Keymap mapping ASCII function key sequences onto their preferred forms.
-This allows Emacs to recognize function keys sent from ASCII
-terminals at any point in a key sequence.
+	       doc: /* Keymap that translates key sequences to key sequences during input.
+This is used mainly for mapping ASCII function key sequences into
+real Emacs function key events (symbols).
 
 The `read-key-sequence' function replaces any subsequence bound by
 `function-key-map' with its binding.  More precisely, when the active