]> git.eshelyaron.com Git - emacs.git/commit
Treat escaped newlines in Eshell as the empty string
authorJim Porter <jporterbugs@gmail.com>
Sat, 26 Nov 2022 19:52:18 +0000 (11:52 -0800)
committerJim Porter <jporterbugs@gmail.com>
Thu, 8 Dec 2022 05:39:07 +0000 (21:39 -0800)
commita37df90276a1a8a5c185cf9e523a2cc1176b2fc4
tree3d842c00b31559da64f9142f1a78f72f8244e6e3
parentc774e83e36784ab96539c5c083b3bcb6d0158a8c
Treat escaped newlines in Eshell as the empty string

This fixes a regression introduced during Emacs 29's development.

* lisp/eshell/esh-arg.el (eshell-parse-argument): Handle
'eshell-empty-token' as the result of an argument-parsing hook.
(eshell-parse-argument-hook): Document 'eshell-empty-token'.
(eshell-parse-backslash): Return 'eshell-empty-token' when
encountering an escaped newline.

* test/lisp/eshell/eshell-tests.el (eshell-test/escape-nonspecial)
(eshell-test/escape-nonspecial-unicode)
(eshell-test/escape-nonspecial-quoted)
(eshell-test/escape-special-quoted): Move from here...

* test/lisp/eshell/esh-arg-tests.el (esh-arg-test/escape/nonspecial)
(esh-arg-test/escape/nonspecial-unicode)
(esh-arg-test/escape-quoted/nonspecial)
(esh-arg-test/escape-quoted/special): ... to here.
(esh-arg-test/escape/special, esh-arg-test/escape/newline)
(esh-arg-test/escape-quoted/newline): New tests.

* doc/misc/eshell.texi (Arguments): Explain escaping logic in more
detail (bug#59622).
doc/misc/eshell.texi
lisp/eshell/esh-arg.el
test/lisp/eshell/esh-arg-tests.el [new file with mode: 0644]
test/lisp/eshell/eshell-tests.el