[tex-live] error from "tlmgr update --self" in 4NT/TCC

Dan Luecking luecking at uark.edu
Thu Aug 20 09:01:02 CEST 2009


The following code in updater-w32 causes an error in the command
shells TCC/4NT when tlmgr updates itself:

   rem Restart in cmd.exe to avoid problems if 4NT is used
   call :debug "respawning in cmd.exe ..."
   %respawn% cmd.exe /c call "%~f0" main

Note that the "call :debug" command occurs _before_ respawning
the batch file under cmd. This ultimately executes two set
commands on lines 218 and 220 under TCC:
   set /p "=%~1" <nul >>"%~dpn0.log"
   set /p "=%~1" <nul
This particular syntax is (as far as I can tell) undocumented
in cmd.exe, and is an error in TCC/4NT.

Running "help set" in cmd.exe reveals that "set /p" requires
variable=[prompt string]. The above examples have no
variable (and a strange quoting). While cmd.exe lets the
lack of a variable slide, TCC takes it seriously (TCC also
doesn't like the quoting).

Is there some more (undocument) behavior that makes "set /p" better
than echo? I couldn't find any effect of "set /p" (when there is no
variable to set) other than the display of the the prompt string.


Daniel H. Luecking
Department of Mathematical Sciences
University of Arkansas
Fayetteville, AR 72701 

More information about the tex-live mailing list