]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix infloop in shell.el
authorPieter van Oostrum <pieter-l@vanoostrum.org>
Thu, 16 Jan 2020 19:21:37 +0000 (20:21 +0100)
committerEli Zaretskii <eliz@gnu.org>
Sat, 18 Jan 2020 09:54:03 +0000 (11:54 +0200)
* test/lisp/shell-tests.el (shell-tests-completion-before-semi):
Amend the shell.el tests to catch errors such as bug#39057.

* lisp/shell.el (shell--parse-pcomplete-arguments): Skip the
semi-colon as well.  This avoids inflooping when a semi-colon is
typed by the user.  (Bug#39057)

Copyright-paperwork-exempt: yes

lisp/shell.el
test/lisp/shell-tests.el

index 98e830ee4978411b1937322f7a8ce768634eed3a..ecebf937e29188cfad74b08111831f6e4bc8f534 100644 (file)
@@ -428,7 +428,7 @@ Thus, this does not include the shell's current directory.")
     (save-excursion
       (goto-char begin)
       (while (< (point) end)
-       (skip-chars-forward " \t\n")
+       (skip-chars-forward " \t\n;")
        (push (point) begins)
         (let ((arg ()))
           (while (looking-at
index 6d262f8e7c9176a2d7bbbe505a2a4a2e645d8538..7113cb941c1b3d88d12a6b46727b43ac8fee4c41 100644 (file)
@@ -34,8 +34,7 @@
   (with-temp-buffer
     (shell-mode)
     (insert "cd ba;")
-    (forward-char -1)
     (should (equal (shell--parse-pcomplete-arguments)
-                   '(("cd" "ba") 1 4)))))
+                   '(("cd" "ba" "") 1 4)))))
 
 ;;; shell-tests.el ends here