[gnus git] branch master updated: m0-5-131-gd1a9bfb =1= qp.el (quoted-printable-decode-region): Inline+CSE+strength-reduction

Katsumi Yamaoka <[email protected]>
Newsgroups gmane.emacs.gnus.cvs
Message-ID <[email protected]>
       via  d1a9bfb4363aceb094957e8d94cfca73be3e2c13 (commit)
      from  2df323a009ddd334ef992f32b7a8441daa6b6256 (commit)


- Log -----------------------------------------------------------------
commit d1a9bfb4363aceb094957e8d94cfca73be3e2c13
Author: Stefan Monnier <[email protected]>
Date:   Mon Sep 10 05:00:20 2012 +0000

    qp.el (quoted-printable-decode-region): Inline+CSE+strength-reduction

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 1f9de72..90e1db7 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2012-09-10  Stefan Monnier  <[email protected]>
+
+	* qp.el (quoted-printable-decode-region): Inline+CSE+strength-reduction.
+
 2012-09-07  Chong Yidong  <[email protected]>
 
 	* gnus-util.el
diff --git a/lisp/qp.el b/lisp/qp.el
index bfa1fe0..c4487c6 100644
--- a/lisp/qp.el
+++ b/lisp/qp.el
@@ -53,14 +53,7 @@ them into characters should be done separately."
       ;; or both of which are lowercase letters in "abcdef", is
       ;; formally illegal. A robust implementation might choose to
       ;; recognize them as the corresponding uppercase letters.''
-      (let ((case-fold-search t)
-	    (decode-hex #'(lambda (n1 n2)
-			    (+ (* (if (<= n1 ?9) (- n1 ?0)
-				    (if (<= n1 ?F) (+ (- n1 ?A) 10)
-				      (+ (- n1 ?a) 10))) 16)
-			       (if (<= n2 ?9) (- n2 ?0)
-				 (if (<= n2 ?F) (+ (- n2 ?A) 10)
-				   (+ (- n2 ?a) 10)))))))
+      (let ((case-fold-search t))
 	(narrow-to-region from to)
 	;; Do this in case we're called from Gnus, say, in a buffer
 	;; which already contains non-ASCII characters which would
@@ -78,8 +71,15 @@ them into characters should be done separately."
 		 (let* ((n (/ (- (match-end 0) (point)) 3))
 			(str (make-string n 0)))
 		   (dotimes (i n)
-		     (aset str i (funcall decode-hex (char-after (1+ (point)))
-					  (char-after (+ 2 (point)))))
+                     (let ((n1 (char-after (1+ (point))))
+                           (n2 (char-after (+ 2 (point)))))
+                       (aset str i
+                             (+ (* 16 (- n1 (if (<= n1 ?9) ?0
+                                              (if (<= n1 ?F) (- ?A 10)
+                                                (- ?a 10)))))
+                                (- n2 (if (<= n2 ?9) ?0
+                                        (if (<= n2 ?F) (- ?A 10)
+                                          (- ?a 10)))))))
 		     (forward-char 3))
 		   (delete-region (match-beginning 0) (match-end 0))
 		   (insert str)))

-----------------------------------------------------------------------
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we listed those
revisions in full, above.

Summary of changes:
 lisp/ChangeLog |    4 ++++
 lisp/qp.el     |   20 ++++++++++----------
 2 files changed, 14 insertions(+), 10 deletions(-)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnus Project".

The branch, master has been updated


hooks/post-receive
-- 
Gnus Project
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.