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

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

[elpa] externals/phps-mode 09a2123 372/405: Passes all tests for moving


From: Stefan Monnier
Subject: [elpa] externals/phps-mode 09a2123 372/405: Passes all tests for moving line-indent index
Date: Sat, 13 Jul 2019 10:00:53 -0400 (EDT)

branch: externals/phps-mode
commit 09a21235d510fb01400ed87051beaba369eef5d7
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>

    Passes all tests for moving line-indent index
---
 phps-mode-functions.el      | 12 +++++++++++-
 phps-mode-test-functions.el |  8 +++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/phps-mode-functions.el b/phps-mode-functions.el
index 30606ef..7df727c 100644
--- a/phps-mode-functions.el
+++ b/phps-mode-functions.el
@@ -77,12 +77,22 @@
       (let ((line-indent (gethash line-number old-lines-indents))
             (new-line-number))
         (while line-indent
-          (when (<= line-number start-line-number)
+
+          (when (< line-number start-line-number)
+            ;; (message "Added new indent 3 %s from %s to %s" line-indent 
line-number line-number)
             (puthash line-number line-indent lines-indents))
+
+          (when (and (> diff 0)
+                     (>= line-number start-line-number)
+                     (< line-number (+ start-line-number diff)))
+            ;; (message "Added new indent 2 %s from %s to %s" line-indent 
line-number line-number)
+            (puthash line-number (gethash start-line-number old-lines-indents) 
lines-indents))
+
           (when (>= line-number start-line-number)
             (setq new-line-number (+ line-number diff))
             ;; (message "Added new indent %s from %s to %s" line-indent 
line-number new-line-number)
             (puthash new-line-number line-indent lines-indents))
+
           (setq line-number (1+ line-number))
           (setq line-indent (gethash line-number old-lines-indents))))
       lines-indents)))
diff --git a/phps-mode-test-functions.el b/phps-mode-test-functions.el
index 5395c19..ed3915b 100644
--- a/phps-mode-test-functions.el
+++ b/phps-mode-test-functions.el
@@ -64,7 +64,13 @@
    "<?php\n/**\n * Bla\n */"
    "Move line-indents one line up"
    (should (equal '((1 (0 0)) (2 (0 0)) (3 (0 1)) (4 (0 1))) 
(phps-mode-test-hash-to-list (phps-mode-functions-get-lines-indent))))
-   (should (equal '((1 (0 0)) (2 (0 0)) (3 (0 1))) 
(phps-mode-test-hash-to-list (phps-mode-functions-get-moved-lines-indent 
(phps-mode-functions-get-lines-indent) 3 -1)))))
+   (should (equal '((1 (0 0)) (2 (0 1)) (3 (0 1))) 
(phps-mode-test-hash-to-list (phps-mode-functions-get-moved-lines-indent 
(phps-mode-functions-get-lines-indent) 3 -1)))))
+
+  (phps-mode-test-with-buffer
+   "<?php\n/**\n * Bla\n */"
+   "Move line-indents two lines up"
+   (should (equal '((1 (0 0)) (2 (0 0)) (3 (0 1)) (4 (0 1))) 
(phps-mode-test-hash-to-list (phps-mode-functions-get-lines-indent))))
+   (should (equal '((1 (0 1)) (2 (0 1))) (phps-mode-test-hash-to-list 
(phps-mode-functions-get-moved-lines-indent 
(phps-mode-functions-get-lines-indent) 3 -2)))))
 
   )
 



reply via email to

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