diff scripts/miscellaneous/mkdir.m @ 24659:13d7fdaad391

mkdir: restore tilde expansion of directory argument (bug #53031) * mkdir.m: Restore tilde expansion of argument when called with a single directory argument.
author Mike Miller <mtmiller@octave.org>
date Wed, 31 Jan 2018 12:41:36 -0800
parents 194eb4bd202b
children 996c30831e1a
line wrap: on
line diff
--- a/scripts/miscellaneous/mkdir.m	Wed Jan 31 01:14:18 2018 -0500
+++ b/scripts/miscellaneous/mkdir.m	Wed Jan 31 12:41:36 2018 -0800
@@ -48,7 +48,7 @@
   if (nargin == 1)
     dirname = parent;
 
-    if (is_absolute_filename (dirname))
+    if (is_absolute_filename (tilde_expand (dirname)))
       parent = "";
     else
       parent = [pwd(), filesep];
@@ -94,6 +94,25 @@
 %!   rmdir (dir1, "s");
 %! end_unwind_protect
 
+%!test <*53031>
+%! HOME = getenv ("HOME");
+%! tmp_dir = tempname ();
+%! unwind_protect
+%!   mkdir (tmp_dir);
+%!   setenv ("HOME", tmp_dir);
+%!   status = mkdir ("~/subdir");
+%!   assert (status);
+%!   assert (isdir (fullfile (tmp_dir, "subdir")));
+%! unwind_protect_cleanup
+%!   rmdir (fullfile (tmp_dir, "subdir"));
+%!   rmdir (tmp_dir);
+%!   if (isempty (HOME))
+%!     unsetenv ("HOME");
+%!   else
+%!     setenv ("HOME", HOME);
+%!   endif
+%! end_unwind_protect
+
 ## Test input validation
 %!error mkdir ()
 %!error mkdir ("a", "b", "c")