Mercurial > emacs
changeset 51362:0b5cb555fd17
(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'.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sat, 31 May 2003 15:23:00 +0000 |
parents | 3bd89ae152d0 |
children | 2d011e9999e9 |
files | lisp/cus-edit.el |
diffstat | 1 files changed, 22 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/cus-edit.el Sat May 31 08:05:27 2003 +0000 +++ b/lisp/cus-edit.el Sat May 31 15:23:00 2003 +0000 @@ -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 @@ ;; 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 @@ :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 @@ 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 @@ 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 @@ (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 @@ 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 @@ 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 @@ (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 @@ (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)))