comparison lisp/gui.el @ 5655:b7ae5f44b950

Remove some redundant functions, change others to labels, lisp/ lisp/ChangeLog addition: 2012-05-05 Aidan Kehoe <kehoea@parhasard.net> Remove some redundant functions; turn other utility functions into labels, avoiding visibility in the global namespace, and reducing the size of the dumped binary. * auto-save.el (auto-save-unhex): Removed. * auto-save.el (auto-save-unescape-name): Use #'string-to-number instead of #'auto-save-unhex. * files.el (save-some-buffers): * files.el (save-some-buffers-1): Changed to a label. * files.el (not-modified): * gui.el (make-gui-button): * gui.el (gui-button-action): Changed to a label. * gui.el (insert-gui-button): * indent.el (indent-for-tab-command): * indent.el (insert-tab): Changed to a label. * indent.el (indent-rigidly): * isearch-mode.el: * isearch-mode.el (isearch-ring-adjust): * isearch-mode.el (isearch-ring-adjust1): Changed to a label. * isearch-mode.el (isearch-pre-command-hook): * isearch-mode.el (isearch-maybe-frob-keyboard-macros): Changed to a label. * isearch-mode.el (isearch-highlight): * isearch-mode.el (isearch-make-extent): Changed to a label. * itimer.el: * itimer.el (itimer-decrement): Removed, replaced uses with decf. * itimer.el (itimer-increment): Removed, replaced uses with incf. * itimer.el (itimer-signum): Removed, replaced uses with minusp, plusp. * itimer.el (itimer-name): * itimer.el (check-itimer): Removed, replaced with #'check-type calls. * itimer.el (itimer-value): * itimer.el (check-itimer-coerce-string): Removed. * itimer.el (itimer-restart): * itimer.el (itimer-function): * itimer.el (check-nonnegative-number): Removed. * itimer.el (itimer-uses-arguments): * itimer.el (check-string): Removed. * itimer.el (itimer-function-arguments): * itimer.el (itimer-recorded-run-time): * itimer.el (set-itimer-name): * itimer.el (set-itimer-value): * itimer.el (set-itimer-value-internal): * itimer.el (set-itimer-restart): * itimer.el (set-itimer-function): * itimer.el (set-itimer-is-idle): * itimer.el (set-itimer-recorded-run-time): * itimer.el (get-itimer): * itimer.el (delete-itimer): * itimer.el (start-itimer): * itimer.el (activate-itimer): * itimer.el (itimer-edit-set-field): * itimer.el (itimer-edit-next-field): * itimer.el (itimer-edit-previous-field): Use incf, decf, plusp, minusp and the more general argument type checking macros. * lib-complete.el: * lib-complete.el (lib-complete:better-root): Changed to a label. * lib-complete.el (lib-complete:get-completion-table): Changed to a label. * lib-complete.el (read-library-internal): Include labels. * lib-complete.el (lib-complete:cache-completions): Changed to a label. * minibuf.el (read-buffer): Use #'set-difference, don't reinvent it. * newcomment.el (comment-padright): Use a label instead of repeating a lambda expression. * packages.el (package-get-key): * packages.el (package-get-key-1): Removed, use #'getf instead. * simple.el (kill-backward-chars): Removed; this isn't used. * simple.el (what-cursor-position): (lambda (arg) (format "%S" arg) -> #'prin1-to-string. * simple.el (debug-print-1): Renamed to #'debug-print. * simple.el (debug-print): Removed, #'debug-print-1 was equivalent. * subr.el (integer-to-bit-vector): check-nonnegative-number no longer available. * widget.el (define-widget): * widget.el (define-widget-keywords): Removed, this was long obsolete.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 05 May 2012 18:42:00 +0100
parents 308d34e9f07d
children e9c3fe82127d
comparison
equal deleted inserted replaced
5654:ddf56c45634e 5655:b7ae5f44b950
89 (set-face-reverse-p 'gui-button-face t) 89 (set-face-reverse-p 'gui-button-face t)
90 (set-face-background 'gui-button-face '(((win color) . "grey75"))) 90 (set-face-background 'gui-button-face '(((win color) . "grey75")))
91 (set-face-foreground 'gui-button-face '(((win color) . "black"))))) 91 (set-face-foreground 'gui-button-face '(((win color) . "black")))))
92 92
93 93
94 (defun gui-button-action (instance action user-data)
95 (let ((domain (image-instance-domain instance)))
96 (with-current-buffer (if (windowp domain)
97 (window-buffer domain) nil)
98 (funcall action user-data))))
99
100 (defun make-gui-button (string &optional action user-data) 94 (defun make-gui-button (string &optional action user-data)
101 "Make a GUI button whose label is STRING and whose action is ACTION. 95 "Make a GUI button whose label is STRING and whose action is ACTION.
102 If the button is inserted in a buffer and then clicked on, and ACTION 96 If the button is inserted in a buffer and then clicked on, and ACTION
103 is non-nil, ACTION will be called with one argument, USER-DATA. 97 is non-nil, ACTION will be called with one argument, USER-DATA.
104 When ACTION is called, the buffer containing the button is made current." 98 When ACTION is called, the buffer containing the button is made current."
105 (vector 'button 99 (labels
106 :descriptor string 100 ((gui-button-action (instance action user-data)
107 :face 'gui-button-face 101 (let ((domain (image-instance-domain instance)))
108 :callback-ex `(lambda (image-instance event) 102 (with-current-buffer (if (windowp domain)
109 (gui-button-action image-instance 103 (window-buffer domain) nil)
110 (quote ,action) 104 (funcall action user-data)))))
111 (quote ,user-data))))) 105 (vector 'button
106 :descriptor string
107 :face 'gui-button-face
108 :callback-ex `(lambda (image-instance event)
109 (gui-button-action image-instance
110 (quote ,action)
111 (quote ,user-data))))))
112 112
113 (defun insert-gui-button (button &optional pos buffer) 113 (defun insert-gui-button (button &optional pos buffer)
114 "Insert GUI button BUTTON at POS in BUFFER." 114 "Insert GUI button BUTTON at POS in BUFFER."
115 (check-argument-type 'gui-button-p button) 115 (check-argument-type 'gui-button-p button)
116 (if-fboundp 'make-annotation 116 (if-fboundp 'make-annotation