diff lisp/simple.el @ 4687:02b7c7189041

Random (minimal) performance improvements at startup. lisp/ChangeLog addition: 2009-09-06 Aidan Kehoe <kehoea@parhasard.net> * simple.el (handle-pre-motion-command-current-command-is-motion): If KEY is a character, ascertain that once, not every iteration of the loop. * mule/mule-cmds.el (finish-set-language-environment): Don't call #'string-match on a one-character string, use functions that have bytecodes instead, since this is called so often on startup.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 06 Sep 2009 23:47:12 +0100
parents 64ac4337298b
children e29fcfd8df5f
line wrap: on
line diff
--- a/lisp/simple.el	Sun Sep 06 19:36:02 2009 +0100
+++ b/lisp/simple.el	Sun Sep 06 23:47:12 2009 +0100
@@ -2091,11 +2091,12 @@
 	 ;(princ (format "key: %s mods: %s\n" key mods) 'external-debugging-output)
 	 (catch 'handle-pre-motion-command-current-command-is-motion
 	   (flet ((keysyms-equal (a b)
-		    (if (characterp a)
-			(setq a (intern (char-to-string (downcase a)))))
 		    (if (characterp b)
 			(setq b (intern (char-to-string (downcase b)))))
 		    (eq a b)))
+             (setq key (if (characterp key)
+                           (intern (char-to-string (downcase key)))
+                         key))
 	     (dolist (keysym motion-keys-for-shifted-motion)
 	       (when (if (listp keysym)
 		         (and (equal mods (butlast keysym))