emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] master 90f4b24 52/57: Ensure char-before doesn't cause an error


From: Justin Burkett
Subject: [elpa] master 90f4b24 52/57: Ensure char-before doesn't cause an error
Date: Tue, 3 Nov 2020 14:32:26 -0500 (EST)

branch: master
commit 90f4b242e1a402dddafccff09e8d161b12416f13
Author: Justin Burkett <justin@burkett.cc>
Commit: Justin Burkett <justin@burkett.cc>

    Ensure char-before doesn't cause an error
    
    It won't return a number when at the beginning of a buffer.
---
 vdiff.el | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/vdiff.el b/vdiff.el
index 32b2092..29c02a4 100644
--- a/vdiff.el
+++ b/vdiff.el
@@ -536,14 +536,16 @@ POST-REFRESH-FUNCTION is called when the process 
finishes."
       (with-current-buffer (car buffers)
         (write-region nil nil tmp-a nil 'quietly)
         ;; ensure tmp file ends in newline
-        (unless (= (char-before (point-max)) ?\n)
+        (when (or (= (point-min) (point-max))
+                  (/= (char-before (point-max)) ?\n))
           (message "vdiff: Warning %s does not end in a newline."
                    (if buffer-file-name buffer-file-name (buffer-name)))
           (write-region "\n" nil tmp-a t 'quietly)))
       (with-current-buffer (cadr buffers)
         (write-region nil nil tmp-b nil 'quietly)
         ;; ensure tmp file ends in newline
-        (unless (= (char-before (point-max)) ?\n)
+        (when (or (= (point-min) (point-max))
+                  (/= (char-before (point-max)) ?\n))
           (message "vdiff: Warning %s does not end in a newline."
                    (if buffer-file-name buffer-file-name (buffer-name)))
           (write-region "\n" nil tmp-b t 'quietly)))
@@ -551,7 +553,8 @@ POST-REFRESH-FUNCTION is called when the process finishes."
         (with-current-buffer (nth 2 buffers)
           (write-region nil nil tmp-c nil 'quietly)
           ;; ensure tmp file ends in newline
-          (unless (= (char-before (point-max)) ?\n)
+          (when (or (= (point-min) (point-max))
+                    (/= (char-before (point-max)) ?\n))
             (message "vdiff: Warning %s does not end in a newline."
                      (if buffer-file-name buffer-file-name (buffer-name)))
             (write-region "\n" nil tmp-c t 'quietly))))
@@ -1390,7 +1393,8 @@ immediately preceding line."
   (let ((end (when (number-or-marker-p end)
                (save-excursion
                  (goto-char end)
-                 (unless (= (char-before) ?\n)
+                 (when (and (char-before)
+                            (/= (char-before) ?\n))
                    (forward-line))
                  (point)))))
     (if (and end (< end max)) end max)))



reply via email to

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