mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-27 10:54:40 +00:00
(custom-get-fresh-buffer): New fun.
(custom-buffer-create, custom-buffer-create-other-window) (customize-browse): Use it instead of killing buffers. (custom-bury-buffer): Obey the argument. (custom-variable-reset-saved, custom-variable-reset-standard): Remove unused var `comment-widget'. (custom-face-edit-deactivate): Remove unused var `to'. (custom-save-variables): Remove unused var `sep'.
This commit is contained in:
parent
f118d83b79
commit
40627755be
@ -1,6 +1,6 @@
|
||||
;;; cus-edit.el --- tools for customizing Emacs and Lisp packages
|
||||
;;
|
||||
;; Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1996,97,1999,2000,01,02,2003 Free Software Foundation, Inc.
|
||||
;;
|
||||
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
|
||||
;; Maintainer: FSF
|
||||
@ -1189,7 +1189,8 @@ links: groups have links to subgroups."
|
||||
;; If we pass BUFFER to `bury-buffer', the buffer isn't removed from
|
||||
;; the window.
|
||||
(defun custom-bury-buffer (buffer)
|
||||
(bury-buffer))
|
||||
(with-current-buffer buffer
|
||||
(bury-buffer)))
|
||||
|
||||
(defcustom custom-buffer-done-function 'custom-bury-buffer
|
||||
"*Function called to remove a Custom buffer when the user is done with it.
|
||||
@ -1205,6 +1206,20 @@ Called with one argument, the buffer to remove."
|
||||
:type 'integer
|
||||
:group 'custom-buffer)
|
||||
|
||||
(defun custom-get-fresh-buffer (name)
|
||||
"Get a fresh new buffer with name NAME.
|
||||
If the buffer already exist, clean it up to be like new."
|
||||
(let ((buf (get-buffer name)))
|
||||
(if (null buf)
|
||||
(get-buffer-create name)
|
||||
(with-current-buffer buf
|
||||
(kill-all-local-variables)
|
||||
(erase-buffer)
|
||||
(let ((ols (overlay-lists)))
|
||||
(dolist (ol (nconc (car ols) (cdr ols)))
|
||||
(delete-overlay ol)))
|
||||
buf))))
|
||||
|
||||
;;;###autoload
|
||||
(defun custom-buffer-create (options &optional name description)
|
||||
"Create a buffer containing OPTIONS.
|
||||
@ -1212,9 +1227,7 @@ Optional NAME is the name of the buffer.
|
||||
OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where
|
||||
SYMBOL is a customization option, and WIDGET is a widget for editing
|
||||
that option."
|
||||
(unless name (setq name "*Customization*"))
|
||||
(kill-buffer (get-buffer-create name))
|
||||
(pop-to-buffer (get-buffer-create name))
|
||||
(pop-to-buffer (custom-get-fresh-buffer (or name "*Customization*")))
|
||||
(custom-buffer-create-internal options description))
|
||||
|
||||
;;;###autoload
|
||||
@ -1225,14 +1238,13 @@ OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where
|
||||
SYMBOL is a customization option, and WIDGET is a widget for editing
|
||||
that option."
|
||||
(unless name (setq name "*Customization*"))
|
||||
(kill-buffer (get-buffer-create name))
|
||||
(let ((window (selected-window))
|
||||
(pop-up-windows t)
|
||||
(special-display-buffer-names nil)
|
||||
(special-display-regexps nil)
|
||||
(same-window-buffer-names nil)
|
||||
(same-window-regexps nil))
|
||||
(pop-to-buffer (get-buffer-create name))
|
||||
(pop-to-buffer (custom-get-fresh-buffer name))
|
||||
(custom-buffer-create-internal options description)
|
||||
(select-window window)))
|
||||
|
||||
@ -1392,8 +1404,7 @@ Un-customize all values in this buffer. They get their standard settings."
|
||||
(unless group
|
||||
(setq group 'emacs))
|
||||
(let ((name "*Customize Browser*"))
|
||||
(kill-buffer (get-buffer-create name))
|
||||
(pop-to-buffer (get-buffer-create name)))
|
||||
(pop-to-buffer (custom-get-fresh-buffer name)))
|
||||
(custom-mode)
|
||||
(widget-insert "\
|
||||
Square brackets show active fields; type RET or click mouse-1
|
||||
@ -2440,7 +2451,6 @@ The value that was current before this operation
|
||||
becomes the backup value, so you can get it again."
|
||||
(let* ((symbol (widget-value widget))
|
||||
(set (or (get symbol 'custom-set) 'set-default))
|
||||
(comment-widget (widget-get widget :comment-widget))
|
||||
(value (get symbol 'saved-value))
|
||||
(comment (get symbol 'saved-variable-comment)))
|
||||
(cond ((or value comment)
|
||||
@ -2464,8 +2474,7 @@ restoring it to the state of a variable that has never been customized.
|
||||
The value that was current before this operation
|
||||
becomes the backup value, so you can get it again."
|
||||
(let* ((symbol (widget-value widget))
|
||||
(set (or (get symbol 'custom-set) 'set-default))
|
||||
(comment-widget (widget-get widget :comment-widget)))
|
||||
(set (or (get symbol 'custom-set) 'set-default)))
|
||||
(if (get symbol 'standard-value)
|
||||
(progn
|
||||
(custom-variable-backup-value widget)
|
||||
@ -2586,7 +2595,6 @@ Also change :reverse-video to :inverse-video."
|
||||
(unless (widget-get widget :inactive)
|
||||
(let ((tag (custom-face-edit-attribute-tag widget))
|
||||
(from (copy-marker (widget-get widget :from)))
|
||||
(to (widget-get widget :to))
|
||||
(value (widget-value widget))
|
||||
(inhibit-read-only t)
|
||||
(inhibit-modification-hooks t))
|
||||
@ -3727,8 +3735,7 @@ or (if there were none) at the end of the buffer."
|
||||
(and (not (boundp symbol))
|
||||
(not (eq (get symbol 'force-value)
|
||||
'rogue))))))
|
||||
(comment (get symbol 'saved-variable-comment))
|
||||
sep)
|
||||
(comment (get symbol 'saved-variable-comment)))
|
||||
;; Check `requests'.
|
||||
(dolist (request requests)
|
||||
(when (and (symbolp request) (not (featurep request)))
|
||||
|
Loading…
Reference in New Issue
Block a user