Merge from emacs--devo--0, emacs--rel--22
[gnus] / lisp / gnus-win.el
index 570c27c..ba77620 100644 (file)
@@ -1,6 +1,7 @@
 ;;; gnus-win.el --- window configuration functions for Gnus
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001
-;;        Free Software Foundation, Inc.
+
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+;;   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news
@@ -9,7 +10,7 @@
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
+;; the Free Software Foundation; either version 3, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
@@ -19,8 +20,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
@@ -62,6 +63,7 @@
   "*If non-nil, frames on all displays will be considered useable by Gnus.
 When nil, only frames on the same display as the selected frame will be
 used to display Gnus windows."
+  :version "22.1"
   :group 'gnus-windows
   :type 'boolean)
 
@@ -118,12 +120,16 @@ used to display Gnus windows."
      (vertical 1.0
               (summary 0.25)
               (edit-score 1.0 point)))
+    (edit-server
+     (vertical 1.0
+              (server 0.5)
+              (edit-form 1.0 point)))
     (post
      (vertical 1.0
               (post 1.0 point)))
     (reply
      (vertical 1.0
-              (article-copy 0.5)
+              (article 0.5)
               (message 1.0 point)))
     (forward
      (vertical 1.0
@@ -164,8 +170,12 @@ used to display Gnus windows."
               (article 0.5)
               (message 1.0 point)))
     (display-term
-      (vertical 1.0
-               ("*display*" 1.0))))
+     (vertical 1.0
+              ("*display*" 1.0)))
+    (mml-preview
+     (vertical 1.0
+              (message 0.5)
+              (mml-preview 1.0 point))))
   "Window configuration for all possible Gnus buffers.
 See the Gnus manual for an explanation of the syntax used.")
 
@@ -193,11 +203,13 @@ See the Gnus manual for an explanation of the syntax used.")
     (info . gnus-info-buffer)
     (category . gnus-category-buffer)
     (article-copy . gnus-article-copy)
-    (draft . gnus-draft-buffer))
+    (draft . gnus-draft-buffer)
+    (mml-preview . mml-preview-buffer))
   "Mapping from short symbols to buffer names or buffer variables.")
 
 (defcustom gnus-configure-windows-hook nil
   "*A hook called when configuring windows."
+  :version "22.1"
   :group 'gnus-windows
   :type 'hook)
 
@@ -295,7 +307,7 @@ See the Gnus manual for an explanation of the syntax used.")
     (unless window
       (setq window current-window))
     (select-window window)
-    ;; This might be an old-stylee buffer config.
+    ;; This might be an old-style buffer config.
     (when (vectorp split)
       (setq split (append split nil)))
     (when (or (consp (car split))
@@ -305,7 +317,7 @@ See the Gnus manual for an explanation of the syntax used.")
     ;; The SPLIT might be something that is to be evaled to
     ;; return a new SPLIT.
     (while (and (not (assq (car split) gnus-window-to-buffer))
-               (gnus-functionp (car split)))
+               (symbolp (car split)) (fboundp (car split)))
       (setq split (eval split)))
     (let* ((type (car split))
           (subs (cddr split))
@@ -368,7 +380,7 @@ See the Gnus manual for an explanation of the syntax used.")
          (while subs
            (setq sub (append (pop subs) nil))
            (while (and (not (assq (car sub) gnus-window-to-buffer))
-                       (gnus-functionp (car sub)))
+                       (symbolp (car sub)) (fboundp (car sub)))
              (setq sub (eval sub)))
            (when sub
              (push sub comp-subs)
@@ -468,7 +480,8 @@ See the Gnus manual for an explanation of the syntax used.")
          (gnus-configure-frame split)
          (run-hooks 'gnus-configure-windows-hook)
          (when gnus-window-frame-focus
-           (select-frame (window-frame gnus-window-frame-focus))))))))
+           (gnus-select-frame-set-input-focus
+            (window-frame gnus-window-frame-focus))))))))
 
 (defun gnus-delete-windows-in-gnusey-frames ()
   "Do a `delete-other-windows' in all frames that have Gnus windows."
@@ -507,7 +520,7 @@ should have point."
       ;; The SPLIT might be something that is to be evaled to
       ;; return a new SPLIT.
       (while (and (not (assq (car split) gnus-window-to-buffer))
-                 (gnus-functionp (car split)))
+                 (symbolp (car split)) (fboundp (car split)))
        (setq split (eval split)))
 
       (setq type (elt split 0))
@@ -571,7 +584,7 @@ should have point."
              (memq frame '(t 0 visible)))
         (car
          (let ((frames (gnus-frames-on-display-list)))
-           (gnus-delete-if (lambda (win) (not (memq (window-frame win)
+           (gnus-remove-if (lambda (win) (not (memq (window-frame win)
                                                     frames)))
                            (get-buffer-window-list buffer nil frame)))))
        (t
@@ -579,4 +592,5 @@ should have point."
 
 (provide 'gnus-win)
 
+;; arch-tag: ccd5a394-2ddf-4397-b8f8-6d80d3e46e2b
 ;;; gnus-win.el ends here