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