diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2019-07-24 14:28:13 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2019-07-24 14:33:02 -0700 |
commit | a5063aa8b174db286a0e83b8ffdd4e65c521f733 (patch) | |
tree | dc439d78ecef638817f98cb7e43868fa2ab7b856 /test/src/fileio-tests.el | |
parent | e089c3141a51bf70b91da21a01cdb4be0b63c08d (diff) | |
download | emacs-a5063aa8b174db286a0e83b8ffdd4e65c521f733.tar.gz emacs-a5063aa8b174db286a0e83b8ffdd4e65c521f733.tar.bz2 emacs-a5063aa8b174db286a0e83b8ffdd4e65c521f733.zip |
Do not treat ~nosuchuser as an absolute file name
Derived from Ken Brown’s patch (Bug#36502#97).
* doc/lispref/files.texi (Relative File Names):
* etc/NEWS: Document this.
* src/fileio.c (user_homedir): New function.
(Fexpand_file_name, file_name_absolute_p): Use it.
(search_embedded_absfilename): Simplify via file_name_absolute_p.
* test/src/fileio-tests.el (fileio-tests--no-such-user): New test.
Diffstat (limited to 'test/src/fileio-tests.el')
-rw-r--r-- | test/src/fileio-tests.el | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/src/fileio-tests.el b/test/src/fileio-tests.el index 813ee5f798f..09a5b147e1d 100644 --- a/test/src/fileio-tests.el +++ b/test/src/fileio-tests.el @@ -136,3 +136,14 @@ Also check that an encoding error can appear in a symlink." (name (expand-file-name "bar"))) (should (and (file-name-absolute-p name) (not (eq (aref name 0) ?~)))))) + +(ert-deftest fileio-tests--no-such-user () + "Test file-name-absolute-p on ~nosuchuser." + (unless (user-full-name "nosuchuser") + (should (not (file-name-absolute-p "~nosuchuser"))) + (should (not (file-name-absolute-p "~nosuchuser/"))) + (should (not (file-name-absolute-p "~nosuchuser//"))) + (should (not (file-name-absolute-p "~nosuchuser/foo"))) + (should (not (file-name-absolute-p "~nosuchuser/foo/"))) + (should (not (file-name-absolute-p "~nosuchuser/foo//"))) + (should (not (file-name-absolute-p "~nosuchuser/foo/bar"))))) |