summaryrefslogtreecommitdiff
path: root/test/src/fileio-tests.el
diff options
context:
space:
mode:
authorKen Brown <kbrown@cornell.edu>2019-07-15 09:32:49 -0400
committerKen Brown <kbrown@cornell.edu>2019-07-21 10:40:54 -0400
commit8b13ec1d7022b05ce71982c83f320d5272b92de7 (patch)
tree19e21f261d255ca52d9de7fe7e181579cde0c056 /test/src/fileio-tests.el
parent0c48c0d0b241c1f3d089be033a7dea3a9b947ca5 (diff)
downloademacs-8b13ec1d7022b05ce71982c83f320d5272b92de7.tar.gz
Fix expand-file-name for names starting with '~'
* src/fileio.c: (file_name_absolute_no_tilde_p): New static function. (Fexpand_file_name): If the current buffer's default-directory starts with "~user" where "user" is not a valid user name, don't give the '~' a special meaning. Just treat the value of default-directory as a relative name. (Bug#36502) * test/src/fileio-tests.el (fileio-tests--relative-default-directory): Add a test.
Diffstat (limited to 'test/src/fileio-tests.el')
-rw-r--r--test/src/fileio-tests.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/test/src/fileio-tests.el b/test/src/fileio-tests.el
index 0e0230a145d..813ee5f798f 100644
--- a/test/src/fileio-tests.el
+++ b/test/src/fileio-tests.el
@@ -131,4 +131,8 @@ Also check that an encoding error can appear in a symlink."
(ert-deftest fileio-tests--relative-default-directory ()
"Test expand-file-name when default-directory is relative."
(let ((default-directory "some/relative/name"))
- (should (file-name-absolute-p (expand-file-name "foo")))))
+ (should (file-name-absolute-p (expand-file-name "foo"))))
+ (let* ((default-directory "~foo")
+ (name (expand-file-name "bar")))
+ (should (and (file-name-absolute-p name)
+ (not (eq (aref name 0) ?~))))))