(store_in_keymap): Copy a cons only if car is a string.
authorRichard M. Stallman <rms@gnu.org>
Sun, 8 Jan 1995 20:24:36 +0000 (20:24 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 8 Jan 1995 20:24:36 +0000 (20:24 +0000)
src/keymap.c

index b6a1575..4b9e206 100644 (file)
@@ -395,9 +395,10 @@ store_in_keymap (keymap, idx, def)
      register Lisp_Object idx;
      register Lisp_Object def;
 {
-  /* If we are preparing to dump, and DEF might be pure,
-     copy it to ensure it is not pure.  */
-  if (!NILP (Vpurify_flag) && CONSP (def))
+  /* If we are preparing to dump, and DEF is a menu element
+     with a menu item string, copy it to ensure it is not pure.  */
+  if (!NILP (Vpurify_flag) && CONSP (def)
+      && STRINGP (XCONS (def)->car))
     def = Fcons (XCONS (def)->car, XCONS (def)->cdr);
 
   if (!CONSP (keymap) || ! EQ (XCONS (keymap)->car, Qkeymap))