emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp/gnus mm-view.el gnus-art.el ChangeLog


From: Katsumi Yamaoka
Subject: [Emacs-diffs] emacs/lisp/gnus mm-view.el gnus-art.el ChangeLog
Date: Thu, 04 Dec 2008 10:53:20 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Katsumi Yamaoka <yamaoka>       08/12/04 10:53:20

Modified files:
        lisp/gnus      : mm-view.el gnus-art.el ChangeLog 

Log message:
        * mm-view.el (mm-inline-text-html-render-with-w3m): Make it simple and 
fast.
        * gnus-art.el (gnus-article-wash-html-with-w3m): Ditto.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/gnus/mm-view.el?cvsroot=emacs&r1=1.40&r2=1.41
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/gnus/gnus-art.el?cvsroot=emacs&r1=1.171&r2=1.172
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/gnus/ChangeLog?cvsroot=emacs&r1=1.773&r2=1.774

Patches:
Index: mm-view.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/gnus/mm-view.el,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -b -r1.40 -r1.41
--- mm-view.el  4 Dec 2008 01:58:01 -0000       1.40
+++ mm-view.el  4 Dec 2008 10:53:18 -0000       1.41
@@ -258,40 +258,35 @@
        (let ((w3m-safe-url-regexp mm-w3m-safe-url-regexp)
              w3m-force-redisplay)
          (w3m-region (point-min) (point-max) nil charset))
+       ;; Put the mark meaning this part was rendered by emacs-w3m.
+       (put-text-property (point-min) (point-max)
+                          'mm-inline-text-html-with-w3m t)
        (when (and mm-inline-text-html-with-w3m-keymap
                   (boundp 'w3m-minor-mode-map)
                   w3m-minor-mode-map)
          (if (and (boundp 'w3m-link-map)
                   w3m-link-map)
-             (let ((begin (point-min))
+             (let* ((start (point-min))
+                    (end (point-max))
+                    (on (get-text-property start 'w3m-href-anchor))
                    (map (copy-keymap w3m-link-map))
-                   end)
+                    next)
                (set-keymap-parent map w3m-minor-mode-map)
-               (while (setq end (next-single-property-change
-                                 begin 'w3m-href-anchor))
-                 (add-text-properties
-                  begin end
-                  (list 'keymap (if (get-text-property begin 'w3m-href-anchor)
-                                    map
-                                  w3m-minor-mode-map)
-                        ;; Put the mark meaning this part was rendered
-                        ;; by emacs-w3m.
-                        'mm-inline-text-html-with-w3m t))
-                 (setq begin end))
-               (add-text-properties
-                begin (point-max)
-                (list 'keymap (if (get-text-property begin 'w3m-href-anchor)
-                                  map
-                                w3m-minor-mode-map)
-                      ;; Put the mark meaning this part was rendered
-                      ;; by emacs-w3m.
-                      'mm-inline-text-html-with-w3m t)))
-           (add-text-properties
-            (point-min) (point-max)
-            (list 'keymap w3m-minor-mode-map
-                  ;; Put the mark meaning this part was rendered
-                  ;; by emacs-w3m.
-                  'mm-inline-text-html-with-w3m t))))
+               (while (< start end)
+                 (if on
+                     (progn
+                       (setq next (or (text-property-any start end
+                                                         'w3m-href-anchor nil)
+                                      end))
+                       (put-text-property start next 'keymap map))
+                   (setq next (or (text-property-not-all start end
+                                                         'w3m-href-anchor nil)
+                                  end))
+                   (put-text-property start next 'keymap w3m-minor-mode-map))
+                 (setq start next
+                       on (not on))))
+           (put-text-property (point-min) (point-max)
+                              'keymap w3m-minor-mode-map)))
        (mm-handle-set-undisplayer
         handle
         `(lambda ()

Index: gnus-art.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/gnus/gnus-art.el,v
retrieving revision 1.171
retrieving revision 1.172
diff -u -b -r1.171 -r1.172
--- gnus-art.el 4 Dec 2008 01:58:01 -0000       1.171
+++ gnus-art.el 4 Dec 2008 10:53:19 -0000       1.172
@@ -2728,37 +2728,33 @@
   (let ((w3m-safe-url-regexp mm-w3m-safe-url-regexp)
        w3m-force-redisplay)
     (w3m-region (point-min) (point-max)))
+  ;; Put the mark meaning this part was rendered by emacs-w3m.
+  (put-text-property (point-min) (point-max) 'mm-inline-text-html-with-w3m t)
   (when (and mm-inline-text-html-with-w3m-keymap
             (boundp 'w3m-minor-mode-map)
             w3m-minor-mode-map)
     (if (and (boundp 'w3m-link-map)
             w3m-link-map)
-       (let ((begin (point-min))
+       (let* ((start (point-min))
+              (end (point-max))
+              (on (get-text-property start 'w3m-href-anchor))
              (map (copy-keymap w3m-link-map))
-             end)
+              next)
          (set-keymap-parent map w3m-minor-mode-map)
-         (while (setq end (next-single-property-change begin
-                                                       'w3m-href-anchor))
-           (add-text-properties
-            begin end
-            (list 'keymap (if (get-text-property begin 'w3m-href-anchor)
-                              map
-                            w3m-minor-mode-map)
-                  ;; Put the mark meaning this part was rendered by emacs-w3m.
-                  'mm-inline-text-html-with-w3m t))
-           (setq begin end))
-         (add-text-properties
-          begin (point-max)
-          (list 'keymap (if (get-text-property begin 'w3m-href-anchor)
-                            map
-                          w3m-minor-mode-map)
-                ;; Put the mark meaning this part was rendered by emacs-w3m.
-                'mm-inline-text-html-with-w3m t)))
-      (add-text-properties
-       (point-min) (point-max)
-       (list 'keymap w3m-minor-mode-map
-            ;; Put the mark meaning this part was rendered by emacs-w3m.
-            'mm-inline-text-html-with-w3m t)))))
+         (while (< start end)
+           (if on
+               (progn
+                 (setq next (or (text-property-any start end
+                                                   'w3m-href-anchor nil)
+                                end))
+                 (put-text-property start next 'keymap map))
+             (setq next (or (text-property-not-all start end
+                                                   'w3m-href-anchor nil)
+                            end))
+             (put-text-property start next 'keymap w3m-minor-mode-map))
+           (setq start next
+                 on (not on))))
+      (put-text-property (point-min) (point-max) 'keymap w3m-minor-mode-map))))
 
 (defvar charset) ;; Bound by `article-wash-html'.
 

Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/gnus/ChangeLog,v
retrieving revision 1.773
retrieving revision 1.774
diff -u -b -r1.773 -r1.774
--- ChangeLog   4 Dec 2008 01:58:01 -0000       1.773
+++ ChangeLog   4 Dec 2008 10:53:19 -0000       1.774
@@ -1,3 +1,10 @@
+2008-12-04  Katsumi Yamaoka  <address@hidden>
+
+       * mm-view.el (mm-inline-text-html-render-with-w3m): Make it simple and
+       fast.
+
+       * gnus-art.el (gnus-article-wash-html-with-w3m): Ditto.
+
 2008-12-04  Naohiro Aota  <address@hidden>
 
        * mm-view.el (mm-inline-text-html-render-with-w3m): Put special keymap




reply via email to

[Prev in Thread] Current Thread [Next in Thread]