From 7989c95f1542128384c3db2d4fdbf260175477f2 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Tue, 2 Nov 2004 03:07:30 +0000 Subject: [PATCH] Synch to No Gnus 200411020254. --- 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/sieve.el | 1 + lisp/spam-stat.el | 1 + lisp/starttls.el | 7 ++ lisp/tls.el | 3 + 28 files changed, 290 insertions(+), 56 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 717c1f6..9206c5a 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 a8cb0e9..c33029f 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 632e263..b018bb6 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -171,6 +171,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) @@ -181,6 +182,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))) @@ -206,6 +208,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) @@ -214,6 +217,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 6415623..6a8f68c 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -353,6 +353,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 @@ -976,6 +977,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) @@ -1180,6 +1182,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) @@ -1335,6 +1338,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") @@ -1350,6 +1354,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") @@ -1446,6 +1451,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 :type gnus-article-treat-custom) diff --git a/lisp/gnus-cite.el b/lisp/gnus-cite.el index a8c13e3..fe4f585 100644 --- a/lisp/gnus-cite.el +++ b/lisp/gnus-cite.el @@ -125,6 +125,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) @@ -132,6 +133,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) @@ -142,6 +144,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) @@ -279,7 +282,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) @@ -291,7 +293,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 214b397..9cb5691 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 620f7ca..3b43293 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 f41a272..6904bb4 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -307,6 +307,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 31c0b1d..b232628 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 c5495c7..03593ba 100644 --- a/lisp/gnus-spec.el +++ b/lisp/gnus-spec.el @@ -34,12 +34,14 @@ (defcustom gnus-use-correct-string-widths t "*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 3cb9599..835cd14 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 d78238d..e217f8c 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -305,6 +305,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) @@ -411,6 +412,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 3f1164a..58d612c 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -500,6 +500,7 @@ string with the suggested prefix." (defcustom gnus-spam-mark ?$ "*Mark used for spam articles." + :version "21.4" :group 'gnus-summary-marks :type 'character) @@ -536,6 +537,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) @@ -583,6 +585,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) @@ -969,16 +972,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) @@ -9346,6 +9352,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 b844893..ccf1c9e 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 311227c..2e84730 100644 --- a/lisp/gnus.el +++ b/lisp/gnus.el @@ -1347,6 +1347,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")))) @@ -1354,6 +1355,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) @@ -1817,6 +1819,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 511a139..9de6216 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) ;;; html2text.el ends here diff --git a/lisp/message.el b/lisp/message.el index dcf4e6c..771f300 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -703,6 +703,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) @@ -889,6 +890,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)) @@ -1008,7 +1010,8 @@ The function `message-supersede' runs this hook." (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 @@ -1638,6 +1641,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) @@ -7361,6 +7365,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 49fc7e1..7f97dad 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 405bc05..9ac92df 100644 --- a/lisp/mm-url.el +++ b/lisp/mm-url.el @@ -49,6 +49,7 @@ (require 'url) (error nil))) "*If non-nil, use external grab program `mm-url-program'." + :version "21.4" :type 'boolean :group 'mm-url) @@ -67,6 +68,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) @@ -77,6 +79,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 f6c139b..8110afc 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 b159c92..7f65f78 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 599ca72..43276f0 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 f2012f1..9040a6f 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 5a1cd65..93dfd7e 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -117,6 +117,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 ".*") @@ -125,6 +126,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 ".*") @@ -351,6 +353,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) @@ -573,6 +576,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) @@ -580,6 +584,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/sieve.el b/lisp/sieve.el index 35fd917..09f9d43 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 e3bc83f..30d1214 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 3d47aef..0aebc14 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 842e245..d121bad 100644 --- a/lisp/tls.el +++ b/lisp/tls.el @@ -69,18 +69,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) -- 1.7.10.4