branch: scratch/add-vdiff
commit 87ade86ae0c4748a59d037040904be00c9ad3bae
Author: justbur <[email protected]>
Commit: justbur <[email protected]>

    Always move to start of fold on close
---
 vdiff.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/vdiff.el b/vdiff.el
index 97ae844..910532e 100644
--- a/vdiff.el
+++ b/vdiff.el
@@ -1414,6 +1414,8 @@ buffer)."
 
 (defun vdiff--set-closed-fold-props (ovr)
   "Set overlay properties to close fold OVR."
+  (when (vdiff--point-in-fold-p ovr)
+    (goto-char (overlay-start ovr)))
   (overlay-put ovr 'vdiff-fold-open nil)
   (overlay-put ovr 'before-string nil)
   (overlay-put ovr 'line-prefix nil)
@@ -1442,7 +1444,6 @@ folds in the region."
   (dolist (ovr (overlays-in beg end))
     (when (eq (overlay-get ovr 'vdiff-type) 'fold)
       (setf (vdiff-session-all-folds-open vdiff--session) nil)
-      (goto-char (overlay-start ovr))
       (vdiff--set-closed-fold-props ovr)
       (dolist (other-fold (overlay-get ovr 'vdiff-other-folds))
         (vdiff--set-closed-fold-props other-fold)))))

Reply via email to