branch: externals/phpinspect commit d51137e58e6761d329a007505d7372e583f1cab2 Author: Hugo Thunnissen <de...@hugot.nl> Commit: Hugo Thunnissen <de...@hugot.nl>
Remove faulty edit tracker code based on wrong deduction --- phpinspect-edtrack.el | 29 ++--------------------------- test/test-edtrack.el | 8 -------- 2 files changed, 2 insertions(+), 35 deletions(-) diff --git a/phpinspect-edtrack.el b/phpinspect-edtrack.el index 3cf40f6aae..bd065932ca 100644 --- a/phpinspect-edtrack.el +++ b/phpinspect-edtrack.el @@ -130,29 +130,7 @@ (let ((delta ;; The delta of this edit. (- (- end start) pre-change-length)) new-edit) - (if (and (= (phpinspect-edtrack-last-edit-start track) start) - ;; Confirm that this is indeed a growing edit and not an edit - ;; starting at the same place by chance - (or (and (> delta 0) (> (cdr (phpinspect-edtrack-last-edit track)) 0) - (> delta (cdr (phpinspect-edtrack-last-edit track)))) - (and (< delta 0) (< (cdr (phpinspect-edtrack-last-edit track)) 0) - (< delta (cdr (phpinspect-edtrack-last-edit track)))))) - ;; `after-change-functions' can be called in succession with the same - ;; start point for a continuously growing edited region. For example, - ;; when typing without interruptions, subsequent calls can be: - ;; [start: 1243, end: 1244, pre-change-length: 0] - ;; [start: 1243, end: 1245, pre-change-length: 0] - ;; [start: 1243, end: 1246, pre-change-length: 0] - ;; [start: 1243, end: 1247, pre-change-length: 0] - ;; - ;; The code below accounts for this scenario by altering the last - ;; registered edit when subsequent calls have the same start point. - (progn - (setq new-edit (phpinspect-edtrack-last-edit track)) - (phpinspect--log "Edtrack: updating growing edit: [%s]" new-edit) - (setcdr new-edit delta)) - ;; Else - (setq new-edit (cons + (setq new-edit (cons ;; The end location of the edited region, before being ;; edited, with the delta edits that happened at preceding ;; points in the buffer subtratted. This corresponds with @@ -167,10 +145,7 @@ (setcar edit-before new-edit)) (if (phpinspect-edtrack-edits track) (push new-edit (cdr (last (phpinspect-edtrack-edits track)))) - (push new-edit (phpinspect-edtrack-edits track))))) - - (setf (phpinspect-edtrack-last-edit track) new-edit) - (setf (phpinspect-edtrack-last-edit-start track) start)))) + (push new-edit (phpinspect-edtrack-edits track))))))) (defsubst phpinspect-taint-start (taint) (car taint)) diff --git a/test/test-edtrack.el b/test/test-edtrack.el index 3b150dd2a3..22db225886 100644 --- a/test/test-edtrack.el +++ b/test/test-edtrack.el @@ -113,14 +113,6 @@ (phpinspect-edtrack-register-edit track 15 0 1) (should (equal (list (cons 10 16)) (phpinspect-edtrack-taint-pool track))))) -(ert-deftest phpinspect-edtrack-register-growing-edit () - (let ((track (phpinspect-make-edtrack))) - (phpinspect-edtrack-register-edit track 10 11 0) - (phpinspect-edtrack-register-edit track 10 12 0) - (phpinspect-edtrack-register-edit track 10 13 0) - - (should (equal (list (cons 10 3)) (phpinspect-edtrack-edits track))))) - (ert-deftest phpinspect-edtrack-register-multi-edits-same-start () (let ((track (phpinspect-make-edtrack))) (phpinspect-edtrack-register-edit track 10 11 0)