[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] scratch/add-vdiff 9346e46 106/258: Simplify method for setting vs
From: |
Justin Burkett |
Subject: |
[elpa] scratch/add-vdiff 9346e46 106/258: Simplify method for setting vscroll |
Date: |
Wed, 17 May 2017 08:13:31 -0400 (EDT) |
branch: scratch/add-vdiff
commit 9346e46bed8732e709e3e867c6dd1baf868ee7b7
Author: justbur <address@hidden>
Commit: justbur <address@hidden>
Simplify method for setting vscroll
---
vdiff.el | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/vdiff.el b/vdiff.el
index 5b1d18e..ff1b5b3 100644
--- a/vdiff.el
+++ b/vdiff.el
@@ -178,7 +178,7 @@ because those are handled differently.")
(defvar vdiff--b-a-line-map nil)
(defvar vdiff--folds nil)
(defvar vdiff--all-folds-open nil)
-(defvar vdiff--vscroll-state nil)
+(defvar vdiff--setting-vscroll nil)
;; * Utilities
@@ -974,6 +974,15 @@ buffer)."
(vdiff--move-to-line line)
(line-beginning-position))))
+(defun vdiff--set-vscroll (window vscroll)
+ (run-at-time
+ 0.02 nil
+ (lambda ()
+ (unless vdiff--setting-vscroll
+ (let ((vdiff--setting-vscroll t))
+ (set-window-vscroll window vscroll)
+ (force-window-update window))))))
+
(defun vdiff--scroll-function (&optional window window-start)
"Sync scrolling of all vdiff windows."
(let* ((window (or window (selected-window)))
@@ -1006,11 +1015,7 @@ buffer)."
other-rel-line)
(unless (= other-curr-start other-start-pos)
(set-window-start other-window other-start-pos))
- (setq vdiff--vscroll-state nil)
- (when scroll-amt
- (set-window-vscroll other-window scroll-amt)
- (setq vdiff--vscroll-state scroll-amt)
- (force-window-update other-window))))))
+ (vdiff--set-vscroll (vdiff--other-window) scroll-amt)))))
(defun vdiff--post-command-hook ()
"Sync scroll for `vdiff--force-sync-commands'."
@@ -1020,14 +1025,9 @@ buffer)."
(not vdiff--in-post-command-hook)
(vdiff--buffer-p))
(let ((vdiff--in-post-command-hook t))
- (when (sit-for 0.05)
- (when vdiff--vscroll-state
- (run-at-time
- 0.02 nil (lambda ()
- (unless vdiff--in-post-command-hook
- (set-window-vscroll
- (vdiff--other-window) vdiff--vscroll-state)
- (force-window-update (vdiff--other-window))))))))))
+ (when (and (sit-for 0.05)
+ (eq vdiff-subtraction-style 'full))
+ (vdiff--scroll-function)))))
(defvar vdiff--bottom-left-angle-bits
(let ((vec (make-vector 13 (+ (expt 2 7) (expt 2 6)))))
- [elpa] scratch/add-vdiff 8daa391 133/258: Add case and whitespace toggles, (continued)
- [elpa] scratch/add-vdiff 8daa391 133/258: Add case and whitespace toggles, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 95a1230 154/258: Fix vscroll bug, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff e556705 151/258: Simplify scroll function, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff f36b6b2 162/258: Fix line-translation error, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 13f553f 163/258: Fix fold logic for diff3, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 88e7f1c 178/258: Remove min-window-width, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 679617c 199/258: Force update of window-start on manual scroll-function, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff dcf811e 188/258: Add new on-quit options, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff c82f2b5 090/258: Add docs on refinements, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 3fcf4b9 101/258: Fix sign problem in adding hunk overlays, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 9346e46 106/258: Simplify method for setting vscroll,
Justin Burkett <=
- [elpa] scratch/add-vdiff c46b76b 111/258: Set window point on scroll, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff fd8c973 109/258: Remove post-command-hook, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 25a7516 128/258: Only run scroll-function once per command, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 25ec344 134/258: Require diff-mode so that diff-mode faces are available, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 371febc 135/258: Add option to automatically refine hunks, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 9b3ffb0 150/258: Don't distiguish exit code 0 from 1, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff d33845c 167/258: Minor change in cleanup, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff edfae89 176/258: Cleanup vdiff-buffers, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff 85a4d4e 087/258: Fix point jumping after sending changes, Justin Burkett, 2017/05/17
- [elpa] scratch/add-vdiff f041c58 102/258: Sync lines after sending changes, Justin Burkett, 2017/05/17