[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