diff options
author | Pieter van Oostrum <pieter-l@vanoostrum.org> | 2020-01-16 20:21:37 +0100 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2020-01-18 11:54:03 +0200 |
commit | 4217bc229b8d1614b3b5c44fd1dadb775ed1ef4a (patch) | |
tree | 8d805c05e610cd3d6d7921dde98be59777ab3653 | |
parent | 74b151195d8c548092bcc00ad1bf267570d9b9ac (diff) | |
download | emacs-4217bc229b8d1614b3b5c44fd1dadb775ed1ef4a.tar.gz emacs-4217bc229b8d1614b3b5c44fd1dadb775ed1ef4a.tar.bz2 emacs-4217bc229b8d1614b3b5c44fd1dadb775ed1ef4a.zip |
Fix infloop in shell.el
* 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
-rw-r--r-- | lisp/shell.el | 2 | ||||
-rw-r--r-- | test/lisp/shell-tests.el | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/lisp/shell.el b/lisp/shell.el index 98e830ee497..ecebf937e29 100644 --- a/lisp/shell.el +++ b/lisp/shell.el @@ -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 diff --git a/test/lisp/shell-tests.el b/test/lisp/shell-tests.el index 6d262f8e7c9..7113cb941c1 100644 --- a/test/lisp/shell-tests.el +++ b/test/lisp/shell-tests.el @@ -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 |