summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2005-09-05 23:58:09 +0000
committerMiles Bader <miles@gnu.org>2005-09-05 23:58:09 +0000
commit4a2358e9b441957fee140ac981cea71720984e6f (patch)
treedd244915dab20f66d76c3313cd1b0f80c32c8577 /lisp
parent79a0aa117492468055f2b07f40e24355689b3030 (diff)
downloademacs-4a2358e9b441957fee140ac981cea71720984e6f.tar.gz
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.
Diffstat (limited to 'lisp')
-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
12 files changed, 210 insertions, 94 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 @@
+2005-09-05 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * message.el (message-tab-body-function): Fixed mismatched custom
+ type.
+
+ * gnus.el (gnus-group-change-level-function): Ditto.
+
+ * gnus-msg.el (gnus-outgoing-message-group): Ditto.
+
+ * gnus-art.el (gnus-signature-limit)
+ (gnus-article-mime-part-function): Ditto.
+
+2005-09-04 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * 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.
+
+ * 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.
+
+ * gnus.el (gnus-user-agent): Use list of symbols instead of
+ symbols. Display full version number for (S)XEmacs. Optionally
+ display (S)XEmacs codename.
+
+ * gnus-util.el (gnus-emacs-version): Update for new
+ `gnus-user-agent'.
+
+ * gnus-msg.el (gnus-extended-version): Make it possible to omit
+ Gnus version.
+
+2005-09-02 Hrvoje Niksic <hniksic@xemacs.org>
+
+ * mm-encode.el (mm-encode-content-transfer-encoding): Likewise
+ when encoding.
+
+ * 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>
+
+ * gnus-sum.el (gnus-thread-hide-subtree): Doc fix.
+
+ * gnus-msg.el (gnus-inews-insert-gcc): Fix the mistake of using
+ list, not listp.
+
+2005-08-29 Romain Francoise <romain@orebokech.com>
+
+ * 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>
+
+ * gnus-art.el (w3m-minor-mode-map):
+ * gnus-spec.el (gnus-newsrc-file-version):
+ * gnus-util.el (nnmail-active-file-coding-system)
+ (gnus-original-article-buffer, gnus-user-agent):
+ * 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):
+ * mm-decode.el (gnus-current-window-configuration):
+ * mm-extern.el (gnus-article-mime-handles):
+ * mm-url.el (url-current-object, url-package-name)
+ (url-package-version):
+ * 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):
+ * mml-smime.el (gnus-extract-address-components):
+ * 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):
+ * mml1991.el (mc-pgp-always-sign):
+ * mml2015.el (mc-pgp-always-sign):
+ * nnheader.el (nnmail-extra-headers):
+ * rfc1843.el (gnus-decode-encoded-word-function)
+ (gnus-decode-header-function, gnus-newsgroup-name):
+ * spam-stat.el (gnus-original-article-buffer): Add defvars.
+
2005-08-31 Juanma Barranquero <lekktu@gmail.com>
* 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
will be called without any parameters, and if it returns nil, there is
no signature in the buffer. If it is a string, it will be used as a
regexp. If it matches, the text in question is not a signature."
- :type '(choice (integer :value 200)
+ :type '(choice (const nil)
+ (integer :value 200)
(number :value 4.0)
(function :value fun)
(regexp :value ".*"))
@@ -869,7 +870,8 @@ see http://www.cs.indiana.edu/picons/ftp/index.html"
This is meant for people who want to do something automatic based
on parts -- for instance, adding Vcard info to a database."
:group 'gnus-article-mime
- :type 'function)
+ :type '(choice (const nil)
+ function))
(defcustom gnus-mime-multipart-functions nil
"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."
:type 'string)
(defcustom gnus-convert-image-to-face-command "djpeg %s | ppmnorm | pnmscale -width 48 -height 48 | ppmquant %d | pnmtopng"
- "Command for converting an image to an Face.
+ "Command for converting an image to a Face.
By default it takes a JPEG filename and output the Face header data
on stdout."
:version "22.1"
@@ -110,7 +110,7 @@ Output to the current buffer, replace text, and don't mingle error."
;;;###autoload
(defun gnus-face-from-file (file)
- "Return an Face header based on an image file."
+ "Return a Face header based on an image file."
(interactive "fImage file name (by default JPEG): ")
(when (file-exists-p file)
(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
current newsgroup name and then returns a suitable group name (or list
of names)."
:group 'gnus-message
- :type '(choice (string :tag "Group")
- (function)))
+ :type '(choice (const nil)
+ (function)
+ (string :tag "Group")
+ (repeat :tag "List of groups" (string :tag "Group"))))
(defcustom gnus-mailing-list-groups nil
"*If non-nil a regexp matching groups that are really mailing lists.
@@ -1031,17 +1033,18 @@ If SILENT, don't prompt the user."
"Stringified Gnus version and Emacs version.
See the variable `gnus-user-agent'."
(interactive)
- (let* ((float-output-format nil)
- (gnus-v
- (concat "Gnus/"
- (prin1-to-string (gnus-continuum-version gnus-version) t)
- " (" gnus-version ")"))
- (emacs-v (gnus-emacs-version)))
- (if (stringp gnus-user-agent)
- gnus-user-agent
- (concat gnus-v
- (when emacs-v
- (concat " " emacs-v))))))
+ (if (stringp gnus-user-agent)
+ gnus-user-agent
+ ;; `gnus-user-agent' is a list:
+ (let* ((float-output-format nil)
+ (gnus-v
+ (when (memq 'gnus gnus-user-agent)
+ (concat "Gnus/"
+ (prin1-to-string (gnus-continuum-version gnus-version) t)
+ " (" gnus-version ")")))
+ (emacs-v (gnus-emacs-version)))
+ (concat gnus-v (when (and gnus-v emacs-v) " ")
+ emacs-v))))
;;;
@@ -1661,7 +1664,7 @@ this is a reply."
(gcc (cond
((functionp group)
(funcall group))
- ((or (stringp group) (list group))
+ ((or (stringp group) (listp group))
group))))
(when gcc
(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."
"*If non-nil, hide all threads initially.
This can be a predicate specifier which says which threads to hide.
If threads are hidden, you have to run the command
-`gnus-summary-show-thread' by hand or use `gnus-select-article-hook'
-to expose hidden threads."
+`gnus-summary-show-thread' by hand or select an article."
:group 'gnus-thread
:type '(radio (sexp :format "Non-nil\n"
: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 @@
;;; gnus-util.el --- utility functions for Gnus
-;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-;; 2005 Free Software Foundation, Inc.
+;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+;; Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
@@ -1517,41 +1517,48 @@ predicate on the elements."
(nconc (nreverse res) list1 list2))))
(eval-when-compile
- (defvar xemacs-codename))
+ (defvar xemacs-codename)
+ (defvar sxemacs-codename)
+ (defvar emacs-program-version))
(defun gnus-emacs-version ()
"Stringified Emacs version."
- (let ((system-v
- (cond
- ((eq gnus-user-agent 'emacs-gnus-config)
- system-configuration)
- ((eq gnus-user-agent 'emacs-gnus-type)
- (symbol-name system-type))
- (t nil))))
+ (let* ((lst (if (listp gnus-user-agent)
+ gnus-user-agent
+ '(gnus emacs type)))
+ (system-v (cond ((memq 'config lst)
+ system-configuration)
+ ((memq 'type lst)
+ (symbol-name system-type))
+ (t nil)))
+ codename emacsname)
+ (cond ((featurep 'sxemacs)
+ (setq emacsname "SXEmacs"
+ codename sxemacs-codename))
+ ((featurep 'xemacs)
+ (setq emacsname "XEmacs"
+ codename xemacs-codename))
+ (t
+ (setq emacsname "Emacs")))
(cond
- ((eq gnus-user-agent 'gnus)
+ ((not (memq 'emacs lst))
nil)
((string-match "^\\(\\([.0-9]+\\)*\\)\\.[0-9]+$" emacs-version)
+ ;; Emacs:
(concat "Emacs/" (match-string 1 emacs-version)
(if system-v
(concat " (" system-v ")")
"")))
- ((string-match
- "\\([A-Z]*[Mm][Aa][Cc][Ss]\\)[^(]*\\(\\((beta.*)\\|'\\)\\)?"
- emacs-version)
- (concat
- (match-string 1 emacs-version)
- (format "/%d.%d" emacs-major-version emacs-minor-version)
- (if (match-beginning 3)
- (match-string 3 emacs-version)
- "")
- (if (boundp 'xemacs-codename)
- (concat
- " (" xemacs-codename
- (if system-v
- (concat ", " system-v ")")
+ ((or (featurep 'sxemacs) (featurep 'xemacs))
+ ;; XEmacs or SXEmacs:
+ (concat emacsname "/" emacs-program-version
+ " ("
+ (when (and (memq 'codename lst)
+ codename)
+ (concat codename
+ (when system-v ", ")))
+ (when system-v system-v)
")"))
- "")))
(t emacs-version))))
(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:
"Function run when a group level is changed.
It is called with three parameters -- GROUP, LEVEL and OLDLEVEL."
:group 'gnus-group-levels
- :type 'function)
+ :type '(choice (const nil)
+ function))
;;; Face thingies.
@@ -2472,24 +2473,45 @@ This should be an alist for Emacs, or a plist for XEmacs."
(symbol :tag "Parameter")
(sexp :tag "Value")))))
-(defcustom gnus-user-agent 'emacs-gnus-type
+(defcustom gnus-user-agent '(emacs gnus type)
"Which information should be exposed in the User-Agent header.
-It can be one of the symbols `gnus' \(show only Gnus version\), `emacs-gnus'
-\(show only Emacs and Gnus versions\), `emacs-gnus-config' \(same as
-`emacs-gnus' plus system configuration\), `emacs-gnus-type' \(same as
-`emacs-gnus' plus system type\) or a custom string. If you set it to a
-string, be sure to use a valid format, see RFC 2616."
+Can be a list of symbols or a string. Valid symbols are `gnus'
+\(show Gnus version\) and `emacs' \(show Emacs version\). In
+addition to the Emacs version, you can add `codename' \(show
+\(S\)XEmacs codename\) or either `config' \(show system
+configuration\) or `type' \(show system type\). If you set it to
+a string, be sure to use a valid format, see RFC 2616."
+
:version "22.1"
:group 'gnus-message
- :type '(choice
- (item :tag "Show Gnus and Emacs versions and system type"
- emacs-gnus-type)
- (item :tag "Show Gnus and Emacs versions and system configuration"
- emacs-gnus-config)
- (item :tag "Show Gnus and Emacs versions" emacs-gnus)
- (item :tag "Show only Gnus version" gnus)
- (string :tag "Other")))
+ :type '(choice (list (set :inline t
+ (const gnus :tag "Gnus version")
+ (const emacs :tag "Emacs version")
+ (choice :tag "system"
+ (const type :tag "system type")
+ (const config :tag "system configuration"))
+ (const codename :tag "Emacs codename")))
+ (string)))
+
+;; Convert old (No Gnus < 2005-01-10, v5-10 < 2005-09-05) symbol type values:
+(when (symbolp gnus-user-agent)
+ (setq gnus-user-agent
+ (cond ((eq gnus-user-agent 'emacs-gnus-config)
+ '(emacs gnus config))
+ ((eq gnus-user-agent 'emacs-gnus-type)
+ '(emacs gnus type))
+ ((eq gnus-user-agent 'emacs-gnus)
+ '(emacs gnus))
+ ((eq gnus-user-agent 'gnus)
+ '(gnus))
+ (t gnus-user-agent)))
+ (gnus-message 1 "Converted `gnus-user-agent' to `%s'." gnus-user-agent)
+ (sit-for 1)
+ (if (get 'gnus-user-agent 'saved-value)
+ (customize-save-variable 'gnus-user-agent gnus-user-agent)
+ (gnus-message 1 "Edit your init file to make this change permanent.")
+ (sit-for 2)))
;;; 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."
:version "22.1"
:group 'message
:link '(custom-manual "(message)Various Commands")
- :type 'function)
+ :type '(choice (const nil)
+ function))
(defun message-tab ()
"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."
nil))
(when (and
(memq encoding '(base64 x-uuencode x-uue x-binhex x-yenc))
- (equal type "text/plain"))
+ (string-match "\\`text/" type))
(goto-char (point-min))
(while (search-forward "\r\n" nil t)
(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';
;; Likewise base64 below.
(quoted-printable-encode-region (point-min) (point-max) t))
((eq encoding 'base64)
- (when (equal type "text/plain")
+ (when (string-match "\\`text/" type)
(goto-char (point-min))
(while (search-forward "\n" nil t)
(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 @@
(list 'keyfile
(if (= (length smime-keys) 1)
(cadar smime-keys)
- (or (let ((from (cadr (funcall gnus-extract-address-components
+ (or (let ((from (cadr (funcall (if (boundp
+ 'gnus-extract-address-components)
+ gnus-extract-address-components
+ 'mail-extract-address-components)
(or (save-excursion
(save-restriction
(message-narrow-to-headers)
@@ -107,7 +110,10 @@
(while (not result)
(setq who (read-from-minibuffer
(format "%sLookup certificate for: " (or bad ""))
- (cadr (funcall gnus-extract-address-components
+ (cadr (funcall (if (boundp
+ 'gnus-extract-address-components)
+ gnus-extract-address-components
+ 'mail-extract-address-components)
(or (save-excursion
(save-restriction
(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 @@
;; Note: You need to have `w3' installed for some functions to work.
+;; FIXME: Due to changes in the HTML output of Google Groups and Gmane, stuff
+;; related to web groups (gnus-group-make-web-group) doesn't work anymore.
+
+;; Fetching an article by MID (cf. gnus-refer-article-method) over Google
+;; Groups should work.
+
;;; Code:
(eval-when-compile (require 'cl))
@@ -54,13 +60,13 @@ Valid types include `google', `dejanews', and `gmane'.")
(defvar nnweb-type-definition
'((google
- (article . ignore)
- (id . "http://groups.google.de/groups?selm=%s&output=gplain")
+ (id . "http://www.google.com/groups?as_umsgid=%s&hl=en&dmode=source")
+ (article . nnweb-google-wash-article)
(reference . identity)
(map . nnweb-google-create-mapping)
(search . nnweb-google-search)
- (address . "http://groups.google.de/groups")
- (base . "http://groups.google.de")
+ (address . "http://groups.google.com/groups")
+ (base . "http://groups.google.com")
(identifier . nnweb-google-identity))
(dejanews ;; alias of google
(article . ignore)
@@ -306,35 +312,19 @@ Valid types include `google', `dejanews', and `gmane'.")
(current-buffer))))))
;;;
-;;; Deja bought by google.com
+;;; groups.google.com
;;;
(defun nnweb-google-wash-article ()
- (let ((case-fold-search t) url)
- (goto-char (point-min))
- (re-search-forward "^<pre>" nil t)
- (narrow-to-region (point-min) (point))
- (search-backward "<table " nil t 2)
- (delete-region (point-min) (point))
- (if (re-search-forward "Search Result [0-9]+" nil t)
- (replace-match ""))
- (if (re-search-forward "View complete thread ([0-9]+ articles?)" nil t)
- (replace-match ""))
+ ;; We have Google's masked e-mail addresses here. :-/
+ (let ((case-fold-search t))
(goto-char (point-min))
- (while (search-forward "<br>" nil t)
- (replace-match "\n"))
- (mm-url-remove-markup)
+ (delete-region (point-min)
+ (1+ (re-search-forward "^<pre>" nil t)))
(goto-char (point-min))
- (while (re-search-forward "^[ \t]*\n" nil t)
- (replace-match ""))
- (goto-char (point-max))
- (insert "\n")
- (widen)
- (narrow-to-region (point) (point-max))
- (search-forward "</pre>" nil t)
- (delete-region (point) (point-max))
- (mm-url-remove-markup)
- (widen)))
+ (delete-region (- (re-search-forward "^</pre>" nil t) (length "</pre>"))
+ (point-max))
+ (mm-url-decode-entities)))
(defun nnweb-google-parse-1 (&optional Message-ID)
(let ((i 0)