comparison lisp/cus-edit.el @ 5366:f00192e1cd49

Examining the result of #'length: `eql', not `=', it's better style & cheaper 2011-03-08 Aidan Kehoe <kehoea@parhasard.net> * buff-menu.el (list-buffers-noselect): * byte-optimize.el (byte-optimize-identity): * byte-optimize.el (byte-optimize-if): * byte-optimize.el (byte-optimize-nth): * byte-optimize.el (byte-optimize-nthcdr): * bytecomp.el (byte-compile-warn-wrong-args): * bytecomp.el (byte-compile-two-args-19->20): * bytecomp.el (byte-compile-list): * bytecomp.el (byte-compile-beginning-of-line): * bytecomp.el (byte-compile-set): * bytecomp.el (byte-compile-set-default): * bytecomp.el (byte-compile-values): * bytecomp.el (byte-compile-values-list): * bytecomp.el (byte-compile-integerp): * bytecomp.el (byte-compile-multiple-value-list-internal): * bytecomp.el (byte-compile-throw): * cl-macs.el (cl-do-arglist): * cl-macs.el (cl-parse-loop-clause): * cl-macs.el (multiple-value-bind): * cl-macs.el (multiple-value-setq): * cl-macs.el (get-setf-method): * cmdloop.el (command-error): * cmdloop.el (y-or-n-p-minibuf): * cmdloop.el (yes-or-no-p-minibuf): * coding.el (unencodable-char-position): * cus-edit.el (custom-face-prompt): * cus-edit.el (custom-buffer-create-internal): * cus-edit.el (widget-face-action): * cus-edit.el (custom-group-value-create): * descr-text.el (describe-char-unicode-data): * dialog-gtk.el (popup-builtin-question-dialog): * dragdrop.el (experimental-dragdrop-drop-log-function): * dragdrop.el (experimental-dragdrop-drop-mime-default): * easymenu.el (easy-menu-add): * easymenu.el (easy-menu-remove): * faces.el (read-face-name): * faces.el (set-face-stipple): * files.el (file-name-non-special): * font.el (font-combine-fonts): * font.el (font-set-face-font): * font.el (font-parse-rgb-components): * font.el (font-rgb-color-p): * font.el (font-color-rgb-components): * gnuserv.el (gnuserv-edit-files): * help.el (key-or-menu-binding): * help.el (function-documentation-1): * help.el (function-documentation): * info.el (info): * isearch-mode.el (isearch-exit): * isearch-mode.el (isearch-edit-string): * isearch-mode.el (isearch-*-char): * isearch-mode.el (isearch-complete1): * ldap.el (ldap-encode-country-string): * ldap.el (ldap-decode-string): * minibuf.el (read-file-name-internal-1): * minibuf.el (read-non-nil-coding-system): * minibuf.el (get-user-response): * mouse.el (drag-window-divider): * mule/ccl.el: * mule/ccl.el (ccl-compile-if): * mule/ccl.el (ccl-compile-break): * mule/ccl.el (ccl-compile-repeat): * mule/ccl.el (ccl-compile-write-repeat): * mule/ccl.el (ccl-compile-call): * mule/ccl.el (ccl-compile-end): * mule/ccl.el (ccl-compile-read-multibyte-character): * mule/ccl.el (ccl-compile-write-multibyte-character): * mule/ccl.el (ccl-compile-translate-character): * mule/ccl.el (ccl-compile-mule-to-unicode): * mule/ccl.el (ccl-compile-unicode-to-mule): * mule/ccl.el (ccl-compile-lookup-integer): * mule/ccl.el (ccl-compile-lookup-character): * mule/ccl.el (ccl-compile-map-multiple): * mule/ccl.el (ccl-compile-map-single): * mule/devan-util.el (devanagari-compose-to-one-glyph): * mule/devan-util.el (devanagari-composition-component): * mule/mule-cmds.el (finish-set-language-environment): * mule/viet-util.el: * mule/viet-util.el (viet-encode-viscii-char): * multicast.el (open-multicast-group): * newcomment.el (comment-quote-nested): * newcomment.el (comment-region): * newcomment.el (comment-dwim): * regexp-opt.el (regexp-opt-group): * replace.el (map-query-replace-regexp): * specifier.el (derive-device-type-from-tag-set): * subr.el (skip-chars-quote): * test-harness.el (test-harness-from-buffer): * test-harness.el (batch-test-emacs): * wid-edit.el (widget-choice-action): * wid-edit.el (widget-symbol-prompt-internal): * wid-edit.el (widget-color-action): * window-xemacs.el (push-window-configuration): * window-xemacs.el (pop-window-configuration): * window.el (quit-window): * x-compose.el (electric-diacritic): It's better style, and cheaper (often one assembler instruction vs. a C funcall in the byte code), to use `eql' instead of `=' when it's clear what numerical type a given result will be. Change much of our code to do this, with the help of a byte-compiler change (not comitted) that looked for calls to #'length (which always returns an integer) in its args.
author Aidan Kehoe <kehoea@parhasard.net>
date Tue, 08 Mar 2011 23:41:52 +0000
parents fd36a980d701
children 3889ef128488 ac37a5f7e5be
comparison
equal deleted inserted replaced
5365:dbae25a8949d 5366:f00192e1cd49
868 ;; The default behavior, which is to prompt for all faces, is also 868 ;; The default behavior, which is to prompt for all faces, is also
869 ;; used as a fall back when a prefix is given but there's no face 869 ;; used as a fall back when a prefix is given but there's no face
870 ;; under point: 870 ;; under point:
871 (let ((choice (completing-read "Customize face: (default all) " 871 (let ((choice (completing-read "Customize face: (default all) "
872 obarray 'find-face))) 872 obarray 'find-face)))
873 (if (zerop (length choice)) 873 (if (eql (length choice) 0)
874 nil 874 nil
875 (list (intern choice)))) 875 (list (intern choice))))
876 (cond ((symbolp faces) 876 (cond ((symbolp faces)
877 ;; Customize only this one: 877 ;; Customize only this one:
878 (list (list faces))) 878 (list (list faces)))
882 "Customize face: (default all faces at point) " 882 "Customize face: (default all faces at point) "
883 (mapcar (lambda (face) 883 (mapcar (lambda (face)
884 (list (symbol-name face) face)) 884 (list (symbol-name face) face))
885 faces) 885 faces)
886 nil t))) 886 nil t)))
887 (if (zerop (length choice)) 887 (if (eql (length choice) 0)
888 (list faces) 888 (list faces)
889 (list (intern choice))))))))) 889 (list (intern choice)))))))))
890 890
891 (defun customize-face-1 (face custom-buffer-create-fn) 891 (defun customize-face-1 (face custom-buffer-create-fn)
892 ;; Customize FACE in a buffer created with BUFFER-CREATE-FN. 892 ;; Customize FACE in a buffer created with BUFFER-CREATE-FN.
1182 (if (equal custom-display-global-buttons 'top) 1182 (if (equal custom-display-global-buttons 'top)
1183 (custom-buffer-create-buttons)) 1183 (custom-buffer-create-buttons))
1184 (widget-insert "\n") 1184 (widget-insert "\n")
1185 (message "Creating customization items...") 1185 (message "Creating customization items...")
1186 (setq custom-options 1186 (setq custom-options
1187 (if (= (length options) 1) 1187 (if (eql (length options) 1)
1188 (mapcar (lambda (entry) 1188 (mapcar (lambda (entry)
1189 (widget-create (nth 1 entry) 1189 (widget-create (nth 1 entry)
1190 :documentation-shown t 1190 :documentation-shown t
1191 :custom-state 'unknown 1191 :custom-state 'unknown
1192 :tag (custom-unlispify-tag-name 1192 :tag (custom-unlispify-tag-name
2983 (mapcar (lambda (face) 2983 (mapcar (lambda (face)
2984 (list (symbol-name face))) 2984 (list (symbol-name face)))
2985 (face-list)) 2985 (face-list))
2986 nil nil nil 2986 nil nil nil
2987 'face-history))) 2987 'face-history)))
2988 (unless (zerop (length answer)) 2988 (unless (eql (length answer) 0)
2989 (widget-value-set widget (intern answer)) 2989 (widget-value-set widget (intern answer))
2990 (widget-apply widget :notify widget event) 2990 (widget-apply widget :notify widget event)
2991 (widget-setup)))) 2991 (widget-setup))))
2992 2992
2993 ;;; The `hook' Widget. 2993 ;;; The `hook' Widget.
3172 widget 'custom-browse-group-tag) 3172 widget 'custom-browse-group-tag)
3173 buttons) 3173 buttons)
3174 (insert " " tag "\n") 3174 (insert " " tag "\n")
3175 (widget-put widget :buttons buttons)) 3175 (widget-put widget :buttons buttons))
3176 ((and (eq custom-buffer-style 'tree) 3176 ((and (eq custom-buffer-style 'tree)
3177 (zerop (length members))) 3177 (eql (length members) 0))
3178 (custom-browse-insert-prefix prefix) 3178 (custom-browse-insert-prefix prefix)
3179 (insert "[ ]-- ") 3179 (insert "[ ]-- ")
3180 ;; (widget-glyph-insert nil "[ ]" "empty") 3180 ;; (widget-glyph-insert nil "[ ]" "empty")
3181 ;; (widget-glyph-insert nil "-- " "horizontal") 3181 ;; (widget-glyph-insert nil "-- " "horizontal")
3182 (push (widget-create-child-and-convert 3182 (push (widget-create-child-and-convert
3185 (insert " " tag "\n") 3185 (insert " " tag "\n")
3186 (widget-put widget :buttons buttons)) 3186 (widget-put widget :buttons buttons))
3187 ((eq custom-buffer-style 'tree) 3187 ((eq custom-buffer-style 'tree)
3188 (custom-browse-insert-prefix prefix) 3188 (custom-browse-insert-prefix prefix)
3189 (custom-load-widget widget) 3189 (custom-load-widget widget)
3190 (if (zerop (length members)) 3190 (if (eql (length members) 0)
3191 (progn 3191 (progn
3192 (custom-browse-insert-prefix prefix) 3192 (custom-browse-insert-prefix prefix)
3193 (insert "[ ]-- ") 3193 (insert "[ ]-- ")
3194 ;; (widget-glyph-insert nil "[ ]" "empty") 3194 ;; (widget-glyph-insert nil "[ ]" "empty")
3195 ;; (widget-glyph-insert nil "-- " "horizontal") 3195 ;; (widget-glyph-insert nil "-- " "horizontal")