aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader2005-09-05 23:58:09 +0000
committerMiles Bader2005-09-05 23:58:09 +0000
commit4a2358e9b441957fee140ac981cea71720984e6f (patch)
treedd244915dab20f66d76c3313cd1b0f80c32c8577
parent79a0aa117492468055f2b07f40e24355689b3030 (diff)
downloademacs-4a2358e9b441957fee140ac981cea71720984e6f.tar.gz
emacs-4a2358e9b441957fee140ac981cea71720984e6f.zip
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-530
Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 106-111) - Merge from emacs--cvs-trunk--0 - Update from CVS 2005-09-05 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/message.el (message-tab-body-function): Fixed mismatched custom type. * lisp/gnus/gnus.el (gnus-group-change-level-function): Ditto. * lisp/gnus/gnus-msg.el (gnus-outgoing-message-group): Ditto. * lisp/gnus/gnus-art.el (gnus-signature-limit) (gnus-article-mime-part-function): Ditto. 2005-09-04 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/nnweb.el (nnweb-type-definition, nnweb-google-wash-article): Make fetching article by MID work again for Google Groups. Added FIXME concerning gnus-group-make-web-group. * lisp/gnus/mml-smime.el (mml-smime-sign-query, mml-smime-get-dns-cert): Don't depend on Gnus by using mail-extract-address-components if gnus-extract-address-components is not bound. * lisp/gnus/gnus.el (gnus-user-agent): Use list of symbols instead of symbols. Display full version number for (S)XEmacs. Optionally display (S)XEmacs codename. * lisp/gnus/gnus-util.el (gnus-emacs-version): Update for new `gnus-user-agent'. * lisp/gnus/gnus-msg.el (gnus-extended-version): Make it possible to omit Gnus version. 2005-09-02 Hrvoje Niksic <hniksic@xemacs.org> * lisp/gnus/mm-encode.el (mm-encode-content-transfer-encoding): Likewise when encoding. * lisp/gnus/mm-bodies.el (mm-decode-content-transfer-encoding): De-canonicalize CRLF for all text content types, not just text/plain. 2005-09-02 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/gnus-sum.el (gnus-thread-hide-subtree): Doc fix. * lisp/gnus/gnus-msg.el (gnus-inews-insert-gcc): Fix the mistake of using list, not listp. 2005-08-29 Romain Francoise <romain@orebokech.com> * lisp/gnus/gnus-fun.el (gnus-convert-image-to-face-command): Fix typo in docstring. (gnus-face-from-file): Likewise. 2005-08-31 Juanma Barranquero <lekktu@gmail.com> * lisp/gnus/gnus-art.el (w3m-minor-mode-map): * lisp/gnus/gnus-spec.el (gnus-newsrc-file-version): * lisp/gnus/gnus-util.el (nnmail-active-file-coding-system) (gnus-original-article-buffer, gnus-user-agent): * lisp/gnus/gnus.el (gnus-ham-process-destinations) (gnus-parameter-ham-marks-alist) (gnus-parameter-spam-marks-alist, gnus-spam-autodetect) (gnus-spam-autodetect-methods, gnus-spam-newsgroup-contents) (gnus-spam-process-destinations, gnus-spam-process-newsgroups): * lisp/gnus/mm-decode.el (gnus-current-window-configuration): * lisp/gnus/mm-extern.el (gnus-article-mime-handles): * lisp/gnus/mm-url.el (url-current-object, url-package-name) (url-package-version): * lisp/gnus/mm-view.el (gnus-article-mime-handles, gnus-newsgroup-charset) (smime-keys, w3m-cid-retrieve-function-alist) (w3m-current-buffer, w3m-display-inline-images) (w3m-minor-mode-map): * lisp/gnus/mml-smime.el (gnus-extract-address-components): * lisp/gnus/mml.el (gnus-article-mime-handles, gnus-mouse-2) (gnus-newsrc-hashtb, message-default-charset) (message-deletable-headers, message-options) (message-posting-charset, message-required-mail-headers) (message-required-news-headers): * lisp/gnus/mml1991.el (mc-pgp-always-sign): * lisp/gnus/mml2015.el (mc-pgp-always-sign): * lisp/gnus/nnheader.el (nnmail-extra-headers): * lisp/gnus/rfc1843.el (gnus-decode-encoded-word-function) (gnus-decode-header-function, gnus-newsgroup-name): * lisp/gnus/spam-stat.el (gnus-original-article-buffer): Add defvars.
-rw-r--r--lisp/gnus/ChangeLog86
-rw-r--r--lisp/gnus/gnus-art.el6
-rw-r--r--lisp/gnus/gnus-fun.el4
-rw-r--r--lisp/gnus/gnus-msg.el31
-rw-r--r--lisp/gnus/gnus-sum.el3
-rw-r--r--lisp/gnus/gnus-util.el59
-rw-r--r--lisp/gnus/gnus.el52
-rw-r--r--lisp/gnus/message.el3
-rw-r--r--lisp/gnus/mm-bodies.el2
-rw-r--r--lisp/gnus/mm-encode.el2
-rw-r--r--lisp/gnus/mml-smime.el10
-rw-r--r--lisp/gnus/nnweb.el46
-rw-r--r--man/gnus.texi15
13 files changed, 218 insertions, 101 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 198e395d260..530758aefb0 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,89 @@
12005-09-05 Reiner Steib <Reiner.Steib@gmx.de>
2
3 * message.el (message-tab-body-function): Fixed mismatched custom
4 type.
5
6 * gnus.el (gnus-group-change-level-function): Ditto.
7
8 * gnus-msg.el (gnus-outgoing-message-group): Ditto.
9
10 * gnus-art.el (gnus-signature-limit)
11 (gnus-article-mime-part-function): Ditto.
12
132005-09-04 Reiner Steib <Reiner.Steib@gmx.de>
14
15 * nnweb.el (nnweb-type-definition, nnweb-google-wash-article):
16 Make fetching article by MID work again for Google Groups. Added
17 FIXME concerning gnus-group-make-web-group.
18
19 * mml-smime.el (mml-smime-sign-query, mml-smime-get-dns-cert):
20 Don't depend on Gnus by using mail-extract-address-components if
21 gnus-extract-address-components is not bound.
22
23 * gnus.el (gnus-user-agent): Use list of symbols instead of
24 symbols. Display full version number for (S)XEmacs. Optionally
25 display (S)XEmacs codename.
26
27 * gnus-util.el (gnus-emacs-version): Update for new
28 `gnus-user-agent'.
29
30 * gnus-msg.el (gnus-extended-version): Make it possible to omit
31 Gnus version.
32
332005-09-02 Hrvoje Niksic <hniksic@xemacs.org>
34
35 * mm-encode.el (mm-encode-content-transfer-encoding): Likewise
36 when encoding.
37
38 * mm-bodies.el (mm-decode-content-transfer-encoding):
39 De-canonicalize CRLF for all text content types, not just
40 text/plain.
41
422005-09-02 Katsumi Yamaoka <yamaoka@jpl.org>
43
44 * gnus-sum.el (gnus-thread-hide-subtree): Doc fix.
45
46 * gnus-msg.el (gnus-inews-insert-gcc): Fix the mistake of using
47 list, not listp.
48
492005-08-29 Romain Francoise <romain@orebokech.com>
50
51 * gnus-fun.el (gnus-convert-image-to-face-command): Fix typo in
52 docstring.
53 (gnus-face-from-file): Likewise.
54
552005-08-31 Juanma Barranquero <lekktu@gmail.com>
56
57 * gnus-art.el (w3m-minor-mode-map):
58 * gnus-spec.el (gnus-newsrc-file-version):
59 * gnus-util.el (nnmail-active-file-coding-system)
60 (gnus-original-article-buffer, gnus-user-agent):
61 * gnus.el (gnus-ham-process-destinations)
62 (gnus-parameter-ham-marks-alist)
63 (gnus-parameter-spam-marks-alist, gnus-spam-autodetect)
64 (gnus-spam-autodetect-methods, gnus-spam-newsgroup-contents)
65 (gnus-spam-process-destinations, gnus-spam-process-newsgroups):
66 * mm-decode.el (gnus-current-window-configuration):
67 * mm-extern.el (gnus-article-mime-handles):
68 * mm-url.el (url-current-object, url-package-name)
69 (url-package-version):
70 * mm-view.el (gnus-article-mime-handles, gnus-newsgroup-charset)
71 (smime-keys, w3m-cid-retrieve-function-alist)
72 (w3m-current-buffer, w3m-display-inline-images)
73 (w3m-minor-mode-map):
74 * mml-smime.el (gnus-extract-address-components):
75 * mml.el (gnus-article-mime-handles, gnus-mouse-2)
76 (gnus-newsrc-hashtb, message-default-charset)
77 (message-deletable-headers, message-options)
78 (message-posting-charset, message-required-mail-headers)
79 (message-required-news-headers):
80 * mml1991.el (mc-pgp-always-sign):
81 * mml2015.el (mc-pgp-always-sign):
82 * nnheader.el (nnmail-extra-headers):
83 * rfc1843.el (gnus-decode-encoded-word-function)
84 (gnus-decode-header-function, gnus-newsgroup-name):
85 * spam-stat.el (gnus-original-article-buffer): Add defvars.
86
12005-08-31 Juanma Barranquero <lekktu@gmail.com> 872005-08-31 Juanma Barranquero <lekktu@gmail.com>
2 88
3 * gnus-art.el (w3m-minor-mode-map): 89 * gnus-art.el (w3m-minor-mode-map):
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 822448fa460..b07954772d2 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -236,7 +236,8 @@ longer (in lines) than that number. If it is a function, the function
236will be called without any parameters, and if it returns nil, there is 236will be called without any parameters, and if it returns nil, there is
237no signature in the buffer. If it is a string, it will be used as a 237no signature in the buffer. If it is a string, it will be used as a
238regexp. If it matches, the text in question is not a signature." 238regexp. If it matches, the text in question is not a signature."
239 :type '(choice (integer :value 200) 239 :type '(choice (const nil)
240 (integer :value 200)
240 (number :value 4.0) 241 (number :value 4.0)
241 (function :value fun) 242 (function :value fun)
242 (regexp :value ".*")) 243 (regexp :value ".*"))
@@ -869,7 +870,8 @@ see http://www.cs.indiana.edu/picons/ftp/index.html"
869This is meant for people who want to do something automatic based 870This is meant for people who want to do something automatic based
870on parts -- for instance, adding Vcard info to a database." 871on parts -- for instance, adding Vcard info to a database."
871 :group 'gnus-article-mime 872 :group 'gnus-article-mime
872 :type 'function) 873 :type '(choice (const nil)
874 function))
873 875
874(defcustom gnus-mime-multipart-functions nil 876(defcustom gnus-mime-multipart-functions nil
875 "An alist of MIME types to functions to display them." 877 "An alist of MIME types to functions to display them."
diff --git a/lisp/gnus/gnus-fun.el b/lisp/gnus/gnus-fun.el
index 94f42efc360..43cd02c1b5e 100644
--- a/lisp/gnus/gnus-fun.el
+++ b/lisp/gnus/gnus-fun.el
@@ -54,7 +54,7 @@ on stdout."
54 :type 'string) 54 :type 'string)
55 55
56(defcustom gnus-convert-image-to-face-command "djpeg %s | ppmnorm | pnmscale -width 48 -height 48 | ppmquant %d | pnmtopng" 56(defcustom gnus-convert-image-to-face-command "djpeg %s | ppmnorm | pnmscale -width 48 -height 48 | ppmquant %d | pnmtopng"
57 "Command for converting an image to an Face. 57 "Command for converting an image to a Face.
58By default it takes a JPEG filename and output the Face header data 58By default it takes a JPEG filename and output the Face header data
59on stdout." 59on stdout."
60 :version "22.1" 60 :version "22.1"
@@ -110,7 +110,7 @@ Output to the current buffer, replace text, and don't mingle error."
110 110
111;;;###autoload 111;;;###autoload
112(defun gnus-face-from-file (file) 112(defun gnus-face-from-file (file)
113 "Return an Face header based on an image file." 113 "Return a Face header based on an image file."
114 (interactive "fImage file name (by default JPEG): ") 114 (interactive "fImage file name (by default JPEG): ")
115 (when (file-exists-p file) 115 (when (file-exists-p file)
116 (let ((done nil) 116 (let ((done nil)
diff --git a/lisp/gnus/gnus-msg.el b/lisp/gnus/gnus-msg.el
index 0614a2304f7..eced2a8097a 100644
--- a/lisp/gnus/gnus-msg.el
+++ b/lisp/gnus/gnus-msg.el
@@ -67,8 +67,10 @@ message in, you can set this variable to a function that checks the
67current newsgroup name and then returns a suitable group name (or list 67current newsgroup name and then returns a suitable group name (or list
68of names)." 68of names)."
69 :group 'gnus-message 69 :group 'gnus-message
70 :type '(choice (string :tag "Group") 70 :type '(choice (const nil)
71 (function))) 71 (function)
72 (string :tag "Group")
73 (repeat :tag "List of groups" (string :tag "Group"))))
72 74
73(defcustom gnus-mailing-list-groups nil 75(defcustom gnus-mailing-list-groups nil
74 "*If non-nil a regexp matching groups that are really mailing lists. 76 "*If non-nil a regexp matching groups that are really mailing lists.
@@ -1031,17 +1033,18 @@ If SILENT, don't prompt the user."
1031 "Stringified Gnus version and Emacs version. 1033 "Stringified Gnus version and Emacs version.
1032See the variable `gnus-user-agent'." 1034See the variable `gnus-user-agent'."
1033 (interactive) 1035 (interactive)
1034 (let* ((float-output-format nil) 1036 (if (stringp gnus-user-agent)
1035 (gnus-v 1037 gnus-user-agent
1036 (concat "Gnus/" 1038 ;; `gnus-user-agent' is a list:
1037 (prin1-to-string (gnus-continuum-version gnus-version) t) 1039 (let* ((float-output-format nil)
1038 " (" gnus-version ")")) 1040 (gnus-v
1039 (emacs-v (gnus-emacs-version))) 1041 (when (memq 'gnus gnus-user-agent)
1040 (if (stringp gnus-user-agent) 1042 (concat "Gnus/"
1041 gnus-user-agent 1043 (prin1-to-string (gnus-continuum-version gnus-version) t)
1042 (concat gnus-v 1044 " (" gnus-version ")")))
1043 (when emacs-v 1045 (emacs-v (gnus-emacs-version)))
1044 (concat " " emacs-v)))))) 1046 (concat gnus-v (when (and gnus-v emacs-v) " ")
1047 emacs-v))))
1045 1048
1046 1049
1047;;; 1050;;;
@@ -1661,7 +1664,7 @@ this is a reply."
1661 (gcc (cond 1664 (gcc (cond
1662 ((functionp group) 1665 ((functionp group)
1663 (funcall group)) 1666 (funcall group))
1664 ((or (stringp group) (list group)) 1667 ((or (stringp group) (listp group))
1665 group)))) 1668 group))))
1666 (when gcc 1669 (when gcc
1667 (insert "Gcc: " 1670 (insert "Gcc: "
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index c2f7143a9ca..73837e21902 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -257,8 +257,7 @@ simplification is selected."
257 "*If non-nil, hide all threads initially. 257 "*If non-nil, hide all threads initially.
258This can be a predicate specifier which says which threads to hide. 258This can be a predicate specifier which says which threads to hide.
259If threads are hidden, you have to run the command 259If threads are hidden, you have to run the command
260`gnus-summary-show-thread' by hand or use `gnus-select-article-hook' 260`gnus-summary-show-thread' by hand or select an article."
261to expose hidden threads."
262 :group 'gnus-thread 261 :group 'gnus-thread
263 :type '(radio (sexp :format "Non-nil\n" 262 :type '(radio (sexp :format "Non-nil\n"
264 :match (lambda (widget value) 263 :match (lambda (widget value)
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index 69bcee90110..4c1721029be 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -1,7 +1,7 @@
1;;; gnus-util.el --- utility functions for Gnus 1;;; gnus-util.el --- utility functions for Gnus
2 2
3;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 3;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
4;; 2005 Free Software Foundation, Inc. 4;; Free Software Foundation, Inc.
5 5
6;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org> 6;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
7;; Keywords: news 7;; Keywords: news
@@ -1517,41 +1517,48 @@ predicate on the elements."
1517 (nconc (nreverse res) list1 list2)))) 1517 (nconc (nreverse res) list1 list2))))
1518 1518
1519(eval-when-compile 1519(eval-when-compile
1520 (defvar xemacs-codename)) 1520 (defvar xemacs-codename)
1521 (defvar sxemacs-codename)
1522 (defvar emacs-program-version))
1521 1523
1522(defun gnus-emacs-version () 1524(defun gnus-emacs-version ()
1523 "Stringified Emacs version." 1525 "Stringified Emacs version."
1524 (let ((system-v 1526 (let* ((lst (if (listp gnus-user-agent)
1525 (cond 1527 gnus-user-agent
1526 ((eq gnus-user-agent 'emacs-gnus-config) 1528 '(gnus emacs type)))
1527 system-configuration) 1529 (system-v (cond ((memq 'config lst)
1528 ((eq gnus-user-agent 'emacs-gnus-type) 1530 system-configuration)
1529 (symbol-name system-type)) 1531 ((memq 'type lst)
1530 (t nil)))) 1532 (symbol-name system-type))
1533 (t nil)))
1534 codename emacsname)
1535 (cond ((featurep 'sxemacs)
1536 (setq emacsname "SXEmacs"
1537 codename sxemacs-codename))
1538 ((featurep 'xemacs)
1539 (setq emacsname "XEmacs"
1540 codename xemacs-codename))
1541 (t
1542 (setq emacsname "Emacs")))
1531 (cond 1543 (cond
1532 ((eq gnus-user-agent 'gnus) 1544 ((not (memq 'emacs lst))
1533 nil) 1545 nil)
1534 ((string-match "^\\(\\([.0-9]+\\)*\\)\\.[0-9]+$" emacs-version) 1546 ((string-match "^\\(\\([.0-9]+\\)*\\)\\.[0-9]+$" emacs-version)
1547 ;; Emacs:
1535 (concat "Emacs/" (match-string 1 emacs-version) 1548 (concat "Emacs/" (match-string 1 emacs-version)
1536 (if system-v 1549 (if system-v
1537 (concat " (" system-v ")") 1550 (concat " (" system-v ")")
1538 ""))) 1551 "")))
1539 ((string-match 1552 ((or (featurep 'sxemacs) (featurep 'xemacs))
1540 "\\([A-Z]*[Mm][Aa][Cc][Ss]\\)[^(]*\\(\\((beta.*)\\|'\\)\\)?" 1553 ;; XEmacs or SXEmacs:
1541 emacs-version) 1554 (concat emacsname "/" emacs-program-version
1542 (concat 1555 " ("
1543 (match-string 1 emacs-version) 1556 (when (and (memq 'codename lst)
1544 (format "/%d.%d" emacs-major-version emacs-minor-version) 1557 codename)
1545 (if (match-beginning 3) 1558 (concat codename
1546 (match-string 3 emacs-version) 1559 (when system-v ", ")))
1547 "") 1560 (when system-v system-v)
1548 (if (boundp 'xemacs-codename)
1549 (concat
1550 " (" xemacs-codename
1551 (if system-v
1552 (concat ", " system-v ")")
1553 ")")) 1561 ")"))
1554 "")))
1555 (t emacs-version)))) 1562 (t emacs-version))))
1556 1563
1557(defun gnus-rename-file (old-path new-path &optional trim) 1564(defun gnus-rename-file (old-path new-path &optional trim)
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index e1abe07b559..d0e199e2d06 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -2343,7 +2343,8 @@ following hook:
2343 "Function run when a group level is changed. 2343 "Function run when a group level is changed.
2344It is called with three parameters -- GROUP, LEVEL and OLDLEVEL." 2344It is called with three parameters -- GROUP, LEVEL and OLDLEVEL."
2345 :group 'gnus-group-levels 2345 :group 'gnus-group-levels
2346 :type 'function) 2346 :type '(choice (const nil)
2347 function))
2347 2348
2348;;; Face thingies. 2349;;; Face thingies.
2349 2350
@@ -2472,24 +2473,45 @@ This should be an alist for Emacs, or a plist for XEmacs."
2472 (symbol :tag "Parameter") 2473 (symbol :tag "Parameter")
2473 (sexp :tag "Value"))))) 2474 (sexp :tag "Value")))))
2474 2475
2475(defcustom gnus-user-agent 'emacs-gnus-type 2476(defcustom gnus-user-agent '(emacs gnus type)
2476 "Which information should be exposed in the User-Agent header. 2477 "Which information should be exposed in the User-Agent header.
2477 2478
2478It can be one of the symbols `gnus' \(show only Gnus version\), `emacs-gnus' 2479Can be a list of symbols or a string. Valid symbols are `gnus'
2479\(show only Emacs and Gnus versions\), `emacs-gnus-config' \(same as 2480\(show Gnus version\) and `emacs' \(show Emacs version\). In
2480`emacs-gnus' plus system configuration\), `emacs-gnus-type' \(same as 2481addition to the Emacs version, you can add `codename' \(show
2481`emacs-gnus' plus system type\) or a custom string. If you set it to a 2482\(S\)XEmacs codename\) or either `config' \(show system
2482string, be sure to use a valid format, see RFC 2616." 2483configuration\) or `type' \(show system type\). If you set it to
2484a string, be sure to use a valid format, see RFC 2616."
2485
2483 :version "22.1" 2486 :version "22.1"
2484 :group 'gnus-message 2487 :group 'gnus-message
2485 :type '(choice 2488 :type '(choice (list (set :inline t
2486 (item :tag "Show Gnus and Emacs versions and system type" 2489 (const gnus :tag "Gnus version")
2487 emacs-gnus-type) 2490 (const emacs :tag "Emacs version")
2488 (item :tag "Show Gnus and Emacs versions and system configuration" 2491 (choice :tag "system"
2489 emacs-gnus-config) 2492 (const type :tag "system type")
2490 (item :tag "Show Gnus and Emacs versions" emacs-gnus) 2493 (const config :tag "system configuration"))
2491 (item :tag "Show only Gnus version" gnus) 2494 (const codename :tag "Emacs codename")))
2492 (string :tag "Other"))) 2495 (string)))
2496
2497;; Convert old (No Gnus < 2005-01-10, v5-10 < 2005-09-05) symbol type values:
2498(when (symbolp gnus-user-agent)
2499 (setq gnus-user-agent
2500 (cond ((eq gnus-user-agent 'emacs-gnus-config)
2501 '(emacs gnus config))
2502 ((eq gnus-user-agent 'emacs-gnus-type)
2503 '(emacs gnus type))
2504 ((eq gnus-user-agent 'emacs-gnus)
2505 '(emacs gnus))
2506 ((eq gnus-user-agent 'gnus)
2507 '(gnus))
2508 (t gnus-user-agent)))
2509 (gnus-message 1 "Converted `gnus-user-agent' to `%s'." gnus-user-agent)
2510 (sit-for 1)
2511 (if (get 'gnus-user-agent 'saved-value)
2512 (customize-save-variable 'gnus-user-agent gnus-user-agent)
2513 (gnus-message 1 "Edit your init file to make this change permanent.")
2514 (sit-for 2)))
2493 2515
2494 2516
2495;;; Internal variables 2517;;; Internal variables
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 7c55b7cc72f..5995fcbcea0 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -6631,7 +6631,8 @@ If nil, the function bound in `text-mode-map' or `global-map' is executed."
6631 :version "22.1" 6631 :version "22.1"
6632 :group 'message 6632 :group 'message
6633 :link '(custom-manual "(message)Various Commands") 6633 :link '(custom-manual "(message)Various Commands")
6634 :type 'function) 6634 :type '(choice (const nil)
6635 function))
6635 6636
6636(defun message-tab () 6637(defun message-tab ()
6637 "Complete names according to `message-completion-alist'. 6638 "Complete names according to `message-completion-alist'.
diff --git a/lisp/gnus/mm-bodies.el b/lisp/gnus/mm-bodies.el
index ffca7da75bf..e9f8f1e9391 100644
--- a/lisp/gnus/mm-bodies.el
+++ b/lisp/gnus/mm-bodies.el
@@ -228,7 +228,7 @@ If TYPE is `text/plain' CRLF->LF translation may occur."
228 nil)) 228 nil))
229 (when (and 229 (when (and
230 (memq encoding '(base64 x-uuencode x-uue x-binhex x-yenc)) 230 (memq encoding '(base64 x-uuencode x-uue x-binhex x-yenc))
231 (equal type "text/plain")) 231 (string-match "\\`text/" type))
232 (goto-char (point-min)) 232 (goto-char (point-min))
233 (while (search-forward "\r\n" nil t) 233 (while (search-forward "\r\n" nil t)
234 (replace-match "\n" t t))))) 234 (replace-match "\n" t t)))))
diff --git a/lisp/gnus/mm-encode.el b/lisp/gnus/mm-encode.el
index fd6251c37d3..5e149d16ed3 100644
--- a/lisp/gnus/mm-encode.el
+++ b/lisp/gnus/mm-encode.el
@@ -118,7 +118,7 @@ ENCODING can be: nil (do nothing); one of `quoted-printable', `base64';
118 ;; Likewise base64 below. 118 ;; Likewise base64 below.
119 (quoted-printable-encode-region (point-min) (point-max) t)) 119 (quoted-printable-encode-region (point-min) (point-max) t))
120 ((eq encoding 'base64) 120 ((eq encoding 'base64)
121 (when (equal type "text/plain") 121 (when (string-match "\\`text/" type)
122 (goto-char (point-min)) 122 (goto-char (point-min))
123 (while (search-forward "\n" nil t) 123 (while (search-forward "\n" nil t)
124 (replace-match "\r\n" t t))) 124 (replace-match "\r\n" t t)))
diff --git a/lisp/gnus/mml-smime.el b/lisp/gnus/mml-smime.el
index 8a5ba61d002..25cb3094cbb 100644
--- a/lisp/gnus/mml-smime.el
+++ b/lisp/gnus/mml-smime.el
@@ -81,7 +81,10 @@
81 (list 'keyfile 81 (list 'keyfile
82 (if (= (length smime-keys) 1) 82 (if (= (length smime-keys) 1)
83 (cadar smime-keys) 83 (cadar smime-keys)
84 (or (let ((from (cadr (funcall gnus-extract-address-components 84 (or (let ((from (cadr (funcall (if (boundp
85 'gnus-extract-address-components)
86 gnus-extract-address-components
87 'mail-extract-address-components)
85 (or (save-excursion 88 (or (save-excursion
86 (save-restriction 89 (save-restriction
87 (message-narrow-to-headers) 90 (message-narrow-to-headers)
@@ -107,7 +110,10 @@
107 (while (not result) 110 (while (not result)
108 (setq who (read-from-minibuffer 111 (setq who (read-from-minibuffer
109 (format "%sLookup certificate for: " (or bad "")) 112 (format "%sLookup certificate for: " (or bad ""))
110 (cadr (funcall gnus-extract-address-components 113 (cadr (funcall (if (boundp
114 'gnus-extract-address-components)
115 gnus-extract-address-components
116 'mail-extract-address-components)
111 (or (save-excursion 117 (or (save-excursion
112 (save-restriction 118 (save-restriction
113 (message-narrow-to-headers) 119 (message-narrow-to-headers)
diff --git a/lisp/gnus/nnweb.el b/lisp/gnus/nnweb.el
index d05520ee1dc..85c8d4c5239 100644
--- a/lisp/gnus/nnweb.el
+++ b/lisp/gnus/nnweb.el
@@ -27,6 +27,12 @@
27 27
28;; Note: You need to have `w3' installed for some functions to work. 28;; Note: You need to have `w3' installed for some functions to work.
29 29
30;; FIXME: Due to changes in the HTML output of Google Groups and Gmane, stuff
31;; related to web groups (gnus-group-make-web-group) doesn't work anymore.
32
33;; Fetching an article by MID (cf. gnus-refer-article-method) over Google
34;; Groups should work.
35
30;;; Code: 36;;; Code:
31 37
32(eval-when-compile (require 'cl)) 38(eval-when-compile (require 'cl))
@@ -54,13 +60,13 @@ Valid types include `google', `dejanews', and `gmane'.")
54 60
55(defvar nnweb-type-definition 61(defvar nnweb-type-definition
56 '((google 62 '((google
57 (article . ignore) 63 (id . "http://www.google.com/groups?as_umsgid=%s&hl=en&dmode=source")
58 (id . "http://groups.google.de/groups?selm=%s&output=gplain") 64 (article . nnweb-google-wash-article)
59 (reference . identity) 65 (reference . identity)
60 (map . nnweb-google-create-mapping) 66 (map . nnweb-google-create-mapping)
61 (search . nnweb-google-search) 67 (search . nnweb-google-search)
62 (address . "http://groups.google.de/groups") 68 (address . "http://groups.google.com/groups")
63 (base . "http://groups.google.de") 69 (base . "http://groups.google.com")
64 (identifier . nnweb-google-identity)) 70 (identifier . nnweb-google-identity))
65 (dejanews ;; alias of google 71 (dejanews ;; alias of google
66 (article . ignore) 72 (article . ignore)
@@ -306,35 +312,19 @@ Valid types include `google', `dejanews', and `gmane'.")
306 (current-buffer)))))) 312 (current-buffer))))))
307 313
308;;; 314;;;
309;;; Deja bought by google.com 315;;; groups.google.com
310;;; 316;;;
311 317
312(defun nnweb-google-wash-article () 318(defun nnweb-google-wash-article ()
313 (let ((case-fold-search t) url) 319 ;; We have Google's masked e-mail addresses here. :-/
314 (goto-char (point-min)) 320 (let ((case-fold-search t))
315 (re-search-forward "^<pre>" nil t)
316 (narrow-to-region (point-min) (point))
317 (search-backward "<table " nil t 2)
318 (delete-region (point-min) (point))
319 (if (re-search-forward "Search Result [0-9]+" nil t)
320 (replace-match ""))
321 (if (re-search-forward "View complete thread ([0-9]+ articles?)" nil t)
322 (replace-match ""))
323 (goto-char (point-min)) 321 (goto-char (point-min))
324 (while (search-forward "<br>" nil t) 322 (delete-region (point-min)
325 (replace-match "\n")) 323 (1+ (re-search-forward "^<pre>" nil t)))
326 (mm-url-remove-markup)
327 (goto-char (point-min)) 324 (goto-char (point-min))
328 (while (re-search-forward "^[ \t]*\n" nil t) 325 (delete-region (- (re-search-forward "^</pre>" nil t) (length "</pre>"))
329 (replace-match "")) 326 (point-max))
330 (goto-char (point-max)) 327 (mm-url-decode-entities)))
331 (insert "\n")
332 (widen)
333 (narrow-to-region (point) (point-max))
334 (search-forward "</pre>" nil t)
335 (delete-region (point) (point-max))
336 (mm-url-remove-markup)
337 (widen)))
338 328
339(defun nnweb-google-parse-1 (&optional Message-ID) 329(defun nnweb-google-parse-1 (&optional Message-ID)
340 (let ((i 0) 330 (let ((i 0)
diff --git a/man/gnus.texi b/man/gnus.texi
index 131a92fae64..d1eb9325863 100644
--- a/man/gnus.texi
+++ b/man/gnus.texi
@@ -5090,10 +5090,10 @@ the server and display it in the article buffer.
5090 5090
5091@item gnus-select-article-hook 5091@item gnus-select-article-hook
5092@vindex gnus-select-article-hook 5092@vindex gnus-select-article-hook
5093This hook is called whenever an article is selected. By default it 5093This hook is called whenever an article is selected. The default is
5094exposes any threads hidden under the selected article. If you would 5094@code{nil}. If you would like each article to be saved in the Agent as
5095like each article to be saved in the Agent as you read it, putting 5095you read it, putting @code{gnus-agent-fetch-selected-article} on this
5096@code{gnus-agent-fetch-selected-article} on this hook will do so. 5096hook will do so.
5097 5097
5098@item gnus-mark-article-hook 5098@item gnus-mark-article-hook
5099@vindex gnus-mark-article-hook 5099@vindex gnus-mark-article-hook
@@ -5103,8 +5103,8 @@ like each article to be saved in the Agent as you read it, putting
5103This hook is called whenever an article is selected. It is intended to 5103This hook is called whenever an article is selected. It is intended to
5104be used for marking articles as read. The default value is 5104be used for marking articles as read. The default value is
5105@code{gnus-summary-mark-read-and-unread-as-read}, and will change the 5105@code{gnus-summary-mark-read-and-unread-as-read}, and will change the
5106mark of almost any article you read to @code{gnus-unread-mark}. The 5106mark of almost any article you read to @code{gnus-read-mark}. The only
5107only articles not affected by this function are ticked, dormant, and 5107articles not affected by this function are ticked, dormant, and
5108expirable articles. If you'd instead like to just have unread articles 5108expirable articles. If you'd instead like to just have unread articles
5109marked as read, you can use @code{gnus-summary-mark-unread-as-read} 5109marked as read, you can use @code{gnus-summary-mark-unread-as-read}
5110instead. It will leave marks like @code{gnus-low-score-mark}, 5110instead. It will leave marks like @code{gnus-low-score-mark},
@@ -13833,7 +13833,8 @@ is to say where the incoming files will be stored if the variable
13833Prefix for file name for storing incoming mail. The default is 13833Prefix for file name for storing incoming mail. The default is
13834@file{Incoming}, in which case files will end up with names like 13834@file{Incoming}, in which case files will end up with names like
13835@file{Incoming30630D_} or @file{Incoming298602ZD}. This is really only 13835@file{Incoming30630D_} or @file{Incoming298602ZD}. This is really only
13836relevant if @code{mail-source-delete-incoming} is @code{nil}. 13836relevant if @code{mail-source-delete-incoming} is @code{nil} or a
13837number.
13837 13838
13838@item mail-source-default-file-modes 13839@item mail-source-default-file-modes
13839@vindex mail-source-default-file-modes 13840@vindex mail-source-default-file-modes