]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge changes made in No Gnus
authorLars Ingebrigtsen <larsi@gnus.org>
Tue, 7 Feb 2012 00:42:21 +0000 (00:42 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Tue, 7 Feb 2012 00:42:21 +0000 (00:42 +0000)
shr-color.el (shr-color-set-minimum-interval): Renamed to add prefix (bug#10732).
shr.el (shr-insert-document): Add doc string.
 (shr-visit-file): Ditto.
 (shr-remove-trailing-whitespace): New function.
 (shr-insert-document): Use it to clean up trailing whitespace as the final step (bug#10714).
gnus-sum.el (gnus-summary-exit-no-update): Really deaden the summary buffer if `gnus-kill-summary-on-exit' is nil.

lisp/gnus/ChangeLog
lisp/gnus/gnus-sum.el
lisp/gnus/shr-color.el
lisp/gnus/shr.el

index cb9888ac092851ef6780ae4f92e444ab64e2991b..7c6388f6f2511b669eebc7a156e75271610ed1e6 100644 (file)
@@ -1,3 +1,19 @@
+2012-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * shr-color.el (shr-color-set-minimum-interval): Renamed to add prefix
+       (bug#10732).
+
+       * shr.el (shr-insert-document): Add doc string.
+       (shr-visit-file): Ditto.
+       (shr-remove-trailing-whitespace): New function.
+       (shr-insert-document): Use it to clean up trailing whitespace as the
+       final step (bug#10714).
+
+2012-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus-sum.el (gnus-summary-exit-no-update): Really deaden the summary
+       buffer if `gnus-kill-summary-on-exit' is nil.
+
 2012-02-06  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-sum.el (gnus-summary-show-thread):
index c17f16ef2123163799e0803c07f5142add3e2e47..c10dbe1ad8b5f2ef296fac5b590276dd51fdac87 100644 (file)
@@ -7328,9 +7328,11 @@ If FORCE (the prefix), also save the .newsrc file(s)."
        (gnus-kill-buffer gnus-original-article-buffer)
        (setq gnus-article-current nil))
       ;; Return to the group buffer.
-      (gnus-configure-windows 'group 'force)
       (if (not gnus-kill-summary-on-exit)
-         (gnus-deaden-summary)
+         (progn
+           (gnus-deaden-summary)
+           (gnus-configure-windows 'group 'force))
+       (gnus-configure-windows 'group 'force)
        (gnus-close-group group)
        (gnus-kill-buffer gnus-summary-buffer))
       (unless gnus-single-article-buffer
index e23ab57965e60b676a61f2a0fefd3d0670bb2a3b..7011034d2421c1ab02b23ca19681c602d06d87ac 100644 (file)
@@ -267,7 +267,8 @@ Like rgb() or hsl()."
      (t
       nil))))
 
-(defun set-minimum-interval (val1 val2 min max interval &optional fixed)
+(defun shr-color-set-minimum-interval (val1 val2 min max interval
+                                           &optional fixed)
   "Set minimum interval between VAL1 and VAL2 to INTERVAL.
 The values are bound by MIN and MAX.
 If FIXED is t, then VAL1 will not be touched."
@@ -341,9 +342,9 @@ color will be adapted to be visible on BG."
                 (>= luminance-distance shr-color-visible-luminance-min))
            (list bg fg)
          ;; Not visible, try to change luminance to make them visible
-         (let ((Ls (set-minimum-interval (car bg-lab) (car fg-lab) 0 100
-                                         shr-color-visible-luminance-min
-                                         fixed-background)))
+         (let ((Ls (shr-color-set-minimum-interval
+                    (car bg-lab) (car fg-lab) 0 100
+                    shr-color-visible-luminance-min fixed-background)))
            (unless fixed-background
              (setcar bg-lab (car Ls)))
            (setcar fg-lab (cadr Ls))
index acce7660263dbe273bcf0942d113eb138047c0d9..deaef1d3f252f2f5f8e70bfa8329c930b7603462 100644 (file)
@@ -128,6 +128,7 @@ cid: URL as the argument.")
 ;; Public functions and commands.
 
 (defun shr-visit-file (file)
+  "Parse FILE as an HTML document, and render it in a new buffer."
   (interactive "fHTML file name: ")
   (pop-to-buffer "*html*")
   (erase-buffer)
@@ -139,12 +140,29 @@ cid: URL as the argument.")
 
 ;;;###autoload
 (defun shr-insert-document (dom)
+  "Render the parsed document DOM into the current buffer.
+DOM should be a parse tree as generated by
+`libxml-parse-html-region' or similar."
   (setq shr-content-cache nil)
-  (let ((shr-state nil)
+  (let ((start (point))
+       (shr-state nil)
        (shr-start nil)
        (shr-base nil)
        (shr-width (or shr-width (window-width))))
-    (shr-descend (shr-transform-dom dom))))
+    (shr-descend (shr-transform-dom dom))
+    (shr-remove-trailing-whitespace start (point))))
+
+(defun shr-remove-trailing-whitespace (start end)
+  (save-restriction
+    (narrow-to-region start end)
+    (delete-trailing-whitespace)
+    (goto-char start)
+    (while (not (eobp))
+      (end-of-line)
+      (dolist (overlay (overlays-at (point)))
+       (when (overlay-get overlay 'before-string)
+         (overlay-put overlay 'before-string nil)))
+      (forward-line 1))))
 
 (defun shr-copy-url ()
   "Copy the URL under point to the kill ring.