changeset 111450:eb9988805a37

Merge changes made in Gnus trunk. message.el (message-mailto): New function. message.el (message-mailto): Should accept other parameters. message.el (message-mailto): Remove since it duplicates browse-url-mailto functionality. shr.el (shr-browse-url): Call browse-url-mailto for mailto: links. message.el (message-subject-trailing-was-ask-regexp): A ] in a [] regexp doesn't need quoting. gnus-art.el (article-treat-non-ascii): New command and keystroke. shr.el (browse-url-mailto): Autoload. gnus.texi (Article Washing): Document gnus-article-treat-non-ascii.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Tue, 09 Nov 2010 22:17:36 +0000
parents 132f2dfd549f
children 98299fb04891
files doc/misc/ChangeLog doc/misc/gnus.texi lisp/gnus/ChangeLog lisp/gnus/gnus-art.el lisp/gnus/gnus-sum.el lisp/gnus/message.el lisp/gnus/shr.el
diffstat 7 files changed, 62 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/doc/misc/ChangeLog	Tue Nov 09 15:07:10 2010 -0500
+++ b/doc/misc/ChangeLog	Tue Nov 09 22:17:36 2010 +0000
@@ -1,3 +1,7 @@
+2010-11-09  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+	* gnus.texi (Article Washing): Document gnus-article-treat-non-ascii.
+
 2010-11-09  Jay Belanger  <jay.p.belanger@gmail.com>
 
 	* calc.texi: Use emacsver.texi to determine Emacs version.
--- a/doc/misc/gnus.texi	Tue Nov 09 15:07:10 2010 -0500
+++ b/doc/misc/gnus.texi	Tue Nov 09 22:17:36 2010 +0000
@@ -9664,6 +9664,17 @@
 like @code{\222} or @code{\264} where you're expecting some kind of
 apostrophe or quotation mark, then try this wash.
 
+@item W A
+@kindex W A (Summary)
+@findex gnus-article-treat-non-ascii
+@cindex Unicode
+@cindex Non-@acronym{ASCII}
+Translate many non-@acronym{ASCII} characters into their
+@acronym{ASCII} equivalents (@code{gnus-article-treat-non-ascii}).
+This is mostly useful if you're on a terminal that has a limited font
+and does't show accented characters, ``advanced'' punctuation, and the
+like.  For instance, @samp{»} is tranlated into @samp{>>}, and so on.
+
 @item W Y f
 @kindex W Y f (Summary)
 @findex gnus-article-outlook-deuglify-article
--- a/lisp/gnus/ChangeLog	Tue Nov 09 15:07:10 2010 -0500
+++ b/lisp/gnus/ChangeLog	Tue Nov 09 22:17:36 2010 +0000
@@ -1,3 +1,12 @@
+2010-11-09  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+	* shr.el (browse-url-mailto): Autoload.
+
+	* gnus-art.el (article-treat-non-ascii): New command and keystroke.
+
+	* message.el (message-subject-trailing-was-ask-regexp): A ] in a []
+	regexp doesn't need quoting.
+
 2010-11-09  Sven Joachim  <svenjoac@gmx.de>
 
 	* message.el (message-subject-trailing-was-ask-regexp)
@@ -8,9 +17,14 @@
 	* nnbabyl.el (nnbabyl-request-move-article, nnbabyl-delete-mail)
 	(nnbabyl-check-mbox): Use point-at-bol.
 
-2010-11-09  Katsumi Yamaoka  <yamaoka@jpl.org>
-
-	* message.el (message-subject-trailing-was-regexp): Fix default value.
+2010-11-08  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+	* shr.el (shr-browse-url): Call browse-url-mailto for mailto: links.
+
+	* message.el (message-mailto): New function.
+	(message-mailto): Should accept other parameters.
+	(message-mailto): Remove since it duplicates browse-url-mailto
+	functionality.
 
 2010-11-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
--- a/lisp/gnus/gnus-art.el	Tue Nov 09 15:07:10 2010 -0500
+++ b/lisp/gnus/gnus-art.el	Tue Nov 09 22:17:36 2010 +0000
@@ -2114,6 +2114,27 @@
   (interactive)
   (article-translate-strings gnus-article-dumbquotes-map))
 
+(defun article-treat-non-ascii ()
+  "Translate many Unicode characters into their ASCII equivalents."
+  (interactive)
+  (require 'org-entities)
+  (let ((table (make-char-table nil)))
+    (dolist (elem org-entities)
+      (when (and (listp elem)
+		 (= (length (nth 6 elem)) 1))
+	(set-char-table-range table
+			      (aref (nth 6 elem) 0)
+			      (nth 4 elem))))
+    (save-excursion
+      (when (article-goto-body)
+	(let ((inhibit-read-only t)
+	      replace)
+	  (while (not (eobp))
+	    (if (not (setq replace (aref table (following-char))))
+		(forward-char 1)
+	      (delete-char 1)
+	      (insert replace))))))))
+
 (defun article-translate-characters (from to)
   "Translate all characters in the body of the article according to FROM and TO.
 FROM is a string of characters to translate from; to is a string of
@@ -4248,6 +4269,7 @@
      article-date-lapsed
      article-emphasize
      article-treat-dumbquotes
+     article-treat-non-ascii
      article-normalize-headers
      ;;(article-show-all . gnus-article-show-all-headers)
      )))
--- a/lisp/gnus/gnus-sum.el	Tue Nov 09 15:07:10 2010 -0500
+++ b/lisp/gnus/gnus-sum.el	Tue Nov 09 22:17:36 2010 +0000
@@ -2096,6 +2096,7 @@
   "a" gnus-article-strip-headers-in-body ;; mnemonic: wash archive
   "p" gnus-article-verify-x-pgp-sig
   "d" gnus-article-treat-dumbquotes
+  "U" gnus-article-treat-non-ascii
   "i" gnus-summary-idna-message)
 
 (gnus-define-keys (gnus-summary-wash-deuglify-map "Y" gnus-summary-wash-map)
@@ -2420,6 +2421,7 @@
 		gnus-article-remove-leading-whitespace t])
 	      ["Overstrike" gnus-article-treat-overstrike t]
 	      ["Dumb quotes" gnus-article-treat-dumbquotes t]
+	      ["Non-ASCII" gnus-article-treat-non-ascii t]
 	      ["Emphasis" gnus-article-emphasize t]
 	      ["Word wrap" gnus-article-fill-cited-article t]
 	      ["Fill long lines" gnus-article-fill-long-lines t]
--- a/lisp/gnus/message.el	Tue Nov 09 15:07:10 2010 -0500
+++ b/lisp/gnus/message.el	Tue Nov 09 22:17:36 2010 +0000
@@ -322,7 +322,7 @@
   :group 'message-various)
 
 (defcustom message-subject-trailing-was-ask-regexp
-  "[ \t]*\\([[(]+[Ww][Aa][Ss]:?[ \t]*.*[\])]+\\)"
+  "[ \t]*\\([[(]+[Ww][Aa][Ss]:?[ \t]*.*[])]+\\)"
   "*Regexp matching \"(was: <old subject>)\" in the subject line.
 
 The function `message-strip-subject-trailing-was' uses this regexp if
@@ -331,20 +331,20 @@
 `message-subject-trailing-was-regexp' instead.
 
 It is okay to create some false positives here, as the user is asked."
-  :version "24.1"
+  :version "22.1"
   :group 'message-various
   :link '(custom-manual "(message)Message Headers")
   :type 'regexp)
 
 (defcustom message-subject-trailing-was-regexp
-  "[ \t]*\\((*[Ww][Aa][Ss]:?[ \t]*.*)\\)"
+  "[ \t]*\\((*[Ww][Aa][Ss]:[ \t]*.*)\\)"
   "*Regexp matching \"(was: <old subject>)\" in the subject line.
 
 If `message-subject-trailing-was-query' is set to t, the subject is
 matched against `message-subject-trailing-was-regexp' in
 `message-strip-subject-trailing-was'.  You should use a regexp creating very
 few false positives here."
-  :version "24.1"
+  :version "22.1"
   :group 'message-various
   :link '(custom-manual "(message)Message Headers")
   :type 'regexp)
--- a/lisp/gnus/shr.el	Tue Nov 09 15:07:10 2010 -0500
+++ b/lisp/gnus/shr.el	Tue Nov 09 22:17:36 2010 +0000
@@ -344,7 +344,7 @@
      ((not url)
       (message "No link under point"))
      ((string-match "^mailto:" url)
-      (gnus-url-mailto url))
+      (browse-url-mailto url))
      (t
       (browse-url url)))))
 
@@ -418,6 +418,7 @@
 ;; url-cache-extract autoloads url-cache.
 (declare-function url-cache-create-filename "url-cache" (url))
 (autoload 'mm-disable-multibyte "mm-util")
+(autoload 'browse-url-mailto "browse-url")
 
 (defun shr-get-image-data (url)
   "Get image data for URL.