mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-29 19:48:19 +00:00
Fix info and customize *-other-window commands.
* lisp/cus-edit.el (customize-group): New argument. (customize-group-other-window): Use it. (customize-face, customize-face-other-window): Likewise. (custom-buffer-create-other-window): Use pop-to-buffer directly. * lisp/info.el (info-setup): New function. (info-other-window, info): Call it.
This commit is contained in:
parent
dfb3f7559b
commit
919a69aa08
@ -22,8 +22,16 @@
|
||||
(display-buffer--maybe-same-window): Renamed from
|
||||
display-buffer-maybe-same-window.
|
||||
|
||||
* cus-edit.el:
|
||||
* info.el:
|
||||
* info.el: Don't set same-window-regexps.
|
||||
(info-setup): New function.
|
||||
(info-other-window, info): Call it.
|
||||
|
||||
* cus-edit.el: Don't set same-window-regexps.
|
||||
(customize-group): New argument.
|
||||
(customize-group-other-window): Use it.
|
||||
(customize-face, customize-face-other-window): Likewise.
|
||||
(custom-buffer-create-other-window): Use pop-to-buffer directly.
|
||||
|
||||
* net/rlogin.el:
|
||||
* net/telnet.el:
|
||||
* progmodes/gud.el: Don't set same-window-regexps.
|
||||
|
@ -1101,8 +1101,9 @@ then prompt for the MODE to customize."
|
||||
t)))
|
||||
|
||||
;;;###autoload
|
||||
(defun customize-group (&optional group)
|
||||
"Customize GROUP, which must be a customization group."
|
||||
(defun customize-group (&optional group other-window)
|
||||
"Customize GROUP, which must be a customization group.
|
||||
If OTHER-WINDOW is non-nil, display in another window."
|
||||
(interactive (list (customize-read-group)))
|
||||
(when (stringp group)
|
||||
(if (string-equal "" group)
|
||||
@ -1111,21 +1112,20 @@ then prompt for the MODE to customize."
|
||||
(let ((name (format "*Customize Group: %s*"
|
||||
(custom-unlispify-tag-name group))))
|
||||
(if (get-buffer name)
|
||||
(pop-to-buffer name)
|
||||
(custom-buffer-create
|
||||
(list (list group 'custom-group))
|
||||
name
|
||||
(concat " for group "
|
||||
(custom-unlispify-tag-name group))))))
|
||||
(pop-to-buffer name other-window)
|
||||
(funcall (if other-window
|
||||
'custom-buffer-create-other-window
|
||||
'custom-buffer-create)
|
||||
(list (list group 'custom-group))
|
||||
name
|
||||
(concat " for group "
|
||||
(custom-unlispify-tag-name group))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun customize-group-other-window (&optional group)
|
||||
"Customize GROUP, which must be a customization group, in another window."
|
||||
(interactive (list (customize-read-group)))
|
||||
(let ((pop-up-windows t)
|
||||
(same-window-buffer-names nil)
|
||||
(same-window-regexps nil))
|
||||
(customize-group group)))
|
||||
(customize-group group t))
|
||||
|
||||
;;;###autoload
|
||||
(defalias 'customize-variable 'customize-option)
|
||||
@ -1306,11 +1306,13 @@ Emacs that is associated with version VERSION of PACKAGE."
|
||||
(< minor1 minor2)))))
|
||||
|
||||
;;;###autoload
|
||||
(defun customize-face (&optional face)
|
||||
(defun customize-face (&optional face other-window)
|
||||
"Customize FACE, which should be a face name or nil.
|
||||
If FACE is nil, customize all faces. If FACE is actually a
|
||||
face-alias, customize the face it is aliased to.
|
||||
|
||||
If OTHER-WINDOW is non-nil, display in another window.
|
||||
|
||||
Interactively, when point is on text which has a face specified,
|
||||
suggest to customize that face, if it's customizable."
|
||||
(interactive (list (read-face-name "Customize face" "all faces" t)))
|
||||
@ -1318,21 +1320,24 @@ suggest to customize that face, if it's customizable."
|
||||
(setq face (face-list)))
|
||||
(if (and (listp face) (null (cdr face)))
|
||||
(setq face (car face)))
|
||||
(if (listp face)
|
||||
(custom-buffer-create
|
||||
(custom-sort-items
|
||||
(mapcar (lambda (s) (list s 'custom-face)) face)
|
||||
t nil)
|
||||
"*Customize Faces*")
|
||||
;; If FACE is actually an alias, customize the face it is aliased to.
|
||||
(if (get face 'face-alias)
|
||||
(setq face (get face 'face-alias)))
|
||||
(unless (facep face)
|
||||
(error "Invalid face %S" face))
|
||||
(custom-buffer-create
|
||||
(list (list face 'custom-face))
|
||||
(format "*Customize Face: %s*"
|
||||
(custom-unlispify-tag-name face)))))
|
||||
(let ((display-fun (if other-window
|
||||
'custom-buffer-create-other-window
|
||||
'custom-buffer-create)))
|
||||
(if (listp face)
|
||||
(funcall display-fun
|
||||
(custom-sort-items
|
||||
(mapcar (lambda (s) (list s 'custom-face)) face)
|
||||
t nil)
|
||||
"*Customize Faces*")
|
||||
;; If FACE is actually an alias, customize the face it is aliased to.
|
||||
(if (get face 'face-alias)
|
||||
(setq face (get face 'face-alias)))
|
||||
(unless (facep face)
|
||||
(error "Invalid face %S" face))
|
||||
(funcall display-fun
|
||||
(list (list face 'custom-face))
|
||||
(format "*Customize Face: %s*"
|
||||
(custom-unlispify-tag-name face))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun customize-face-other-window (&optional face)
|
||||
@ -1342,10 +1347,7 @@ If FACE is actually a face-alias, customize the face it is aliased to.
|
||||
Interactively, when point is on text which has a face specified,
|
||||
suggest to customize that face, if it's customizable."
|
||||
(interactive (list (read-face-name "Customize face" "all faces" t)))
|
||||
(let ((pop-up-windows t)
|
||||
(same-window-buffer-names nil)
|
||||
(same-window-regexps nil))
|
||||
(customize-face face)))
|
||||
(customize-face face t))
|
||||
|
||||
(defalias 'customize-customized 'customize-unsaved)
|
||||
|
||||
@ -1543,11 +1545,8 @@ 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*"))
|
||||
(let ((pop-up-windows t)
|
||||
(same-window-buffer-names nil)
|
||||
(same-window-regexps nil))
|
||||
(pop-to-buffer (custom-get-fresh-buffer name))
|
||||
(custom-buffer-create-internal options description)))
|
||||
(pop-to-buffer (custom-get-fresh-buffer name) t)
|
||||
(custom-buffer-create-internal options description))
|
||||
|
||||
(defcustom custom-reset-button-menu nil
|
||||
"If non-nil, only show a single reset button in customize buffers.
|
||||
|
@ -610,8 +610,7 @@ in `Info-file-supports-index-cookies-list'."
|
||||
"Like `info' but show the Info buffer in another window."
|
||||
(interactive (if current-prefix-arg
|
||||
(list (read-file-name "Info file name: " nil nil t))))
|
||||
(let (same-window-buffer-names same-window-regexps)
|
||||
(info file-or-node)))
|
||||
(info-setup file-or-node (pop-to-buffer "*info*" t)))
|
||||
|
||||
;;;###autoload (put 'info 'info-file (purecopy "emacs"))
|
||||
;;;###autoload
|
||||
@ -641,7 +640,10 @@ See a list of available Info commands in `Info-mode'."
|
||||
(read-file-name "Info file name: " nil nil t))
|
||||
(if (numberp current-prefix-arg)
|
||||
(format "*info*<%s>" current-prefix-arg))))
|
||||
(pop-to-buffer (or buffer "*info*"))
|
||||
(info-setup file-or-node (pop-to-buffer (or buffer "*info*"))))
|
||||
|
||||
(defun info-setup (file-or-node buffer)
|
||||
"Display Info node FILE-OR-NODE in BUFFER."
|
||||
(if (and buffer (not (eq major-mode 'Info-mode)))
|
||||
(Info-mode))
|
||||
(if file-or-node
|
||||
|
Loading…
Reference in New Issue
Block a user