From 96d4a7cc3dda58f46de9f03c18f91f8a59e4a8e5 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Tue, 2 Nov 2004 02:54:23 +0000 Subject: [PATCH] Revision: miles@gnu.org--gnu-2004/gnus--devo--0--patch-160 Merge from gnus--rel--5.10 Patches applied: * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-62 - miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-66 Update from CVS 2004-11-01 Reiner Steib * lisp/gnus-msg.el (gnus-summary-resend-default-address): Add :version. * lisp/tls.el (tls-process-connection-type, tls-success) (tls-certtool-program): Add :version. * lisp/starttls.el (starttls-gnutls-program, starttls-use-gnutls) (starttls-extra-arguments, starttls-process-connection-type) (starttls-connect, starttls-failure, starttls-success): * lisp/spam-stat.el (spam-stat): Add :version. * lisp/sieve.el (sieve): Add :version. * lisp/sha1.el (sha1): Added :version. (sha1-use-external): Removed redundant version. * lisp/nnmail.el (nnmail-split-fancy-with-parent-ignore-groups) (nnmail-cache-ignore-groups, nnmail-spool-hook) (nnmail-split-fancy-match-partial-words) (nnmail-split-lowercase-expanded): * lisp/nndiary.el (nndiary): Add :version. * lisp/mml2015.el (mml2015-unabbrev-trust-alist): Add :version. * lisp/mml-sec.el (mml-default-sign-method) (mml-default-encrypt-method, mml-signencrypt-style-alist): Add :version. * lisp/mm-uu.el (mm-uu-diff-groups-regexp): Add :version. * lisp/mm-url.el (mm-url-use-external, mm-url-program) (mm-url-arguments): Add :version. * lisp/mm-decode.el (mm-inline-text-html-with-w3m-keymap) (mm-attachment-file-modes, mm-decrypt-option) (mm-w3m-safe-url-regexp): Add :version. * lisp/message.el (message-cite-prefix-regexp) (message-sendmail-envelope-from, message-minibuffer-local-map) (message-user-fqdn, message-completion-alist): Add :version. * lisp/gnus-win.el (gnus-configure-windows-hook) (gnus-use-frames-on-any-display): Add :version. * lisp/gnus-art.el (gnus-article-address-banner-alist) (gnus-treat-unsplit-urls, gnus-treat-unfold-headers) (gnus-treat-from-picon, gnus-treat-mail-picon) (gnus-treat-x-pgp-sig): Add :version. * lisp/gnus-sum.el (gnus-spam-mark, gnus-recent-mark) (gnus-undownloaded-mark, gnus-summary-article-move-hook) (gnus-summary-article-delete-hook) (gnus-summary-display-while-building): Add :version. * lisp/gnus-start.el (gnus-subscribe-newsgroup-hooks) (gnus-get-top-new-news-hook):Add :version. * lisp/gnus-srvr.el (gnus-server-agent-face, gnus-server-opened-face) (gnus-server-closed-face, gnus-server-denied-face): Add :version. * lisp/gnus-registry.el (gnus-registry): Add :version. * lisp/gnus-spec.el (gnus-use-correct-string-widths) (gnus-make-format-preserve-properties): Add :version. * lisp/gnus.el (gnus-group-charter-alist) (gnus-group-fetch-control-use-browse-url) (gnus-install-group-spam-parameters): Add :version. * lisp/gnus-diary.el (gnus-diary): Add :version. * lisp/gnus-delay.el (gnus-delay): Add :version. * lisp/gnus-cite.el (gnus-cite-unsightly-citation-regexp) (gnus-cite-ignore-quoted-from, gnus-cite-attribution-face) (gnus-cite-blank-line-after-header, gnus-article-boring-faces): Add :version. * lisp/gnus-agent.el (gnus-agent-max-fetch-size) (gnus-agent-enable-expiration, gnus-agent-queue-mail) (gnus-agent-prompt-send-queue): Add :version. * lisp/deuglify.el (gnus-outlook-deuglify): Add :version. * lisp/html2text.el: Beautify code. Improve doc strings. Some checkdoc cleanup. (html2text-get-attr, html2text-fix-paragraph): Simplify code. (html2text-format-tag-list): Added "strong" and "em". From "Alfred M. Szmidt" (tiny change). --- lisp/ChangeLog | 93 +++++++++++++++++++++++ lisp/deuglify.el | 3 +- lisp/gnus-agent.el | 4 + lisp/gnus-art.el | 6 ++ lisp/gnus-cite.el | 5 +- lisp/gnus-delay.el | 1 + lisp/gnus-diary.el | 3 +- lisp/gnus-msg.el | 1 + lisp/gnus-registry.el | 1 + lisp/gnus-spec.el | 2 + lisp/gnus-srvr.el | 4 + lisp/gnus-start.el | 2 + lisp/gnus-sum.el | 7 ++ lisp/gnus-win.el | 2 + lisp/gnus.el | 3 + lisp/html2text.el | 172 +++++++++++++++++++++++++++++------------- lisp/message.el | 7 +- lisp/mm-decode.el | 4 + lisp/mm-url.el | 3 + lisp/mm-uu.el | 1 + lisp/mml-sec.el | 3 + lisp/mml2015.el | 1 + lisp/nndiary.el | 1 + lisp/nnmail.el | 5 ++ lisp/sha1.el | 2 +- lisp/sieve.el | 1 + lisp/spam-stat.el | 1 + lisp/starttls.el | 7 ++ lisp/tls.el | 3 + 29 files changed, 291 insertions(+), 57 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 707519898..0742e5f61 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,96 @@ +2004-11-01 Reiner Steib + + * gnus-msg.el (gnus-summary-resend-default-address): Add :version. + + * tls.el (tls-process-connection-type, tls-success) + (tls-certtool-program): Add :version. + + * starttls.el (starttls-gnutls-program, starttls-use-gnutls) + (starttls-extra-arguments, starttls-process-connection-type) + (starttls-connect, starttls-failure, starttls-success): + + * spam-stat.el (spam-stat): Add :version. + + * sieve.el (sieve): Add :version. + + * sha1.el (sha1): Added :version. + (sha1-use-external): Removed redundant version. + + * nnmail.el (nnmail-split-fancy-with-parent-ignore-groups) + (nnmail-cache-ignore-groups, nnmail-spool-hook) + (nnmail-split-fancy-match-partial-words) + (nnmail-split-lowercase-expanded): + + * nndiary.el (nndiary): Add :version. + + * mml2015.el (mml2015-unabbrev-trust-alist): Add :version. + + * mml-sec.el (mml-default-sign-method) + (mml-default-encrypt-method, mml-signencrypt-style-alist): Add + :version. + + * mm-uu.el (mm-uu-diff-groups-regexp): Add :version. + + * mm-url.el (mm-url-use-external, mm-url-program) + (mm-url-arguments): Add :version. + + * mm-decode.el (mm-inline-text-html-with-w3m-keymap) + (mm-attachment-file-modes, mm-decrypt-option) + (mm-w3m-safe-url-regexp): Add :version. + + * message.el (message-cite-prefix-regexp) + (message-sendmail-envelope-from, message-minibuffer-local-map) + (message-user-fqdn, message-completion-alist): Add :version. + + * gnus-win.el (gnus-configure-windows-hook) + (gnus-use-frames-on-any-display): Add :version. + + * gnus-art.el (gnus-article-address-banner-alist) + (gnus-treat-unsplit-urls, gnus-treat-unfold-headers) + (gnus-treat-from-picon, gnus-treat-mail-picon) + (gnus-treat-x-pgp-sig): Add :version. + + * gnus-sum.el (gnus-spam-mark, gnus-recent-mark) + (gnus-undownloaded-mark, gnus-summary-article-move-hook) + (gnus-summary-article-delete-hook) + (gnus-summary-display-while-building): Add :version. + + * gnus-start.el (gnus-subscribe-newsgroup-hooks) + (gnus-get-top-new-news-hook):Add :version. + + * gnus-srvr.el (gnus-server-agent-face, gnus-server-opened-face) + (gnus-server-closed-face, gnus-server-denied-face): Add :version. + + * gnus-registry.el (gnus-registry): Add :version. + + * gnus-spec.el (gnus-use-correct-string-widths) + (gnus-make-format-preserve-properties): Add :version. + + * gnus.el (gnus-group-charter-alist) + (gnus-group-fetch-control-use-browse-url) + (gnus-install-group-spam-parameters): Add :version. + + * gnus-diary.el (gnus-diary): Add :version. + + * gnus-delay.el (gnus-delay): Add :version. + + * gnus-cite.el (gnus-cite-unsightly-citation-regexp) + (gnus-cite-ignore-quoted-from, gnus-cite-attribution-face) + (gnus-cite-blank-line-after-header, gnus-article-boring-faces): + Add :version. + + * gnus-agent.el (gnus-agent-max-fetch-size) + (gnus-agent-enable-expiration, gnus-agent-queue-mail) + (gnus-agent-prompt-send-queue): Add :version. + + * deuglify.el (gnus-outlook-deuglify): Add :version. + + * html2text.el: Beautify code. Improve doc strings. Some checkdoc + cleanup. + (html2text-get-attr, html2text-fix-paragraph): Simplify code. + (html2text-format-tag-list): Added "strong" and "em". From + "Alfred M. Szmidt" (tiny change). + 2004-10-29 Teodor Zlatanov * gnus-registry.el (gnus-registry-hashtb): create the registry diff --git a/lisp/deuglify.el b/lisp/deuglify.el index 5f1945aad..67ff9ac7c 100644 --- a/lisp/deuglify.el +++ b/lisp/deuglify.el @@ -230,7 +230,8 @@ ;;; User Customizable Variables: (defgroup gnus-outlook-deuglify nil - "Deuglify articles generated by broken user agents like MS Outlook (Express).") + "Deuglify articles generated by broken user agents like MS Outlook (Express)." + :version "21.4") ;;;###autoload (defcustom gnus-outlook-deuglify-unwrap-min 45 diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el index 12427f759..86c9a1d32 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -160,6 +160,7 @@ read articles as they would just be downloaded again." "Chunk size for `gnus-agent-fetch-session'. The function will split its article fetches into chunks smaller than this limit." + :version "21.4" :group 'gnus-agent :type 'integer) @@ -170,6 +171,7 @@ contents from a group's local storage. This value may be overridden to disable expiration in specific categories, topics, and groups. Of course, you could change gnus-agent-enable-expiration to DISABLE then enable expiration per categories, topics, and groups." + :version "21.4" :group 'gnus-agent :type '(radio (const :format "Enable " ENABLE) (const :format "Disable " DISABLE))) @@ -195,6 +197,7 @@ See Info node `(gnus)Server Buffer'." "Whether and when outgoing mail should be queued by the agent. When `always', always queue outgoing mail. When nil, never queue. Otherwise, queue if and only if unplugged." + :version "21.4" :group 'gnus-agent :type '(radio (const :format "Always" always) (const :format "Never" nil) @@ -203,6 +206,7 @@ queue. Otherwise, queue if and only if unplugged." (defcustom gnus-agent-prompt-send-queue nil "If non-nil, `gnus-group-send-queue' will prompt if called when unplugged." + :version "21.4" :group 'gnus-agent :type 'boolean) diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index e5c33d654..53e03b630 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -321,6 +321,7 @@ advertisements. For example: (symbol :tag "Item in `gnus-article-banner-alist'" none) regexp (const :tag "None" nil)))) + :version "21.4" :group 'gnus-article-washing) (defcustom gnus-emphasis-alist @@ -929,6 +930,7 @@ See Info node `(gnus)Customizing Articles' for details." "Remove newlines from within URLs. Valid values are nil, t, `head', `last', an integer or a predicate. See Info node `(gnus)Customizing Articles' for details." + :version "21.4" :group 'gnus-article-treat :link '(custom-manual "(gnus)Customizing Articles") :type gnus-article-treat-custom) @@ -1133,6 +1135,7 @@ See Info node `(gnus)Customizing Articles' for details." "Unfold folded header lines. Valid values are nil, t, `head', `last', an integer or a predicate. See Info node `(gnus)Customizing Articles' for details." + :version "21.4" :group 'gnus-article-treat :link '(custom-manual "(gnus)Customizing Articles") :type gnus-article-treat-custom) @@ -1255,6 +1258,7 @@ See Info node `(gnus)Customizing Articles' and Info node Valid values are nil, t, `head', `last', an integer or a predicate. See Info node `(gnus)Customizing Articles' and Info node `(gnus)Picons' for details." + :version "21.4" :group 'gnus-article-treat :group 'gnus-picon :link '(custom-manual "(gnus)Customizing Articles") @@ -1270,6 +1274,7 @@ See Info node `(gnus)Customizing Articles' and Info node Valid values are nil, t, `head', `last', an integer or a predicate. See Info node `(gnus)Customizing Articles' and Info node `(gnus)Picons' for details." + :version "21.4" :group 'gnus-article-treat :group 'gnus-picon :link '(custom-manual "(gnus)Customizing Articles") @@ -1356,6 +1361,7 @@ See Info node `(gnus)Customizing Articles' for details." To automatically treat X-PGP-Sig, set it to head. Valid values are nil, t, `head', `last', an integer or a predicate. See Info node `(gnus)Customizing Articles' for details." + :version "21.4" :group 'gnus-article-treat :group 'mime-security :link '(custom-manual "(gnus)Customizing Articles") diff --git a/lisp/gnus-cite.el b/lisp/gnus-cite.el index 6d018a091..e90fa32af 100644 --- a/lisp/gnus-cite.el +++ b/lisp/gnus-cite.el @@ -124,6 +124,7 @@ The text matching the first grouping will be used as a button." (defcustom gnus-cite-unsightly-citation-regexp "^-----Original Message-----\nFrom: \\(.+\n\\)+\n" "Regexp matching Microsoft-type rest-of-message citations." + :version "21.4" :group 'gnus-cite :type 'regexp) @@ -131,6 +132,7 @@ The text matching the first grouping will be used as a button." "Non-nil means don't regard lines beginning with \">From \" as cited text. Those lines may have been quoted by MTAs in order not to mix up with the envelope From line." + :version "21.4" :group 'gnus-cite :type 'boolean) @@ -141,6 +143,7 @@ the envelope From line." (defcustom gnus-cite-attribution-face 'gnus-cite-attribution-face "Face used for attribution lines. It is merged with the face for the cited text belonging to the attribution." + :version "21.4" :group 'gnus-cite :type 'face) @@ -278,7 +281,6 @@ This should make it easier to see who wrote what." (defcustom gnus-cite-blank-line-after-header t "If non-nil, put a blank line between the citation header and the button." - :version "21.4" :group 'gnus-cite :type 'boolean) @@ -290,7 +292,6 @@ This should make it easier to see who wrote what." If an article has more pages below the one you are looking at, but nothing on those pages is a word of at least three letters that is not in a boring face, then the pages will be skipped." - :version "21.4" :type '(repeat face) :group 'gnus-article-hiding) diff --git a/lisp/gnus-delay.el b/lisp/gnus-delay.el index e8ccba811..96f97ff40 100644 --- a/lisp/gnus-delay.el +++ b/lisp/gnus-delay.el @@ -41,6 +41,7 @@ ;;;###autoload (defgroup gnus-delay nil "Arrange for sending postings later." + :version "21.4" :group 'gnus) (defcustom gnus-delay-group "delayed" diff --git a/lisp/gnus-diary.el b/lisp/gnus-diary.el index 9425ef3b2..fe28b7f23 100644 --- a/lisp/gnus-diary.el +++ b/lisp/gnus-diary.el @@ -102,7 +102,8 @@ (require 'gnus-art) (defgroup gnus-diary nil - "Utilities on top of the nndiary backend for Gnus.") + "Utilities on top of the nndiary backend for Gnus." + :version "21.4") (defcustom gnus-diary-summary-line-format "%U%R%z %uD: %(%s%) (%ud)\n" "*Summary line format for nndiary groups." diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index 32bec9e05..518cff243 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -281,6 +281,7 @@ If nil, Gnus will never ask for confirmation if replying to mail." "If non-nil, Gnus tries to suggest a default address to resend to. If nil, the address field will always be empty after invoking `gnus-summary-resend-message'." + :version "21.4" :group 'gnus-message :type 'boolean) diff --git a/lisp/gnus-registry.el b/lisp/gnus-registry.el index d6213437f..ce3e825fe 100644 --- a/lisp/gnus-registry.el +++ b/lisp/gnus-registry.el @@ -66,6 +66,7 @@ (defgroup gnus-registry nil "The Gnus registry." + :version "21.4" :group 'gnus) (defvar gnus-registry-hashtb (make-hash-table diff --git a/lisp/gnus-spec.el b/lisp/gnus-spec.el index d39316a0d..cd8a36fff 100644 --- a/lisp/gnus-spec.el +++ b/lisp/gnus-spec.el @@ -32,12 +32,14 @@ (defcustom gnus-use-correct-string-widths (featurep 'xemacs) "*If non-nil, use correct functions for dealing with wide characters." + :version "21.4" :group 'gnus-format :type 'boolean) (defcustom gnus-make-format-preserve-properties (featurep 'xemacs) "*If non-nil, use a replacement `format' function which preserves text properties. This is only needed on XEmacs, as FSF Emacs does this anyway." + :version "21.4" :group 'gnus-format :type 'boolean) diff --git a/lisp/gnus-srvr.el b/lisp/gnus-srvr.el index 41db8b8ca..f3b0f9bd5 100644 --- a/lisp/gnus-srvr.el +++ b/lisp/gnus-srvr.el @@ -205,21 +205,25 @@ If nil, a faster, but more primitive, buffer is used instead." (defcustom gnus-server-agent-face 'gnus-server-agent-face "Face name to use on AGENTIZED servers." + :version "21.4" :group 'gnus-server-visual :type 'face) (defcustom gnus-server-opened-face 'gnus-server-opened-face "Face name to use on OPENED servers." + :version "21.4" :group 'gnus-server-visual :type 'face) (defcustom gnus-server-closed-face 'gnus-server-closed-face "Face name to use on CLOSED servers." + :version "21.4" :group 'gnus-server-visual :type 'face) (defcustom gnus-server-denied-face 'gnus-server-denied-face "Face name to use on DENIED servers." + :version "21.4" :group 'gnus-server-visual :type 'face) diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index 99bf877a2..7506a6f32 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -299,6 +299,7 @@ claim them." (defcustom gnus-subscribe-newsgroup-hooks nil "*Hooks run after you subscribe to a new group. The hooks will be called with new group's name as argument." + :version "21.4" :group 'gnus-group-new :type 'hook) @@ -405,6 +406,7 @@ This hook is called as the first thing when Gnus is started." (defcustom gnus-get-top-new-news-hook nil "A hook run just before Gnus checks for new news globally." + :version "21.4" :group 'gnus-group-new :type 'hook) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 160a9a8c9..334abcf17 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -476,6 +476,7 @@ string with the suggested prefix." (defcustom gnus-spam-mark ?$ "*Mark used for spam articles." + :version "21.4" :group 'gnus-summary-marks :type 'character) @@ -512,6 +513,7 @@ string with the suggested prefix." (defcustom gnus-recent-mark ?N "*Mark used for articles that are recent." + :version "21.4" :group 'gnus-summary-marks :type 'character) @@ -559,6 +561,7 @@ string with the suggested prefix." (defcustom gnus-undownloaded-mark ?- "*Mark used for articles that weren't downloaded." + :version "21.4" :group 'gnus-summary-marks :type 'character) @@ -945,16 +948,19 @@ automatically when it is selected." (defcustom gnus-summary-article-move-hook nil "*A hook called after an article is moved, copied, respooled, or crossposted." + :version "21.4" :group 'gnus-summary :type 'hook) (defcustom gnus-summary-article-delete-hook nil "*A hook called after an article is deleted." + :version "21.4" :group 'gnus-summary :type 'hook) (defcustom gnus-summary-article-expire-hook nil "*A hook called after an article is expired." + :version "21.4" :group 'gnus-summary :type 'hook) @@ -9222,6 +9228,7 @@ If nil, use to the current newsgroup method." "If non-nil, show and update the summary buffer as it's being built. If the value is t, update the buffer after every line is inserted. If the value is an integer (N), update the display every N lines." + :version "21.4" :group 'gnus-thread :type '(choice (const :tag "off" nil) number diff --git a/lisp/gnus-win.el b/lisp/gnus-win.el index 1db5dc3a4..e91099720 100644 --- a/lisp/gnus-win.el +++ b/lisp/gnus-win.el @@ -62,6 +62,7 @@ "*If non-nil, frames on all displays will be considered useable by Gnus. When nil, only frames on the same display as the selected frame will be used to display Gnus windows." + :version "21.4" :group 'gnus-windows :type 'boolean) @@ -203,6 +204,7 @@ See the Gnus manual for an explanation of the syntax used.") (defcustom gnus-configure-windows-hook nil "*A hook called when configuring windows." + :version "21.4" :group 'gnus-windows :type 'hook) diff --git a/lisp/gnus.el b/lisp/gnus.el index c7da0f1b6..d78351f46 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -1310,6 +1310,7 @@ If the default site is too slow, try one of these: (gnus-replace-in-string name "\\." "-") "-charter.html"))) "*An alist of (HIERARCHY . FORM) pairs used to construct the URL of a charter. When FORM is evaluated `name' is bound to the name of the group." + :version "21.4" :group 'gnus-group-various :type '(repeat (cons (string :tag "Hierarchy") (sexp :tag "Form")))) @@ -1317,6 +1318,7 @@ When FORM is evaluated `name' is bound to the name of the group." "*Non-nil means that control messages are displayed using `browse-url'. Otherwise they are fetched with ange-ftp and displayed in an ephemeral group." + :version "21.4" :group 'gnus-group-various :type 'boolean) @@ -1779,6 +1781,7 @@ total number of articles in the group.") (defcustom gnus-install-group-spam-parameters t "*Disable the group parameters for spam detection. Enable if `G c' in XEmacs is giving you trouble, and make sure to submit a bug report." + :version "21.4" :type 'boolean :group 'gnus-start) diff --git a/lisp/html2text.el b/lisp/html2text.el index 577248945..f33b12573 100644 --- a/lisp/html2text.el +++ b/lisp/html2text.el @@ -24,11 +24,11 @@ ;; These functions provide a simple way to wash/clean html infected ;; mails. Definitely do not work in all cases, but some improvement -;; in readability is generally obtained. Formatting is only done in +;; in readability is generally obtained. Formatting is only done in ;; the buffer, so the next time you enter the article it will be ;; "re-htmlized". ;; -;; The main function is "html2text" +;; The main function is `html2text'. ;;; Code: @@ -47,9 +47,9 @@ "The map of entity to text. This is an alist were each element is a dotted pair consisting of an -old string, and a replacement string. This replacement is done by the -function \"html2text-substitute\" which basically performs a -replace-string operation for every element in the list. This is +old string, and a replacement string. This replacement is done by the +function `html2text-substitute' which basically performs a +`replace-string' operation for every element in the list. This is completely verbatim - without any use of REGEXP.") (defvar html2text-remove-tag-list @@ -57,11 +57,11 @@ completely verbatim - without any use of REGEXP.") "A list of removable tags. This is a list of tags which should be removed, without any -formatting. Observe that if you the tags in the list are presented -*without* any \"<\" or \">\". All occurences of a tag appearing in -this list are removed, irrespective of whether it is a closing or -opening tag, or if the tag has additional attributes. The actual -deletion is done by the function \"html2text-remove-tags\". +formatting. Note that tags in the list are presented *without* +any \"<\" or \">\". All occurences of a tag appearing in this +list are removed, irrespective of whether it is a closing or +opening tag, or if the tag has additional attributes. The +deletion is done by the function `html2text-remove-tags'. For instance the text: @@ -75,8 +75,10 @@ If this list contains the element \"font\".") (defvar html2text-format-tag-list '(("b" . html2text-clean-bold) + ("strong" . html2text-clean-bold) ("u" . html2text-clean-underline) ("i" . html2text-clean-italic) + ("em" . html2text-clean-italic) ("blockquote" . html2text-clean-blockquote) ("a" . html2text-clean-anchor) ("ul" . html2text-clean-ul) @@ -86,7 +88,7 @@ If this list contains the element \"font\".") "An alist of tags and processing functions. This is an alist where each dotted pair consists of a tag, and then -the name of a function to be called when this tag is found. The +the name of a function to be called when this tag is found. The function is called with the arguments p1, p2, p3 and p4. These are demontrated below: @@ -117,11 +119,12 @@ formatting, and then moved afterward.") ;; -(defun html2text-replace-string (from-string to-string p1 p2) - (goto-char p1) +(defun html2text-replace-string (from-string to-string min max) + "Replace FROM-STRING with TO-STRING in region from MIN to MAX." + (goto-char min) (let ((delta (- (string-width to-string) (string-width from-string))) (change 0)) - (while (search-forward from-string p2 t) + (while (search-forward from-string max t) (replace-match to-string) (setq change (+ change delta))) change)) @@ -137,8 +140,79 @@ formatting, and then moved afterward.") ;; i.e. ;; -(defun html2text-attr-value (attr-list attr) - (nth 1 (assoc attr attr-list))) +(defun html2text-attr-value (list attribute) + "Get value of ATTRIBUTE from LIST." + (nth 1 (assoc attribute list))) + +(defun html2text-get-attr (p1 p2 tag) + (goto-char p1) + (re-search-forward " +[^ ]" p2 t) + (let* ((attr-string (buffer-substring-no-properties (1- (point)) (1- p2))) + (tmp-list (split-string attr-string)) + (attr-list) + (counter 0) + (prev (car tmp-list)) + (this (nth 1 tmp-list)) + (next (nth 2 tmp-list)) + (index 1)) + + (cond + ;; size=3 + ((string-match "[^ ]=[^ ]" prev) + (let ((attr (nth 0 (split-string prev "="))) + (value (nth 1 (split-string prev "=")))) + (setq attr-list (cons (list attr value) attr-list)))) + ;; size= 3 + ((string-match "[^ ]=\\'" prev) + (setq attr-list (cons (list (substring prev 0 -1) this) attr-list)))) + + (while (< index (length tmp-list)) + (cond + ;; size=3 + ((string-match "[^ ]=[^ ]" this) + (let ((attr (nth 0 (split-string this "="))) + (value (nth 1 (split-string this "=")))) + (setq attr-list (cons (list attr value) attr-list)))) + ;; size =3 + ((string-match "\\`=[^ ]" this) + (setq attr-list (cons (list prev (substring this 1)) attr-list))) + ;; size= 3 + ((string-match "[^ ]=\\'" this) + (setq attr-list (cons (list (substring this 0 -1) next) attr-list))) + ;; size = 3 + ((string= "=" this) + (setq attr-list (cons (list prev next) attr-list)))) + (setq index (1+ index)) + (setq prev this) + (setq this next) + (setq next (nth (1+ index) tmp-list))) + ;; + ;; Tags with no accompanying "=" i.e. value=nil + ;; + (setq prev (car tmp-list)) + (setq this (nth 1 tmp-list)) + (setq next (nth 2 tmp-list)) + (setq index 1) + + (when (and (not (string-match "=" prev)) + (not (string= (substring this 0 1) "="))) + (setq attr-list (cons (list prev nil) attr-list))) + (while (< index (1- (length tmp-list))) + (when (and (not (string-match "=" this)) + (not (or (string= (substring next 0 1) "=") + (string= (substring prev -1) "=")))) + (setq attr-list (cons (list this nil) attr-list))) + (setq index (1+ index)) + (setq prev this) + (setq this next) + (setq next (nth (1+ index) tmp-list))) + + (when (and this + (not (string-match "=" this)) + (not (string= (substring prev -1) "="))) + (setq attr-list (cons (list this nil) attr-list))) + ;; return - value + attr-list)) (defun html2text-get-attr (p1 p2) (save-restriction @@ -261,9 +335,11 @@ formatting, and then moved afterward.") (html2text-delete-tags p1 p2 p3 p4)) (defun html2text-clean-anchor (p1 p2 p3 p4) - ;; If someone can explain how to make the URL clickable I will - ;; surely improve upon this. - (let ((href (html2text-attr-value (html2text-get-attr p1 p2) "href"))) + ;; If someone can explain how to make the URL clickable I will surely + ;; improve upon this. + ;; Maybe `goto-addr.el' can be used here. + (let* ((attr-list (html2text-get-attr p1 p2 "a")) + (href (html2text-attr-value attr-list "href"))) (delete-region p1 p4) (when href (goto-char p1) @@ -283,31 +359,28 @@ formatting, and then moved afterward.") (defun html2text-fix-paragraph (p1 p2) (goto-char p1) - (let ((has-br-line) - (refill-start) + (let ((refill-start) (refill-stop)) (when (re-search-forward "
$" p2 t) - (setq has-br-line t)) - (when has-br-line - (goto-char p1) - (when (re-search-forward ".+[^<][^b][^r][^>]$" p2 t) - (beginning-of-line) - (setq refill-start (point)) - (goto-char p2) - (re-search-backward ".+[^<][^b][^r][^>]$" refill-start t) - (next-line 1) - (end-of-line) - ;; refill-stop should ideally be adjusted to - ;; accomodate the "
" strings which are removed - ;; between refill-start and refill-stop. Can simply - ;; be returned from my-replace-string - (setq refill-stop (+ (point) - (html2text-replace-string - "
" "" - refill-start (point)))) - ;; (message "Point = %s refill-stop = %s" (point) refill-stop) - ;; (sleep-for 4) - (fill-region refill-start refill-stop)))) + (goto-char p1) + (when (re-search-forward ".+[^<][^b][^r][^>]$" p2 t) + (beginning-of-line) + (setq refill-start (point)) + (goto-char p2) + (re-search-backward ".+[^<][^b][^r][^>]$" refill-start t) + (next-line 1) + (end-of-line) + ;; refill-stop should ideally be adjusted to + ;; accomodate the "
" strings which are removed + ;; between refill-start and refill-stop. Can simply + ;; be returned from my-replace-string + (setq refill-stop (+ (point) + (html2text-replace-string + "
" "" + refill-start (point)))) + ;; (message "Point = %s refill-stop = %s" (point) refill-stop) + ;; (sleep-for 4) + (fill-region refill-start refill-stop)))) (html2text-replace-string "
" "" p1 p2)) ;; @@ -343,7 +416,7 @@ fashion, quite close to pure guess-work. It does work in some cases though." ;; (defun html2text-remove-tags (tag-list) - "Removes the tags listed in the list \"html2text-remove-tag-list\". + "Removes the tags listed in the list `html2text-remove-tag-list'. See the documentation for that variable." (interactive) (dolist (tag tag-list) @@ -352,7 +425,7 @@ See the documentation for that variable." (delete-region (match-beginning 0) (match-end 0))))) (defun html2text-format-tags () - "See the variable \"html2text-format-tag-list\" for documentation" + "See the variable `html2text-format-tag-list' for documentation." (interactive) (dolist (tag-and-function html2text-format-tag-list) (let ((tag (car tag-and-function)) @@ -371,21 +444,18 @@ See the documentation for that variable." (search-backward " ;; - +(provide 'html2text) ;;; arch-tag: e9e57b79-35d4-4de1-a647-e7e01fe56d1e ;;; html2text.el ends here diff --git a/lisp/message.el b/lisp/message.el index 91a622b6c..795bfb110 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -582,6 +582,7 @@ Done before generating the new subject of a forward." non-word-constituents "]\\)+>+\\|[ \t]*[]>|}+]\\)+")))) "*Regexp matching the longest possible citation prefix on a line." + :version "21.4" :group 'message-insertion :link '(custom-manual "(message)Insertion Variables") :type 'regexp) @@ -738,6 +739,7 @@ Doing so would be even more evil than leaving it out." "*Envelope-from when sending mail with sendmail. If this is nil, use `user-mail-address'. If it is the symbol `header', use the From: header of the message." + :version "21.4" :type '(choice (string :tag "From name") (const :tag "Use From: header from message" header) (const :tag "Use `user-mail-address'" nil)) @@ -845,7 +847,8 @@ the signature is inserted." (let ((map (make-sparse-keymap 'message-minibuffer-local-map))) (set-keymap-parent map minibuffer-local-map) map) - "Keymap for `message-read-from-minibuffer'.") + "Keymap for `message-read-from-minibuffer'." + :version "21.4") ;;;###autoload (defcustom message-citation-line-function 'message-insert-citation-line @@ -1430,6 +1433,7 @@ no, only reply back to the author." (defcustom message-user-fqdn nil "*Domain part of Messsage-Ids." + :version "21.4" :group 'message-headers :link '(custom-manual "(message)News Headers") :type '(radio (const :format "%v " nil) @@ -6644,6 +6648,7 @@ which specify the range to operate on." '("^\\(Disposition-Notification-To\\|Return-Receipt-To\\):" . message-expand-name)) "Alist of (RE . FUN). Use FUN for completion on header lines matching RE." + :version "21.4" :group 'message :type '(alist :key-type regexp :value-type function)) diff --git a/lisp/mm-decode.el b/lisp/mm-decode.el index 225f82117..65b954517 100644 --- a/lisp/mm-decode.el +++ b/lisp/mm-decode.el @@ -149,12 +149,14 @@ when displaying the image. The default value is \"\\\\`cid:\" which only matches parts embedded to the Multipart/Related type MIME contents and Gnus will never connect to the spammer's site arbitrarily. You may set this variable to nil if you consider all urls to be safe." + :version "21.4" :type '(choice (regexp :tag "Regexp") (const :tag "All URLs are safe" nil)) :group 'mime-display) (defcustom mm-inline-text-html-with-w3m-keymap t "If non-nil, use emacs-w3m command keys in the article buffer." + :version "21.4" :type 'boolean :group 'mime-display) @@ -378,6 +380,7 @@ If not set, `default-directory' will be used." (defcustom mm-attachment-file-modes 384 "Set the mode bits of saved attachments to this integer." + :version "21.4" :type 'integer :group 'mime-display) @@ -435,6 +438,7 @@ If not set, `default-directory' will be used." "Option of decrypting encrypted parts. `never', not decrypt; `always', always decrypt; `known', only decrypt known protocols. Otherwise, ask user." + :version "21.4" :type '(choice (item always) (item never) (item :tag "only known protocols" known) diff --git a/lisp/mm-url.el b/lisp/mm-url.el index 51c720a60..f1ea36cc1 100644 --- a/lisp/mm-url.el +++ b/lisp/mm-url.el @@ -46,6 +46,7 @@ (require 'url) (error nil))) "*If non-nil, use external grab program `mm-url-program'." + :version "21.4" :type 'boolean :group 'mm-url) @@ -64,6 +65,7 @@ (t "GET")) "The url grab program. Likely values are `wget', `w3m', `lynx' and `curl'." + :version "21.4" :type '(choice (symbol :tag "wget" wget) (symbol :tag "w3m" w3m) @@ -74,6 +76,7 @@ Likely values are `wget', `w3m', `lynx' and `curl'." (defcustom mm-url-arguments nil "The arguments for `mm-url-program'." + :version "21.4" :type '(repeat string) :group 'mm-url) diff --git a/lisp/mm-uu.el b/lisp/mm-uu.el index 6cb15c8e2..fe1b7cf08 100644 --- a/lisp/mm-uu.el +++ b/lisp/mm-uu.el @@ -81,6 +81,7 @@ This can be either \"inline\" or \"attachment\".") (defcustom mm-uu-diff-groups-regexp "gnus\\.commits" "*Regexp matching diff groups." + :version "21.4" :type 'regexp :group 'gnus-article-mime) diff --git a/lisp/mml-sec.el b/lisp/mml-sec.el index b81073644..8bd2ed784 100644 --- a/lisp/mml-sec.el +++ b/lisp/mml-sec.el @@ -43,6 +43,7 @@ (defcustom mml-default-sign-method "pgpmime" "Default sign method. The string must have an entry in `mml-sign-alist'." + :version "21.4" :type '(choice (const "smime") (const "pgp") (const "pgpauto") @@ -60,6 +61,7 @@ The string must have an entry in `mml-sign-alist'." (defcustom mml-default-encrypt-method "pgpmime" "Default encryption method. The string must have an entry in `mml-encrypt-alist'." + :version "21.4" :type '(choice (const "smime") (const "pgp") (const "pgpauto") @@ -83,6 +85,7 @@ Note that the output generated by using a `combined' mode is NOT understood by all PGP implementations, in particular PGP version 2 does not support it! See Info node `(message)Security' for details." + :version "21.4" :group 'message :type '(repeat (list (choice (const :tag "S/MIME" "smime") (const :tag "PGP" "pgp") diff --git a/lisp/mml2015.el b/lisp/mml2015.el index 9b118500b..cefa1cd57 100644 --- a/lisp/mml2015.el +++ b/lisp/mml2015.el @@ -87,6 +87,7 @@ Valid packages include `pgg', `gpg' and `mailcrypt'.") ("TRUST_FULLY" . t) ("TRUST_ULTIMATE" . t)) "Map GnuPG trust output values to a boolean saying if you trust the key." + :version "21.4" :group 'mime-security :type '(repeat (cons (regexp :tag "GnuPG output regexp") (boolean :tag "Trust key")))) diff --git a/lisp/nndiary.el b/lisp/nndiary.el index e25276837..562a30cc1 100644 --- a/lisp/nndiary.el +++ b/lisp/nndiary.el @@ -223,6 +223,7 @@ (defgroup nndiary nil "The Gnus Diary backend." + :version "21.4" :group 'gnus-diary) (defcustom nndiary-mail-sources diff --git a/lisp/nnmail.el b/lisp/nnmail.el index 8e195faa1..725952e05 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -118,6 +118,7 @@ If nil, the first match found will be used." (defcustom nnmail-split-fancy-with-parent-ignore-groups nil "Regexp that matches group names to be ignored when applying `nnmail-split-fancy-with-parent'. This can also be a list of regexps." + :version "21.4" :group 'nnmail-split :type '(choice (const :tag "none" nil) (regexp :value ".*") @@ -126,6 +127,7 @@ This can also be a list of regexps." (defcustom nnmail-cache-ignore-groups nil "Regexp that matches group names to be ignored when inserting message ids into the cache (`nnmail-cache-insert'). This can also be a list of regexps." + :version "21.4" :group 'nnmail-split :type '(choice (const :tag "none" nil) (regexp :value ".*") @@ -352,6 +354,7 @@ discarded after running the split process." (defcustom nnmail-spool-hook nil "*A hook called when a new article is spooled." + :version "21.4" :group 'nnmail :type 'hook) @@ -574,6 +577,7 @@ Normally, regexes given in `nnmail-split-fancy' are implicitly surrounded by \"\\=\\<...\\>\". If this variable is true, they are not implicitly\ surrounded by anything." + :version "21.4" :group 'nnmail :type 'boolean) @@ -581,6 +585,7 @@ by anything." "Whether to lowercase expanded entries (i.e. \\N) when splitting mails. This avoids the creation of multiple groups when users send to an address using different case (i.e. mailing-list@domain vs Mailing-List@Domain)." + :version "21.4" :group 'nnmail :type 'boolean) diff --git a/lisp/sha1.el b/lisp/sha1.el index a9b68805d..51a826fe5 100644 --- a/lisp/sha1.el +++ b/lisp/sha1.el @@ -60,6 +60,7 @@ (defgroup sha1 nil "Elisp interface for SHA1 hash computation." + :version "21.4" :group 'extensions) (defcustom sha1-maximum-internal-length 500 @@ -82,7 +83,6 @@ It must be a string \(program name\) or list of strings \(name and its args\)." (error)) "*Use external SHA1 program. If this variable is set to nil, use internal function only." - :version "21.4" :type 'boolean :group 'sha1) diff --git a/lisp/sieve.el b/lisp/sieve.el index f95ae3e73..3a830a72e 100644 --- a/lisp/sieve.el +++ b/lisp/sieve.el @@ -65,6 +65,7 @@ (defgroup sieve nil "Manage sieve scripts." + :version "21.4" :group 'tools) (defcustom sieve-new-script "" diff --git a/lisp/spam-stat.el b/lisp/spam-stat.el index 8e24114ec..d84ac23ca 100644 --- a/lisp/spam-stat.el +++ b/lisp/spam-stat.el @@ -129,6 +129,7 @@ Use the functions to build a dictionary of words and their statistical distribution in spam and non-spam mails. Then use a function to determine whether a buffer contains spam or not." + :version "21.4" :group 'gnus) (defcustom spam-stat-file "~/.spam-stat.el" diff --git a/lisp/starttls.el b/lisp/starttls.el index c172e88c5..7a2eef5e7 100644 --- a/lisp/starttls.el +++ b/lisp/starttls.el @@ -126,6 +126,7 @@ "Name of GNUTLS command line tool. This program is used when GNUTLS is used, i.e. when `starttls-use-gnutls' is non-nil." + :version "21.4" :type 'string :group 'starttls) @@ -138,6 +139,7 @@ i.e. when `starttls-use-gnutls' is nil." (defcustom starttls-use-gnutls (not (executable-find starttls-program)) "*Whether to use GNUTLS instead of the `starttls' command." + :version "21.4" :type 'boolean :group 'starttls) @@ -156,11 +158,13 @@ This program is used when GNUTLS is used, i.e. when For example, non-TLS compliant servers may require '(\"--protocols\" \"ssl3\"). Invoke \"gnutls-cli --help\" to find out which parameters are available." + :version "21.4" :type '(repeat string) :group 'starttls) (defcustom starttls-process-connection-type nil "*Value for `process-connection-type' to use when starting STARTTLS process." + :version "21.4" :type 'boolean :group 'starttls) @@ -170,6 +174,7 @@ The default is what GNUTLS's \"gnutls-cli\" outputs." ;; GNUTLS cli.c:main() print this string when it is starting to run ;; in the application read/write phase. If the logic, or the string ;; itself, is modified, this must be updated. + :version "21.4" :type 'regexp :group 'starttls) @@ -178,6 +183,7 @@ The default is what GNUTLS's \"gnutls-cli\" outputs." The default is what GNUTLS's \"gnutls-cli\" outputs." ;; GNUTLS cli.c:do_handshake() print this string on failure. If the ;; logic, or the string itself, is modified, this must be updated. + :version "21.4" :type 'regexp :group 'starttls) @@ -188,6 +194,7 @@ The default is what GNUTLS's \"gnutls-cli\" outputs." ;; common.c:print_info(), that unconditionally print this string ;; last. If that logic, or the string itself, is modified, this ;; must be updated. + :version "21.4" :type 'regexp :group 'starttls) diff --git a/lisp/tls.el b/lisp/tls.el index 5f57c084f..1b58760c1 100644 --- a/lisp/tls.el +++ b/lisp/tls.el @@ -67,18 +67,21 @@ after successful negotiation." (defcustom tls-process-connection-type nil "*Value for `process-connection-type' to use when starting TLS process." + :version "21.4" :type 'boolean :group 'tls) (defcustom tls-success "- Handshake was completed" "*Regular expression indicating completed TLS handshakes. The default is what GNUTLS's \"gnutls-cli\" outputs." + :version "21.4" :type 'regexp :group 'tls) (defcustom tls-certtool-program (executable-find "certtool") "Name of GnuTLS certtool. Used by `tls-certificate-information'." + :version "21.4" :type '(repeat string) :group 'tls) -- 2.25.1