shr: Render td content with shr-descend
[gnus] / lisp / gnus.el
index 556da8f..45b84ae 100644 (file)
@@ -1,8 +1,8 @@
 ;;; gnus.el --- a newsreader for GNU Emacs
 
 ;;; gnus.el --- a newsreader for GNU Emacs
 
-;; Copyright (C) 1987, 1988, 1989, 1990, 1993, 1994, 1995, 1996, 1997, 1998,
-;;   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-;;   Free Software Foundation, Inc.
+;; Copyright (C) 1987, 1988, 1989, 1990, 1993, 1994, 1995, 1996, 1997,
+;;   1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+;;   2010  Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
 ;;     Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -1031,10 +1031,11 @@ be set in `.emacs' instead."
   (unless (and
            (fboundp 'find-image)
            (display-graphic-p)
   (unless (and
            (fboundp 'find-image)
            (display-graphic-p)
-           ;; Make sure the library defining `image-load-path' is loaded
-           ;; (`find-image' is autoloaded) (and discard the result).  Else, we may
-           ;; get "defvar ignored because image-load-path is let-bound" when calling
-           ;; `find-image' below.
+           ;; Make sure the library defining `image-load-path' is
+           ;; loaded (`find-image' is autoloaded) (and discard the
+           ;; result).  Else, we may get "defvar ignored because
+           ;; image-load-path is let-bound" when calling `find-image'
+           ;; below.
            (or (find-image '(nil (:type xpm :file "gnus.xpm"))) t)
            (let* ((data-directory (nnheader-find-etc-directory "images/gnus"))
                   (image-load-path (cond (data-directory
            (or (find-image '(nil (:type xpm :file "gnus.xpm"))) t)
            (let* ((data-directory (nnheader-find-etc-directory "images/gnus"))
                   (image-load-path (cond (data-directory
@@ -1064,9 +1065,10 @@ be set in `.emacs' instead."
                  (insert-char ?\  (max 0 (round (- (window-width)
                                                    (or x (car size))) 2)))
                  (insert-image image))
                  (insert-char ?\  (max 0 (round (- (window-width)
                                                    (or x (car size))) 2)))
                  (insert-image image))
+              (goto-char (point-min))
                t)))
     (insert
                t)))
     (insert
-     (format "              
+     (format "
          _    ___ _             _
          _ ___ __ ___  __    _ ___
          __   _     ___    __  ___
          _    ___ _             _
          _ ___ __ ___  __    _ ___
          __   _     ___    __  ___
@@ -1367,14 +1369,14 @@ To make Gnus query you for a server, you have to give `gnus' a
 non-numeric prefix - `C-u M-x gnus', in short."
   :group 'gnus-server
   :type '(repeat string))
 non-numeric prefix - `C-u M-x gnus', in short."
   :group 'gnus-server
   :type '(repeat string))
+(make-obsolete-variable 'gnus-secondary-servers 'gnus-select-method "24.1")
 
 (defcustom gnus-nntp-server nil
 
 (defcustom gnus-nntp-server nil
-  "*The name of the host running the NNTP server.
-This variable is semi-obsolete.  Use the `gnus-select-method'
-variable instead."
+  "The name of the host running the NNTP server."
   :group 'gnus-server
   :type '(choice (const :tag "disable" nil)
                 string))
   :group 'gnus-server
   :type '(choice (const :tag "disable" nil)
                 string))
+(make-obsolete-variable 'gnus-nntp-server 'gnus-select-method "24.1")
 
 (defcustom gnus-secondary-select-methods nil
   "A list of secondary methods that will be used for reading news.
 
 (defcustom gnus-secondary-select-methods nil
   "A list of secondary methods that will be used for reading news.
@@ -1388,11 +1390,6 @@ you could set this variable:
   :group 'gnus-server
   :type '(repeat gnus-select-method))
 
   :group 'gnus-server
   :type '(repeat gnus-select-method))
 
-(defvar gnus-backup-default-subscribed-newsgroups
-  '("news.announce.newusers" "news.groups.questions" "gnu.emacs.gnus")
-  "Default default new newsgroups the first time Gnus is run.
-Should be set in paths.el, and shouldn't be touched by the user.")
-
 (defcustom gnus-local-domain nil
   "Local domain name without a host name.
 The DOMAINNAME environment variable is used instead if it is defined.
 (defcustom gnus-local-domain nil
   "Local domain name without a host name.
 The DOMAINNAME environment variable is used instead if it is defined.
@@ -1403,10 +1400,6 @@ no need to set this variable."
                 string))
 (make-obsolete-variable 'gnus-local-domain nil "Emacs 24.1")
 
                 string))
 (make-obsolete-variable 'gnus-local-domain nil "Emacs 24.1")
 
-(defvar gnus-local-organization nil
-  "String with a description of what organization (if any) the user belongs to.
-Obsolete variable; use `message-user-organization' instead.")
-
 ;; Customization variables
 
 (defcustom gnus-refer-article-method 'current
 ;; Customization variables
 
 (defcustom gnus-refer-article-method 'current
@@ -1436,14 +1429,6 @@ list, Gnus will try all the methods in the list until it finds a match."
                                        (nnweb "refer" (nnweb-type google)))
                                 gnus-select-method))))
 
                                        (nnweb "refer" (nnweb-type google)))
                                 gnus-select-method))))
 
-(defcustom gnus-group-fetch-control-use-browse-url nil
-  "*Non-nil means that control messages are displayed using `browse-url'.
-Otherwise they are fetched with ange-ftp and displayed in an ephemeral
-group."
-  :version "22.1"
-  :group 'gnus-group-various
-  :type 'boolean)
-
 (defcustom gnus-use-cross-reference t
   "*Non-nil means that cross referenced articles will be marked as read.
 If nil, ignore cross references.  If t, mark articles as read in
 (defcustom gnus-use-cross-reference t
   "*Non-nil means that cross referenced articles will be marked as read.
 If nil, ignore cross references.  If t, mark articles as read in
@@ -1473,7 +1458,7 @@ Also see `gnus-large-ephemeral-newsgroup'."
                 integer))
 
 (defcustom gnus-use-long-file-name (not (memq system-type '(usg-unix-v)))
                 integer))
 
 (defcustom gnus-use-long-file-name (not (memq system-type '(usg-unix-v)))
-  "*Non-nil means that the default name of a file to save articles in is the group name.
+  "Non-nil means that the default name of a file to save articles in is the group name.
 If it's nil, the directory form of the group name is used instead.
 
 If this variable is a list, and the list contains the element
 If it's nil, the directory form of the group name is used instead.
 
 If this variable is a list, and the list contains the element
@@ -1483,8 +1468,8 @@ saving; and if it contains the element `not-kill', long file names
 will not be used for kill files.
 
 Note that the default for this variable varies according to what system
 will not be used for kill files.
 
 Note that the default for this variable varies according to what system
-type you're using.  On `usg-unix-v' and `xenix' this variable defaults
-to nil while on all other systems it defaults to t."
+type you're using.  On `usg-unix-v' this variable defaults to nil while
+on all other systems it defaults to t."
   :group 'gnus-start
   :type '(radio (sexp :format "Non-nil\n"
                      :match (lambda (widget value)
   :group 'gnus-start
   :type '(radio (sexp :format "Non-nil\n"
                      :match (lambda (widget value)
@@ -1622,7 +1607,7 @@ slower."
     ("nnweb" none)
     ("nnrss" none)
     ("nnagent" post-mail)
     ("nnweb" none)
     ("nnrss" none)
     ("nnagent" post-mail)
-    ("nnimap" post-mail address prompt-address physical-address)
+    ("nnimap" post-mail address prompt-address physical-address respool)
     ("nnmaildir" mail respool address)
     ("nnnil" none))
   "*An alist of valid select methods.
     ("nnmaildir" mail respool address)
     ("nnnil" none))
   "*An alist of valid select methods.
@@ -2784,7 +2769,8 @@ gnus-registry.el will populate this if it's loaded.")
      ("gnus-cite" :interactive t
       gnus-article-highlight-citation gnus-article-hide-citation-maybe
       gnus-article-hide-citation gnus-article-fill-cited-article
      ("gnus-cite" :interactive t
       gnus-article-highlight-citation gnus-article-hide-citation-maybe
       gnus-article-hide-citation gnus-article-fill-cited-article
-      gnus-article-hide-citation-in-followups)
+      gnus-article-hide-citation-in-followups
+      gnus-article-fill-cited-long-lines)
      ("gnus-kill" gnus-kill gnus-apply-kill-file-internal
       gnus-kill-file-edit-file gnus-kill-file-raise-followups-to-author
       gnus-execute gnus-expunge gnus-batch-kill gnus-batch-score)
      ("gnus-kill" gnus-kill gnus-apply-kill-file-internal
       gnus-kill-file-edit-file gnus-kill-file-raise-followups-to-author
       gnus-execute gnus-expunge gnus-batch-kill gnus-batch-score)
@@ -2885,7 +2871,6 @@ gnus-registry.el will populate this if it's loaded.")
       gnus-start-date-timer gnus-stop-date-timer
       gnus-mime-view-all-parts)
      ("gnus-int" gnus-request-type)
       gnus-start-date-timer gnus-stop-date-timer
       gnus-mime-view-all-parts)
      ("gnus-int" gnus-request-type)
-     ("gnus-html" gnus-html-show-images)
      ("gnus-start" gnus-newsrc-parse-options gnus-1 gnus-no-server-1
       gnus-dribble-enter gnus-read-init-file gnus-dribble-touch
       gnus-check-reasonable-setup)
      ("gnus-start" gnus-newsrc-parse-options gnus-1 gnus-no-server-1
       gnus-dribble-enter gnus-read-init-file gnus-dribble-touch
       gnus-check-reasonable-setup)
@@ -3555,16 +3540,6 @@ that that variable is buffer-local to the summary buffers."
                                            gnus-valid-select-methods)))
                 (equal (nth 1 m1) (nth 1 m2)))))))
 
                                            gnus-valid-select-methods)))
                 (equal (nth 1 m1) (nth 1 m2)))))))
 
-(defun gnus-methods-sloppily-equal (m1 m2)
-  ;; Same method.
-  (or
-   (eq m1 m2)
-   ;; Type and name are equal.
-   (and
-    (eq (car m1) (car m2))
-    (equal (cadr m1) (cadr m2))
-    (gnus-sloppily-equal-method-parameters m1 m2))))
-
 (defsubst gnus-sloppily-equal-method-parameters (m1 m2)
   ;; Check parameters for sloppy equalness.
   (let ((p1 (copy-sequence (cddr m1)))
 (defsubst gnus-sloppily-equal-method-parameters (m1 m2)
   ;; Check parameters for sloppy equalness.
   (let ((p1 (copy-sequence (cddr m1)))
@@ -3593,6 +3568,16 @@ that that variable is buffer-local to the summary buffers."
       ;; If p2 now is empty, they were equal.
       (null p2))))
 
       ;; If p2 now is empty, they were equal.
       (null p2))))
 
+(defun gnus-methods-sloppily-equal (m1 m2)
+  ;; Same method.
+  (or
+   (eq m1 m2)
+   ;; Type and name are equal.
+   (and
+    (eq (car m1) (car m2))
+    (equal (cadr m1) (cadr m2))
+    (gnus-sloppily-equal-method-parameters m1 m2))))
+
 (defun gnus-server-equal (m1 m2)
   "Say whether two methods are equal."
   (let ((m1 (cond ((null m1) gnus-select-method)
 (defun gnus-server-equal (m1 m2)
   "Say whether two methods are equal."
   (let ((m1 (cond ((null m1) gnus-select-method)