emacs-diffs
[Top][All Lists]
Advanced

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

feature/android 7f0342a1bd1: Merge remote-tracking branch 'origin/master


From: Po Lu
Subject: feature/android 7f0342a1bd1: Merge remote-tracking branch 'origin/master' into feature/android
Date: Thu, 15 Jun 2023 20:41:13 -0400 (EDT)

branch: feature/android
commit 7f0342a1bd1db835bcdbbb66c8baa97e833e45fc
Merge: 363e293cc91 f2aae8b879b
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Merge remote-tracking branch 'origin/master' into feature/android
---
 lisp/eshell/em-prompt.el            |  3 ++-
 lisp/progmodes/cperl-mode.el        |  4 +++-
 lisp/treesit.el                     |  4 +++-
 test/lisp/eshell/em-prompt-tests.el | 31 +++++++++++++++++++++++++++----
 4 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/lisp/eshell/em-prompt.el b/lisp/eshell/em-prompt.el
index 9f9e58e83d7..42f8f273b52 100644
--- a/lisp/eshell/em-prompt.el
+++ b/lisp/eshell/em-prompt.el
@@ -180,7 +180,8 @@ negative, find the Nth next match."
                   (text-property-search-forward 'field 'prompt t))
         (setq n (1- n)))
     (let (match this-match)
-      (forward-line 0)           ; Don't count prompt on current line.
+      ;; Don't count the current prompt.
+      (text-property-search-backward 'field 'prompt t)
       (while (and (< n 0)
                   (setq this-match (text-property-search-backward
                                     'field 'prompt t)))
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index d6efd5d75a4..52c5d183dec 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -3394,7 +3394,9 @@ position of the end of the unsafe construct."
         (goto-char (nth 8 state))      ; beginning of this here-doc
         (cperl-backward-to-noncomment  ; skip back over more
          (point-min))                  ;     here-documents (if any)
-        (beginning-of-line))))         ; skip back over here-doc starters
+        (beginning-of-line))           ; skip back over here-doc starters
+       ((nth 4 state)                  ; in a comment (or POD)
+        (goto-char (nth 8 state)))))   ; ...so go to its beginning
     (while (and pos (progn
                      (beginning-of-line)
                      (get-text-property (setq pos (point)) 'syntax-type)))
diff --git a/lisp/treesit.el b/lisp/treesit.el
index ea701ce1ff7..d79e7732387 100644
--- a/lisp/treesit.el
+++ b/lisp/treesit.el
@@ -3070,7 +3070,9 @@ nil, the grammar is installed to the standard location, 
the
                    nil
                    'treesit--install-language-grammar-out-dir-history
                    default-out-dir)
-                out-dir)))
+                ;; When called non-interactively, OUT-DIR should
+                ;; default to DEFAULT-OUT-DIR.
+                (or out-dir default-out-dir))))
     (condition-case err
         (progn
           (apply #'treesit--install-language-grammar-1
diff --git a/test/lisp/eshell/em-prompt-tests.el 
b/test/lisp/eshell/em-prompt-tests.el
index 257549e40fb..93bf9d84ab3 100644
--- a/test/lisp/eshell/em-prompt-tests.el
+++ b/test/lisp/eshell/em-prompt-tests.el
@@ -80,8 +80,13 @@ This tests the case when `eshell-highlight-prompt' is nil."
                 (apply #'propertize "hello\n"
                        eshell-command-output-properties)))))))
 
-(ert-deftest em-prompt-test/next-previous-prompt ()
-  "Check that navigating forward/backward through old prompts works correctly."
+(defmacro em-prompt-test--with-multiline (&rest body)
+  "Execute BODY with a multiline Eshell prompt."
+  `(let ((eshell-prompt-function (lambda () "multiline prompt\n$ ")))
+     ,@body))
+
+(defun em-prompt-test/next-previous-prompt-with ()
+  "Helper for checking forward/backward navigation of old prompts."
   (with-temp-eshell
    (eshell-insert-command "echo one")
    (eshell-insert-command "echo two")
@@ -98,8 +103,17 @@ This tests the case when `eshell-highlight-prompt' is nil."
    (eshell-next-prompt 3)
    (should (equal (eshell-get-old-input) "echo fou"))))
 
-(ert-deftest em-prompt-test/forward-backward-matching-input ()
-  "Check that navigating forward/backward via regexps works correctly."
+(ert-deftest em-prompt-test/next-previous-prompt ()
+  "Check that navigating forward/backward through old prompts works correctly."
+  (em-prompt-test/next-previous-prompt-with))
+
+(ert-deftest em-prompt-test/next-previous-prompt-multiline ()
+  "Check old prompt forward/backward navigation for multiline prompts."
+  (em-prompt-test--with-multiline
+   (em-prompt-test/next-previous-prompt-with)))
+
+(defun em-prompt-test/forward-backward-matching-input-with ()
+  "Helper for checking forward/backward navigation via regexps."
   (with-temp-eshell
    (eshell-insert-command "echo one")
    (eshell-insert-command "printnl something else")
@@ -117,4 +131,13 @@ This tests the case when `eshell-highlight-prompt' is nil."
    (eshell-forward-matching-input "echo" 3)
    (should (equal (eshell-get-old-input) "echo fou"))))
 
+(ert-deftest em-prompt-test/forward-backward-matching-input ()
+  "Check that navigating forward/backward via regexps works correctly."
+  (em-prompt-test/forward-backward-matching-input-with))
+
+(ert-deftest em-prompt-test/forward-backward-matching-input-multiline ()
+  "Check forward/backward regexp navigation for multiline prompts."
+  (em-prompt-test--with-multiline
+   (em-prompt-test/forward-backward-matching-input-with)))
+
 ;;; em-prompt-tests.el ends here



reply via email to

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