emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/keymap.c


From: Richard M . Stallman
Subject: [Emacs-diffs] Changes to emacs/src/keymap.c
Date: Sat, 09 Apr 2005 21:43:19 -0400

Index: emacs/src/keymap.c
diff -c emacs/src/keymap.c:1.302 emacs/src/keymap.c:1.303
*** emacs/src/keymap.c:1.302    Tue Feb 15 06:39:18 2005
--- emacs/src/keymap.c  Sun Apr 10 01:43:18 2005
***************
*** 764,770 ****
     remove that.  Also remove a menu help string as second element.
  
     If AUTOLOAD is nonzero, load autoloadable keymaps
!    that are referred to with indirection.  */
  
  Lisp_Object
  get_keyelt (object, autoload)
--- 764,772 ----
     remove that.  Also remove a menu help string as second element.
  
     If AUTOLOAD is nonzero, load autoloadable keymaps
!    that are referred to with indirection.
! 
!    This can GC because menu_item_eval_property calls Feval.  */
  
  Lisp_Object
  get_keyelt (object, autoload)
***************
*** 2554,2559 ****
--- 2556,2574 ----
                continue;
  
            record_sequence:
+             /* Don't annoy user with strings from a menu such as
+                Select Paste.  Change them all to "(any string)",
+                so that there seems to be only one menu item
+                to report. */
+             if (! NILP (sequence))
+               {
+                 Lisp_Object tem;
+                 tem = Faref (sequence, make_number (XVECTOR (sequence)->size 
- 1));
+                 if (STRINGP (tem))
+                   Faset (sequence, make_number (XVECTOR (sequence)->size - 1),
+                          build_string ("(any string)"));
+               }
+ 
              /* It is a true unshadowed match.  Record it, unless it's already
                 been seen (as could happen when inheriting keymaps).  */
              if (NILP (Fmember (sequence, found)))
***************
*** 2731,2737 ****
  }
  
  
! /* This function cannot GC.  */
  
  static Lisp_Object
  where_is_internal_1 (binding, key, definition, noindirect, this, last,
--- 2746,2752 ----
  }
  
  
! /* This function can GC because get_keyelt can.  */
  
  static Lisp_Object
  where_is_internal_1 (binding, key, definition, noindirect, this, last,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]