comparison lisp/files.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 cc6f0266bc36
children ee95ef1e644c
comparison
equal deleted inserted replaced
5654:ddf56c45634e 5655:b7ae5f44b950
3173 If PRED is nil, all the file-visiting buffers are considered. 3173 If PRED is nil, all the file-visiting buffers are considered.
3174 If PRED is t, then certain non-file buffers will also be considered. 3174 If PRED is t, then certain non-file buffers will also be considered.
3175 If PRED is a zero-argument function, it indicates for each buffer whether 3175 If PRED is a zero-argument function, it indicates for each buffer whether
3176 to consider it or not when called with that buffer current." 3176 to consider it or not when called with that buffer current."
3177 (interactive "P") 3177 (interactive "P")
3178 (save-excursion 3178 (labels
3179 ;; `delete-other-windows' can bomb during autoloads generation, so 3179 ;; XEmacs - do not use queried flag, make this function a label.
3180 ;; guard it well. 3180 ((save-some-buffers-1 (arg pred switch-buffer)
3181 (if (or noninteractive 3181 (let* ((switched nil)
3182 (eq (selected-window) (minibuffer-window)) 3182 (last-buffer nil)
3183 (not save-some-buffers-query-display-buffer)) 3183 (files-done
3184 ;; If playing with windows is unsafe or undesired, just do the 3184 (map-y-or-n-p
3185 ;; usual drill. 3185 (lambda (buffer)
3186 (save-some-buffers-1 arg pred nil) 3186 (prog1
3187 ;; Else, protect the windows. 3187 (and (buffer-modified-p buffer)
3188 (when (save-window-excursion 3188 (not (buffer-base-buffer buffer))
3189 (save-some-buffers-1 arg pred t)) 3189 ;; XEmacs addition:
3190 ;; Force redisplay. 3190 (not (symbol-value-in-buffer
3191 (sit-for 0))))) 3191 'save-buffers-skip buffer))
3192 3192 (or
3193 ;; XEmacs - do not use queried flag 3193 (buffer-file-name buffer)
3194 (defun save-some-buffers-1 (arg pred switch-buffer) 3194 (and pred
3195 (let* ((switched nil) 3195 (progn
3196 (last-buffer nil) 3196 (set-buffer buffer)
3197 (files-done 3197 (and buffer-offer-save (> (buffer-size)
3198 (map-y-or-n-p 3198 0)))))
3199 (lambda (buffer) 3199 (or (not (functionp pred))
3200 (prog1 3200 (with-current-buffer buffer (funcall pred)))
3201 (and (buffer-modified-p buffer) 3201 (if arg
3202 (not (buffer-base-buffer buffer)) 3202 t
3203 ;; XEmacs addition: 3203 ;; #### We should provide a per-buffer means
3204 (not (symbol-value-in-buffer 'save-buffers-skip buffer)) 3204 ;; to disable the switching. For instance,
3205 (or 3205 ;; you might want to turn it off for buffers
3206 (buffer-file-name buffer) 3206 ;; the contents of which is meaningless to
3207 (and pred 3207 ;; humans, such as `.newsrc.eld'.
3208 (progn 3208 (when (and switch-buffer
3209 (set-buffer buffer) 3209 ;; map-y-or-n-p is displaying help
3210 (and buffer-offer-save (> (buffer-size) 0))))) 3210 (not (eq last-buffer buffer)))
3211 (or (not (functionp pred)) 3211 (unless (one-window-p)
3212 (with-current-buffer buffer (funcall pred))) 3212 (delete-other-windows))
3213 (if arg 3213 (setq switched t)
3214 t 3214 ;; #### Consider using `display-buffer'
3215 ;; #### We should provide a per-buffer means to 3215 ;; here for 21.1!
3216 ;; disable the switching. For instance, you might 3216 ;;(display-buffer buffer nil (selected-frame)))
3217 ;; want to turn it off for buffers the contents of 3217 (switch-to-buffer buffer t))
3218 ;; which is meaningless to humans, such as 3218 (if (buffer-file-name buffer)
3219 ;; `.newsrc.eld'. 3219 (format "Save file %s? "
3220 (when (and switch-buffer 3220 (buffer-file-name buffer))
3221 ;; map-y-or-n-p is displaying help 3221 (format "Save buffer %s? "
3222 (not (eq last-buffer buffer))) 3222 (buffer-name buffer)))))
3223 (unless (one-window-p) 3223 (setq last-buffer buffer)))
3224 (delete-other-windows)) 3224 (lambda (buffer)
3225 (setq switched t) 3225 (set-buffer buffer)
3226 ;; #### Consider using `display-buffer' here for 21.1! 3226 (condition-case ()
3227 ;;(display-buffer buffer nil (selected-frame))) 3227 (save-buffer)
3228 (switch-to-buffer buffer t)) 3228 (error nil)))
3229 (if (buffer-file-name buffer) 3229 (buffer-list)
3230 (format "Save file %s? " 3230 '("buffer" "buffers" "save")
3231 (buffer-file-name buffer)) 3231 save-some-buffers-action-alist))
3232 (format "Save buffer %s? " 3232 (abbrevs-done
3233 (buffer-name buffer))))) 3233 (and save-abbrevs abbrevs-changed
3234 (setq last-buffer buffer))) 3234 (progn
3235 (lambda (buffer) 3235 (if (or arg
3236 (set-buffer buffer) 3236 (eq save-abbrevs 'silently)
3237 (condition-case () 3237 (y-or-n-p (format "Save abbrevs in %s? "
3238 (save-buffer) 3238 abbrev-file-name)))
3239 (error nil))) 3239 (write-abbrev-file nil))
3240 (buffer-list) 3240 ;; Don't keep bothering user if he says no.
3241 '("buffer" "buffers" "save") 3241 (setq abbrevs-changed nil)
3242 save-some-buffers-action-alist)) 3242 t))))
3243 (abbrevs-done 3243 (or (> files-done 0) abbrevs-done
3244 (and save-abbrevs abbrevs-changed 3244 (display-message 'no-log "(No files need saving)"))
3245 (progn 3245 switched)))
3246 (if (or arg 3246 (save-excursion
3247 (eq save-abbrevs 'silently) 3247 ;; `delete-other-windows' can bomb during autoloads generation, so
3248 (y-or-n-p (format "Save abbrevs in %s? " abbrev-file-name))) 3248 ;; guard it well.
3249 (write-abbrev-file nil)) 3249 (if (or noninteractive
3250 ;; Don't keep bothering user if he says no. 3250 (eq (selected-window) (minibuffer-window))
3251 (setq abbrevs-changed nil) 3251 (not save-some-buffers-query-display-buffer))
3252 t)))) 3252 ;; If playing with windows is unsafe or undesired, just do the
3253 (or (> files-done 0) abbrevs-done 3253 ;; usual drill.
3254 (display-message 'no-log "(No files need saving)")) 3254 (save-some-buffers-1 arg pred nil)
3255 switched)) 3255 ;; Else, protect the windows.
3256 3256 (when (save-window-excursion
3257 (save-some-buffers-1 arg pred t))
3258 ;; Force redisplay.
3259 (sit-for 0))))))
3257 3260
3258 3261
3259 (defun not-modified (&optional arg) 3262 (defun not-modified (&optional arg)
3260 "Mark current buffer as unmodified, not needing to be saved. 3263 "Mark current buffer as unmodified, not needing to be saved.
3261 With prefix arg, mark buffer as modified, so \\[save-buffer] will save. 3264 With prefix arg, mark buffer as modified, so \\[save-buffer] will save.