* Replace with latest sphinx make.bat * Added SRCDIR variable

--- src/doc/make.bat
+++ src/doc/make.bat
@@ -2,10 +2,17 @@

 REM Command file for Sphinx documentation

-set SPHINXBUILD=sphinx-build
-set ALLSPHINXOPTS=-d ../build/doc/doctrees %SPHINXOPTS% .
+if "%SPHINXBUILD%" == "" (
+	set SPHINXBUILD=sphinx-build
+)
+set BUILDDIR=..\..\build\sphinx
+set SOURCEDIR=.
+
+set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% %SOURCEDIR%
+set I18NSPHINXOPTS=%SPHINXOPTS% %SOURCEDIR%
 if NOT "%PAPER%" == "" (
 	set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
+	set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
 )

 if "%1" == "" goto help
@@ -13,99 +20,224 @@
 if "%1" == "help" (
 	:help
 	echo.Please use `make ^<target^>` where ^<target^> is one of
-	echo.  html      to make standalone HTML files
-	echo.  dirhtml   to make HTML files named index.html in directories
-	echo.  pickle    to make pickle files
-	echo.  json      to make JSON files
-	echo.  htmlhelp  to make HTML files and a HTML help project
-	echo.  qthelp    to make HTML files and a qthelp project
-	echo.  latex     to make LaTeX files, you can set PAPER=a4 or PAPER=letter
-	echo.  changes   to make an overview over all changed/added/deprecated items
-	echo.  linkcheck to check all external links for integrity
-	echo.  doctest   to run all doctests embedded in the documentation if enabled
+	echo.  html       to make standalone HTML files
+	echo.  dirhtml    to make HTML files named index.html in directories
+	echo.  singlehtml to make a single large HTML file
+	echo.  pickle     to make pickle files
+	echo.  json       to make JSON files
+	echo.  htmlhelp   to make HTML files and a HTML help project
+	echo.  qthelp     to make HTML files and a qthelp project
+	echo.  devhelp    to make HTML files and a Devhelp project
+	echo.  epub       to make an epub
+	echo.  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter
+	echo.  text       to make text files
+	echo.  man        to make manual pages
+	echo.  texinfo    to make Texinfo files
+	echo.  gettext    to make PO message catalogs
+	echo.  changes    to make an overview over all changed/added/deprecated items
+	echo.  xml        to make Docutils-native XML files
+	echo.  pseudoxml  to make pseudoxml-XML files for display purposes
+	echo.  linkcheck  to check all external links for integrity
+	echo.  doctest    to run all doctests embedded in the documentation if enabled
 	goto end
 )

 if "%1" == "clean" (
-	for /d %%i in (..\build\doc\*) do rmdir /q /s %%i
-	del /q /s ..\build\doc\*
-	goto end
+	for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
+	del /q /s %BUILDDIR%\*
+	goto end
+)
+
+
+%SPHINXBUILD% 2> nul
+if errorlevel 9009 (
+	echo.
+	echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+	echo.installed, then set the SPHINXBUILD environment variable to point
+	echo.to the full path of the 'sphinx-build' executable. Alternatively you
+	echo.may add the Sphinx directory to PATH.
+	echo.
+	echo.If you don't have Sphinx installed, grab it from
+	echo.http://sphinx-doc.org/
+	exit /b 1
 )

 if "%1" == "html" (
-	%SPHINXBUILD% -b html %ALLSPHINXOPTS% ../build/doc/html
-	echo.
-	echo.Build finished. The HTML pages are in ../build/doc/html.
+	%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%\html.
 	goto end
 )

 if "%1" == "dirhtml" (
-	%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% ../build/doc/dirhtml
-	echo.
-	echo.Build finished. The HTML pages are in ../build/doc/dirhtml.
+	%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%\dirhtml.
+	goto end
+)
+
+if "%1" == "singlehtml" (
+	%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The HTML pages are in %BUILDDIR%\singlehtml.
 	goto end
 )

 if "%1" == "pickle" (
-	%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% ../build/doc/pickle
+	%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
+	if errorlevel 1 exit /b 1
 	echo.
 	echo.Build finished; now you can process the pickle files.
 	goto end
 )

 if "%1" == "json" (
-	%SPHINXBUILD% -b json %ALLSPHINXOPTS% ../build/doc/json
+	%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
+	if errorlevel 1 exit /b 1
 	echo.
 	echo.Build finished; now you can process the JSON files.
 	goto end
 )

 if "%1" == "htmlhelp" (
-	%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% ../build/doc/htmlhelp
+	%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
+	if errorlevel 1 exit /b 1
 	echo.
 	echo.Build finished; now you can run HTML Help Workshop with the ^
-.hhp project file in build/htmlhelp.
+.hhp project file in %BUILDDIR%\htmlhelp.
 	goto end
 )

 if "%1" == "qthelp" (
-	%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% build/qthelp
+	%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
+	if errorlevel 1 exit /b 1
 	echo.
 	echo.Build finished; now you can run "qcollectiongenerator" with the ^
-.qhcp project file in build/qthelp, like this:
-	echo.^> qcollectiongenerator build\qthelp\Astral.qhcp
+.qhcp project file in %BUILDDIR%\qthelp, like this:
+	echo.^> qcollectiongenerator %BUILDDIR%\qthelp\yyryr.qhcp
 	echo.To view the help file:
-	echo.^> assistant -collectionFile build\qthelp\Astral.ghc
+	echo.^> assistant -collectionFile %BUILDDIR%\qthelp\yyryr.ghc
+	goto end
+)
+
+if "%1" == "devhelp" (
+	%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished.
+	goto end
+)
+
+if "%1" == "epub" (
+	%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The epub file is in %BUILDDIR%\epub.
 	goto end
 )

 if "%1" == "latex" (
-	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% build/latex
-	echo.
-	echo.Build finished; the LaTeX files are in build/latex.
+	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished; the LaTeX files are in %BUILDDIR%\latex.
+	goto end
+)
+
+if "%1" == "latexpdf" (
+	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
+	cd %BUILDDIR%/latex
+	make all-pdf
+	cd %BUILDDIR%/..
+	echo.
+	echo.Build finished; the PDF files are in %BUILDDIR%\latex.
+	goto end
+)
+
+if "%1" == "latexpdfja" (
+	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
+	cd %BUILDDIR%/latex
+	make all-pdf-ja
+	cd %BUILDDIR%/..
+	echo.
+	echo.Build finished; the PDF files are in %BUILDDIR%\latex.
+	goto end
+)
+
+if "%1" == "text" (
+	%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The text files are in %BUILDDIR%\text.
+	goto end
+)
+
+if "%1" == "man" (
+	%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The manual pages are in %BUILDDIR%\man.
+	goto end
+)
+
+if "%1" == "texinfo" (
+	%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The Texinfo files are in %BUILDDIR%\texinfo.
+	goto end
+)
+
+if "%1" == "gettext" (
+	%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The message catalogs are in %BUILDDIR%\locale.
 	goto end
 )

 if "%1" == "changes" (
-	%SPHINXBUILD% -b changes %ALLSPHINXOPTS% build/changes
-	echo.
-	echo.The overview file is in build/changes.
+	%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.The overview file is in %BUILDDIR%\changes.
 	goto end
 )

 if "%1" == "linkcheck" (
-	%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% build/linkcheck
+	%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
+	if errorlevel 1 exit /b 1
 	echo.
 	echo.Link check complete; look for any errors in the above output ^
-or in build/linkcheck/output.txt.
+or in %BUILDDIR%\linkcheck\output.txt.
 	goto end
 )

 if "%1" == "doctest" (
-	%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% build/doctest
+	%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
+	if errorlevel 1 exit /b 1
 	echo.
 	echo.Testing of doctests in the sources finished, look at the ^
-results in build/doctest/output.txt.
+results in %BUILDDIR%\doctest\output.txt.
+	goto end
+)
+
+if "%1" == "xml" (
+	%SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The XML files are in %BUILDDIR%\xml.
+	goto end
+)
+
+if "%1" == "pseudoxml" (
+	%SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml
+	if errorlevel 1 exit /b 1
+	echo.
+	echo.Build finished. The pseudo-XML files are in %BUILDDIR%\pseudoxml.
 	goto end
 )


update

update

--- server/bin/catalina.bat
+++ server/bin/catalina.bat
@@ -176,7 +176,6 @@

 set JAVA_OPTS=%JAVA_OPTS% -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m
-set JAVA_OPTS=%JAVA_OPTS%  -Drebel.packages_include=com.glaf -Drebel.aspectj_plugin=true -Drebel.spring_plugin=true  -Drebel.resteasy_plugin=true -noverify -javaagent:./jrebel.jar

 if not "%LOGGING_CONFIG%" == "" goto noJuliConfig
 set LOGGING_CONFIG=-Dnop


add misc entries

add misc entries

--- resources/stage_2_de-bloat/oem/programs_to_target_by_GUID.bat
+++ resources/stage_2_de-bloat/oem/programs_to_target_by_GUID.bat
@@ -157,6 +157,7 @@
 start /wait msiexec /qn /norestart /x {5D2B5E19-C333-4519-3D32-AAB8EEE9ACA4}
 start /wait msiexec /qn /norestart /x {D42B82F2-116E-8588-D868-5E98EF9B0CF8}
 start /wait msiexec /qn /norestart /x {FEA214BD-EE6F-B3B9-FE9E-80D2B14849D5}
+start /wait msiexec /qn /norestart /x {CF84CD21-FC52-857E-AF41-9DEE9C76D245}

 :: AMD OEM Application Profile
 start /wait msiexec /qn /norestart /x {C89A97B6-F991-EBB5-77B7-927BCF420EBE}
@@ -1129,6 +1130,15 @@
 start /wait msiexec /qn /norestart /x {FEFF81BF-B911-6755-FBDE-09547BDFD0A2}
 start /wait msiexec /qn /norestart /x {FF10AC4D-3349-99DA-3E58-5197CEA1D833}
 start /wait msiexec /qn /norestart /x {FFCF34B9-A0B1-2E2B-7D7E-8FAB4A781CC9}
+start /wait msiexec /qn /norestart /x {37DBC990-C514-3821-D6FB-12E0745AA990}
+start /wait msiexec /qn /norestart /x {D9CBA021-DB41-9736-923F-52E3E426912D}
+start /wait msiexec /qn /norestart /x {31BC0B51-0676-A531-3940-1818B609EEA7}
+start /wait msiexec /qn /norestart /x {504819D1-3C0A-2695-0007-BBDFA5936D68}
+start /wait msiexec /qn /norestart /x {69DF4822-9B16-CE04-7587-22E09FB5FD1D}
+start /wait msiexec /qn /norestart /x {968C0E92-6DA9-5784-9A0B-1061D0CB2C14}
+start /wait msiexec /qn /norestart /x {9DB45EC2-90E7-642D-7CF9-5AC2FBDC14F7}
+start /wait msiexec /qn /norestart /x {AA0E1433-8F16-AA01-E8E9-E6408579D0D8}
+start /wait msiexec /qn /norestart /x {11BC8F83-7260-65EB-3E0A-FA7AC894B42D}

 :: CITIZEN bloatware (printer)
 start /wait msiexec /qn /norestart /x {546D97C7-9DF6-4A2D-BE02-2C0B25FFE1E3}
@@ -2531,7 +2541,10 @@
 :: Lenovo OneKey Recovery // Disabled by /u/kamakaze_chickn for Tron
 ::start /wait msiexec /qn /norestart /x {46F4D124-20E5-4D12-BE52-EC177A7A4B42}

-:: Lenovo Onekey Theater
+:: Levovo OneKey Optimizer
+start /wait msiexec /qn /norestart /x {D5D573DC-D989-4769-9B56-D6A7EA503D7F}
+
+:: Lenovo OneKey Theater
 start /wait msiexec /qn /norestart /x {91CC5BAE-A098-40D3-A43B-C0DC7CE263FE}

 :: Lenovo Patch Utility
@@ -2539,6 +2552,9 @@

 :: Lenovo PhoneCompanion
 start /wait msiexec /qn /norestart /x {0F82EA83-B0C5-4AB9-9695-DFE92C5FD57B}
+
+:: Lenovo Photo Master
+start /wait msiexec /qn /norestart /x {BC94C56A-3649-420C-8756-2ADEBE399D33}

 :: Lenovo Quick Control
 start /wait msiexec /qn /norestart /x {4855C42F-5197-4AAD-A50D-5066D2CC4647}
@@ -2731,6 +2747,7 @@
 start /wait msiexec /qn /norestart /x {90160000-008C-0000-1000-0000000FF1CE}
 start /wait msiexec /qn /norestart /x {90160000-008C-0409-1000-0000000FF1CE}
 start /wait msiexec /qn /norestart /x {90160000-007E-0000-1000-0000000FF1CE}
+start /wait msiexec /qn /norestart /x {90160000-008C-0407-0000-0000000FF1CE}

 :: Microsoft Office 2003 Web Components
 start /wait msiexec /qn /norestart /x {90120000-00A4-0409-0000-0000000FF1CE}


Added log levels for prepare script

Added log levels for prepare script

--- newPrepare.bat
+++ newPrepare.bat
@@ -1,23 +1,39 @@
+:: Name:     newPrepare.bat
+:: Purpose:  Prepare development environment for ORTC and WebRTC
+:: Author:   Sergej Jovanovic
+:: Email:	 sergej@gnedo.com
+:: Revision: September 2016 - initial version
+
 @ECHO off
-ECHO.
-ECHO Running prepare script ...
-ECHO.

-SETLOCAL enabledelayedexpansion
+SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION

-SET supportedInputArguments=;platform;help;
-SET targetEnvironemnt=%1
+::targeted platforms
 SET prepare_ORTC_Environemnt=0
 SET prepare_WebRTC_Environemnt=0
-SET validInput=0
-SET failure=0
+
+::log variables
+SET globalLogLevel=2
+
+SET error=0
+SET info=1
+SET warning=2
+SET debug=3
+SET trace=4

 ::input arguments
+SET supportedInputArguments=;platform;help;
 SET platform=all
 SET help=0

 ::predefined messages
-SET errorMessageInvalidArgument="Invalid input parameters. If you want to prepare environment for both webrtc and ortc run this script without arguments, otherwise put just the name of desired framework."
+SET errorMessageInvalidArgument="Invalid input parameter. For the list of available parameters and usage examples, please run script with -help option."
+SET errorMessageInvalidPlatform="Invalid platform name. For the list of available platforms and usage examples, please run script with -help option."
+
+ECHO.
+CALL:print %info% "Running prepare script ..."
+ECHO.
+
 :parseInputArguments
 IF "%1"=="" (
 	IF NOT "%nome%"=="" (
@@ -53,13 +69,17 @@

 ::Determine targeted platforms
 CALL:identifyTargetedPlatforms
-echo hihihi
+
+::Finish script execution
+CALL:done

 GOTO:EOF

 REM Based on input arguments determine targeted platforms
 :identifyTargetedPlatforms
+SET validInput=0
 SET messageText=
+
 IF /I "%platform%"=="all" (
 	SET prepare_ORTC_Environemnt=1
 	SET prepare_WebRTC_Environemnt=1
@@ -82,35 +102,55 @@

 :: If input is not valid terminate script execution
 IF !validInput!==1 (
-	ECHO !messageText!
+	CALL:print %info% "!messageText!"
 ) ELSE (
-	CALL:error 1 "Invalid input parameters. If you want to prepare environment for both webrtc and ortc run this script without arguments, otherwise put just the name of desired framework."
+	CALL:error 1 %errorMessageInvalidPlatform%
 )
 GOTO:EOF
+
 :checkIfArgumentIsValid
-if "!supportedInputArguments:;%~1;=!" neq "%supportedInputArguments%" (
+IF "!supportedInputArguments:;%~1;=!" neq "%supportedInputArguments%" (
 	::it is valid
-	set %2=1
-) else (
+	SET %2=1
+) ELSE (
 	::it is not valid
-	set %2=0
+	SET %2=0
 )
 GOTO:EOF
+
+:print
+SET logType=%1
+SET logMessage=%~2
+
+if %globalLogLevel% GEQ  %logType% (
+	if %logType%==0 ECHO %logMessage%
+	if %logType%==1 ECHO %logMessage%
+	if %logType%==2 ECHO %logMessage%
+)
+
+GOTO:EOF
+
 :error
 SET criticalError=%~1
 SET errorMessage=%~2
-echo.
-if %criticalError%==0 (
-	echo WARNING: %errorMessage%
-) else (
-	echo CRITICAL ERROR: %errorMessage%
-	echo.
-	echo.
-	echo Preparing environment has failed!
-	echo.
+
+IF %criticalError%==0 (
+	ECHO.
+	CALL:print %warning% "WARNING: %errorMessage%"
+	ECHO.
+) ELSE (
+	ECHO.
+	CALL:print %error% "CRITICAL ERROR: %errorMessage%"
+	ECHO.
+	ECHO.
+	CALL:print %error% "FAILURE:Preparing environment has failed!"
+	ECHO.
 	::terminate batch execution
-	call bin\batchTerminator.bat
+	CALL bin\batchTerminator.bat
 )
+GOTO:EOF

-goto:eof
-
+:done
+ECHO.
+CALL:print %info% "Success: Development environment is set."
+ECHO.


Updated coverity creation batch to remove previous output

--- SeriousGameToolbox/coverity/create_coverity_package.bat
+++ SeriousGameToolbox/coverity/create_coverity_package.bat
@@ -1,4 +1,7 @@
 rem will create a coverity cov-int package ready to send to analysis
+rmdir cov-int /s
+del cov-int.zip
+
 set cov_path=%~dp0
 set sln_path=%~dp0..\
 cov-build --dir %cov_path%cov-int devenv %sln_path%SeriousGameToolbox.sln /rebuild Release


Delete misc_other_programs_to_target.bat

--- resources/stage_2_de-bloat/oem/misc_other_programs_to_target.bat
+++ resources/stage_2_de-bloat/oem/misc_other_programs_to_target.bat
@@ -1,66 +0,0 @@
-:: Currently not executed by Tron as I'm unsure if these will stall the script or not
-:: If you can test these on a system with these products and let me know if it finishes
-:: without interruptions or prompts, it'd be very helpful and I'll enable it for Tron
-
-
-if exist "C:\Program Files (x86)\Monopoly\unins000.exe" ( start /wait "GS" "C:\Program Files (x86)\Monopoly\unins000.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\4 Elements II\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\4 Elements II\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Agatha Christie - Death on the Nile\Uninstall\Uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Agatha Christie - Death on the Nile\Uninstall\Uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Airport Mania\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Airport Mania\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Aloha TriPeaks\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Aloha TriPeaks\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Azkend 2 The World Beneath\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Azkend 2 The World Beneath\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Bejeweled 2 Deluxe\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Bejeweled 2 Deluxe\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Bejeweled 3\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Bejeweled 3\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Bounce Symphony\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Bounce Symphony\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Build-a-lot\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Build-a-lot\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Cradle Of Egypt Collectors Edition\Uninstall\Uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Cradle Of Egypt Collectors Edition\Uninstall\Uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Cradle of Rome 2\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Cradle of Rome 2\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Curse at Twilight\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Curse at Twilight\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Delicious Emilys Childhood Memories Premium Edition\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Delicious Emilys Childhood Memories Premium Edition\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Delicious Emilys True Love Premium Edition\Uninstall\Uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Delicious Emilys True Love Premium Edition\Uninstall\Uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Doras World Adventure\Uninstall\Uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Doras World Adventure\Uninstall\Uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Farm Frenzy\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Farm Frenzy\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Farm to Fork Collectors Edition\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Farm to Fork Collectors Edition\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Fishdom 3 Collectors Edition\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Fishdom 3 Collectors Edition\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Game Explorer Categories - genres\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Game Explorer Categories - genres\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Governor of Poker 2 Premium Edition\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Governor of Poker 2 Premium Edition\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\House of 1000 Doors Family Secrets\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\House of 1000 Doors Family Secrets\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Jewel Match 3\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Jewel Match 3\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\John Deere Drive Green\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\John Deere Drive Green\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\King Oddball\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\King Oddball\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Letters from Nowhere 2\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Letters from Nowhere 2\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\LUXOR Evolved\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\LUXOR Evolved\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Magic Academy\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Magic Academy\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Mahjongg Dimensions Deluxe\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Mahjongg Dimensions Deluxe\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Mystery PI - Curious Case of Counterfeit Cove\Uninstall\Uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Mystery PI - Curious Case of Counterfeit Cove\Uninstall\Uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Peggle Nights\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Peggle Nights\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Penguins!\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Penguins!\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Plants vs Zombies - Game of the Year\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Plants vs Zombies - Game of the Year\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Polar Bowler 1st Frame\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Polar Bowler 1st Frame\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Polar Bowler\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Polar Bowler\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Polar Golfer\Uninstall\Uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Polar Golfer\Uninstall\Uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Roads of Rome 3\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Roads of Rome 3\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Tales of Lagoona\Uninstall\Uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Tales of Lagoona\Uninstall\Uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\The Chronicles of Emerland Solitaire\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\The Chronicles of Emerland Solitaire\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\The Treasures of Mystery Island The Ghost Ship\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\The Treasures of Mystery Island The Ghost Ship\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Trinklit Supreme\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Trinklit Supreme\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Vacation Quest - Australia\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Vacation Quest - Australia\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Youda Jewel Shop\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Youda Jewel Shop\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildGames\Zumas Revenge\uninstall\uninstaller.exe" ( start /wait "GS" "C:\Program Files (x86)\WildGames\Zumas Revenge\uninstall\uninstaller.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - casual\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - casual\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - enthusiast\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - enthusiast\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - family\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - family\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - genres\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - genres\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - kids\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - kids\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - main\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - main\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - touch\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Game Explorer Categories - touch\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Touchpoints\acer\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Touchpoints\acer\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Touchpoints\asus\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Touchpoints\asus\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Touchpoints\hp\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Touchpoints\hp\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Touchpoints\toshiba\uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Touchpoints\toshiba\uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Web Link - Command and Conquer Tiberium Alliances\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Web Link - Command and Conquer Tiberium Alliances\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Web Link - DoubleDown Casino\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Web Link - DoubleDown Casino\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Web Link - Dragons Of Atlantis\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Web Link - Dragons Of Atlantis\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Web Link - Sushi Cat\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Web Link - Sushi Cat\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Web Link - The Godfather 5 Families\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Web Link - The Godfather 5 Families\Uninstall.exe" >nul 2>&1 )
-if exist "C:\Program Files (x86)\WildTangent Games\Web Link - The Godfather Five Families\Uninstall.exe" ( start /wait "GS" "C:\Program Files (x86)\WildTangent Games\Web Link - The Godfather Five Families\Uninstall.exe" >nul 2>&1 )


stuff

stuff

error: pathspec 'tests/foperf.bat' did not match any file(s) known to git

--- tests/foperf.bat
+++ tests/foperf.bat
@@ -0,0 +1 @@
+ASCompiler %1.fos -run foperf::main


[WFCORE-5869] Sanitize '|' symbol in standalone.bat

--- core-feature-pack/common/src/main/resources/content/bin/standalone.bat
+++ core-feature-pack/common/src/main/resources/content/bin/standalone.bat
@@ -103,6 +103,22 @@
 ) else (
    echo Config file not found "%STANDALONE_CONF%"
 )
+
+rem Sanitize JAVA_OPTS
+rem Currently escaping only | characters any other might be added if needed
+setlocal EnableDelayedExpansion
+
+rem If characters are already escaped then IS_SANITIZED is set to true and JAVA__OPTS are left as they are
+for %%C in (^^^|) do (
+  if not "!JAVA_OPTS:%%C=!"=="!JAVA_OPTS!" set IS_SANITIZED=true
+)
+if not "!IS_SANITIZED!" == "true" (
+  for %%C in (^|) do (
+    set "JAVA_OPTS=!JAVA_OPTS:%%C=^%%C!"
+  )
+)
+
+setlocal DisableDelayedExpansion

 if NOT "x%DEBUG_PORT%" == "x" (
   set DEBUG_PORT_VAR=%DEBUG_PORT%
@@ -228,7 +244,7 @@
 )

 rem If the -Djava.security.manager is found, enable the -secmgr and include a bogus security manager for JBoss Modules to replace
-echo(!JAVA_OPTS! | findstr /r /c:"-Djava.security.manager" > nul && (
+echo("!JAVA_OPTS!" | findstr /r /c:"-Djava.security.manager" > nul && (
     echo ERROR: The use of -Djava.security.manager has been removed. Please use the -secmgr command line argument or SECMGR=true environment variable.
     GOTO :EOF
 )


Added the .bat file to set the WMX Path variable for the python script steps

error: pathspec 'WorkflowManager/WMX_Utilities/WMX_Environment_Variable.bat' did not match any file(s) known to git

--- WorkflowManager/WMX_Utilities/WMX_Environment_Variable.bat
+++ WorkflowManager/WMX_Utilities/WMX_Environment_Variable.bat
@@ -0,0 +1,4 @@
+REM  This .bat files sets the WMX_PATH variable for the CTM Workflow Manager (WMX) Workflows
+REM  This file needs to be run on each machine to point the WMX Workflow Script steps to the correct tool location.
+
+setx WMX_PATH "%CD%" /m


Disable tortoise git context menu on more types

--- context-menu-disable/context-menu-disable-tortoise-git.bat
+++ context-menu-disable/context-menu-disable-tortoise-git.bat
@@ -10,3 +10,7 @@
 reg add "%registryRoot%\Directory\shellex\ContextMenuHandlers\%key%" /d "---" /f
 reg add "%registryRoot%\Drive\shellex\ContextMenuHandlers\%key%" /d "---" /f
 reg add "%registryRoot%\Folder\shellex\ContextMenuHandlers\%key%" /d "---" /f
+reg add "%registryRoot%\InternetShortcut\shellex\ContextMenuHandlers\%key%" /d "---" /f
+reg add "%registryRoot%\LibraryFolder\background\shellex\ContextMenuHandlers\%key%" /d "---" /f
+reg add "%registryRoot%\LibraryLocation\shellex\ContextMenuHandlers\%key%" /d "---" /f
+reg add "%registryRoot%\lnkfile\shellex\ContextMenuHandlers\%key%" /d "---" /f


Removed obsolete Nuget command line.

Removed obsolete Nuget command line.

--- RavenDB.Identity/create-nuget-package.bat
+++ RavenDB.Identity/create-nuget-package.bat
@@ -1 +0,0 @@
-dotnet pack RavenDB.Identity.csproj --configuration  Release


Disable automatic component registration in prepare.bat until we have a better mechanism

 (changeset 1213897)

--- Src/Tools/Microsoft.CodeAnalysis.Toolset.Open/Scripts/Prepare.bat
+++ Src/Tools/Microsoft.CodeAnalysis.Toolset.Open/Scripts/Prepare.bat
@@ -87,7 +87,8 @@

 :EnableRoslynPackage %1 %2
-@echo %label% EnableRoslynPackage for %1
-for /F %%f in ('dir /s /b "%LOCALAPPDATA%\Microsoft\VisualStudio\%targetVS%%TargetHive%\%1"') do reg add "HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\%targetVS%%TargetHive%\ExtensionManager\EnabledExtensions" /v %2 /d %%~dpf /F  > nul 2>&1 && goto :eof
+rem disable until we have a more complete mechanism
+rem @echo %label% EnableRoslynPackage for %1
+rem for /F %%f in ('dir /s /b "%LOCALAPPDATA%\Microsoft\VisualStudio\%targetVS%%TargetHive%\%1"') do reg add "HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\%targetVS%%TargetHive%\ExtensionManager\EnabledExtensions" /v %2 /d %%~dpf /F  > nul 2>&1 && goto :eof
 goto :eof


Speculative fix for dart2js on windows
Review URL: https://codereview.chromium.org//14137019

git-svn-id: c93d8a2297af3b929165606efe145742a534bc71@21334 260f80e4-7a28-3924-810f-c04153c831b5

--- sdk/bin/dart2js.bat
+++ sdk/bin/dart2js.bat
@@ -27,7 +27,7 @@

 if exist "%SNAPSHOT%" (
   echo Using snapshot "%SNAPSHOT%" >&2
-  set EXTRA_OPTIONS=%EXTRA_OPTIONS% --library-root="%SDK_DIR%"
+  set EXTRA_OPTIONS=%EXTRA_OPTIONS% "--library-root=%SDK_DIR%"
 )

 rem See comments regarding options below in dart2js shell script.


Added macros ECHOSVARS, ECHOSVARS.V, ECHOSVARS.D. Fixed the passing of ^ ! arguments in options -c, -C, -M. Added routines :EscapeCmdString & :TestEscapeCmdString, and added option -te. Rewrote (the broken) routine :convert_entities, and renamed it as :ConvertEntities.

--- Batch/Library.bat
+++ Batch/Library.bat
@@ -23,7 +23,7 @@
 :#                  Reserved characters that affect batch files:              #
 :#                  Command sequencing (escaped by ^ and ""): & | ( ) < > ^   #
 :#                  Echo control (escaped by enclosing command in ""): @      #
-:#                  Argument delim. (escaped by enclosing in ""): , ; = space #
+:#                  Argument delim. (escaped by enclosing in ""): , ; = blanks#
 :#		    Environment variables (escaped by %): %                   #
 :#		    Delayed variables (escaped by ^): !			      #
 :#                  Wildcards: * ?                                            #
@@ -52,6 +52,8 @@
 :#			its own arguments. (Depending on /V:OFF or /V:ON)     #
 :#			Note: Most internals command, like cd or set, have no #
 :#			effect in this case on the original shell.            #
+:#                  For a complete description of the cmd line parser, see:   #
+:#                  https://stackoverflow.com/a/4095133		              #
 :#                                                                            #
 :#                  Steps 4 & 5 are not done for the call command.            #
 :#                  Step 3 is done, but the redirections are ignored.         #
@@ -202,6 +204,12 @@
 :#   2018-03-01 JFL New faster version of the FALSE.EXE macro.		      #
 :#		    Simpler and faster versions of function is_dir.	      #
 :#		    Added functions dirname, filename, has_wildcards.	      #
+:#   2019-10-02 JFL Disable delayed expansion when capturing cmd-line args.   #
+:#   2019-10-03 JFL Added macros ECHOSVARS, ECHOSVARS.V, ECHOSVARS.D.         #
+:#		    Fixed the passing of ^ ! arguments in options -c, -C, -M. #
+:#   2019-10-04 JFL Added routines :EscapeCmdString & :TestEscapeCmdString.   #
+:#		    Rewrote routine :convert_entities as :ConvertEntities.    #
+:#   2019-10-05 JFL Finalized :TestEscapeCmdString & :TestConvertEntities.    #
 :#		                                                              #
 :#          Copyright 2016 Hewlett Packard Enterprise Development LP         #
 :# Licensed under the Apache 2.0 license  www.apache.org/licenses/LICENSE-2.0 #
@@ -216,14 +224,16 @@
 :# Called by (%LCALL% :label [arguments]), with LCALL defined in the Call module below.
 if '%1'=='call' %*& exit /b

-setlocal EnableExtensions EnableDelayedExpansion
-set "VERSION=2018-11-19"
-set "SCRIPT=%~nx0"				&:# Script name
-set "SPATH=%~dp0" & set "SPATH=!SPATH:~0,-1!"	&:# Script path, without the trailing \
-set "SNAME=%~n0"				&:# Script name, without its extension
-set "SFULL=%~f0"				&:# Script full pathname
-set ^"ARG0=%0^"					&:# Script invokation name
-set ^"ARGS=%*^"					&:# Argument line
+setlocal EnableExtensions DisableDelayedExpansion &:# Make sure ! characters are preserved
+set "VERSION=2019-10-05"
+set "SCRIPT=%~nx0"		&:# Script name
+set "SNAME=%~n0"		&:# Script name, without its extension
+set "SPATH=%~dp0"		&:# Script path
+set "SPATH=%SPATH:~0,-1%"	&:# Script path, without the trailing \
+set "SFULL=%~f0"		&:# Script full pathname
+set ^"ARG0=%0^"			&:# Script invokation name
+set ^"ARGS=%*^"			&:# Argument line
+setlocal EnableExtensions EnableDelayedExpansion &:# Use the ! expansion now on

 :# Mechanism for calling subroutines in a second instance of a script, from its main instance.
 :# Done by (%XCALL% :label [arguments]), with XCALL defined in the Call module below.
@@ -676,6 +686,10 @@
 :#                  %ECHOVARS%	    Indent, echo and log variables values     #
 :#                  %ECHOVARS.V%    Idem, but display them in verb. mode only #
 :#                  %ECHOVARS.D%    Idem, but display them in debug mode only #
+:#                                                                            #
+:#                  %ECHOSVARS%	    Echo ARG1 before each variable.           #
+:#                  %ECHOSVARS.V%   Idem, but display them in verb. mode only #
+:#                  %ECHOSVARS.D%   Idem, but display them in debug mode only #
 :#                                                                            #
 :#                  %IF_DEBUG%      Execute a command in debug mode only      #
 :#                  %IF_VERBOSE%    Execute a command in verbose mode only    #
@@ -761,6 +775,7 @@
 :# Initialize other debug variables
 set "ECHO=%LCALL% :Echo"
 set "ECHOVARS=%LCALL% :EchoVars"
+set "ECHOSVARS=%LCALL% :EchoStringVars"
 :# The FUNCTION, UPVAR, and RETURN macros should work with delayed expansion on or off
 set MACRO.GETEXP=(if "%'!2%%'!2%"=="" (set MACRO.EXP=EnableDelayedExpansion) else set MACRO.EXP=DisableDelayedExpansion)
 set UPVAR=call set DEBUG.RETVARS=%%DEBUG.RETVARS%%
@@ -831,6 +846,8 @@
 set "ECHO.D=%LCALL% :Echo.Debug"
 set "ECHOVARS.V=%LCALL% :EchoVars.Verbose"
 set "ECHOVARS.D=%LCALL% :EchoVars.Debug"
+set "ECHOSVARS.V=%LCALL% :EchoStringVars.Verbose"
+set "ECHOSVARS.D=%LCALL% :EchoStringVars.Debug"
 :# Variables inherited from the caller...
 :# Preserve INDENT if it contains just spaces, else clear it.
 for /f %%s in ('echo.%INDENT%') do set "INDENT="
@@ -1009,7 +1026,12 @@
 goto :eof

 :# Echo and log variable values, indented at the same level as the debug output.
-:EchoVars
+:EchoStringVars %1=string %2=VARNAME %3=VARNAME ...
+setlocal EnableExtensions EnableDelayedExpansion
+set "INDENT=%INDENT%%~1 "
+shift
+goto :EchoVars.loop
+:EchoVars	%1=VARNAME %2=VARNAME %3=VARNAME ...
 setlocal EnableExtensions EnableDelayedExpansion
 :EchoVars.loop
 if "%~1"=="" endlocal & goto :eof
@@ -1031,6 +1053,22 @@
   call :EchoVars %*
 ) else ( :# Make sure the variables are logged
   call :EchoVars %* >NUL 2>NUL
+)
+goto :eof
+
+:EchoStringVars.Verbose
+%IF_VERBOSE% (
+  call :EchoStringVars %*
+) else ( :# Make sure the variables are logged
+  call :EchoStringVars %* >NUL 2>NUL
+)
+goto :eof
+
+:EchoStringVars.Debug
+%IF_DEBUG% (
+  call :EchoStringVars %*
+) else ( :# Make sure the variables are logged
+  call :EchoStringVars %* >NUL 2>NUL
 )
 goto :eof

@@ -3844,13 +3882,182 @@
 %RETURN%

 :#----------------------------------------------------------------------------#
+:#                                                                            #
+:#  Function        EscapeCmdString					      #
+:#                                                                            #
+:#  Description     Prepare a command for passing through multiple parsings   #
+:#                                                                            #
+:#  Arguments       %1	Name of the variable containing the command string    #
+:#                  %2	Output variable name. Default: Same as input variable #
+:#                  %3	Number of parsings to go through. Default: 1          #
+:#                  %4	# of the above with !expansion. Default: 1 if exp. on #
+:#                                                                            #
+:#  Notes 	    The cmd parser tokenizer removes levels of ^ escaping.    #
+:#                  This routine escapes a command line, or an argument, so   #
+:#                  that special characters like ^ & | > < ( ) make it        #
+:#		    through intact through one or more tokenizations.	      #
+:#                                                                            #
+:#                  Known limitation: The LF character is not managed.        #
+:#                                                                            #
+:#  History                                                                   #
+:#   2019-10-03 JFL Initial implementation                                    #
+:#                                                                            #
+:#----------------------------------------------------------------------------#
+
+:EscapeCmdString %1=CMDVAR [%2=OUTVAR] [%3=# parsings] [%4=# with !expansion]
+for /f "tokens=2" %%e in ("!! 0 1") do setlocal EnableDelayedExpansion & set "CallerExp=%%e"
+%ECHO.D% :# :EscapeCmdString called with expansion=%CallerExp%
+set "H0=^^"		&:# Return a Hat ^ with QUOTE_MODE 0=off
+set "H1=^"		&:# Return a Hat ^ with QUOTE_MODE 1=on
+if %CallerExp%==1 set "H0=!H0!!H0!" & set "H1=!H1!!H1!" &:# !escape our return value
+set "NPESC=1"			  &:# Default number of %expansion escaping to do
+if not "%~3"=="" set "NPESC=%~3"  &:# specified # of extra %expansion escaping to do
+set /a "NXESC=%CallerExp%*NPESC"  &:# Default number of !expansion escaping to do
+if not "%~4"=="" set "NXESC=%~4"  &:# specified # of extra !expansion escaping to do
+for /l %%i in (1,1,%NXESC%) do set "H0=!H0!!H0!" & set "H1=!H1!!H1!"
+for /l %%i in (1,1,%NPESC%) do set "H0=!H0!!H0!"
+:# Define characters that need escaping outside of quotes
+for %%c in ("<" ">" "|" "&" "(" ")") do set ^"EscapeCmdString.NE[%%c]=1^"
+set ^"STRING=!%1!^"
+%ECHOVARS.D% STRING H0 H1
+set "OUTVAR=%2"
+if not defined OUTVAR set "OUTVAR=%1"
+set "RESULT="
+set "QUOTE_MODE=0"	&:# 1=Inside a quoted string
+set "ESCAPE=0"		&:# 1=The previous character was a ^ character
+set "N=-1"
+:EscapeCmdString.loop
+  set /a "N+=1"
+  set "C=!STRING:~%N%,1!" &:# Get the Nth character in the string
+  %ECHOVARS.D% N C
+  if not defined C goto :EscapeCmdString.end
+  if "!C!!C!"=="""" (
+    if !ESCAPE!==0 (
+      set /a "QUOTE_MODE=1-QUOTE_MODE"
+    ) else ( :# Open " quotes can be escaped, but not close " quotes
+      if "!QUOTE_MODE!"=="0" set "RESULT=!RESULT!!H0:~1!"
+    )
+  ) else if "!C!"=="^" (
+    if "!QUOTE_MODE!"=="0" set /a "ESCAPE=1-ESCAPE"
+    set "RESULT=!RESULT!!H%QUOTE_MODE%:~1!"
+  ) else if "!C!"=="^!" (
+    set "RESULT=!RESULT!!H%QUOTE_MODE%:~1!"
+  ) else if defined EscapeCmdString.NE["!C!"] ( :# Characters that need escaping outside of quotes
+    if "!QUOTE_MODE!"=="0" set "RESULT=!RESULT!!H0:~1!"
+  )
+  if not "!C!"=="^" set "ESCAPE=0"
+  set "RESULT=!RESULT!!C!"
+  %ECHOSVARS.D% RESULT
+goto :EscapeCmdString.loop
+:EscapeCmdString.end
+endlocal & set ^"%OUTVAR%=%RESULT%^" ! = &:# The ! forces always having !escaping ^ removal in delayed expansion mode
+exit /b
+
+:ParseDelayedExpansion %1=OUTVAR %2=0|1|off|on|Disable|Enable
+goto :ParseDelayedExpansion.%~2
+:ParseDelayedExpansion.0
+:ParseDelayedExpansion.off
+:ParseDelayedExpansion.disable
+:ParseDelayedExpansion.DisableDelayedExpansion
+set "%1=DisableDelayedExpansion"
+exit /b
+:ParseDelayedExpansion.
+:ParseDelayedExpansion.1
+:ParseDelayedExpansion.on
+:ParseDelayedExpansion.enable
+:ParseDelayedExpansion.EnableDelayedExpansion
+set "%1=EnableDelayedExpansion"
+exit /b
+
+:# Convert the supported html entities to their corresponding character
+:# Internal subroutine that does not create a setlocal frame. Only uses !expansion!.
+:ConvertEntities.internal %1=INPUTVAR [%2=OUTPUTVAR]
+set "OUTVAR=%2"
+if not defined OUTVAR set "OUTVAR=%1"
+set "ARG=!%1!"
+%ECHOSVARS.D% 1 ARG
+for %%e in (quot lt gt amp vert rpar lpar rbrack lbrack sp bs cr lf hat) do (
+  for %%c in ("!DEBUG.%%e!") do set "ARG=!ARG:[%%e]=%%~c!"
+)
+%ECHOSVARS.D% 2 ARG
+:# Then convert special characters that need special attention
+:# The ! character cannot be substituted in a !variable! substitution
+:# So use the % character instead
+set "ARG=!ARG:%%=[percnt]!" &:# Make sure there are no % characters in ARG
+set "ARG2=!ARG:[excl]=%%!"
+if not "!ARG2!"=="!ARG!" ( :# If ARG does contain ! characters
+  set "ARG="		  &:# Then individually convert each % to an !
+  set "N=0"
+  :ConvertEntities.loop
+    set "C=!ARG2:~%N%,1!"
+    if not defined C goto :ConvertEntities.end_loop
+    if "!C!"=="%%" set "C=^!"
+    set "ARG=!ARG!!C!"
+    set /a "N+=1"
+    goto :ConvertEntities.loop
+  :ConvertEntities.end_loop
+  rem
+)
+set "ARG=!ARG:[percnt]=%%!" &:# Convert % characters back to their real value
+%ECHOSVARS.D% 3 ARG
+set "%OUTVAR%=!ARG:[lbrack]=[!" &:# Must be converted last
+exit /b
+
+:ConvertEntities %1=INPUTVAR [%2=OUTPUTVAR]
+for /f "tokens=2" %%e in ("!! 0 1") do setlocal EnableDelayedExpansion & set "CallerExp=%%e"
+%ECHO.D% :# :ConvertEntities called with expansion=%CallerExp%
+call :ConvertEntities.internal %1 %2
+call :EscapeCmdString ARG ARG 1 %CallerExp%
+endlocal & set ^"%OUTVAR%=%ARG%^" ! &:# The ! forces always having !escaping ^ removal in delayed expansion mode
+goto :eof
+
+:TestConvertEntities %1=VAR [%2=0|1=Disable|Enable Delayed Expansion]
+setlocal EnableDelayedExpansion
+%POPARG%
+set "INPUT=!ARG!"
+set INPUT
+%POPARG%
+call :ParseDelayedExpansion EXP=!ARG! & echo # !EXP! & setlocal !EXP!
+call :ConvertEntities INPUT OUTPUT
+set OUTPUT
+endlocal & endlocal
+exit /b
+
+:TestEscapeCmdString %1=VAR [%2=EXPANSION] [%3=# parsings] [%4=# with !expansion]
+setlocal EnableDelayedExpansion
+%POPARG%
+call :ConvertEntities.internal ARG _INITIAL
+:# set ^"_INITIAL=!_INITIAL:Q="!^"
+:# for %%r in ("H=^" "A=&" "O=|" "G=>" "L=<") do set "_INITIAL=!_INITIAL:%%~r!"
+set _INITIAL
+%POPARG%
+call :ParseDelayedExpansion EXP=!ARG! & echo # !EXP! & setlocal !EXP!
+call :EscapeCmdString _INITIAL _ESCAPED !ARGS!
+set _ESCAPED
+set ^"REPARSED=%_ESCAPED%^" ! = &:# The ! forces always having !escaping ^ removal in delayed expansion mode
+set REPARSED
+%POPARG%
+set "NPARSE=1"
+if defined ARG set "NPARSE=%ARG%"
+:TestEscapeCmdString.loop
+if %NPARSE%==1 goto :TestEscapeCmdString.done
+set ^"REPARSED=%REPARSED%^" ! = &:# The ! forces always having !escaping ^ removal in delayed expansion mode
+set REPARSED
+set /a "NPARSE-=1"
+goto :TestEscapeCmdString.loop
+:TestEscapeCmdString.done
+endlocal & endlocal
+exit /b
+
+:#----------------------------------------------------------------------------#
 :# Test %EXEC% one command line. Display start/end time if looping.

 :exec_cmd_line
 %CMD_BEFORE%
-set CMDLINE=%ARGS%
+set ^"CMDLINE=!ARGS!^"
+call :ConvertEntities CMDLINE
 if not %NLOOPS%==1 echo Start at %TIME% & set "T0=%TIME%"
-for /l %%n in (1,1,%NLOOPS%) do %EXEC% %CMDLINE%
+for /l %%n in (1,1,%NLOOPS%) do %EXEC% !CMDLINE!
 if not %NLOOPS%==1 echo End at %TIME% & set "T1=%TIME%"
 if not %NLOOPS%==1 call :Time.Delta %T0% %T1% -f & echo Delta = !DH!:!DM!:!DS!.!DMS:~0,2!
 %CMD_AFTER%
@@ -3863,10 +4070,10 @@

 :call_cmd_line
 %CMD_BEFORE%
-set CMDLINE=%ARGS%
-%ECHOVARS.V% CMDLINE
+set ^"CMDLINE=!ARGS!^"
+call :ConvertEntities CMDLINE
 if not %NLOOPS%==1 echo Start at %TIME% & set "T0=%TIME%"
-for /l %%n in (1,1,%NLOOPS%) do call %CMDLINE%
+for /l %%n in (1,1,%NLOOPS%) do call !CMDLINE!
 if not %NLOOPS%==1 echo End at %TIME% & set "T1=%TIME%"
 if not %NLOOPS%==1 call :Time.Delta %T0% %T1% -f & echo Delta = !DH!:!DM!:!DS!.!DMS:~0,2!
 %CMD_AFTER%
@@ -3874,13 +4081,12 @@

 :call_macro_line
 %CMD_BEFORE%
-echo :call_macro_line %ARGS%
 %POPARG%
-set CMDLINE=%%%ARG%%% %ARGS%
-%ECHOVARS.V% CMDLINE
+set ^"CMDLINE=%%%ARG%%% !ARGS!^"
+call :ConvertEntities CMDLINE
+%ECHOVARS.D% CMDLINE
 if not %NLOOPS%==1 echo Start at %TIME% & set "T0=%TIME%"
-:# for /l %%n in (1,1,%NLOOPS%) do cmd /c echo off ^& %%%ARG%%% %ARGS%
-for /l %%n in (1,1,%NLOOPS%) do (echo off & %CMDLINE%) | more
+for /l %%n in (1,1,%NLOOPS%) do call !CMDLINE!
 if not %NLOOPS%==1 echo End at %TIME% & set "T1=%TIME%"
 if not %NLOOPS%==1 call :Time.Delta %T0% %T1% -f & echo Delta = !DH!:!DM!:!DS!.!DMS:~0,2!
 %CMD_AFTER%
@@ -3890,21 +4096,6 @@
 :# Test call N command lines. Display start/end time if looping.
 :# Do not add anything to the inner do loop, such as echoing the command, as this
 :# would prevent from doing accurate measurements of the duration of the commands.
-
-:# Convert the supported html entities to their corresponding character
-:convert_entities %1=variable name
-setlocal EnableDelayedExpansion
-set "ARG=!%1!"
-for %%e in (quot lt gt amp vert rpar lpar rbrack lbrack sp bs cr lf) do (
-  call set "ARG=%%ARG:[%%e]=!DEBUG.%%e!%%"
-)
-:# Then convert special characters that need quoting to survive the return
-set "ARG=!ARG:[percnt]=%%!"
-set "ARG=!ARG:[Hat]=^^^^^^^^^^^^^^^^!"
-set "ARG=%ARG:[excl]=^^^^^^^^^^^^^^^!%"
-set "ARG=!ARG:[lbrack]=[!" &:# Must be converted last
-endlocal & set "%1=%ARG%" !
-goto :eof

 :call_all_cmds
 %IF_XDLEVEL% 3 set FUNCTION & set UPVAR & set RETURN &:# Dump the structured programming macros
@@ -3914,13 +4105,13 @@
 %POPARG%
 if not defined "ARG" goto :call_all_cmds.done_args
 set /a NCMDS+=1
-call :convert_entities ARG
+call :ConvertEntities ARG
 %IF_XDLEVEL% 2 set ARG | findstr ARG=
 set "CMD[%NCMDS%]=!ARG!"
 goto :call_all_cmds.next_arg
 :call_all_cmds.done_args
-if defined CMD_BEFORE call :convert_entities CMD_BEFORE
-if defined CMD_AFTER call :convert_entities CMD_AFTER
+if defined CMD_BEFORE call :ConvertEntities CMD_BEFORE
+if defined CMD_AFTER call :ConvertEntities CMD_AFTER
 %IF_DEBUG% %>DEBUGOUT% (
   if defined CMD_BEFORE set CMD_BEFORE
   set CMD[
@@ -4278,6 +4469,10 @@
 echo   -qe      Query the current cmd extensions and delayed expansion settings
 echo   -r       Test %%EXEC%% with an output redirection to exec.log
 echo   -R       Test %%EXEC%% without an output redirection
+echo   -te CMDLINE [EXP] [#PARSE] [#w.EXP]  Test escaping a command line. (1)
+echo            EXP=0^|1 or off^|on : Delayed ^^!expansion^^!. Default: on
+echo            #PARSE : Number of parsings to escape for. Default: 1
+echo            #w.EXP : Number of those with delayed ^^!expansion^^!. Default: 0^|#PARSE
 echo   -v       Verbose mode. Display commands executed
 echo   -V       Display the script version and exit
 echo   -X       Display commands to execute, but don't execute them
@@ -4295,17 +4490,18 @@
 set "NLOOPS=1"
 set "CMD_AFTER="
 set "CMD_BEFORE="
-
+set "CMDLINE=!ARG0! !ARGS!"
 :next_arg
 if not defined ARGS set "ARG=" & set ""ARG"=" & goto :Start
 %POPARG%
+%ECHOVARS.D% ARG ARGS
 if "!ARG!"=="-?" goto :Help
 if "!ARG!"=="/?" goto :Help
 if "!ARG!"=="-a" %POPARG% & set "CMD_AFTER=!ARG!" & goto next_arg
 if "!ARG!"=="-b" %POPARG% & set "CMD_BEFORE=!ARG!" & goto next_arg
 if "!ARG!"=="-c" goto :call_all_cmds
 if "!ARG!"=="-C" goto :call_cmd_line
-if "!ARG!"=="-d" call :Debug.On & goto next_arg
+if "!ARG!"=="-d" call :Debug.On & %ECHOVARS% CMDLINE ARG ARGS & goto next_arg
 if "!ARG!"=="-d0" set ">DEBUGOUT=>NUL" & call :Debug.On & goto next_arg	&:# Useful for library performance measurements
 if "!ARG!"=="-d1" set ">DEBUGOUT=>&3" & call :Debug.On & goto next_arg	&:# Useful to test debug output routines to
 if "!ARG!"=="-d2" set ">DEBUGOUT=>&2" & call :Debug.On & goto next_arg	&:# Useful to test debug output routines
@@ -4317,6 +4513,8 @@
 if "!ARG!"=="-qe" endlocal & (set ECHO=echo) & goto :extensions.show
 if "!ARG!"=="-r" call :Debug.Setlog test.log & %EXEC% cmd /c %SCRIPT% -? ">"exec.log & goto :eof
 if "!ARG!"=="-R" call :Debug.Setlog test.log & %EXEC% cmd /c %SCRIPT% -? & goto :eof
+if "!ARG!"=="-tc" goto :TestConvertEntities &:# Test routine :ConvertEntities
+if "!ARG!"=="-te" goto :TestEscapeCmdString &:# Test routine :EscapeCmdString
 if "!ARG!"=="-tg" %POPARG% & call :GetServerAddress !ARG! & %ECHOVARS% ADDRESS & goto :eof &:# Test routine GetServerAddress
 if "!ARG!"=="-v" call :Verbose.On & goto next_arg
 if "!ARG!"=="-V" (echo.%VERSION%) & goto :eof


Added script to reset transactions for windows

error: pathspec 'doc/transacties-herstellen.bat' did not match any file(s) known to git

--- doc/transacties-herstellen.bat
+++ doc/transacties-herstellen.bat
@@ -0,0 +1,40 @@
+@echo off
+
+@if exist "C:\Program Files\e-Gulden\egulden-qt.exe" (
+    echo e-Gulden Core gevonden!
+    echo We starten e-Gulden nu in een speciale modus. U hoeft dit programma niet nog eens uit te voeren.
+    echo.
+    echo Uw transactiegeschiedenis is nog niet zichtbaar. Geef de wallet de tijd om bij te werken.
+    echo.
+    "C:\Program Files\e-Gulden\egulden-qt.exe" -zapwallettxes=1
+) else if exist "C:\Program Files (x86)\e-Gulden\egulden-qt.exe" (
+    echo e-Gulden Core gevonden!
+    echo We starten e-Gulden nu in een speciale modus. U hoeft dit programma niet nog eens uit te voeren.
+    echo.
+    echo Uw transactiegeschiedenis is nog niet zichtbaar. Geef de wallet de tijd om bij te werken.
+    echo.
+    "C:\Program Files (x86)\e-Gulden\egulden-qt.exe" -zapwallettxes=1
+) else if exist egulden-qt.exe (
+    echo e-Gulden Core gevonden!
+    echo We starten e-Gulden nu in een speciale modus. U hoeft dit programma niet nog eens uit te voeren.
+    echo.
+    echo Uw transactiegeschiedenis is nog niet zichtbaar. Geef de wallet de tijd om bij te werken.
+    echo.
+    egulden-qt.exe -zapwallettxes=1
+) else (
+    echo.
+    echo Sorry, wij kunnen egulden-qt.exe niet vinden.
+    echo.
+    echo Zodra u op een toets drukt openen we een browser waarmee u de laatste versie kunt downloaden.
+    echo.
+    echo U kunt, zodra u de nieuwste versie geinstalleerd heeft, dit bestand opnieuw uitvoeren.
+    echo.
+    echo Indien u de nieuwste versie reeds geinstalleerd heeft en u deze melding blijft zien verzoeken wij u een mail te sturen naar foundation@e-gulden.org.
+    echo.
+
+    @pause
+
+    @start "" https://github.com/Electronic-Gulden-Foundation/egulden/releases/latest
+)
+
+@pause


PNacl: Have redirect.bat on windows add Python to the PATH.
We may need to think about how to better locate Python on Windows.
For now, use the Python provided in the third_party directory.

TBR=jvoung
Review URL: http://codereview.chromium.org/7367001

git-svn-id: 721b910a23eff8a86f00c8fd261a7587cddf18f8@6044 fcba33aa-ac0c-11dd-b9e7-8d5594d729c2

--- tools/llvm/driver/redirect.bat
+++ tools/llvm/driver/redirect.bat
@@ -18,6 +18,11 @@
 :: Stop incessant CYGWIN complains about "MS-DOS style path"
 set CYGWIN=nodosfilewarning %CYGWIN%

+:: TODO(pdox): For the toolchain to be hermetic and relocatable,
+:: we may need to arrange to include Python in our distribution.
+:: For now, use the Python included in the repository checkout.
+set PATH=%~dp0..\..\..\..\third_party\python_26;%PATH%
+
 :: Run the driver
 :: For now, assume "python" is in the PATH.
 python -OO "%~dp0\%~n0" %*


Updating the deployment script.

Updating the deployment script.

--- DeployToNuget.bat
+++ DeployToNuget.bat
@@ -15,17 +15,21 @@
 REM Requests the API Key
 REM ====================
 SET /p NuGetApiKey= Please enter the project's NuGet API Key:
+nuget.exe setApiKey %NuGetApiKey%

 SET package="src\Bumblebee.KendoUI\Bumblebee.KendoUI.csproj"

 REM Create the Package
 REM ==================
+ECHO "Restoring project found here:  %package%."
+nuget.exe restore %package%
+
 ECHO "Packing/Pushing project found here:  %package%."
-nuget.exe pack -Build -OutputDirectory build %package% -Prop Configuration=Release
+dotnet build %package% -c Release
+dotnet pack %package% --no-build -o ..\..\build -c Release

 REM Push to Nuget
 REM =============
 cd build
-
-nuget.exe push Bumblebee.Automation.KendoUI.*.nupkg %NuGetApiKey% -Source https://www.nuget.org/api/v2/package
-cd ..
+dotnet nuget push *.nupkg -s https://api.nuget.org/v3/index.json
+cd ..


Delete jar after packaging in zip

Delete jar after packaging in zip

--- Greedy/deploy.bat
+++ Greedy/deploy.bat
@@ -2,4 +2,5 @@
 del greedy.zip
 java -jar out/proguard5.0/lib/proguard.jar @proguard.config
 "C:\Program Files\7-Zip\7za.exe" a -tzip greedy.zip greedy.jar
+del greedy.jar
 PAUSE


Restore packages in build.cmd (#87)

Restore packages in build.cmd (#87)

--- Maestro/build.cmd
+++ Maestro/build.cmd
@@ -13,6 +13,9 @@
   exit /b 1
 )

+set nuGetVersion=v3.4.4
+set cachedNuGetDir=%LocalAppData%\NuGet\%nuGetVersion%
+set cachedNuGet=%cachedNuGetDir%\NuGet.exe
 set logFile="%~dp0build.log"
 set solutionPath="%~dp0Microsoft.DotNet.Maestro.sln"
 set buildArgs=/nologo /maxcpucount /nodeReuse:false /v:minimal /clp:Summary /flp:Verbosity=detailed;LogFile=%logFile%;Append %*
@@ -20,6 +23,15 @@
 REM Add msbuild to the path for the current process.
 call "%VS140COMNTOOLS%\VsMSBuildCmd.bat"

+if not exist %cachedNuGet% (
+  echo Downloading NuGet.exe %nuGetVersion%.
+  if not exist %cachedNuGetDir% mkdir %cachedNuGetDir%
+  @powershell -NoProfile -ExecutionPolicy unrestricted -Command "$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest 'https://dist.nuget.org/win-x86-commandline/%nuGetVersion%/NuGet.exe' -OutFile '%cachedNuGet%'"
+)
+
+echo Restoring packages for %solutionPath%
+%cachedNuGet% restore %solutionPath%
+
 echo Building %solutionPath%
 echo msbuild %solutionPath% %buildArgs%> %logFile%
 echo.>> %logFile%


appveyor: set path for MinGW

appveyor: set path for MinGW

--- testing/appveyor-scripts/build-test.bat
+++ testing/appveyor-scripts/build-test.bat
@@ -6,12 +6,18 @@
 cd c:\projects\pksav\test-env\build
 if not !ERRORLEVEL!==0 goto fail

+:: MinGW builds can't have sh.exe in the PATH, which is the case by default
+
+if not !ERRORLEVEL!==0 goto fail
+if "x%GENERATOR_NAME%"=="xMinGW Makefiles" (
+    set PATH="C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin;C:\Program Files (x86)\CMake\bin"
+)
+
 cmake -G "%GENERATOR_NAME%" -DCMAKE_BUILD_TYPE=Release ..\..
-if not !ERRORLEVEL!==0 goto fail

 :: Generator-specific build command
 if "x%GENERATOR_NAME%"=="xMinGW Makefiles" (
-    make
+    mingw32-make
 ) else (
     msbuild /p:configuration=Release ALL_BUILD.vcxproj
 )


Removed unused environment variable

Removed unused environment variable

--- bin/_mb.bat
+++ bin/_mb.bat
@@ -109,6 +109,5 @@
 	if "%PYBLISH_LITE%"=="" echo   - %%PYBLISH_LITE%%
 	if "%PYBLISH_QML%"=="" echo   - %%PYBLISH_QML%%
 	if "%MINDBENDER_CORE%"=="" echo   - %%MINDBENDER_CORE%%
-	if "%PYBLISH_USERNAME%"=="" echo   - %%PYBLISH_USERNAME%%

 	exit /b


Delete pdb files so they are not included in source zips.

--- scripts/ba.bat
+++ scripts/ba.bat
@@ -9,6 +9,7 @@
 cd win32
 nmake -f scintilla.mak
 cd ..
+del/q bin\*.pdb
 cd ..
 cd scite
 del/q bin\*.properties


Update buildvc.bat

Update buildvc.bat

--- extensions/ringsdl/buildvc.bat
+++ extensions/ringsdl/buildvc.bat
@@ -1,8 +1,5 @@
 cls
 call ../../src/locatevc.bat
-cl /c /DEBUG ring_libsdl.c -I"..\..\libdepwin\sdl2vc\include" -I"..\..\libdepwin\sdl2_image\include" -I"..\..\libdepwin\sdl2_ttf\include" -I"..\..\libdepwin\sdl2_mixer\include" -I"..\..\libdepwin\sdl2_net\include" -I"sdl2_gfx" -I"..\..\include"
-link /DEBUG ring_libsdl.obj  ..\..\lib\ring.lib ..\..\libdepwin\sdl2vc\lib\x86\sdl2.lib ..\..\libdepwin\sdl2_image\lib\x86\sdl2_image.lib ..\..\libdepwin\sdl2_ttf\lib\x86\sdl2_ttf.lib ..\..\libdepwin\sdl2_mixer\lib\x86\sdl_mixer.lib ..\..\libdepwin\sdl2_net\lib\x86\sdl2_net.lib ..\..\libdepwin\sdl2vc\lib\x86\sdl2main.lib /DLL /OUT:..\..\bin\ring_sdl.dll /SUBSYSTEM:WINDOWS,"5.01" /NODEFAULTLIB:msvcrt.lib
-del ring_libsdl.obj
-copy libsdl.ring ..\..\bin
-copy sdl.rh ..\..\bin
-copy ring_libsdl.rh ..\..\bin+cl /c /DEBUG ring_libsdl.c -I"..\..\libdepwin\libsdl\sdl2_vc\include" -I"..\..\libdepwin\libsdl\sdl2_image\include" -I"..\..\libdepwin\libsdl\sdl2_ttf\include" -I"..\..\libdepwin\libsdl\sdl2_mixer\include" -I"..\..\libdepwin\libsdl\sdl2_net\include" -I"sdl2_gfx" -I"..\..\include"
+link /DEBUG ring_libsdl.obj  ..\..\lib\ring.lib ..\..\libdepwin\libsdl\sdl2_vc\lib\x86\sdl2.lib ..\..\libdepwin\libsdl\sdl2_image\lib\x86\sdl2_image.lib ..\..\libdepwin\libsdl\sdl2_ttf\lib\x86\sdl2_ttf.lib ..\..\libdepwin\libsdl\sdl2_mixer\lib\x86\sdl2_mixer.lib ..\..\libdepwin\libsdl\sdl2_net\lib\x86\sdl2_net.lib ..\..\libdepwin\libsdl\sdl2_vc\lib\x86\sdl2main.lib /DLL /OUT:..\..\bin\ring_sdl.dll /SUBSYSTEM:WINDOWS,"5.01" /NODEFAULTLIB:msvcrt.lib
+del ring_libsdl.obj


command multiple lines

command multiple lines

--- .scripts/InitializeSonarqubeAnalysis.bat
+++ .scripts/InitializeSonarqubeAnalysis.bat
@@ -39,7 +39,17 @@
 		@echo off
 		REM /d:"sonar.cs.vstest.reportsPaths=%APPVEYOR_BUILD_FOLDER%\TestResults.trx"
 		REM SonarQube.Scanner.MSBuild.exe begin /k:"PlaygroundDotNetCore" /d:"sonar.host.url=https://sonarcloud.io" /v:"%appveyor_build_version%" /d:"sonar.cs.opencover.reportsPaths=coverage-dotnet.xml" /d:"sonar.cs.xunit.reportsPaths=xunit-results.xml"              /d:"sonar.login=%sonar_login%" /n:"PlaygroundDotNetCore
-		SonarQube.Scanner.MSBuild.exe begin    /k:"PlaygroundDotNetCore" /n:"PlaygroundDotNetCore" /d:sonar.cs.opencover.reportsPaths="coverage-dotnet.xml" /d:"sonar.cs.vstest.reportsPaths=%APPVEYOR_BUILD_FOLDER%\TestResults.trx" /d:"sonar.organization=coenm-github" /d:"sonar.host.url=https://sonarcloud.io" /d:"sonar.login=%sonar_login%" /v:%appveyor_build_version% /d:"sonar.branch=%GitVersion_BranchName%" /d:"sonar.cpd.cross_project=true"
+		SoarQube.Scanner.MSBuild.exe begin    ^
+		  /k:"PlaygroundDotNetCore" ^
+		  /n:"PlaygroundDotNetCore" ^
+		  /d:sonar.cs.opencover.reportsPaths="coverage-dotnet.xml" ^
+		  /d:"sonar.cs.vstest.reportsPaths=%APPVEYOR_BUILD_FOLDER%\TestResults.trx" ^
+		  /d:"sonar.organization=coenm-github" ^
+		  /d:"sonar.host.url=https://sonarcloud.io" ^
+		  /d:"sonar.login=%sonar_login%" ^
+		  /v:%appveyor_build_version% ^
+		  /d:"sonar.branch=%GitVersion_BranchName%" ^
+		  /d:"sonar.cpd.cross_project=true"

 		REM SonarQube.Scanner.MSBuild.exe begin /X /k:"PlaygroundDotNetCore" /d:"sonar.host.url=https://sonarcloud.io" /v:"%appveyor_build_version%" /d:"sonar.cs.opencover.reportsPaths=coverage-dotnet.xml" /d:"sonar.login=%sonar_login%" /n:"PlaygroundDotNetCore"
 	)


Tentative fix.

Tentative fix.

--- shorten_path.bat
+++ shorten_path.bat
@@ -1,8 +1,8 @@
 @echo off

 SET MyPath=%PATH%
-echo %MyPath%
-echo --
+rem echo %MyPath%
+rem echo --

 setlocal EnableDelayedExpansion

@@ -12,9 +12,9 @@
     IF exist %%~sa (
         SET "var=!var!;%%~sa"
     ) ELSE (
-        echo %%a does not exist
+        rem echo %%a does not exist
     )
 )

-echo --
+rem echo --
 echo !var:~1!


Script for running db2 CLI as asup on Windows

error: pathspec 'ZScripts/db2/asupdb2.bat' did not match any file(s) known to git

--- ZScripts/db2/asupdb2.bat
+++ ZScripts/db2/asupdb2.bat
@@ -0,0 +1,2 @@
+cd "C:\Program Files\IBM\SQLLIB\BIN\"
+runas /user:asup "C:\Progra~1\IBM\SQLLIB\BIN\DB2CMD.exe DB2SETCP.BAT DB2.EXE"


Compilation to package game

Compilation to package game

error: pathspec 'compile.cmd' did not match any file(s) known to git

--- compile.cmd
+++ compile.cmd
@@ -0,0 +1 @@
+lein uberjar


bat stuff

bat stuff

--- copy_vim_windows.bat
+++ copy_vim_windows.bat
@@ -7,8 +7,9 @@
 :: After install, re-run install.py
 :: Install PowerLine fonts https://medium.com/@slmeng/how-to-install-powerline-fonts-in-windows-b2eedecace58
 :: Make sure swap directories (i.e. C:\temp\vim) exist
+::

 xcopy configs\_gvimrc "C:\Program Files (x86)\Vim\_gvimrc" /D /H /R /Y /K
 xcopy configs\_vimrc "C:\Program Files (x86)\Vim\_vimrc" /D /H /R /Y /K
 xcopy "C:\Program Files (x86)\Vim\_gvimrc" configs\_gvimrc /D /H /R /Y /K
-xcopy "C:\Program Files (x86)\Vim\_vimrc" configs\_vimrc /D /H /R /Y /K+xcopy "C:\Program Files (x86)\Vim\_vimrc" configs\_vimrc /D /H /R /Y /K


installLastDebug.bat

installLastDebug.bat

error: pathspec 'androidapp/installLastDebug.bat' did not match any file(s) known to git

--- androidapp/installLastDebug.bat
+++ androidapp/installLastDebug.bat
@@ -0,0 +1,43 @@
+@echo off
+
+:config
+set path_prj=com.rejh.icerrr.itson
+set name_prj=Icerrr
+set android_sdk_extras=\Android-sdk-extras\
+
+:findandroidbat
+if exist C:\android\android-sdk\tools\android.bat set androidsdk=C:\android\android-sdk\
+if exist C:\android\sdk\tools\android.bat set androidsdk=C:\android\sdk\
+
+:checkandroidbat
+if exist %androidsdk% goto installapp
+echo.
+echo Error: could not locate android.bat
+echo Please edit this batch file and under 'findandroidbat' add the path to your copy of [android-sdk]/tools/android.bat
+goto error
+
+:installapp
+echo.
+echo Installing app...
+echo.
+
+%androidsdk%platform-tools\adb devices
+%androidsdk%platform-tools\adb -d install -r _apks\%name_prj%-debug.apk
+if not errorlevel 0 goto error
+
+%androidsdk%platform-tools\adb -d shell am start %path_prj%/.%name_prj%
+if not errorlevel 0 goto error
+
+goto end
+
+:error
+echo.
+echo Error!
+echo.
+pause
+goto end
+
+:end
+cd ..
+echo.
+choice /C QYN /N /T 10 /D N /M "Press 'Q' to quit"


(build.bat): Made .sln file and Configuration property configurable.

--- src/xl-winhttp-helper/build.bat
+++ src/xl-winhttp-helper/build.bat
@@ -1,12 +1,22 @@
 @echo off
 setlocal

-set TARGET=Release
+if not "%1"=="" (
+  set TARGET=%1
+) else (
+  set TARGET=Release
+)
+
+if not "%2"=="" (
+  set SLN=%2
+) else (
+  set SLN=xl-winhttp-helper.sln
+)

 set _CD=%CD%
 cd %~dp0

-msbuild xl-winhttp-helper.sln /p:Configuration=%TARGET%
+msbuild %SLN% /p:Configuration=%TARGET%
 if not %ERRORLEVEL%==0 goto :end

 copy /Y %TARGET%\xl-winhttp-helper.dll ..\..\site-lisp\xl-winhttp\ffi


fix typo (related to #3670?)

fix typo (related to #3670?)


Fixed macros RETURN0 and RETURN#. Changed %EXEC% to not capture commands output by default.

--- Batch/Library.bat
+++ Batch/Library.bat
@@ -189,6 +189,8 @@
 :#		    library from an outside script.                           #
 :#   2016-12-08 JFL Moved the most common initializations into :Library.Init. #
 :#   2016-12-12 JFL Fixed function call/return logging when sourcing this lib.#
+:#   2016-12-14 JFL Fixed macros RETURN0 and RETURN#.                         #
+:#   2016-12-16 JFL Changed %EXEC% to not capture commands output by default. #
 :#		                                                              #
 :#          Copyright 2016 Hewlett Packard Enterprise Development LP         #
 :# Licensed under the Apache 2.0 license  www.apache.org/licenses/LICENSE-2.0 #
@@ -204,7 +206,7 @@
 if '%1'=='call' %*& exit /b

 setlocal EnableExtensions EnableDelayedExpansion
-set "VERSION=2016-12-12"
+set "VERSION=2016-12-16"
 set "SCRIPT=%~nx0"				&:# Script name
 set "SPATH=%~dp0" & set "SPATH=!SPATH:~0,-1!"	&:# Script path, without the trailing \
 set  "ARG0=%~f0"				&:# Script full pathname
@@ -586,9 +588,10 @@

 set "MACRO=for %%$ in (1 2) do if %%$==2"				&:# Prolog code of a macro
 set "/MACRO=else setlocal enableDelayedExpansion %&% set MACRO.ARGS="	&:# Epilog code of a macro
+set "ENDMACRO=endlocal"	&:# Ends the macro local scope started in /MACRO. Necessary before macro exit.

 set "ON_MACRO_EXIT=for /f "delims=" %%r in ('echo"	&:# Begin the return variables definitions
-set "/ON_MACRO_EXIT=') do endlocal %&% %%r"		&:# End the return variables definitions
+set "/ON_MACRO_EXIT=') do %ENDMACRO% %&% %%r"		&:# End the return variables definitions

 :# Primitive macro debugging definitions
 :# Macros, usable anywhere, including within other macros, for conditionally displaying debug information
@@ -768,12 +771,12 @@
       ) %\n%
       call set "DEBUG.MSG=%'!%DEBUG.MSG:%%=%%DEBUG.excl%%%'!%" %# Change all percent to ! #%  %\n%
       if defined ^^%>%DEBUGOUT ( %# If we use a debugging stream distinct from stdout #% %\n%
-	%!%LCALL%!% :Echo.Eval2DebugOut DEBUG.MSG %# Use a helper routine, as delayed redirection does not work #% %\n%
+	%LCALL% :Echo.Eval2DebugOut DEBUG.MSG %# Use a helper routine, as delayed redirection does not work #% %\n%
       ) else ( %# Output directly here, which is faster #% %\n%
 	for /f "delims=" %%c in ("%'!%INDENT%'!%%'!%DEBUG.MSG%'!%") do echo %%c%# Use a for loop to do a double !variable! expansion #%%\n%
       ) %\n%
       if defined LOGFILE ( %# If we have to send a copy to a log file #% %\n%
-	%!%LCALL%!% :Echo.Eval2LogFile DEBUG.MSG %# Use a helper routine, as delayed redirection does not work #% %\n%
+	%LCALL% :Echo.Eval2LogFile DEBUG.MSG %# Use a helper routine, as delayed redirection does not work #% %\n%
       ) %\n%
     ) %\n%
     for %%r in (%!%DEBUG.EXITCODE%!%) do ( %# Carry the return values through the endlocal barriers #% %\n%
@@ -864,12 +867,12 @@
   if %!%DEBUG%!%==1 ( %# Build the debug message and display it #% %\n%
     set DEBUG.MSG=call %!%FUNCTION.NAME%!% %!%ARGS%!%%\n%
     if defined ^^%>%DEBUGOUT ( %# If we use a debugging stream distinct from stdout #% %\n%
-      %!%LCALL%!% :Echo.2DebugOut DEBUG.MSG %# Use a helper routine, as delayed redirection does not work #% %\n%
+      %LCALL% :Echo.2DebugOut DEBUG.MSG %# Use a helper routine, as delayed redirection does not work #% %\n%
     ) else ( %# Output directly here, which is faster #% %\n%
       echo%!%INDENT%!% %!%DEBUG.MSG%!%%\n%
     ) %\n%
     if defined LOGFILE ( %# If we have to send a copy to a log file #% %\n%
-      %!%LCALL%!% :Echo.2LogFile DEBUG.MSG %# Use a helper routine, as delayed redirection does not work #% %\n%
+      %LCALL% :Echo.2LogFile DEBUG.MSG %# Use a helper routine, as delayed redirection does not work #% %\n%
     ) %\n%
     call set "INDENT=%'!%INDENT%'!%  " %\n%
   ) %\n%
@@ -877,12 +880,11 @@
   if not defined MACRO.ARGS set "MACRO.ARGS=%'!%MACRO.EXP%'!%" %\n%
   setlocal %!%MACRO.ARGS%!% %\n%
 ) %/MACRO%
-set "RETURN0=%LCALL% :Debug.Return0 & exit /b"
+set "RETURN0=call %LCALL% :Debug.Return0 %%ERRORLEVEL%% & exit /b"
 :# Macro for displaying comments on the return log line
-set RETURN#=set "RETURN#ERR=%'!%ERRORLEVEL%'!%" %&% %MACRO% ( %\n%
-  set RETVAL=%!%MACRO.ARGS:~1%!%%\n%
-  %!%LCALL%!% :Debug.Return0 %!%RETURN#ERR%!% %\n%
-  %ON_MACRO_EXIT% set "INDENT=%'!%INDENT%'!%" %/ON_MACRO_EXIT% %&% set "RETURN#ERR=" %&% exit /b %\n%
+set RETURN#=call set "RETURN.ERR=%%ERRORLEVEL%%" %&% %MACRO% ( %\n%
+  %LCALL% :Debug.Return# %# Redirections can't work in macro. Do it in a function. #% %\n%
+  for %%r in (%!%RETURN.ERR%!%) do %ENDMACRO% %&% set "RETURN.ERR=" %&% call set "INDENT=%%INDENT:~2%%" %&% exit /b %%r %\n%
 ) %/MACRO%
 set "EXEC.ARGS= %EXEC.ARGS%"
 set "EXEC.ARGS=%EXEC.ARGS: -d=% -d"
@@ -908,11 +910,18 @@
 set "INDENT=%INDENT%  "
 goto :eof

-:Debug.Return0 %1=Optional exit code
-%>DEBUGOUT% echo %INDENT%return !RETVAL!
-if defined LOGFILE %>>LOGFILE% echo %INDENT%return !RETVAL!
+:Debug.Return0 %1=Exit code
+%>DEBUGOUT% echo %INDENT%return %1
+if defined LOGFILE %>>LOGFILE% echo %INDENT%return %1
 set "INDENT=%INDENT:~0,-2%"
 exit /b %1
+
+:Debug.Return# :# %RETURN.ERR% %MACRO.ARGS%
+setlocal DisableDelayedExpansion
+%>DEBUGOUT% echo %INDENT%return %RETURN.ERR% ^&:#%MACRO.ARGS%
+if defined LOGFILE %>>LOGFILE% echo %INDENT%return %RETURN.ERR% ^&:#%MACRO.ARGS%
+endlocal
+goto :eof &:# %RETURN.ERR% will be processed in the %DEBUG#% macro.

 :# Routine to set the VERBOSE mode, in response to the -v argument.
 :Verbose.Off
@@ -949,11 +958,13 @@
 goto :eof

 :Echo.Verbose
+:Echo.V
 %IF_VERBOSE% goto :Echo
 goto :Echo.Log

 :Echo.Debug
-%IF_DEBUG% goto :Echo
+:Echo.D
+%IF_DEBUG% %>DEBUGOUT% echo.%INDENT%%*
 goto :Echo.Log

 :Echo.Eval2DebugOut %1=Name of string, with !variables! that need to be evaluated first
@@ -1034,10 +1045,13 @@
 :#                  Exec	Conditionally execute a command, logging it.  #
 :#                  Exec.SetErrorLevel	Change the current ERRORLEVEL	      #
 :#                                                                            #
-:#  Exec Arguments  -L          Do not send the output to the log file.       #
+:#  Exec Arguments  -l          Log the output to the log file.               #
+:#                  -L          Do not send the output to the log file. (Dflt)#
 :#                  -t          Tee all output to the log file if there's a   #
-:#                              usable tee.exe. Default: Redirect all >> log. #
+:#                              usable tee.exe.                               #
 :#                              Known limitation: The exit code is always 0.  #
+:#                  -e          Always echo the command.		      #
+:#                  -v          Trace the command in verbose mode. (Default)  #
 :#                  -V          Do not trace the command in verbose mode.     #
 :#                  %*          The command and its arguments                 #
 :#                              Quote redirection operators. Ex:              #
@@ -1056,6 +1070,7 @@
 :#                  %IF_NOEXEC% Execute a command in NOEXEC mode only         #
 :#                  %_DO%       Echo and run a command. No opts. No logging.  #
 :#                  %_DO.D%     Idem, echoing it in debug mode only.          #
+:#                  %_DO.XVD%   Idem, echoing it in -X or -V or -D modes only.#
 :#                  %XEXEC%     Call :Exec from an external scriptlet, such   #
 :#                               one in a (for /f in ('commands')) block.     #
 :#                  %XEXEC@%    Idem, but with all args stored in one var.    #
@@ -1070,9 +1085,14 @@
 :#                  %EXEC.ARGS%	Arguments to recursively pass to subcommands  #
 :#                              with the same execution options conventions.  #
 :#                                                                            #
-:#  Notes           This framework can't be used from inside () blocks.       #
-:#                  This is because these blocks are executed separately      #
-:#                  in a child shell.                                         #
+:#  Notes           %EXEC% can't be used from inside ('command') blocks.      #
+:#                  This is because these blocks are executed separately in   #
+:#                  a child shell. Use %XEXEC% or %XEXEC@% instead.	      #
+:#		    These macros rely on the %XCALL% mechanism for calling    #
+:#		    subroutines in a second instance of a script. They depend #
+:#		    on the following line being present after the ARGS	      #
+:#		    variable definition at the top of your script:	      #
+:#		    if '%1'=='-call' !ARGS:~1!& exit /b			      #
 :#                                                                            #
 :#  History                                                                   #
 :#   2010-05-19 JFL Created this routine.                                     #
@@ -1104,6 +1124,8 @@
 :#		    some cases.)                                              #
 :#   2016-11-24 JFL Fixed executing commands containing a ^ character.        #
 :#		    Added routine :_Do.                                       #
+:#   2016-12-13 JFL Rewrote _DO as a pure macro.                              #
+:#   2016-12-15 JFL Changed the default to NOT redirecting the output to log. #
 :#		                                                              #
 :#----------------------------------------------------------------------------#

@@ -1114,19 +1136,23 @@
 :Exec.Init
 set "DO=%LCALL% :Do"
 set "EXEC=%LCALL% :Exec"
-set "_DO=%LCALL% :_Do"
-set "_DO.D=%LCALL% :_Do.D"
 set "ECHO.X=%LCALL% :Echo.X"
 set "ECHO.XD=%LCALL% :Echo.XD"
 set "ECHO.XVD=%LCALL% :Echo.XVD"
 if not .%NOEXEC%.==.1. set "NOEXEC=0"
-:# Execute commands
+:# Quick and simple DO macros, supporting a single command, no redirections, no tricky chars!
+set _DO=%MACRO%     ( %LCALL% :Echo     %!%MACRO.ARGS%!% %&% %ON_MACRO_EXIT%%!%MACRO.ARGS%!%%/ON_MACRO_EXIT% ) %/MACRO%
+set _DO.D=%MACRO%   ( %LCALL% :Echo.D   %!%MACRO.ARGS%!% %&% %ON_MACRO_EXIT%%!%MACRO.ARGS%!%%/ON_MACRO_EXIT% ) %/MACRO%
+set _DO.XD=%MACRO%  ( %LCALL% :Echo.XD  %!%MACRO.ARGS%!% %&% %ON_MACRO_EXIT%%!%MACRO.ARGS%!%%/ON_MACRO_EXIT% ) %/MACRO%
+set _DO.XVD=%MACRO% ( %LCALL% :Echo.XVD %!%MACRO.ARGS%!% %&% %ON_MACRO_EXIT%%!%MACRO.ARGS%!%%/ON_MACRO_EXIT% ) %/MACRO%
+:# Execute commands from another instance of the main script
 set "XEXEC=%XCALL% :Exec"
 set "XEXEC@=%XCALL% :Exec.ExecVar"
 :# Check if there's a tee.exe program available
-set "Exec.HaveTee=0"
-tee.exe --help >NUL 2>NUL
-if not errorlevel 1 set "Exec.HaveTee=1"
+:# set "Exec.HaveTee=0"
+:# tee.exe --help >NUL 2>NUL
+:# if not errorlevel 1 set "Exec.HaveTee=1"
+for %%t in (tee.exe) do set "Exec.tee=%%~$PATH:t"
 :# Initialize ERRORLEVEL with known values
 set "TRUE.EXE=(call,)"	&:# Macro to silently set ERRORLEVEL to 0
 set "FALSE.EXE=(call)"	&:# Macro to silently set ERRORLEVEL to 1
@@ -1180,11 +1206,12 @@
 setlocal EnableExtensions DisableDelayedExpansion &:# Clears the errorlevel
 :Exec.Start
 set "Exec.NOREDIR=%NOREDIR%"
-set "Exec.Redir=>>%LOGFILE%,2>&1"
-if .%NOREDIR%.==.1. set "Exec.Redir="
-if not defined LOGFILE set "Exec.Redir="
-if /i .%LOGFILE%.==.NUL. set "Exec.Redir="
-set "Exec.IF_VERBOSE=%IF_VERBOSE%"
+set "Exec.Redir="				&:# The selected redirection. Default: none
+set "Exec.2Redir=>>%LOGFILE%,2>&1"		&:# What to change it to, to enable redirection
+if .%NOREDIR%.==.1. set "Exec.2Redir="		&:# Several cases forbid redirection
+if not defined LOGFILE set "Exec.2Redir="
+if /i .%LOGFILE%.==.NUL. set "Exec.2Redir="
+set "Exec.IF_VERBOSE=%IF_VERBOSE%"		&:# Echo the command in verbose mode
 :# Record the command-line to execute.
 :# Never comment (set Exec.cmd) lines themselves, to avoid appending extra spaces.
 :# Use %*, but not %1 ... %9, because %N miss non-white argument separators like = , ;
@@ -1198,12 +1225,15 @@
 for /f "tokens=1* delims= " %%a in ("-!Exec.Cmd:*%1=!") do endlocal & set Exec.Cmd=%%b
 shift
 :Exec.GetArgs
+if "%~1"=="-l" set "Exec.Redir=%Exec.2Redir%" & goto :Exec.NextArg :# Do send the output to the log file
 if "%~1"=="-L" set "Exec.Redir=" & goto :Exec.NextArg :# Do not send the output to the log file
-if "%~1"=="-t" if defined LOGFILE ( :# Tee the output to the log file
+if "%~1"=="-t" if defined Exec.2Redir ( :# Tee the output to the log file
   :# Warning: This prevents from getting the command exit code!
-  if .%Exec.HaveTee%.==.1. if not .%NOREDIR%.==.1. set "Exec.Redir= 2>&1 | tee.exe -a %LOGFILE%"
+  if defined Exec.tee set "Exec.Redir= 2>&1 | %Exec.tee% -a %LOGFILE%"
   goto :Exec.NextArg
 )
+if "%~1"=="-e" set "Exec.IF_VERBOSE=if 1==1" & goto :Exec.NextArg :# Always echo the command
+if "%~1"=="-v" set "Exec.IF_VERBOSE=%IF_VERBOSE%" & goto :Exec.NextArg :# Echo the command in verbose mode
 if "%~1"=="-V" set "Exec.IF_VERBOSE=if 0==1" & goto :Exec.NextArg :# Do not echo the command in verbose mode
 :# Anything else is part of the command. Prepare to display it and run it.
 :# First stage: Split multi-char ops ">>" "2>" "2>>". Make sure to keep ">" signs quoted every time.
@@ -1260,18 +1290,6 @@
 call :Exec !%1:%%=%%%%!
 exit /b

-:# Echo a command, then run it as it is.
-:_Do
-%ECHO% %*
-%*
-goto :eof
-
-:# Echo a command in debug mode, then run it as it is.
-:_Do.D
-%>DEBUGOUT% %ECHO.D% %*
-%*
-goto :eof
-
 :Exec.End

 :#----------------------------------------------------------------------------#
@@ -1357,17 +1375,17 @@
 goto :eof

 :Return#.Test1
-%FUNCTION%
-if %1==0 %TRUE.EXE% & %RETURN#% 0
-%FALSE.EXE% & %RETURN#% 1
+%FUNCTION0%
+if %1==0 %TRUE.EXE% & %RETURN#% ErrorLevel Zero
+%FALSE.EXE% & %RETURN#% ErrorLevel One

 :Return#.Test
 call :Return#.Test1 0
-echo ERRORLEVEL=%ERRORLEVEL% Expected 0
+%ECHO% :# ERRORLEVEL=%ERRORLEVEL% Expected 0
 call :Return#.Test1 1
-echo ERRORLEVEL=%ERRORLEVEL% Expected 1
+%ECHO% :# ERRORLEVEL=%ERRORLEVEL% Expected 1
 call :Return#.Test1 0
-echo ERRORLEVEL=%ERRORLEVEL% Expected 0
+%ECHO% :# ERRORLEVEL=%ERRORLEVEL% Expected 0
 goto :eof

 :#----------------------------------------------------------------------------#
@@ -3746,22 +3764,30 @@
 %ECHO% This is function 0
 call :Func1
 %RETURN0%
+%ECHO% Failed to return from :Func0
+exit /b

 :Func1
 %FUNCTION0%
 %ECHO% This is function 1
 %RETURN0%
+%ECHO% Failed to return from :Func1
+exit /b

 :Func#0
 %FUNCTION0%
 %ECHO% This is function #0
 call :Func#1
 %RETURN#% Returning from function #0
+%ECHO% Failed to return from :Func#0
+exit /b

 :Func#1
 %FUNCTION0%
 %ECHO% This is function #1
-%RETURN0% Returning from function #1
+%RETURN#% Returning from function #1
+%ECHO% Failed to return from :Func#1
+exit /b

 :#----------------------------------------------------------------------------#
 :# Test %EXEC% and errorlevels, on entry and exit
@@ -3958,6 +3984,27 @@
 set "STRING=@||&&(())<<>>^^^^,,;;  %%%%^!^!**??[[]]==~~''%%CD%%_^!CD^!"
 call :testLogFunc 0 RESULT "!STRING:%%=%%%%!"
 exit /b 0
+
+:#----------------------------------------------------------------------------#
+
+:test_do
+
+set "VAR=BEFORE"
+%ECHOVARS% VAR
+%_DO% setlocal EnableExtensions
+set "VAR=AFTER"
+%ECHOVARS% VAR
+%_DO% endlocal
+%ECHOVARS% VAR
+
+%ECHO%
+%ECHOVARS% CD
+%_DO% pushd "%TEMP%"
+%ECHOVARS% CD
+%_DO% popd
+%ECHOVARS% CD
+
+goto :eof

 :#----------------------------------------------------------------------------#
 :#                                                                            #


Renamed EchoVal* & ECHOVAL* as EchoVals* & ECHOVALS* resp. Added routines :EchoStrings* and macro %ECHOSTRINGS*%. Fixed the %LCALL% mechanism in the absence of any arg.

--- Batch/Library.bat
+++ Batch/Library.bat
@@ -219,6 +219,9 @@
 :#   2020-02-14 JFL Added routines :is_empty_dir, :has_files, :has_dirs,      #
 :#		    :test_errorlevel                                          #
 :#   2020-03-13 JFL Added routines :EchoVal[.Debug] and macros %ECHOVAL[.D]%. #
+:#   2020-04-26 JFL Renamed EchoVal* & ECHOVAL* as EchoVals* & ECHOVALS* resp.#
+:#		    Added routines :EchoStrings* and macro %ECHOSTRINGS*%.    #
+:#		    Fixed the %LCALL% mechanism in the absence of any arg.    #
 :#		                                                              #
 :#          Copyright 2016 Hewlett Packard Enterprise Development LP         #
 :# Licensed under the Apache 2.0 license  www.apache.org/licenses/LICENSE-2.0 #
@@ -230,8 +233,8 @@
 ver | find "Windows NT" >NUL && goto ErrNT

 :# Mechanism for calling subroutines in this library, either locally or from another script.
-:# Called by (%LCALL% :label [arguments]), with LCALL defined in the Call module below.
-if '%1'=='call' %*& exit /b
+:# Called by (%LCALL% :label [arguments]), with LCALL defined in the "sourcing" block below.
+if '%1'=='call' goto :call

 setlocal EnableExtensions DisableDelayedExpansion &:# Make sure ! characters are preserved
 set "VERSION=2019-10-05"
@@ -250,9 +253,11 @@

 :# Mechanism for "sourcing" this library from another script.
 if '%1'=='source' (
-  endlocal &:# Define everything in the context of the caller script
+  endlocal & endlocal &:# Define everything in the context of the caller script
   if not "!!"=="" >&2 echo "%SFULL%" %1 Error: Must be called with DelayedExpansion ENABLED. & exit /b 1
   set ^"LCALL=call "%SFULL%" call^"	&rem :# This is the full path of this library's ARG0
+) else (
+  set "LCALL=call"
 ) &:# Now initialize the library modules, then return to the parent script.

 :# Initialize the most commonly used library components.
@@ -262,6 +267,13 @@

 :# Go process command-line arguments
 goto Main
+
+:# Mechanism for calling subroutines in this library, either locally or from another script.
+:# Called by (%LCALL% :label [arguments]), with LCALL defined in the "sourcing" block above.
+:# Note: We cannot do (if '%1'=='call' %*&exit /b) above, as this fails if %* is empty.
+:call
+%*
+exit /b

 :Err9X
 echo Error: Does not work on Windows 9x
@@ -673,7 +685,7 @@
 :#                  EchoVars	    Display a set of variables name=value     #
 :#                  EchoStringVars  Display a string, then a set of variables #
 :#                  EchoArgs	    Display all arguments name=value          #
-:#                  EchoVal	    Display the value of one variable         #
+:#                  EchoVals	    Display the value of multiple variables   #
 :#		    All functions in that series have two other derivatives,  #
 :#                  with the .debug and .verbose suffix. Ex: Echo.Debug       #
 :#                  These display only in debug and verbose mode respectively,#
@@ -713,8 +725,13 @@
 :#                  %ECHOSVARS.V%   Idem, but display them in verb. mode only #
 :#                  %ECHOSVARS.D%   Idem, but display them in debug mode only #
 :#                                                                            #
-:#                  %ECHOVAL%       Echo the value of variable ARG1           #
-:#                  %ECHOVAL.D%     Idem, but display it in debug mode only   #
+:#                  %ECHOVALS%      Echo the value of multiple variables      #
+:#                  %ECHOVALS.V%    Idem, but display them in verb. mode only #
+:#                  %ECHOVALS.D%    Idem, but display them in debug mode only #
+:#                                                                            #
+:#                  %ECHOSTRINGS%   Echo the value of multiple quoted strings #
+:#                  %ECHOSTRINGS.V% Idem, but display them in verb. mode only #
+:#                  %ECHOSTRINGS.D% Idem, but display them in debug mode only #
 :#                                                                            #
 :#                  %IF_DEBUG%      Execute a command in debug mode only      #
 :#                  %IF_VERBOSE%    Execute a command in verbose mode only    #
@@ -739,7 +756,8 @@
 :#                                  Inherited. Default=. (empty string)       #
 :#                                                                            #
 :#  Notes           All output from these routines is sent to the log file.   #
-:#                  In debug mode, the debug output is also sent to stderr.   #
+:#                  The debug output is sent stdout or stderr, depending on   #
+:#                  variable %>DEBUGOUT%.				      #
 :#                                                                            #
 :#                  Traced functions are indented, based on the call depth.   #
 :#                  Use %ECHO% to get the same indentation of normal output.  #
@@ -876,10 +894,18 @@
 set "ECHOVARS.D=%LCALL% :EchoVars.Debug"
 set "ECHOSVARS.V=%LCALL% :EchoStringVars.Verbose"
 set "ECHOSVARS.D=%LCALL% :EchoStringVars.Debug"
-set "ECHOVAL=%LCALL% :EchoVal"
-set "ECHOVAL.D=%LCALL% :EchoVal.Debug"
+set "ECHOVALS=%LCALL% :EchoVals"
+set "ECHOVALS.V=%LCALL% :EchoVals.Verbose"
+set "ECHOVALS.D=%LCALL% :EchoVals.Debug"
+set "ECHOSTRINGS=%LCALL% :EchoStrings"
+set "ECHOSTRINGS.V=%LCALL% :EchoStrings.Verbose"
+set "ECHOSTRINGS.D=%LCALL% :EchoStrings.Debug"
 set "+INDENT=%LCALL% :Debug.IncIndent"
 set "-INDENT=%LCALL% :Debug.DecIndent"
+set ">MSGOUT.V[0]=rem"
+set ">MSGOUT.V[1]="
+set ">MSGOUT.D[0]=rem"
+set ">MSGOUT.D[1]=%>DEBUGOUT%"
 :# Variables inherited from the caller...
 :# Preserve INDENT if it contains just spaces, else clear it.
 for /f %%s in ('echo.%INDENT%') do set "INDENT="
@@ -904,7 +930,7 @@
 set "FUNCTION0=rem"
 set FUNCTION=%MACRO.GETEXP% %&% %MACRO% ( %\n%
   call set "FUNCTION.NAME=%%0" %\n%
-  call set ARGS=%%*%# Do not quote this, to keep string/non string aternance #%%\n%
+  call set ARGS=%%*%# Do not quote this, to keep string/non string alternance #%%\n%
   if defined ARGS set ARGS=%!%ARGS:^^^^^^^^^^^^^^^^=^^^^^^^^%!%%# ^carets are doubled in quoted strings, halved outside. => Quadruple them if using unquoted ones #%%\n%
   set "DEBUG.RETVARS=" %\n%
   if not defined MACRO.ARGS set "MACRO.ARGS=%'!%MACRO.EXP%'!%" %\n%
@@ -1117,28 +1143,57 @@
 shift
 goto EchoArgs.loop

-:# Echo the value of a variable
-:EchoVal	%1=VARNAME
-setlocal EnableExtensions EnableDelayedExpansion
-%>DEBUGOUT% echo.%INDENT%!%~1!
-if defined LOGFILE %>>LOGFILE% echo %INDENT%!%~1!
+:# Echo the value of multiple variables on the same line
+:EchoVals	%1=VARNAME, %2=VARNAME, ...
+setlocal EnableDelayedExpansion
+set ">MSGOUT="
+:EchoVals.1
+set "EchoVals.LINE=" &:# Use a qualified name, in case the caller passes a variable called LINE
+for %%v in (%*) do set "EchoVals.LINE=!EchoVals.LINE! !%%v!"
+if not defined EchoVals.LINE set "EchoVals.LINE= " &:# Make sure there's a head space even if the variable list was empty
+%>MSGOUT% echo.%INDENT%!EchoVals.LINE:~1!
+if defined LOGFILE %>>LOGFILE% echo.%INDENT%!EchoVals.LINE:~1!
 endlocal & exit /b

-:EchoVal.Debug
+:EchoVals.Verbose
+setlocal EnableDelayedExpansion
+set ">MSGOUT=!>MSGOUT.V[%VERBOSE%]!"
+goto :EchoVals.1
+
+:EchoVals.Debug
+setlocal EnableDelayedExpansion
+set ">MSGOUT=!>MSGOUT.D[%DEBUG%]!"
+goto :EchoVals.1
+
+:# Echo the value of multiple strings on the same line. They must not contain double quotes.
+:EchoStrings	%1=Quoted_String, %2=Quoted_String, ...
+setlocal DisableDelayedExpansion
+set ">MSGOUT="
+:EchoStrings.1
+set "LINE=" &:# No need for a qualified name, since we don't use caller variables
+for %%v in (%*) do set "LINE=%LINE% %%~v"
+if not defined LINE set "LINE= " &:# Make sure there's a head space even if the string list was empty
+%>MSGOUT% echo.%INDENT%%LINE:~1%
+if defined LOGFILE %>>LOGFILE% echo.%INDENT%%LINE:~1%
+endlocal & exit /b
+
+:EchoStrings.Verbose
+setlocal DisableDelayedExpansion
+%IF_VERBOSE% (
+  set ">MSGOUT="
+) else ( :# Make sure the variables are logged
+  set ">MSGOUT=rem"
+)
+goto :EchoStrings.1
+
+:EchoString1.Debug
+setlocal DisableDelayedExpansion
 %IF_DEBUG% (
-  call :EchoVal %*
+  set ">MSGOUT=%>DEBUGOUT%"
 ) else ( :# Make sure the variables are logged
-  call :EchoVal %* >NUL 2>NUL
-)
-exit /b
-
-:EchoVal.Verbose
-%IF_VERBOSE% (
-  call :EchoVal %*
-) else ( :# Make sure the variables are logged
-  call :EchoVal %* >NUL 2>NUL
-)
-exit /b
+  set ">MSGOUT=rem"
+)
+goto :EchoStrings.1

 :Debug.End


#GG-9044 Fixed exe run.

#GG-9044 Fixed exe run.

--- bin/ggstart.bat
+++ bin/ggstart.bat
@@ -225,9 +225,6 @@

 :error_finish

-if %ERRORLEVEL% neq 0 (
-    echo Visor exit with error
-    exit /b %ERRORLEVEL%
-)
+if not "%NO_PAUSE%" == "1" pause

 goto :eof


fixed error in distribution build script

--- build-distr/make-win-mingw32.bat
+++ build-distr/make-win-mingw32.bat
@@ -5,6 +5,8 @@

 del /Q /F /S *.exe
 del /Q /F /S *.dll
+mkdir "%CD%\platforms"
+del /Q /F /S "%CD%\platforms\*.*"
 mkdir "%CD%\sqldrivers"
 del /Q /F /S "%CD%\sqldrivers\*.*"

@@ -18,6 +20,7 @@
 xcopy /Y /R "%QT_DIR%\bin\Qt5Gui.dll" "%CD%\"
 xcopy /Y /R "%QT_DIR%\bin\Qt5Widgets.dll" "%CD%\"
 xcopy /Y /R "%QT_DIR%\bin\Qt5Sql.dll" "%CD%\"
+xcopy /Y /R "%QT_DIR%\plugins\platforms\qwindows.dll" "%CD%\sqldrivers\"
 xcopy /Y /R "%QT_DIR%\plugins\sqldrivers\qsqlite.dll" "%CD%\sqldrivers\"
 xcopy /Y /R "%CRYPTO_DIR%\cryptopp562.dll" "%CD%\"
 xcopy /Y /R "%KBHOOK_DIR%\winkbhook.dll" "%CD%\"


updating Windows bw scripts to keep in line with trunk/3.7 needs

--- build/quickstart/windows/bw.bat
+++ build/quickstart/windows/bw.bat
@@ -33,6 +33,9 @@

 SET ant_loglevel="-quiet"
 SET bw_loglevel=""
+
+:: Projects we need to update
+SET updateProjects="bwxml bedework bedework-carddav bwtzsvr cachedfeeder"

 :: Projects we will build
 SET pkgdefault=yes
@@ -158,12 +161,12 @@
   GOTO branch

 :updateall
-  for %%project in (%updateProjects%) do (
+  for %%p in ("%updateProjects%") do (
     ECHO *************************************************************
-    ECHO Updating project %%project.
+    ECHO Updating project %%p
     ECHO *************************************************************

-    echo svn update %%project
+    svn update %%p
   )

   GOTO:EOF
@@ -255,7 +258,6 @@
   ECHO.
   ECHO     BWCONFIGS = %BWCONFIGS%
   ECHO     BWCONFIG = %BWCONFIG%
-  ECHO.

   IF NOT "%caldav%empty" == "empty"  cd %QUICKSTART_HOME%\bedework\projects\caldav
   IF NOT "%carddav%empty" == "empty" cd %QUICKSTART_HOME%\bedework-carddav
@@ -265,6 +267,10 @@
   IF NOT "%tzsvr%empty" == "empty"   cd %QUICKSTART_HOME%\bwtzsvr
   IF NOT "%webdav%empty" == "empty"  cd %QUICKSTART_HOME%\bedework\projects\webdav

+  ECHO     WORKING DIRECTORY = %cd%
+  ECHO     COMMAND =  "%JAVA_HOME%\bin\java.exe" -classpath %CLASSPATH% %offline% -Dant.home="%ANT_HOME%" org.apache.tools.ant.launch.Launcher "%BWCONFIG%" %ant_listener% %ant_logger% %ant_loglevel% %bw_loglevel% %1
+  ECHO.
+  ECHO.
   "%JAVA_HOME%\bin\java.exe" -classpath %CLASSPATH% %offline% -Dant.home="%ANT_HOME%" org.apache.tools.ant.launch.Launcher "%BWCONFIG%" %ant_listener% %ant_logger% %ant_loglevel% %bw_loglevel% %1

   GOTO:EOF


git-svn-id: http://nutz.googlecode.com/svn/trunk@510 423f10f2-e3a4-11dd-a6ea-a32d6b26a33d

--- build/build.bat
+++ build/build.bat
@@ -1,10 +1,12 @@
 @echo off
-SET TOMCAT_HOME=%TOMCAT_HOME%
-SET JAVA_HOME=%JAVA_HOME%
-SET DEPS=%DEPS%
-SET OUTPUT=%OUTPUT%
-SET PROJECT_HOME=%PROJECT_HOME%
+SET TOMCAT_HOME=C:\Program Files\Apache Software Foundation\Tomcat 6.0
+SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_16
+SET DEPS=D:\home\nutz\deps
+SET OUTPUT=D:\home\nutz\jars
+SET PROJECT_HOME=D:\home\zozoh\workspace\svn\google.nutz\trunk

+D:
 cd %PROJECT_HOME%\build
 ant
-@echo on+
+@echo on


Corrected syntax.

Corrected syntax.

--- topographica-win/create_installer/prepare_for_installer.bat
+++ topographica-win/create_installer/prepare_for_installer.bat
@@ -49,31 +49,31 @@
 del etc\topographica.elc ImageSaver*.ppm countalerts* annotate.out emacslog
 del current_profile testsnapshot.typ script topo\tests\*.ty_*DATA timing*
 del examples\disparity_energy.ty
-del examples/face_space.ty
-del examples/goodhill_network90.ty
+del examples\face_space.ty
+del examples\goodhill_network90.ty
 del examples\homeostatic.ty
 del examples\joublin_bc96.ty
 del examples\laminar.ty
-del examples/laminar_or.ty
+del examples\laminar_or.ty
 del examples\laminar_lissom.ty
 del examples\laminar_nolearning.ty
-del examples/laminar_oo_or.ty*
+del examples\laminar_oo_or.ty*
 del examples\leaky_lissom_or.ty
-del examples/lgn_lateral.ty*
+del examples\lgn_lateral.ty*
 del examples\lissom_oo_od.ty
-del examples/lissom_oo_or_dy.ty
-del examples/lissom_oo_or_noshrinking_adapthomeo.ty
-del examples/lissom_oo_or_noshrinking_latswitch.ty
-del examples/lissom_or_homeomaxent.ty
-del examples/lissom_or_homeoscale.ty
-del examples/lissom_or_noshrinking.ty
-del examples/lissom_or_noshrinking_latswitch.ty
-del examples/lissom_or_sf.ty
-del examples/ohzawa_science90.ty
-del examples/saccade_demo.ty
-del examples/sullivan_neurocomputing04.ty
-del examples/sullivan_nn06.ty
-del examples/*.typ
+del examples\lissom_oo_or_dy.ty
+del examples\lissom_oo_or_noshrinking_adapthomeo.ty
+del examples\lissom_oo_or_noshrinking_latswitch.ty
+del examples\lissom_or_homeomaxent.ty
+del examples\lissom_or_homeoscale.ty
+del examples\lissom_or_noshrinking.ty
+del examples\lissom_or_noshrinking_latswitch.ty
+del examples\lissom_or_sf.ty
+del examples\ohzawa_science90.ty
+del examples\saccade_demo.ty
+del examples\sullivan_neurocomputing04.ty
+del examples\sullivan_nn06.ty
+del examples\*.typ

 REM CEBHACKALERT: need to make clean topo/tests/reference


Update prerun_checks_and_tasks.bat

Update prerun_checks_and_tasks.bat

--- resources/functions/prerun_checks_and_tasks.bat
+++ resources/functions/prerun_checks_and_tasks.bat
@@ -81,9 +81,6 @@
 	echo.
 	echo  ERROR
 	echo.
-	echo  Looks like someone didn't read the instructions which are...
-	echo  appropriately enough, named "INSTRUCTIONS -- YES ACTUALLY READ THEM"
-	echo.
 	echo  Tron is running from a temp location or the root of %SystemDrive%.
 	echo  Tron cannot run from these locations as they're some of the
 	echo  first places to get cleaned when the script starts. Run Tron
@@ -91,7 +88,10 @@
 	echo.
 	echo   "%USERPROFILE%\Desktop\tron\tron.bat"
 	echo.
-	echo  Maybe go avail yourself of the instructions...
+	echo  Go avail yourself of the instructions which are named,
+	echo  appropriately enough...
+	echo.
+	echo  "INSTRUCTIONS -- YES ACTUALLY READ THEM.txt"
 	echo.
 	echo  Goodbye.
 	echo.


// added windows launching script

// added windows launching script

error: pathspec 'pstaf.bat' did not match any file(s) known to git

--- pstaf.bat
+++ pstaf.bat
@@ -0,0 +1 @@
+php %~dp0/pstaf.php %*


データベース用バッチ

データベース用バッチ

error: pathspec 'docs/データベース/SQL/db_setup.bat' did not match any file(s) known to git

--- docs/データベース/SQL/db_setup.bat
+++ docs/データベース/SQL/db_setup.bat
@@ -0,0 +1,3 @@
+rem xammp直下のmysqlへ移動
+cd C:\xampp\mysql\bin
+mysql -u root -p


Update build.bat for VS2010

Update build.bat for VS2010

--- PCbuild/build.bat
+++ PCbuild/build.bat
@@ -5,14 +5,15 @@
 setlocal
 set platf=Win32
 set conf=Release
-set build=
+set target=build
+set dir=%~dp0

 :CheckOpts
 if "%1"=="-c" (set conf=%2) & shift & shift & goto CheckOpts
 if "%1"=="-p" (set platf=%2) & shift & shift & goto CheckOpts
-if "%1"=="-r" (set build=/rebuild) & shift & goto CheckOpts
+if "%1"=="-r" (set target=rebuild) & shift & goto CheckOpts
 if "%1"=="-d" (set conf=Debug) & shift & goto CheckOpts

-set cmd=vcbuild /useenv pcbuild.sln %build% "%conf%|%platf%"
+set cmd=msbuild /p:useenv=true %dir%pcbuild.sln /t:%target% /p:Configuration=%conf% /p:Platform=%platf%
 echo %cmd%
 %cmd%


Fixed MyGet.bat.

Fixed MyGet.bat.

--- Scripts/MyGet.bat
+++ Scripts/MyGet.bat
@@ -42,7 +42,7 @@
 if "%GallioEcho%" == "" (

   echo Running tests with xUnit...
-  Packages\xunit.runners.1.9.2\tools\xunit.console.clr4.exe /testcontainer:Projects\OpenMagic.Tests\bin\Release\OpenMagic.Tests.dll"
+  Packages\xunit.runners.1.9.2\tools\xunit.console.clr4.exe Projects\OpenMagic.Tests\bin\Release\OpenMagic.Tests.dll"

 ) else (