changeset 110027:9604de1a8d28

Misc Gnus fixes by Lars Magne Ingebrigtsen <larsi@gnus.org>. 2010-08-29 Lars Magne Ingebrigtsen <larsi@gnus.org> * gnus-start.el (gnus-dribble-read-file): Ensure that the directory where the dribbel file lives exists. * message.el (message-send-mail-partially-limit): Change the default to nil, since most people don't want this. * mm-url.el (mm-url-decode-entities): Also decode entities like &#x3212.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Mon, 30 Aug 2010 06:25:05 +0000
parents 478f066057b8
children 2547676f6961
files lisp/gnus/ChangeLog lisp/gnus/gnus-start.el lisp/gnus/message.el lisp/gnus/mm-url.el
diffstat 4 files changed, 28 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Mon Aug 30 06:21:33 2010 +0000
+++ b/lisp/gnus/ChangeLog	Mon Aug 30 06:25:05 2010 +0000
@@ -1,3 +1,14 @@
+2010-08-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+	* gnus-start.el (gnus-dribble-read-file): Ensure that the directory
+	where the dribbel file lives exists.
+
+	* message.el (message-send-mail-partially-limit): Change the default to
+	nil, since most people don't want this.
+
+	* mm-url.el (mm-url-decode-entities): Also decode entities like
+	&#x3212.
+
 2009-07-16  Kevin Ryde  <user42@zip.com.au>  (tiny change)
 
 	* gnus-sum.el (gnus-summary-idna-message):
--- a/lisp/gnus/gnus-start.el	Mon Aug 30 06:21:33 2010 +0000
+++ b/lisp/gnus/gnus-start.el	Mon Aug 30 06:25:05 2010 +0000
@@ -869,6 +869,8 @@
 (defun gnus-dribble-read-file ()
   "Read the dribble file from disk."
   (let ((dribble-file (gnus-dribble-file-name)))
+    (unless (file-exists-p (file-name-directory dribble-file))
+      (make-directory (file-name-directory dribble-file) t))
     (save-excursion
       (set-buffer (setq gnus-dribble-buffer
 			(gnus-get-buffer-create
--- a/lisp/gnus/message.el	Mon Aug 30 06:21:33 2010 +0000
+++ b/lisp/gnus/message.el	Mon Aug 30 06:25:05 2010 +0000
@@ -1620,7 +1620,7 @@
 and Emacs, you may use `iso-2022-7bit' for this value at your own risk.
 Note that the coding-system `iso-2022-7bit' isn't suitable to all data.")
 
-(defcustom message-send-mail-partially-limit 1000000
+(defcustom message-send-mail-partially-limit nil
   "The limitation of messages sent as message/partial.
 The lower bound of message size in characters, beyond which the message
 should be sent in several parts.  If it is nil, the size is unlimited."
--- a/lisp/gnus/mm-url.el	Mon Aug 30 06:21:33 2010 +0000
+++ b/lisp/gnus/mm-url.el	Mon Aug 30 06:25:05 2010 +0000
@@ -365,15 +365,20 @@
 (defun mm-url-decode-entities ()
   "Decode all HTML entities."
   (goto-char (point-min))
-  (while (re-search-forward "&\\(#[0-9]+\\|[a-z]+[0-9]*\\);" nil t)
-    (let ((elem (if (eq (aref (match-string 1) 0) ?\#)
-			(let ((c (mm-ucs-to-char
-				  (string-to-number
-				   (substring (match-string 1) 1)))))
-			  (if (mm-char-or-char-int-p c) c ?#))
-		      (or (cdr (assq (intern (match-string 1))
-				     mm-url-html-entities))
-			  ?#))))
+  (while (re-search-forward "&\\(#[0-9]+\\|#x[0-9a-f]+\\|[a-z]+[0-9]*\\);" nil t)
+    (let* ((entity (match-string 1))
+	   (elem (if (eq (aref entity 0) ?\#)
+		     (let ((c (mm-ucs-to-char
+			       ;; Hex number: &#x3212
+			       (if (eq (aref entity 1) ?x)
+				   (string-to-number (substring entity 2)
+						     16)
+				 ;; Decimal number: &#23
+				 (string-to-number (substring entity 1))))))
+		       (if (mm-char-or-char-int-p c) c ?#))
+		   (or (cdr (assq (intern entity)
+				  mm-url-html-entities))
+		       ?#))))
       (unless (stringp elem)
 	(setq elem (char-to-string elem)))
       (replace-match elem t t))))