emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 35d5802 1/5: Remove trailing blank lines in shr


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master 35d5802 1/5: Remove trailing blank lines in shr
Date: Sun, 20 Mar 2016 12:43:50 +0000

branch: master
commit 35d58020b6e173b137429786d174ffdb8894a812
Author: Lars Magne Ingebrigtsen <address@hidden>
Commit: Lars Magne Ingebrigtsen <address@hidden>

    Remove trailing blank lines in shr
    
    * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
    (shr-insert-document): Use it to remove trailing blank lines
    at the end of documents, since these never seem to be very useful.
---
 lisp/net/shr.el |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 3877719..6bb6898 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -274,10 +274,24 @@ DOM should be a parse tree as generated by
     (set-window-hscroll nil 0)
     (shr-descend dom)
     (shr-fill-lines start (point))
+    (shr--remove-blank-lines-at-the-end start (point))
     (shr-remove-trailing-whitespace start (point))
     (when shr-warning
       (message "%s" shr-warning))))
 
+(defun shr--remove-blank-lines-at-the-end (start end)
+  (save-restriction
+    (save-excursion
+      (current-buffer)
+      (narrow-to-region start end)
+      (goto-char end)
+      (when (and (re-search-backward "[^ \n]" nil t)
+                 (not (eobp)))
+        (forward-char 1)
+        (delete-region (point) (point-max))
+        (unless (bolp)
+          (insert "\n"))))))
+
 (defun shr-remove-trailing-whitespace (start end)
   (let ((width (window-width)))
     (save-restriction



reply via email to

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