branch: externals/diff-hl
commit eb8933f00b3aa83f6c395505fdf7b1ecf69814c7
Author: Dmitry Gutov <dmi...@gutov.dev>
Commit: Dmitry Gutov <dmi...@gutov.dev>

    Fix the "hide-staged but nil reference" behavior and update the tests
---
 Makefile             |  2 +-
 diff-hl.el           |  3 ++-
 test/diff-hl-test.el | 16 ++++++++++------
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile
index c35b4bd5f7..82ab81e15e 100644
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,7 @@ RM ?= rm -f
 all: compile test
 
 test:
-       $(EMACS) -batch -L . -l test/diff-hl-test.el -f 
ert-run-tests-batch-and-exit
+       $(EMACS) -batch -L . -l test/diff-hl-test.el -l 
test/diff-hl-adjust-test.el -f ert-run-tests-batch-and-exit
 
 compile:
        $(EMACS) -batch -L . -f batch-byte-compile $(SOURCES)
diff --git a/diff-hl.el b/diff-hl.el
index 8119600fd3..1b75b55a64 100644
--- a/diff-hl.el
+++ b/diff-hl.el
@@ -431,7 +431,8 @@ It can be a relative expression as well, such as \"HEAD^\" 
with Git, or
            diff-hl-reference-revision
            (diff-hl-modified-p state))
           (let* ((ref-changes
-                  (and diff-hl-reference-revision
+                  (and (or diff-hl-reference-revision
+                           hide-staged)
                        (diff-hl-changes-from-buffer
                         (diff-hl-changes-buffer file backend (if hide-staged
                                                                  'git-index
diff --git a/test/diff-hl-test.el b/test/diff-hl-test.el
index f6caf93100..4d0256fb7e 100644
--- a/test/diff-hl-test.el
+++ b/test/diff-hl-test.el
@@ -164,12 +164,16 @@
     (let ((diff-hl-show-staged-changes t))
       (should
        (equal (diff-hl-changes)
-              '((1 1 insert)
-                (12 1 insert)))))
+              '((:reference . nil)
+                (:working
+                 .
+                 ((1 1 0 insert)
+                  (12 1 0 insert)))))))
     (let ((diff-hl-show-staged-changes nil))
       (should
        (equal (diff-hl-changes)
-              '((12 1 insert)))))))
+              '((:reference . ((1 1 0 insert)))
+                (:working . ((12 1 0 insert)))))))))
 
 (diff-hl-deftest diff-hl-flydiff-can-ignore-staged-changes ()
   (diff-hl-test-in-source
@@ -183,13 +187,13 @@
       (should
        (equal (diff-hl-changes-from-buffer
                (diff-hl-diff-buffer-with-reference buffer-file-name))
-              '((1 1 insert)
-                (12 1 insert)))))
+              '((1 1 0 insert)
+                (12 1 0 insert)))))
     (let ((diff-hl-show-staged-changes nil))
       (should
        (equal (diff-hl-changes-from-buffer
                (diff-hl-diff-buffer-with-reference buffer-file-name))
-              '((12 1 insert)))))))
+              '((12 1 0 insert)))))))
 
 (diff-hl-deftest diff-hl-can-split-away-no-trailing-newline ()
   (diff-hl-test-in-source

Reply via email to