Fix up the w3m/curl dependencies.
[gnus] / lisp / gnus.el
index fe34891..c65ec99 100644 (file)
@@ -1,7 +1,7 @@
 ;;; 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
+;;   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
@@ -318,11 +318,13 @@ be set in `.emacs' instead."
 (unless (featurep 'gnus-xmas)
   (defalias 'gnus-make-overlay 'make-overlay)
   (defalias 'gnus-delete-overlay 'delete-overlay)
+  (defalias 'gnus-overlay-get 'overlay-get)
   (defalias 'gnus-overlay-put 'overlay-put)
   (defalias 'gnus-move-overlay 'move-overlay)
   (defalias 'gnus-overlay-buffer 'overlay-buffer)
   (defalias 'gnus-overlay-start 'overlay-start)
   (defalias 'gnus-overlay-end 'overlay-end)
+  (defalias 'gnus-overlays-in 'overlays-in)
   (defalias 'gnus-extent-detached-p 'ignore)
   (defalias 'gnus-extent-start-open 'ignore)
   (defalias 'gnus-mail-strip-quoted-names 'mail-strip-quoted-names)
@@ -378,6 +380,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-1-face 'face-alias 'gnus-group-news-1)
+(put 'gnus-group-news-1-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-1-empty
   '((((class color)
@@ -392,6 +395,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-1-empty-face 'face-alias 'gnus-group-news-1-empty)
+(put 'gnus-group-news-1-empty-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-2
   '((((class color)
@@ -406,6 +410,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-2-face 'face-alias 'gnus-group-news-2)
+(put 'gnus-group-news-2-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-2-empty
   '((((class color)
@@ -420,6 +425,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-2-empty-face 'face-alias 'gnus-group-news-2-empty)
+(put 'gnus-group-news-2-empty-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-3
   '((((class color)
@@ -434,6 +440,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-3-face 'face-alias 'gnus-group-news-3)
+(put 'gnus-group-news-3-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-3-empty
   '((((class color)
@@ -448,6 +455,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-3-empty-face 'face-alias 'gnus-group-news-3-empty)
+(put 'gnus-group-news-3-empty-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-4
   '((((class color)
@@ -462,6 +470,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-4-face 'face-alias 'gnus-group-news-4)
+(put 'gnus-group-news-4-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-4-empty
   '((((class color)
@@ -476,6 +485,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-4-empty-face 'face-alias 'gnus-group-news-4-empty)
+(put 'gnus-group-news-4-empty-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-5
   '((((class color)
@@ -490,6 +500,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-5-face 'face-alias 'gnus-group-news-5)
+(put 'gnus-group-news-5-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-5-empty
   '((((class color)
@@ -504,6 +515,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-5-empty-face 'face-alias 'gnus-group-news-5-empty)
+(put 'gnus-group-news-5-empty-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-6
   '((((class color)
@@ -518,6 +530,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-6-face 'face-alias 'gnus-group-news-6)
+(put 'gnus-group-news-6-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-6-empty
   '((((class color)
@@ -532,6 +545,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-6-empty-face 'face-alias 'gnus-group-news-6-empty)
+(put 'gnus-group-news-6-empty-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-low
   '((((class color)
@@ -546,6 +560,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-low-face 'face-alias 'gnus-group-news-low)
+(put 'gnus-group-news-low-face 'obsolete-face "22.1")
 
 (defface gnus-group-news-low-empty
   '((((class color)
@@ -560,6 +575,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-news-low-empty-face 'face-alias 'gnus-group-news-low-empty)
+(put 'gnus-group-news-low-empty-face 'obsolete-face "22.1")
 
 (defface gnus-group-mail-1
   '((((class color)
@@ -574,6 +590,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-mail-1-face 'face-alias 'gnus-group-mail-1)
+(put 'gnus-group-mail-1-face 'obsolete-face "22.1")
 
 (defface gnus-group-mail-1-empty
   '((((class color)
@@ -588,6 +605,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-mail-1-empty-face 'face-alias 'gnus-group-mail-1-empty)
+(put 'gnus-group-mail-1-empty-face 'obsolete-face "22.1")
 
 (defface gnus-group-mail-2
   '((((class color)
@@ -602,6 +620,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-mail-2-face 'face-alias 'gnus-group-mail-2)
+(put 'gnus-group-mail-2-face 'obsolete-face "22.1")
 
 (defface gnus-group-mail-2-empty
   '((((class color)
@@ -616,6 +635,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-mail-2-empty-face 'face-alias 'gnus-group-mail-2-empty)
+(put 'gnus-group-mail-2-empty-face 'obsolete-face "22.1")
 
 (defface gnus-group-mail-3
   '((((class color)
@@ -630,6 +650,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-mail-3-face 'face-alias 'gnus-group-mail-3)
+(put 'gnus-group-mail-3-face 'obsolete-face "22.1")
 
 (defface gnus-group-mail-3-empty
   '((((class color)
@@ -644,6 +665,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-mail-3-empty-face 'face-alias 'gnus-group-mail-3-empty)
+(put 'gnus-group-mail-3-empty-face 'obsolete-face "22.1")
 
 (defface gnus-group-mail-low
   '((((class color)
@@ -658,6 +680,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-mail-low-face 'face-alias 'gnus-group-mail-low)
+(put 'gnus-group-mail-low-face 'obsolete-face "22.1")
 
 (defface gnus-group-mail-low-empty
   '((((class color)
@@ -672,6 +695,7 @@ be set in `.emacs' instead."
   :group 'gnus-group)
 ;; backward-compatibility alias
 (put 'gnus-group-mail-low-empty-face 'face-alias 'gnus-group-mail-low-empty)
+(put 'gnus-group-mail-low-empty-face 'obsolete-face "22.1")
 
 ;; Summary mode faces.
 
@@ -680,6 +704,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-selected-face 'face-alias 'gnus-summary-selected)
+(put 'gnus-summary-selected-face 'obsolete-face "22.1")
 
 (defface gnus-summary-cancelled
   '((((class color))
@@ -688,6 +713,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-cancelled-face 'face-alias 'gnus-summary-cancelled)
+(put 'gnus-summary-cancelled-face 'obsolete-face "22.1")
 
 (defface gnus-summary-high-ticked
   '((((class color)
@@ -702,6 +728,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-high-ticked-face 'face-alias 'gnus-summary-high-ticked)
+(put 'gnus-summary-high-ticked-face 'obsolete-face "22.1")
 
 (defface gnus-summary-low-ticked
   '((((class color)
@@ -716,6 +743,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-low-ticked-face 'face-alias 'gnus-summary-low-ticked)
+(put 'gnus-summary-low-ticked-face 'obsolete-face "22.1")
 
 (defface gnus-summary-normal-ticked
   '((((class color)
@@ -730,6 +758,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-normal-ticked-face 'face-alias 'gnus-summary-normal-ticked)
+(put 'gnus-summary-normal-ticked-face 'obsolete-face "22.1")
 
 (defface gnus-summary-high-ancient
   '((((class color)
@@ -744,6 +773,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-high-ancient-face 'face-alias 'gnus-summary-high-ancient)
+(put 'gnus-summary-high-ancient-face 'obsolete-face "22.1")
 
 (defface gnus-summary-low-ancient
   '((((class color)
@@ -758,6 +788,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-low-ancient-face 'face-alias 'gnus-summary-low-ancient)
+(put 'gnus-summary-low-ancient-face 'obsolete-face "22.1")
 
 (defface gnus-summary-normal-ancient
   '((((class color)
@@ -772,6 +803,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-normal-ancient-face 'face-alias 'gnus-summary-normal-ancient)
+(put 'gnus-summary-normal-ancient-face 'obsolete-face "22.1")
 
 (defface gnus-summary-high-undownloaded
    '((((class color)
@@ -784,6 +816,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-high-undownloaded-face 'face-alias 'gnus-summary-high-undownloaded)
+(put 'gnus-summary-high-undownloaded-face 'obsolete-face "22.1")
 
 (defface gnus-summary-low-undownloaded
    '((((class color)
@@ -796,6 +829,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-low-undownloaded-face 'face-alias 'gnus-summary-low-undownloaded)
+(put 'gnus-summary-low-undownloaded-face 'obsolete-face "22.1")
 
 (defface gnus-summary-normal-undownloaded
    '((((class color)
@@ -808,6 +842,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-normal-undownloaded-face 'face-alias 'gnus-summary-normal-undownloaded)
+(put 'gnus-summary-normal-undownloaded-face 'obsolete-face "22.1")
 
 (defface gnus-summary-high-unread
   '((t
@@ -816,6 +851,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-high-unread-face 'face-alias 'gnus-summary-high-unread)
+(put 'gnus-summary-high-unread-face 'obsolete-face "22.1")
 
 (defface gnus-summary-low-unread
   '((t
@@ -824,6 +860,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-low-unread-face 'face-alias 'gnus-summary-low-unread)
+(put 'gnus-summary-low-unread-face 'obsolete-face "22.1")
 
 (defface gnus-summary-normal-unread
   '((t
@@ -832,6 +869,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-normal-unread-face 'face-alias 'gnus-summary-normal-unread)
+(put 'gnus-summary-normal-unread-face 'obsolete-face "22.1")
 
 (defface gnus-summary-high-read
   '((((class color)
@@ -848,6 +886,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-high-read-face 'face-alias 'gnus-summary-high-read)
+(put 'gnus-summary-high-read-face 'obsolete-face "22.1")
 
 (defface gnus-summary-low-read
   '((((class color)
@@ -864,6 +903,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-low-read-face 'face-alias 'gnus-summary-low-read)
+(put 'gnus-summary-low-read-face 'obsolete-face "22.1")
 
 (defface gnus-summary-normal-read
   '((((class color)
@@ -878,6 +918,7 @@ be set in `.emacs' instead."
   :group 'gnus-summary)
 ;; backward-compatibility alias
 (put 'gnus-summary-normal-read-face 'face-alias 'gnus-summary-normal-read)
+(put 'gnus-summary-normal-read-face 'obsolete-face "22.1")
 
 
 ;;;
@@ -933,6 +974,7 @@ be set in `.emacs' instead."
   :group 'gnus-start)
 ;; backward-compatibility alias
 (put 'gnus-splash-face 'face-alias 'gnus-splash)
+(put 'gnus-splash-face 'obsolete-face "22.1")
 
 (defun gnus-splash ()
   (save-excursion
@@ -1015,14 +1057,14 @@ be set in `.emacs' instead."
                                    (symbol-value 'image-load-path))
                                   (t load-path)))
            (image (find-image
-                   `((:type svg :file "gnus.svg")
-                     (:type png :file "gnus.png")
-                     (:type xpm :file "gnus.xpm"
+                   `((:type xpm :file "gnus.xpm"
                             :color-symbols
                             (("thing" . ,(car gnus-logo-colors))
                              ("shadow" . ,(cadr gnus-logo-colors))
                              ("oort" . "#eeeeee")
                              ("background" . ,(face-background 'default))))
+                     (:type svg :file "gnus.svg")
+                     (:type png :file "gnus.png")
                      (:type pbm :file "gnus.pbm"
                             ;; Account for the pbm's blackground.
                             :background ,(face-foreground 'gnus-splash)
@@ -1400,7 +1442,7 @@ Obsolete variable; use `message-user-organization' instead.")
 
 ;; Customization variables
 
-(defcustom gnus-refer-article-method nil
+(defcustom gnus-refer-article-method 'current
   "Preferred method for fetching an article by Message-ID.
 If you are reading news from the local spool (with nnspool), fetching
 articles by Message-ID is painfully slow.  By setting this method to an
@@ -1412,6 +1454,7 @@ in the documentation of `gnus-select-method'.
 It can also be a list of select methods, as well as the special symbol
 `current', which means to use the current select method.  If it is a
 list, Gnus will try all the methods in the list until it finds a match."
+  :version "24.1"
   :group 'gnus-server
   :type '(choice (const :tag "default" nil)
                 (const current)
@@ -1697,19 +1740,11 @@ slower."
     ("nneething" none address prompt-address physical-address)
     ("nndoc" none address prompt-address)
     ("nnbabyl" mail address respool)
-    ("nnkiboze" post virtual)
-    ("nnsoup" post-mail address)
     ("nndraft" post-mail)
     ("nnfolder" mail respool address)
     ("nngateway" post-mail address prompt-address physical-address)
     ("nnweb" none)
-    ("nngoogle" post)
-    ("nnslashdot" post)
-    ("nnultimate" none)
     ("nnrss" none)
-    ("nnwfm" none)
-    ("nnwarchive" none)
-    ("nnlistserv" none)
     ("nnagent" post-mail)
     ("nnimap" post-mail address prompt-address physical-address)
     ("nnmaildir" mail respool address)
@@ -1732,7 +1767,8 @@ this variable.  I think."
                                   (const :format "%v " prompt-address)
                                   (const :format "%v " physical-address)
                                   (const :format "%v " virtual)
-                                  (const respool)))))
+                                  (const respool))))
+  :version "24.1")
 
 (defun gnus-redefine-select-method-widget ()
   "Recomputes the select-method widget based on the value of
@@ -1768,12 +1804,11 @@ If this variable is nil, screen refresh may be quicker."
              (const summary)
              (const tree)))
 
-;; Added by Keinonen Kari <kk85613@cs.tut.fi>.
-(defcustom gnus-mode-non-string-length nil
+(defcustom gnus-mode-non-string-length 30
   "*Max length of mode-line non-string contents.
 If this is nil, Gnus will take space as is needed, leaving the rest
-of the mode line intact.  Note that the default of nil is unlikely
-to be desirable; see the manual for further details."
+of the mode line intact."
+  :version "24.1"
   :group 'gnus-various
   :type '(choice (const nil)
                 integer))
@@ -2802,9 +2837,6 @@ gnus-registry.el will populate this if it's loaded.")
 
 (defvar gnus-reffed-article-number nil)
 
-;;; Let the byte-compiler know that we know about this variable.
-(defvar rmail-default-rmail-file)
-
 (defvar gnus-dead-summary nil)
 
 (defvar gnus-invalid-group-regexp "[: `'\"/]\\|^$"
@@ -2843,16 +2875,16 @@ gnus-registry.el will populate this if it's loaded.")
      ("babel" babel-as-string)
      ("nnmail" nnmail-split-fancy nnmail-article-group)
      ("nnvirtual" nnvirtual-catchup-group nnvirtual-convert-headers)
-     ("rmailout" rmail-output rmail-output-to-rmail-file)
-     ("rmail" rmail-insert-rmail-file-header rmail-count-new-messages
-      rmail-show-message rmail-summary-exists
-      rmail-select-summary rmail-update-summary)
+     ;; This is only used in message.el, which has an autoload.
+     ("rmailout" rmail-output)
+     ;; Next two used in gnus-util, which has autoloads, and contrib/sendmail.
+     ("rmail" rmail-count-new-messages rmail-show-message
+      ;; Next two only used in gnus-util.
+      rmail-summary-exists rmail-select-summary)
+     ;; Only used in gnus-util, which has an autoload.
+     ("rmailsum" rmail-update-summary)
      ("gnus-audio" :interactive t gnus-audio-play)
      ("gnus-xmas" gnus-xmas-splash)
-     ("gnus-soup" :interactive t
-      gnus-group-brew-soup gnus-brew-soup gnus-soup-add-article
-      gnus-soup-send-replies gnus-soup-save-areas gnus-soup-pack-packet)
-     ("nnsoup" nnsoup-pack-replies)
      ("score-mode" :interactive t gnus-score-mode)
      ("gnus-mh" gnus-summary-save-article-folder
       gnus-Folder-save-name gnus-folder-save-name)
@@ -2984,8 +3016,6 @@ gnus-registry.el will populate this if it's loaded.")
       gnus-dup-enter-articles)
      ("gnus-range" gnus-copy-sequence)
      ("gnus-eform" gnus-edit-form)
-     ("gnus-move" :interactive t
-      gnus-group-move-group-to-server gnus-change-server)
      ("gnus-logic" gnus-score-advanced)
      ("gnus-undo" gnus-undo-mode gnus-undo-register)
      ("gnus-async" gnus-async-request-fetched-article gnus-async-prefetch-next
@@ -3255,12 +3285,12 @@ with a `subscribed' parameter."
 (defmacro gnus-string-or (&rest strings)
   "Return the first element of STRINGS that is a non-blank string.
 STRINGS will be evaluated in normal `or' order."
-  `(gnus-string-or-1 ',strings))
+  `(gnus-string-or-1 (list ,@strings)))
 
 (defun gnus-string-or-1 (strings)
   (let (string)
     (while strings
-      (setq string (eval (pop strings)))
+      (setq string (pop strings))
       (if (string-match "^[ \t]*$" string)
          (setq string nil)
        (setq strings nil)))
@@ -3903,8 +3933,7 @@ If SYMBOL, return the value of that symbol in the group parameters.
 
 If you call this function inside a loop, consider using the faster
 `gnus-group-fast-parameter' instead."
-  (save-excursion
-    (set-buffer gnus-group-buffer)
+  (with-current-buffer gnus-group-buffer
     (if symbol
        (gnus-group-fast-parameter group symbol allow-list)
       (nconc
@@ -4063,8 +4092,7 @@ Returns the number of articles marked as read."
 (defun gnus-kill-save-kill-buffer ()
   (let ((file (gnus-newsgroup-kill-file gnus-newsgroup-name)))
     (when (get-file-buffer file)
-      (save-excursion
-       (set-buffer (get-file-buffer file))
+      (with-current-buffer (get-file-buffer file)
        (when (buffer-modified-p)
          (save-buffer))
        (kill-buffer (current-buffer))))))
@@ -4377,5 +4405,4 @@ prompt the user for the name of an NNTP server to use."
 
 (provide 'gnus)
 
-;; arch-tag: acebeeab-f331-4f8f-a7ea-89c58c84f636
 ;;; gnus.el ends here