Mercurial > hg > xemacs-beta
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") |