(menu-bar-update-yank-menu): If string is too long,
[bpt/emacs.git] / src / callint.c
index f01db7c..a6c5570 100644 (file)
@@ -229,7 +229,7 @@ Otherwise, this is done only if an arg is read using the minibuffer.")
     }
   else if (COMPILEDP (fun))
     {
-      if (XVECTOR (fun)->size & PSEUDOVECTOR_SIZE_MASK <= COMPILED_INTERACTIVE)
+      if ((XVECTOR (fun)->size & PSEUDOVECTOR_SIZE_MASK) <= COMPILED_INTERACTIVE)
        goto lose;
       specs = XVECTOR (fun)->contents[COMPILED_INTERACTIVE];
     }
@@ -462,8 +462,14 @@ Otherwise, this is done only if an arg is read using the minibuffer.")
                                     Qnil, Qnil, Qnil, Qnil);
          break;
 
-       case 'k':               /* Key sequence (string) */
-         args[i] = Fread_key_sequence (build_string (prompt), Qnil);
+       case 'k':               /* Key sequence. */
+         args[i] = Fread_key_sequence (build_string (prompt), Qnil, Qnil);
+         teml = args[i];
+         visargs[i] = Fkey_description (teml);
+         break;
+
+       case 'K':               /* Key sequence to be defined. */
+         args[i] = Fread_key_sequence (build_string (prompt), Qnil, Qt);
          teml = args[i];
          visargs[i] = Fkey_description (teml);
          break;