emacs-diffs
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]