[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r105708: Fix info and customize *-oth
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r105708: Fix info and customize *-other-window commands. |
Date: |
Sat, 10 Sep 2011 16:14:02 -0400 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 105708
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Sat 2011-09-10 16:14:02 -0400
message:
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.
modified:
lisp/ChangeLog
lisp/cus-edit.el
lisp/info.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2011-09-10 19:31:05 +0000
+++ b/lisp/ChangeLog 2011-09-10 20:14:02 +0000
@@ -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.
=== modified file 'lisp/cus-edit.el'
--- a/lisp/cus-edit.el 2011-09-10 18:52:37 +0000
+++ b/lisp/cus-edit.el 2011-09-10 20:14:02 +0000
@@ -1101,8 +1101,9 @@
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 @@
(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 @@
(< 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 @@
(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 @@
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 @@
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.
=== modified file 'lisp/info.el'
--- a/lisp/info.el 2011-09-10 18:52:37 +0000
+++ b/lisp/info.el 2011-09-10 20:14:02 +0000
@@ -610,8 +610,7 @@
"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 @@
(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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r105708: Fix info and customize *-other-window commands.,
Chong Yidong <=