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

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

[elpa] externals/phps-mode fe80a3a 369/405: Passes test for moving line-


From: Stefan Monnier
Subject: [elpa] externals/phps-mode fe80a3a 369/405: Passes test for moving line-indents down
Date: Sat, 13 Jul 2019 10:00:52 -0400 (EDT)

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

    Passes test for moving line-indents down
---
 phps-mode-functions.el      | 23 +++++++++++++----------
 phps-mode-test-functions.el |  8 +++++++-
 2 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/phps-mode-functions.el b/phps-mode-functions.el
index 4de504b..124eca2 100644
--- a/phps-mode-functions.el
+++ b/phps-mode-functions.el
@@ -73,16 +73,19 @@
   "Move OLD-LINES-INDENTS from START-LINE-NUMBER with DIFF points."
   (let ((lines-indents (make-hash-table :test 'equal))
         (line-number 1))
-    (let ((line-indent (gethash line-number old-lines-indents)))
-      (while line-indent
-        (if (< line-number start-line-number)
-            (puthash line-number line-indent lines-indents)
-          (setq new-line-number (1+ line-number))
-          (puthash new-line-number line-indent lines-indents)
-          (message "Added new indent %s from %s to %s" line-indent line-number 
new-line-number))
-        (setq line-number (1+ line-number))
-        (setq line-indent (gethash line-number old-lines-indents))))
-    lines-indents))
+    (when old-lines-indents
+      (let ((line-indent (gethash line-number old-lines-indents))
+            (new-line-number))
+        (while line-indent
+          (when (<= line-number start-line-number)
+            (puthash line-number line-indent 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)))
 
 (defun phps-mode-functions-move-lines-indent (start-line-number diff)
   "Move lines indent from START-LINE-NUMBER with DIFF points."
diff --git a/phps-mode-test-functions.el b/phps-mode-test-functions.el
index 7579027..ec9c7a6 100644
--- a/phps-mode-test-functions.el
+++ b/phps-mode-test-functions.el
@@ -44,10 +44,16 @@
 
   (phps-mode-test-with-buffer
    "<?php\n/**\n * Bla\n */"
-   "DOC-COMMENT"
+   "Move line-indents one line down"
    (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 0)) (4 (0 1)) (5 (0 1))) 
(phps-mode-test-hash-to-list (phps-mode-functions-get-moved-lines-indent 
(phps-mode-functions-get-lines-indent) 2 1)))))
 
+  (phps-mode-test-with-buffer
+   "<?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)))))
+
   )
 
 (defun phps-mode-test-functions-get-lines-indent ()



reply via email to

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