Mercurial > hg > xemacs-beta
diff lisp/mule/mule-cmds.el @ 5266:f9ec07abdbf9
Transform safe calls to (= X Y Z) to (and (= X Y) (= Y Z)); same for < > <= >=
lisp/ChangeLog addition:
2010-09-16 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el (= < > <= >=):
When these functions are handed more than two arguments, and those
arguments have no side effects, transform to a series of two
argument calls, avoiding funcall in the byte-compiled code.
* mule/mule-cmds.el (finish-set-language-environment):
Take advantage of this change in a function called 256 times at
startup.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Thu, 16 Sep 2010 14:31:40 +0100 |
parents | 0b0241ae382f |
children | f00192e1cd49 308d34e9f07d |
line wrap: on
line diff
--- a/lisp/mule/mule-cmds.el Thu Sep 16 14:10:44 2010 +0100 +++ b/lisp/mule/mule-cmds.el Thu Sep 16 14:31:40 2010 +0100 @@ -789,8 +789,7 @@ (setq string (format "%c" unicode-error-lookup))) ;; Treat control characters specially: (setq first-char (aref string 0)) - (when (or (and (>= first-char #x00) (<= first-char #x1f)) - (and (>= first-char #x80) (<= first-char #x9f))) + (when (or (<= #x00 first-char #x1f) (<= #x80 first-char #x9f)) (setq string (format "^%c" (+ ?@ (aref string 0)))))) (setq glyph (make-glyph (vector 'string :data string))) (set-glyph-face glyph 'unicode-invalid-sequence-warning-face)