comparison lisp/simple.el @ 5652:cc6f0266bc36

Avoid #'delq in core Lisp, for the sake of style, a very slightly smaller binary lisp/ChangeLog addition: 2012-05-01 Aidan Kehoe <kehoea@parhasard.net> Avoid #'delq in core code, for the sake of style and a (very slightly) smaller binary. * behavior.el (disable-behavior): * behavior.el (compute-behavior-group-children): * buff-menu.el (buffers-tab-items): * byte-optimize.el (byte-optimize-delay-constants-math): * byte-optimize.el (byte-optimize-logmumble): * byte-optimize.el (byte-decompile-bytecode-1): * byte-optimize.el (byte-optimize-lapcode): * bytecomp.el: * bytecomp.el (byte-compile-arglist-warn): * bytecomp.el (byte-compile-warn-about-unresolved-functions): * bytecomp.el (byte-compile-lambda): * bytecomp.el (byte-compile-out-toplevel): * bytecomp.el (byte-compile-insert): * bytecomp.el (byte-compile-defalias-warn): * cl-macs.el (cl-upcase-arg): * cl-macs.el (cl-transform-lambda): * cl-macs.el (cl-do-proclaim): * cl-macs.el (defstruct): * cl-macs.el (cl-make-type-test): * cl-macs.el (define-compiler-macro): * cl-macs.el (delete-duplicates): * cus-edit.el (widget-face-value-delete): * cus-edit.el (face-history): * easymenu.el (easy-menu-remove): * files.el (files-fetch-hook-value): * files.el (file-expand-wildcards): * font-lock.el (font-lock-update-removed-keyword-alist): * font-lock.el (font-lock-remove-keywords): * frame.el (frame-initialize): * frame.el (frame-notice-user-settings): * frame.el (set-frame-font): * frame.el (delete-other-frames): * frame.el (get-frame-for-buffer-noselect): * gnuserv.el (gnuserv-kill-buffer-function): * gnuserv.el (gnuserv-check-device): * gnuserv.el (gnuserv-kill-client): * gnuserv.el (gnuserv-buffer-done-1): * gtk-font-menu.el (gtk-reset-device-font-menus): * gutter-items.el (buffers-tab-items): * gutter.el (set-gutter-element-visible-p): * info.el (Info-find-file-node): * info.el (Info-history-add): * info.el (Info-build-annotation-completions): * info.el (Info-index): * info.el (Info-reannotate-node): * itimer.el (delete-itimer): * itimer.el (start-itimer): * lib-complete.el (lib-complete:cache-completions): * loadhist.el (unload-feature): * menubar-items.el (build-buffers-menu-internal): * menubar.el (delete-menu-item): * menubar.el (relabel-menu-item): * msw-font-menu.el (mswindows-reset-device-font-menus): * mule/make-coding-system.el (fixed-width-generate-helper): * next-error.el (next-error-find-buffer): * obsolete.el: * obsolete.el (find-non-ascii-charset-string): * obsolete.el (find-non-ascii-charset-region): * occur.el (multi-occur-by-filename-regexp): * occur.el (occur-1): * packages.el (packages-package-hierarchy-directory-names): * packages.el (package-get-key-1): * process.el (setenv): * simple.el (undo): * simple.el (handle-pre-motion-command-current-command-is-motion): * sound.el (load-sound-file): * wid-edit.el (widget-field-value-delete): * wid-edit.el (widget-checklist-match-inline): * wid-edit.el (widget-checklist-match-find): * wid-edit.el (widget-editable-list-delete-at): * wid-edit.el (widget-editable-list-entry-create): * window.el (quit-window): * x-font-menu.el (x-reset-device-font-menus-core): 1. Replace (delq nil (mapcar ....)) with analogous (mapcan ...) forms; this is in non-dumped files, it was done previously in dumped files. 2. Replace (delq FOO (copy-sequence BAR)) with (remove* FOO BAR), where #'eq and #'eql are equivalent 3. Replace (delq FOO BAR) with (delete* FOO BAR), where FOO is not a non-fixnum number. Saves a little space in the dumped file (since the compiler macro adds :test #'eq to the delete* call if it's not clear that FOO is not a non-fixnum number).
author Aidan Kehoe <kehoea@parhasard.net>
date Tue, 01 May 2012 16:17:42 +0100
parents 071b810ceb18
children b7ae5f44b950
comparison
equal deleted inserted replaced
5651:ae2fdb1fd9e0 5652:cc6f0266bc36
956 done) 956 done)
957 (while (and tail (not done) (not (null (car tail)))) 957 (while (and tail (not done) (not (null (car tail))))
958 (if (fixnump (car tail)) 958 (if (fixnump (car tail))
959 (progn 959 (progn
960 (setq done t) 960 (setq done t)
961 (setq buffer-undo-list (delq (car tail) buffer-undo-list)))) 961 (setq buffer-undo-list (delete* (car tail) buffer-undo-list))))
962 (setq tail (cdr tail)))) 962 (setq tail (cdr tail))))
963 (and modified (not (buffer-modified-p)) 963 (and modified (not (buffer-modified-p))
964 (delete-auto-save-file-if-necessary recent-save))) 964 (delete-auto-save-file-if-necessary recent-save)))
965 ;; If we do get all the way through, make this-command indicate that. 965 ;; If we do get all the way through, make this-command indicate that.
966 (setq this-command 'undo)) 966 (setq this-command 'undo))
2098 (eq a b))) 2098 (eq a b)))
2099 (declare (inline keysyms-equal) (special char-list)) 2099 (declare (inline keysyms-equal) (special char-list))
2100 (loop 2100 (loop
2101 for keysym in motion-keys-for-shifted-motion 2101 for keysym in motion-keys-for-shifted-motion
2102 with key = (event-key last-input-event) 2102 with key = (event-key last-input-event)
2103 with mods = (delq 'shift (event-modifiers last-input-event)) 2103 with mods = (delete* 'shift (event-modifiers last-input-event))
2104 with char-list = '(?a) ;; Some random character; the list will be 2104 with char-list = '(?a) ;; Some random character; the list will be
2105 ;; modified in the constants vector over 2105 ;; modified in the constants vector over
2106 ;; time. 2106 ;; time.
2107 initially (if (and (not (symbolp key)) (characterp key)) 2107 initially (if (and (not (symbolp key)) (characterp key))
2108 (setf (car char-list) key 2108 (setf (car char-list) key