texlive[54774] Master/tlpkg/libexec/ctan2tds:

commits+karl at tug.org commits+karl at tug.org
Fri Apr 17 00:59:48 CEST 2020


Revision: 54774
          http://tug.org/svn/texlive?view=revision&revision=54774
Author:   karl
Date:     2020-04-17 00:59:48 +0200 (Fri, 17 Apr 2020)
Log Message:
-----------
(standardinsrunner_opt): separate the
-interaction=nonstopmode from the command name, so
we can keep the non-interaction by default.

Modified Paths:
--------------
    trunk/Master/tlpkg/libexec/ctan2tds

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2020-04-16 21:01:59 UTC (rev 54773)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2020-04-16 22:59:48 UTC (rev 54774)
@@ -2843,10 +2843,25 @@
  'velthuis'     => 'latex',  # requires interaction
  'xduthesis'	=> 'tex',
  'xecjk'        => 'xecjk-xelatex',
- 'xskak'        => 'latex',  # requires interaction
  'yathesis'	=> 'pdftex',
 );
-$standardinsrunner="latex -interaction=nonstopmode";
+$standardinsrunner = "latex";
+$standardinsrunner_opt = "-interaction=nonstopmode";
+#
+# We separate the (non)interaction option from the command name
+# because we don't ever want interaction, regardless of the command.
+# 
+# We can't pipe yes| into the command to get around the ins overwrite
+# problem since then "y" might get used as a filename, and we can exit
+# successfully when files didn't get generated as intended (e.g., in a
+# subdirectory, as required by apa7 and others). We have a special case
+# to report this in runjob, but we don't want it to happen in the first place.
+# 
+# This setup fails in cases where an existing file is being generated,
+# e.g., velthuis, and LaTeX asks:
+#   File ./hindi.ldf already exists on the system.
+#   Overwrite it? [y/n]
+# Not sure what to do about this yet.
 
 

 %specialmakeindex= (
@@ -3470,6 +3485,9 @@
 
   $inspatt = $specialins{$package} || &specialins($package) || $standardins;
   $insrunner = $specialinsrunner{$package} || $standardinsrunner;
+  $insrunner_opt = $specialinsrunner_opt{$package} || $standardinsrunner_opt;
+  $invoke_insrunner = "$insrunner $insrunner_opt";
+  
   $Foundry = $specialfoundry{$package} || $standardfoundry;
 
   if (exists $special{$package}) {
@@ -3842,7 +3860,8 @@
   for (grep (/$thispatt/, @filenames)) {
     my $env_mktex = "env MKTEXTFM=0 MKTEXMF=0 MKTEXPK=0";
     # do not infinite loop on docstrip "output directory", e.g., fltpoint.
-    &runjob ("yes | sed 1000q | $env_mktex $insrunner $_");
+    #&runjob ("yes | sed 1000q | $env_mktex $insrunner $_");
+    &runjob ("$invoke_insrunner $_");
     
     # bbold.dtx generates bbold.ins, and then does "low level hacks" to
     # run the .ins itself.  mathfont.dtx generates mathfont.ins to no
@@ -3854,7 +3873,8 @@
     # .ins is not in @filenames), and the .ins creates the .sty.
     # So we have to run the .ins.
     if (! grep (/$package\.ins$/, @filenames) && -r "$package.ins") {
-      &runjob ("yes | sed 10q | $env_mktex $insrunner $package.ins");
+      #&runjob ("yes | sed 10q | $env_mktex $insrunner $package.ins");
+      &runjob ("$invoke_insrunner $package.ins");
     }
   }
 
@@ -4288,7 +4308,7 @@
   } else {
     my $Jobid = "_$$";
     chomp (my $PWD = `pwd`);
-    &SYSTEM ("$job >$PWD/$Jobid.log 2>&1");
+    &SYSTEM ("$job </dev/null >$PWD/$Jobid.log 2>&1");
     $status = $?;
     local *TMP;
     open (TMP, "$Jobid.log") || die "open($Jobid.log) failed: $!";



More information about the tex-live-commits mailing list.