diff options
author | Michael Albinus <michael.albinus@gmx.de> | 2021-05-03 16:52:18 +0200 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2021-05-03 16:52:18 +0200 |
commit | 824d1a57ec8e7c90b01af6665de5a114529170df (patch) | |
tree | ea59e5089edbcac57058d5c068425286a9a8aabf /test/lisp/files-tests.el | |
parent | 46b7ce0e9c77da436a139a2a44fab3cb2bcc7649 (diff) | |
download | emacs-824d1a57ec8e7c90b01af6665de5a114529170df.tar.gz |
Fix unquoting of file names in subprocesses (Bug#48177)
* lisp/files.el (file-name-non-special):
Improve handling of inhibit-file-name-handlers.
* src/callproc.c (Fcall_process, call_process): Unquote infile,
error_file and output_file. (Bug#48177)
* test/lisp/files-tests.el (files-tests-file-name-non-special--subprocess)
(files-tests-file-name-non-special-file-name-all-completions)
(files-tests-file-name-non-special-file-name-completion): Adapt tests.
Diffstat (limited to 'test/lisp/files-tests.el')
-rw-r--r-- | test/lisp/files-tests.el | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/test/lisp/files-tests.el b/test/lisp/files-tests.el index 33716577a1a..921e2c80f3a 100644 --- a/test/lisp/files-tests.el +++ b/test/lisp/files-tests.el @@ -302,12 +302,15 @@ be $HOME." (file-name-unquote temporary-file-directory)))))) (ert-deftest files-tests-file-name-non-special--subprocess () - "Check that Bug#25949 is fixed." - (skip-unless (executable-find "true")) - (let ((default-directory (file-name-quote temporary-file-directory))) - (should (zerop (process-file "true"))) - (should (processp (start-file-process "foo" nil "true"))) - (should (zerop (shell-command "true"))))) + "Check that Bug#25949 and Bug#48177 are fixed." + (skip-unless (and (executable-find "true") (file-exists-p null-device))) + (let ((default-directory (file-name-quote temporary-file-directory)) + (true (file-name-quote (executable-find "true"))) + (null (file-name-quote null-device))) + (should (zerop (process-file true null `((:file ,null) ,null)))) + (should (processp (start-file-process "foo" nil true))) + (should (zerop (shell-command true))) + (should (processp (make-process :name "foo" :command `(,true)))))) (defmacro files-tests--with-advice (symbol where function &rest body) (declare (indent 3)) @@ -715,9 +718,8 @@ unquoted file names." (file (file-name-nondirectory tmpfile)) (nospecial-file (file-name-nondirectory nospecial))) (should-not (string-equal file nospecial-file)) - (should-not (equal (file-name-all-completions - nospecial-file nospecial-tempdir) - (file-name-all-completions file tmpdir))) + (should (equal (file-name-all-completions nospecial-file nospecial-tempdir) + (file-name-all-completions file tmpdir))) (should (equal (file-name-all-completions file nospecial-tempdir) (file-name-all-completions file tmpdir))) (should (equal (file-name-all-completions nospecial-file tmpdir) @@ -759,8 +761,8 @@ unquoted file names." (file (file-name-nondirectory tmpfile)) (nospecial-file (file-name-nondirectory nospecial))) (should-not (string-equal file nospecial-file)) - (should-not (equal (file-name-completion nospecial-file nospecial-tempdir) - (file-name-completion file tmpdir))) + (should (equal (file-name-completion nospecial-file nospecial-tempdir) + (file-name-completion file tmpdir))) (should (equal (file-name-completion file nospecial-tempdir) (file-name-completion file tmpdir))) (should (equal (file-name-completion nospecial-file tmpdir) |