Undo all of the last changes.
[elisp/gnus.git-] / lisp / gnus.el
index 96f68e3..c398069 100644 (file)
@@ -264,13 +264,13 @@ is restarted, and sometimes reloaded."
 (defconst gnus-product-name "T-gnus"
   "Product name of this version of gnus.")
 
-(defconst gnus-version-number "6.10.059"
+(defconst gnus-version-number "6.10.064"
   "Version number for this version of gnus.")
 
-(defconst gnus-revision-number "01"
+(defconst gnus-revision-number "04"
   "Revision number for this version of gnus.")
 
-(defconst gnus-original-version-number "0.77"
+(defconst gnus-original-version-number "0.84"
     "Version number for this version of Gnus.")
 
 (provide 'running-pterodactyl-gnus-0_73-or-later)
@@ -1813,7 +1813,7 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.")
       gnus-article-delete-invisible-text gnus-treat-article)
      ("gnus-art" :interactive t
       gnus-article-hide-headers gnus-article-hide-boring-headers
-      gnus-article-treat-overstrike gnus-article-word-wrap
+      gnus-article-treat-overstrike 
       gnus-article-remove-cr gnus-article-remove-trailing-blank-lines
       gnus-article-display-x-face
       gnus-article-hide-pgp
@@ -2445,6 +2445,15 @@ that that variable is buffer-local to the summary buffers."
                  (setq s1 (cdr s1)))
                (null s1))))))
 
+(defun gnus-methods-equal-p (m1 m2)
+  (let ((m1 (or m1 gnus-select-method))
+       (m2 (or m2 gnus-select-method)))
+    (or (equal m1 m2)
+       (and (eq (car m1) (car m2))
+            (or (not (memq 'address (assoc (symbol-name (car m1))
+                                           gnus-valid-select-methods)))
+                (equal (nth 1 m1) (nth 1 m2)))))))
+
 (defun gnus-server-equal (m1 m2)
   "Say whether two methods are equal."
   (let ((m1 (cond ((null m1) gnus-select-method)
@@ -2649,7 +2658,6 @@ If SCORE is nil, add 1 to the score of GROUP."
     (when info
       (gnus-info-set-score info (+ (gnus-info-score info) (or score 1))))))
 
-;; Function written by Stainless Steel Rat <ratinox@peorth.gweep.net>
 (defun gnus-short-group-name (group &optional levels)
   "Collapse GROUP name LEVELS.
 Select methods are stripped and any remote host name is stripped down to
@@ -2659,6 +2667,7 @@ just the host name."
         (depth 0)
         (skip 1)
         (levels (or levels
+                    gnus-group-uncollapsed-levels
                     (progn
                       (while (string-match "\\." group skip)
                         (setq skip (match-end 0)
@@ -2898,16 +2907,42 @@ As opposed to `gnus', this command will not connect to the local server."
   (interactive "P")
   (gnus arg nil 'slave))
 
+(defcustom gnus-frame-properties nil
+  "The properties of the frame in which gnus is displayed. Under XEmacs,
+the variable `toolbar-news-frame-plist' will be refered instead."
+  :type '(repeat (cons :format "%v"
+                      (symbol :tag "Parameter")
+                      (sexp :tag "Value")))
+  :group 'gnus)
+
+(defvar gnus-frame nil
+  "The frame in which gnus is displayed. It is not used under XEmacs.")
+
 ;;;###autoload
 (defun gnus-other-frame (&optional arg)
   "Pop up a frame to read news."
   (interactive "P")
-  (let ((window (get-buffer-window gnus-group-buffer)))
-    (cond (window
-          (select-frame (window-frame window)))
-         (t
-          (other-frame 1))))
-  (gnus arg))
+  (if (featurep 'xemacs)
+      (let ((toolbar-news-use-separate-frame t))
+       (toolbar-gnus))
+    (if (frame-live-p gnus-frame)
+       (raise-frame gnus-frame)
+      (setq gnus-frame (make-frame gnus-frame-properties))
+      (if (and (gnus-buffer-live-p gnus-group-buffer)
+              (save-current-buffer
+                (set-buffer gnus-group-buffer)
+                (eq 'gnus-group-mode major-mode)))
+         (progn
+           (select-frame gnus-frame)
+           (switch-to-buffer gnus-group-buffer))
+       (add-hook 'gnus-exit-gnus-hook
+                 (lambda ()
+                   (when (and (frame-live-p gnus-frame)
+                              (cdr (frame-list)))
+                     (delete-frame gnus-frame))
+                   (setq gnus-frame nil)))
+       (select-frame gnus-frame)
+       (gnus arg)))))
 
 ;;;###autoload
 (defun gnus (&optional arg dont-connect slave)