Mercurial > hg > xemacs-beta
diff lisp/simple.el @ 5576:071b810ceb18
Declare labels as line where appropriate; use #'labels, not #'flet, tests.
lisp/ChangeLog addition:
2011-10-03 Aidan Kehoe <kehoea@parhasard.net>
* simple.el (handle-pre-motion-command-current-command-is-motion):
Implement #'keysyms-equal with #'labels + (declare (inline ...)),
instead of abusing macrolet to the same end.
* specifier.el (let-specifier):
* mule/mule-cmds.el (describe-language-environment):
* mule/mule-cmds.el (set-language-environment-coding-systems):
* mule/mule-x-init.el (x-use-halfwidth-roman-font):
* faces.el (Face-frob-property):
* keymap.el (key-sequence-list-description):
* lisp-mode.el (construct-lisp-mode-menu):
* loadhist.el (unload-feature):
* mouse.el (default-mouse-track-check-for-activation):
Declare various labels inline in dumped files when that reduces
the size of the dumped image. Declaring labels inline is normally
only worthwhile for inner loops and so on, but it's reasonable
exercise of the related code to have these changes in core.
tests/ChangeLog addition:
2011-10-03 Aidan Kehoe <kehoea@parhasard.net>
* automated/case-tests.el (uni-mappings):
* automated/database-tests.el (delete-database-files):
* automated/hash-table-tests.el (iterations):
* automated/lisp-tests.el (test1):
* automated/lisp-tests.el (a):
* automated/lisp-tests.el (cl-floor):
* automated/lisp-tests.el (foo):
* automated/lisp-tests.el (list-nreverse):
* automated/lisp-tests.el (needs-lexical-context):
* automated/mule-tests.el (featurep):
* automated/os-tests.el (original-string):
* automated/os-tests.el (with):
* automated/symbol-tests.el (check-weak-list-unique):
Replace #'flet with #'labels where appropriate in these tests,
following my own advice on style in the docstrings of those
functions.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Mon, 03 Oct 2011 20:16:14 +0100 |
parents | 3bc58dc9d688 |
children | cc6f0266bc36 |
line wrap: on
line diff
--- a/lisp/simple.el Mon Oct 03 19:39:01 2011 +0100 +++ b/lisp/simple.el Mon Oct 03 20:16:14 2011 +0100 @@ -2084,20 +2084,19 @@ (defun handle-pre-motion-command-current-command-is-motion () (and (key-press-event-p last-input-event) - (macrolet - ((keysyms-equal (&rest args) - `((lambda (a b) - (when (and - ;; As of now, none of the elements of - ;; motion-keys-for-shifted-motion are non-symbols; - ;; this redundant check saves a few hundred - ;; funcalls on startup. - (not (symbolp b)) - (characterp b)) - (setf (car char-list) b - b (intern (concat char-list nil)))) - (eq a b)) - ,@args))) + (labels + ((keysyms-equal (a b) + (when (and + ;; As of now, none of the elements of + ;; motion-keys-for-shifted-motion are non-symbols; + ;; this redundant check saves a few hundred + ;; funcalls on startup. + (not (symbolp b)) + (characterp b)) + (setf (car char-list) b + b (intern (concat char-list nil)))) + (eq a b))) + (declare (inline keysyms-equal) (special char-list)) (loop for keysym in motion-keys-for-shifted-motion with key = (event-key last-input-event)