]> git.eshelyaron.com Git - sweep.git/commitdiff
; Fix off-by-one in end of next token position for parentheses
authorEshel Yaron <me@eshelyaron.com>
Tue, 26 Sep 2023 21:30:42 +0000 (23:30 +0200)
committerEshel Yaron <me@eshelyaron.com>
Tue, 26 Sep 2023 21:41:34 +0000 (23:41 +0200)
* sweeprolog.el (sweeprolog-next-token-boundaries): Return correct end
of token position for parentheses.

* sweeprolog-tests.el (up-list): New test.

sweeprolog-tests.el
sweeprolog.el

index 09f711fb864bdee123adff7b6208e00779a9afab..06f9ec24f30614e22118f9cc5f22bb76b55e9685 100644 (file)
@@ -1770,4 +1770,17 @@ f:o(Bar) --> baz(Bar)."
   (forward-line)
   (should (string= (add-log-current-defun) "f:o//1")))
 
+(sweeprolog-deftest up-list ()
+  "Test `up-list' support."
+  "
+foo((A,B)) =>
+    (   bar(-!-A)
+    ;   baz(B)
+    ).
+"
+  (call-interactively #'up-list)
+  (should (= (point) 30))
+  (call-interactively #'up-list)
+  (should (= (point) 51)))
+
 ;;; sweeprolog-tests.el ends here
index cfc524a5171f480864f1280255d2bea965de68b1..a17253f538bd412cf8d25ffdc7eb816436f2dc3d 100644 (file)
@@ -4277,11 +4277,11 @@ work."
                 (forward-char -1))
               (list 'operator beg (if (= beg (point)) end (point)))))
            ((= syn ?\()
-            (list 'open beg (point)))
+            (list 'open beg (1+ beg)))
            ((= syn ?\))
-            (list 'close beg (point)))
+            (list 'close beg (1+ beg)))
            ((= syn ?>) nil)
-           (t (list 'else beg (point)))))))))
+           (t (list 'else beg (1+ beg)))))))))
 
 (defun sweeprolog-last-token-boundaries (&optional pos)
   (let ((point (or pos (point)))