diff scripts/miscellaneous/mkdir.m @ 30211:54520422f056

simplify mkdir and allow it to create parent directory (bug #61166) * mkdir.m: Always perform tilde expansion on parent. If both parent and dirname are supplied, use fullfile to concatentate with dirname. Recursively create all directories. * system.tst: New test.
author John W. Eaton <jwe@octave.org>
date Fri, 24 Sep 2021 10:46:49 -0400
parents 7854d5752dd2
children 6ed1f02621e2
line wrap: on
line diff
--- a/scripts/miscellaneous/mkdir.m	Mon Sep 27 12:59:34 2021 +0200
+++ b/scripts/miscellaneous/mkdir.m	Fri Sep 24 10:46:49 2021 -0400
@@ -54,20 +54,18 @@
     print_usage ();
   endif
 
+  parent = tilde_expand (parent);
+
   if (nargin == 1)
     dirname = parent;
-
-    if (is_absolute_filename (tilde_expand (dirname)))
-      parent = "";
-    else
-      parent = [pwd(), filesep];
-    endif
   else
-    parent = [parent, filesep];
+    dirname = fullfile (parent, dirname);
   endif
 
+  dirname = make_absolute_filename (dirname);
+
   ## Move leading directory names from dirname to parent
-  [parent, dirname, ext] = fileparts ([parent, dirname]);
+  [parent, dirname, ext] = fileparts (dirname);
 
   [sts, msg, msgid] = mkdir_recur (parent, [dirname, ext]);