*** empty log message ***
[gnus] / lisp / gnus-win.el
index 0cb2bb8..a0ceabb 100644 (file)
 
 (require 'gnus)
 
-(defvar gnus-use-full-window t
-  "*If non-nil, use the entire Emacs screen.")
+(defgroup gnus-windows nil
+  "Window configuration."
+  :group 'gnus)
+
+(defcustom gnus-use-full-window t
+  "*If non-nil, use the entire Emacs screen."
+  :group 'gnus-windows
+  :type 'boolean)
 
 (defvar gnus-window-configuration nil
   "Obsolete variable.  See `gnus-buffer-configuration'.")
 
-(defvar gnus-window-min-width 2
-  "*Minimum width of Gnus buffers.")
+(defcustom gnus-window-min-width 2
+  "*Minimum width of Gnus buffers."
+  :group 'gnus-windows
+  :type 'integer)
 
-(defvar gnus-window-min-height 1
-  "*Minimum height of Gnus buffers.")
+(defcustom gnus-window-min-height 1
+  "*Minimum height of Gnus buffers."
+  :group 'gnus-windows
+  :type 'integer)
 
-(defvar gnus-always-force-window-configuration nil
-  "*If non-nil, always force the Gnus window configurations.")
+(defcustom gnus-always-force-window-configuration nil
+  "*If non-nil, always force the Gnus window configurations."
+  :group 'gnus-windows
+  :type 'boolean)
 
 (defvar gnus-buffer-configuration
   '((group
               (article 0.5)
               (message 1.0 point))))
   "Window configuration for all possible Gnus buffers.
-This variable is a list of lists.  Each of these lists has a NAME and
-a RULE.         The NAMEs are commonsense names like `group', which names a
-rule used when displaying the group buffer; `summary', which names a
-rule for what happens when you enter a group and do not display an
-article buffer; and so on.  See the value of this variable for a
-complete list of NAMEs.
-
-Each RULE is a list of vectors.         The first element in this vector is
-the name of the buffer to be displayed; the second element is the
-percentage of the screen this buffer is to occupy (a number in the
-0.0-0.99 range); the optional third element is `point', which should
-be present to denote which buffer point is to go to after making this
-buffer configuration.")
+See the Gnus manual for an explanation of the syntax used.")
 
 (defvar gnus-window-to-buffer
   '((group . gnus-group-buffer)
@@ -199,9 +199,8 @@ buffer configuration.")
     (when (frame-live-p (car gnus-created-frames))
       ;; We slap a condition-case around this `delete-frame' to ensure 
       ;; against errors if we try do delete the single frame that's left.
-      (condition-case ()
-         (delete-frame (car gnus-created-frames))
-       (error nil)))
+      (ignore-errors
+       (delete-frame (car gnus-created-frames))))
     (pop gnus-created-frames)))
 
 (defun gnus-window-configuration-element (list)
@@ -436,8 +435,11 @@ buffer configuration.")
         (mapcar
          (lambda (elem)
            (if (symbolp (cdr elem))
-               (get-buffer (symbol-value (cdr elem)))
-             (get-buffer (cdr elem))))
+               (when (and (boundp (cdr elem))
+                          (symbol-value (cdr elem)))
+                 (get-buffer (symbol-value (cdr elem))))
+             (when (cdr elem) 
+               (get-buffer (cdr elem)))))
          gnus-window-to-buffer)))
     (mapcar 
      (lambda (frame)