[latex3-commits] [git/LaTeX3-latex3-latex3] master: \sys_shell_mv:nn rather than \sys_shell_ren:nnn (583ad7a)

Joseph Wright joseph.wright at morningstar2.co.uk
Fri Jul 27 13:10:44 CEST 2018


Repository : https://github.com/latex3/latex3
On branch  : master
Link       : https://github.com/latex3/latex3/commit/583ad7a8a7a164ab214179d9baaa715f1b746090

>---------------------------------------------------------------

commit 583ad7a8a7a164ab214179d9baaa715f1b746090
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date:   Fri Jul 27 11:55:52 2018 +0100

    \sys_shell_mv:nn rather than \sys_shell_ren:nnn


>---------------------------------------------------------------

583ad7a8a7a164ab214179d9baaa715f1b746090
 l3kernel/l3candidates.dtx               |   52 +++++++++++++------------------
 l3kernel/testfiles/m3expl001.luatex.tlg |    3 +-
 l3kernel/testfiles/m3expl001.ptex.tlg   |    3 +-
 l3kernel/testfiles/m3expl001.tlg        |    3 +-
 l3kernel/testfiles/m3expl001.uptex.tlg  |    3 +-
 l3kernel/testfiles/m3expl001.xetex.tlg  |    3 +-
 l3kernel/testfiles/m3expl003.luatex.tlg |    3 +-
 l3kernel/testfiles/m3expl003.ptex.tlg   |    3 +-
 l3kernel/testfiles/m3expl003.tlg        |    3 +-
 l3kernel/testfiles/m3expl003.uptex.tlg  |    3 +-
 l3kernel/testfiles/m3expl003.xetex.tlg  |    3 +-
 11 files changed, 32 insertions(+), 50 deletions(-)

diff --git a/l3kernel/l3candidates.dtx b/l3kernel/l3candidates.dtx
index 882b4c2..b4d8082 100644
--- a/l3kernel/l3candidates.dtx
+++ b/l3kernel/l3candidates.dtx
@@ -985,13 +985,13 @@
 %   attempted.
 % \end{function}
 %
-% \begin{function}[added = 2018-07-27]{\sys_shell_ren:nnn}
+% \begin{function}[added = 2018-07-28]{\sys_shell_mv:nn}
 %   \begin{syntax}
-%     \cs{sys_shell_ren:nnn} \Ag{path} \Arg{old} \Arg{new}
+%     \cs{sys_shell_mv:nn} \Arg{old} \Arg{new}
 %   \end{syntax}
-%   Renames the files in the meta{\path} from the \meta{old} to \meta{new}
-%   name (which may include wildcards). The \meta{path} should be specified using
-%   |/| as a path separator.  If unrestricted shell escape is not enabled, no
+%   Moves the files from the \meta{old} to \meta{new} names/locations: the
+%   \meta{old} names may include wildcards. In both arguments, |/| should be
+%   used as the path separator.  If unrestricted shell escape is not enabled, no
 %   action is attempted.
 % \end{function}
 %
@@ -3141,41 +3141,33 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\sys_shell_ren:nnn}
-% \begin{macro}{\@@_shell_ren:nnn}
-%   The differences in syntax between Unix and Windows mean that it's not easy
-%   to provide |mv|: instead we go with |ren|-like syntax but with arguments
-%   set up to work with Unix too.
+% \begin{macro}{\sys_shell_mv:nn}
+%   On Windows we do not have a single |mv| operation, so copy-and-delete
+%   instead.
 %    \begin{macrocode}
-\cs_new_protected:Npx \sys_shell_ren:nnn #1#2#3
+\cs_new_protected:Npx \sys_shell_mv:nn #1#2
   {
     \sys_if_shell_unrestricted:T
       {
-        \exp_not:N \tl_if_blank:nTF {#1}
-          { \exp_not:N \@@_shell_ren:nnn { . } }
-          { \exp_not:N \@@_shell_ren:nnn {#1} }
-            {#2} {#3}
-      }
-  }
-\cs_new_protected:Npx \@@_shell_ren:nnn #1#2#3
-  {
-    \sys_shell_now:x
-      {
-         \sys_if_platform_unix:T
-          { 
-            mv~-f~ \exp_not:N \tl_to_str:n { #1 / #2 } ~
-              \exp_not:N \tl_to_str:n { #1 / #3 }
-          }
-        \sys_if_platform_windows:T
+        \sys_shell_now:x
           {
-            ren~ \exp_not:N \@@_path_to_win:n { #1 / #2 } ~
-              \exp_not:N \tl_to_str:n {#3}
+            \sys_if_platform_unix:T
+              {
+                mv~ \exp_not:N \tl_to_str:n {#1} ~
+                  \exp_not:N \tl_to_str:n {#2}
+              }
+            \sys_if_platform_windows:T
+              {
+                copy~/y~ \exp_not:N \@@_path_to_win:n {#1} ~
+                  \exp_not:N \@@_path_to_win:n {#2}
+                  \token_to_str:N & \token_to_str:N &
+                  del~/f~/q~\exp_not:N \@@_path_to_win:n {#1}
+              }
           }
       }
   }
 %    \end{macrocode}
 % \end{macro}
-% \end{macro}
 %
 % \begin{macro}{\sys_shell_rm:n}
 %   Deletion: obviously a big health warning here!
diff --git a/l3kernel/testfiles/m3expl001.luatex.tlg b/l3kernel/testfiles/m3expl001.luatex.tlg
index e04838d..de50427 100644
--- a/l3kernel/testfiles/m3expl001.luatex.tlg
+++ b/l3kernel/testfiles/m3expl001.luatex.tlg
@@ -5869,8 +5869,7 @@ Defining \__sys_path_to_win:w on line ...
 Defining \__sys_path_to_win:N on line ...
 Defining \sys_shell_cp:nn on line ...
 Defining \sys_shell_mkdir:n on line ...
-Defining \sys_shell_ren:nnn on line ...
-Defining \__sys_shell_ren:nnn on line ...
+Defining \sys_shell_mv:nn on line ...
 Defining \sys_shell_rm:n on line ...
 Defining \sys_shell_rmdir:n on line ...
 Defining \l__sys_tmp_tl on line ...
diff --git a/l3kernel/testfiles/m3expl001.ptex.tlg b/l3kernel/testfiles/m3expl001.ptex.tlg
index 1416466..8af90c1 100644
--- a/l3kernel/testfiles/m3expl001.ptex.tlg
+++ b/l3kernel/testfiles/m3expl001.ptex.tlg
@@ -5903,8 +5903,7 @@ Defining \__sys_path_to_win:w on line ...
 Defining \__sys_path_to_win:N on line ...
 Defining \sys_shell_cp:nn on line ...
 Defining \sys_shell_mkdir:n on line ...
-Defining \sys_shell_ren:nnn on line ...
-Defining \__sys_shell_ren:nnn on line ...
+Defining \sys_shell_mv:nn on line ...
 Defining \sys_shell_rm:n on line ...
 Defining \sys_shell_rmdir:n on line ...
 Defining \l__sys_tmp_tl on line ...
diff --git a/l3kernel/testfiles/m3expl001.tlg b/l3kernel/testfiles/m3expl001.tlg
index 84160b1..c8dedf3 100644
--- a/l3kernel/testfiles/m3expl001.tlg
+++ b/l3kernel/testfiles/m3expl001.tlg
@@ -5903,8 +5903,7 @@ Defining \__sys_path_to_win:w on line ...
 Defining \__sys_path_to_win:N on line ...
 Defining \sys_shell_cp:nn on line ...
 Defining \sys_shell_mkdir:n on line ...
-Defining \sys_shell_ren:nnn on line ...
-Defining \__sys_shell_ren:nnn on line ...
+Defining \sys_shell_mv:nn on line ...
 Defining \sys_shell_rm:n on line ...
 Defining \sys_shell_rmdir:n on line ...
 Defining \l__sys_tmp_tl on line ...
diff --git a/l3kernel/testfiles/m3expl001.uptex.tlg b/l3kernel/testfiles/m3expl001.uptex.tlg
index abcb47c..4a08ddb 100644
--- a/l3kernel/testfiles/m3expl001.uptex.tlg
+++ b/l3kernel/testfiles/m3expl001.uptex.tlg
@@ -5900,8 +5900,7 @@ Defining \__sys_path_to_win:w on line ...
 Defining \__sys_path_to_win:N on line ...
 Defining \sys_shell_cp:nn on line ...
 Defining \sys_shell_mkdir:n on line ...
-Defining \sys_shell_ren:nnn on line ...
-Defining \__sys_shell_ren:nnn on line ...
+Defining \sys_shell_mv:nn on line ...
 Defining \sys_shell_rm:n on line ...
 Defining \sys_shell_rmdir:n on line ...
 Defining \l__sys_tmp_tl on line ...
diff --git a/l3kernel/testfiles/m3expl001.xetex.tlg b/l3kernel/testfiles/m3expl001.xetex.tlg
index e8eb362..2e8f77b 100644
--- a/l3kernel/testfiles/m3expl001.xetex.tlg
+++ b/l3kernel/testfiles/m3expl001.xetex.tlg
@@ -5873,8 +5873,7 @@ Defining \__sys_path_to_win:w on line ...
 Defining \__sys_path_to_win:N on line ...
 Defining \sys_shell_cp:nn on line ...
 Defining \sys_shell_mkdir:n on line ...
-Defining \sys_shell_ren:nnn on line ...
-Defining \__sys_shell_ren:nnn on line ...
+Defining \sys_shell_mv:nn on line ...
 Defining \sys_shell_rm:n on line ...
 Defining \sys_shell_rmdir:n on line ...
 Defining \l__sys_tmp_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.luatex.tlg b/l3kernel/testfiles/m3expl003.luatex.tlg
index e04838d..de50427 100644
--- a/l3kernel/testfiles/m3expl003.luatex.tlg
+++ b/l3kernel/testfiles/m3expl003.luatex.tlg
@@ -5869,8 +5869,7 @@ Defining \__sys_path_to_win:w on line ...
 Defining \__sys_path_to_win:N on line ...
 Defining \sys_shell_cp:nn on line ...
 Defining \sys_shell_mkdir:n on line ...
-Defining \sys_shell_ren:nnn on line ...
-Defining \__sys_shell_ren:nnn on line ...
+Defining \sys_shell_mv:nn on line ...
 Defining \sys_shell_rm:n on line ...
 Defining \sys_shell_rmdir:n on line ...
 Defining \l__sys_tmp_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.ptex.tlg b/l3kernel/testfiles/m3expl003.ptex.tlg
index 1416466..8af90c1 100644
--- a/l3kernel/testfiles/m3expl003.ptex.tlg
+++ b/l3kernel/testfiles/m3expl003.ptex.tlg
@@ -5903,8 +5903,7 @@ Defining \__sys_path_to_win:w on line ...
 Defining \__sys_path_to_win:N on line ...
 Defining \sys_shell_cp:nn on line ...
 Defining \sys_shell_mkdir:n on line ...
-Defining \sys_shell_ren:nnn on line ...
-Defining \__sys_shell_ren:nnn on line ...
+Defining \sys_shell_mv:nn on line ...
 Defining \sys_shell_rm:n on line ...
 Defining \sys_shell_rmdir:n on line ...
 Defining \l__sys_tmp_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.tlg b/l3kernel/testfiles/m3expl003.tlg
index 84160b1..c8dedf3 100644
--- a/l3kernel/testfiles/m3expl003.tlg
+++ b/l3kernel/testfiles/m3expl003.tlg
@@ -5903,8 +5903,7 @@ Defining \__sys_path_to_win:w on line ...
 Defining \__sys_path_to_win:N on line ...
 Defining \sys_shell_cp:nn on line ...
 Defining \sys_shell_mkdir:n on line ...
-Defining \sys_shell_ren:nnn on line ...
-Defining \__sys_shell_ren:nnn on line ...
+Defining \sys_shell_mv:nn on line ...
 Defining \sys_shell_rm:n on line ...
 Defining \sys_shell_rmdir:n on line ...
 Defining \l__sys_tmp_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.uptex.tlg b/l3kernel/testfiles/m3expl003.uptex.tlg
index abcb47c..4a08ddb 100644
--- a/l3kernel/testfiles/m3expl003.uptex.tlg
+++ b/l3kernel/testfiles/m3expl003.uptex.tlg
@@ -5900,8 +5900,7 @@ Defining \__sys_path_to_win:w on line ...
 Defining \__sys_path_to_win:N on line ...
 Defining \sys_shell_cp:nn on line ...
 Defining \sys_shell_mkdir:n on line ...
-Defining \sys_shell_ren:nnn on line ...
-Defining \__sys_shell_ren:nnn on line ...
+Defining \sys_shell_mv:nn on line ...
 Defining \sys_shell_rm:n on line ...
 Defining \sys_shell_rmdir:n on line ...
 Defining \l__sys_tmp_tl on line ...
diff --git a/l3kernel/testfiles/m3expl003.xetex.tlg b/l3kernel/testfiles/m3expl003.xetex.tlg
index e8eb362..2e8f77b 100644
--- a/l3kernel/testfiles/m3expl003.xetex.tlg
+++ b/l3kernel/testfiles/m3expl003.xetex.tlg
@@ -5873,8 +5873,7 @@ Defining \__sys_path_to_win:w on line ...
 Defining \__sys_path_to_win:N on line ...
 Defining \sys_shell_cp:nn on line ...
 Defining \sys_shell_mkdir:n on line ...
-Defining \sys_shell_ren:nnn on line ...
-Defining \__sys_shell_ren:nnn on line ...
+Defining \sys_shell_mv:nn on line ...
 Defining \sys_shell_rm:n on line ...
 Defining \sys_shell_rmdir:n on line ...
 Defining \l__sys_tmp_tl on line ...





More information about the latex3-commits mailing list