Commit 4a2358e9 authored by Miles Bader's avatar Miles Bader
Browse files

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.
parent 79a0aa11
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):
......
......@@ -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."
......
......@@ -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)
......
......@@ -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: "
......
......@@ -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)
......
;;; 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)
......
......@@ -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
......
......@@ -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'.
......
......@@ -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)))))
......
......@@ -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)))
......
......@@ -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)
......
......@@ -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)
......
......@@ -5090,10 +5090,10 @@ the server and display it in the article buffer.
 
@item gnus-select-article-hook
@vindex gnus-select-article-hook
This hook is called whenever an article is selected. By default it
exposes any threads hidden under the selected article. If you would
like each article to be saved in the Agent as you read it, putting
@code{gnus-agent-fetch-selected-article} on this hook will do so.
This hook is called whenever an article is selected. The default is
@code{nil}. If you would like each article to be saved in the Agent as
you read it, putting @code{gnus-agent-fetch-selected-article} on this
hook will do so.
 
@item gnus-mark-article-hook
@vindex gnus-mark-article-hook
......@@ -5103,8 +5103,8 @@ like each article to be saved in the Agent as you read it, putting
This hook is called whenever an article is selected. It is intended to
be used for marking articles as read. The default value is
@code{gnus-summary-mark-read-and-unread-as-read}, and will change the
mark of almost any article you read to @code{gnus-unread-mark}. The
only articles not affected by this function are ticked, dormant, and
mark of almost any article you read to @code{gnus-read-mark}. The only
articles not affected by this function are ticked, dormant, and
expirable articles. If you'd instead like to just have unread articles
marked as read, you can use @code{gnus-summary-mark-unread-as-read}
instead. 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
Prefix for file name for storing incoming mail. The default is
@file{Incoming}, in which case files will end up with names like
@file{Incoming30630D_} or @file{Incoming298602ZD}. This is really only
relevant if @code{mail-source-delete-incoming} is @code{nil}.
relevant if @code{mail-source-delete-incoming} is @code{nil} or a
number.
 
@item mail-source-default-file-modes
@vindex mail-source-default-file-modes
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment