diff --git a/.gitignore b/.gitignore index 8a1eece0da1..6f27bcc0e31 100644 --- a/.gitignore +++ b/.gitignore @@ -122,3 +122,7 @@ Testing/Data/Symlink/Dir2/ss12_diff_s12.txt Testing/Data/Symlink/Dir2/ss12_diff_s21.txt Testing/Data/Symlink/Dir2/ss12_same_s00.txt Testing/Data/Symlink/Dir2/ss12_same_s11.txt +Src/MergeAppLib_i.c +Src/MergeAppLib_p.c +Src/dlldata.c +/Testing/PluginTests/result diff --git a/ALL.vs2017.sln b/ALL.vs2017.sln index 51f20bc5e6e..41cc5e5eea9 100644 --- a/ALL.vs2017.sln +++ b/ALL.vs2017.sln @@ -37,7 +37,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Root", "Root", "{DC3B258E-4 BuildManual.cmd = BuildManual.cmd CreateRelease.cmd = CreateRelease.cmd DownloadDeps.cmd = DownloadDeps.cmd - ExpandEnvironmenStrings.vbs = ExpandEnvironmenStrings.vbs + ExpandEnvironmenStrings.js = ExpandEnvironmenStrings.js LICENSE.md = LICENSE.md README.md = README.md runastyle.bat = runastyle.bat @@ -165,9 +165,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Batch Files", "Batch Files" Externals\winimerge\SetVersion.cmd = Externals\winimerge\SetVersion.cmd EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VBS Scripts", "VBS Scripts", "{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453}" ProjectSection(SolutionItems) = preProject - Externals\winimerge\ExpandEnvironmenStrings.vbs = Externals\winimerge\ExpandEnvironmenStrings.vbs + Externals\winimerge\ExpandEnvironmenStrings.js = Externals\winimerge\ExpandEnvironmenStrings.js EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampleStatic", "Externals\crystaledit\Sample\SampleStatic.vcxproj", "{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}" @@ -308,10 +308,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{4407E7D0 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{88571237-56AD-421A-8F88-26983BDD8D6C}" ProjectSection(SolutionItems) = preProject - Tools\Scripts\CheckMenuResources.vbs = Tools\Scripts\CheckMenuResources.vbs + Tools\Scripts\CheckMenuResources.js = Tools\Scripts\CheckMenuResources.js Tools\Scripts\CheckTranslationStrings.cmd = Tools\Scripts\CheckTranslationStrings.cmd Tools\Scripts\CheckTranslationStrings.ps1 = Tools\Scripts\CheckTranslationStrings.ps1 - Tools\Scripts\CheckUnusedResources.vbs = Tools\Scripts\CheckUnusedResources.vbs + Tools\Scripts\CheckUnusedResources.js = Tools\Scripts\CheckUnusedResources.js Tools\Scripts\README.md = Tools\Scripts\README.md Tools\Scripts\UpdateTranslations.bat = Tools\Scripts\UpdateTranslations.bat EndProjectSection @@ -353,7 +353,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "q", "q", "{E4EF583F-653D-44 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PluginTests", "PluginTests", "{9738877F-0B01-4C37-855E-7465C5AB7B56}" ProjectSection(SolutionItems) = preProject - Testing\PluginTests\PluginTests.vbs = Testing\PluginTests\PluginTests.vbs + Testing\PluginTests\PluginTests.js = Testing\PluginTests\PluginTests.js EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "yq", "yq", "{9914C8A9-0DEA-4922-9065-57034EE5263D}" diff --git a/ALL.vs2019.sln b/ALL.vs2019.sln index a65ebf04f74..fafbae08bb6 100644 --- a/ALL.vs2019.sln +++ b/ALL.vs2019.sln @@ -37,7 +37,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Root", "Root", "{DC3B258E-4 BuildManual.cmd = BuildManual.cmd CreateRelease.cmd = CreateRelease.cmd DownloadDeps.cmd = DownloadDeps.cmd - ExpandEnvironmenStrings.vbs = ExpandEnvironmenStrings.vbs + ExpandEnvironmenStrings.js = ExpandEnvironmenStrings.js LICENSE.md = LICENSE.md README.md = README.md runastyle.bat = runastyle.bat @@ -165,9 +165,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Batch Files", "Batch Files" Externals\winimerge\SetVersion.cmd = Externals\winimerge\SetVersion.cmd EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VBS Scripts", "VBS Scripts", "{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453}" ProjectSection(SolutionItems) = preProject - Externals\winimerge\ExpandEnvironmenStrings.vbs = Externals\winimerge\ExpandEnvironmenStrings.vbs + Externals\winimerge\ExpandEnvironmenStrings.js = Externals\winimerge\ExpandEnvironmenStrings.s EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampleStatic", "Externals\crystaledit\Sample\SampleStatic.vcxproj", "{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}" @@ -308,10 +308,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{4407E7D0 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{88571237-56AD-421A-8F88-26983BDD8D6C}" ProjectSection(SolutionItems) = preProject - Tools\Scripts\CheckMenuResources.vbs = Tools\Scripts\CheckMenuResources.vbs + Tools\Scripts\CheckMenuResources.js = Tools\Scripts\CheckMenuResources.js Tools\Scripts\CheckTranslationStrings.cmd = Tools\Scripts\CheckTranslationStrings.cmd Tools\Scripts\CheckTranslationStrings.ps1 = Tools\Scripts\CheckTranslationStrings.ps1 - Tools\Scripts\CheckUnusedResources.vbs = Tools\Scripts\CheckUnusedResources.vbs + Tools\Scripts\CheckUnusedResources.js = Tools\Scripts\CheckUnusedResources.js Tools\Scripts\README.md = Tools\Scripts\README.md Tools\Scripts\UpdateTranslations.bat = Tools\Scripts\UpdateTranslations.bat EndProjectSection @@ -353,7 +353,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "q", "q", "{E4EF583F-653D-44 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PluginTests", "PluginTests", "{9738877F-0B01-4C37-855E-7465C5AB7B56}" ProjectSection(SolutionItems) = preProject - Testing\PluginTests\PluginTests.vbs = Testing\PluginTests\PluginTests.vbs + Testing\PluginTests\PluginTests.js = Testing\PluginTests\PluginTests.js EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "yq", "yq", "{9914C8A9-0DEA-4922-9065-57034EE5263D}" diff --git a/ALL.vs2022.sln b/ALL.vs2022.sln index 001a1b9ab81..20e421620ae 100644 --- a/ALL.vs2022.sln +++ b/ALL.vs2022.sln @@ -37,7 +37,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Root", "Root", "{DC3B258E-4 BuildManual.cmd = BuildManual.cmd CreateRelease.cmd = CreateRelease.cmd DownloadDeps.cmd = DownloadDeps.cmd - ExpandEnvironmenStrings.vbs = ExpandEnvironmenStrings.vbs + ExpandEnvironmenStrings.js = ExpandEnvironmenStrings.js LICENSE.md = LICENSE.md README.md = README.md runastyle.bat = runastyle.bat @@ -165,9 +165,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Batch Files", "Batch Files" Externals\winimerge\SetVersion.cmd = Externals\winimerge\SetVersion.cmd EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VBS Scripts", "VBS Scripts", "{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453}" ProjectSection(SolutionItems) = preProject - Externals\winimerge\ExpandEnvironmenStrings.vbs = Externals\winimerge\ExpandEnvironmenStrings.vbs + Externals\winimerge\ExpandEnvironmenStrings.js = Externals\winimerge\ExpandEnvironmenStrings.js EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampleStatic", "Externals\crystaledit\Sample\SampleStatic.vcxproj", "{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}" @@ -308,10 +308,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{4407E7D0 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{88571237-56AD-421A-8F88-26983BDD8D6C}" ProjectSection(SolutionItems) = preProject - Tools\Scripts\CheckMenuResources.vbs = Tools\Scripts\CheckMenuResources.vbs + Tools\Scripts\CheckMenuResources.js = Tools\Scripts\CheckMenuResources.js Tools\Scripts\CheckTranslationStrings.cmd = Tools\Scripts\CheckTranslationStrings.cmd Tools\Scripts\CheckTranslationStrings.ps1 = Tools\Scripts\CheckTranslationStrings.ps1 - Tools\Scripts\CheckUnusedResources.vbs = Tools\Scripts\CheckUnusedResources.vbs + Tools\Scripts\CheckUnusedResources.js = Tools\Scripts\CheckUnusedResources.js Tools\Scripts\README.md = Tools\Scripts\README.md Tools\Scripts\UpdateTranslations.bat = Tools\Scripts\UpdateTranslations.bat EndProjectSection @@ -353,7 +353,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "q", "q", "{E4EF583F-653D-44 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PluginTests", "PluginTests", "{9738877F-0B01-4C37-855E-7465C5AB7B56}" ProjectSection(SolutionItems) = preProject - Testing\PluginTests\PluginTests.vbs = Testing\PluginTests\PluginTests.vbs + Testing\PluginTests\PluginTests.js = Testing\PluginTests\PluginTests.js EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "yq", "yq", "{9914C8A9-0DEA-4922-9065-57034EE5263D}" diff --git a/BuildArc.cmd b/BuildArc.cmd index 684ca9c53a7..8f53ed741f2 100644 --- a/BuildArc.cmd +++ b/BuildArc.cmd @@ -25,7 +25,7 @@ if "%1" == "" ( del "%DISTDIR%\winmerge-%SAFEAPPVER%-full-src.7z" 2> NUL -7z.exe a -t7z -xr!*.gcno -xr!*.gcda -xr!*.gcov -xr!*.orig -xr!*.o -xr!*.a -xr!.dep -xr!*.asm -xr!*.out -xr!debug_static* -xr!debug_shared* -xr!release_static* -xr!release_shared* -xr!*.bak -xr!*.lang -xr!*.db -xr!*.ncb -xr!*.sdf -xr!*.bsc -xr!*.opt -xr!*.plg -xr!*.suo -xr!*.obj -xr!*.ilk -xr!*.pdb -xr!*.pch -xr!*.res -xr!*.exe -xr!*.sbr -xr!.vs -xr!*.VC.db-* -xr!*.zip -xr!WinMergeSplash.psd -xr!*.lib -xr!*.exp -xr!*.idb -xr!*.%COMPUTERNAME%.%USERNAME%.user -xr!BuildLog.htm -xr!ipch -xr!*.tlb -xr!*.tlog -xr!*.*~ -xr!CVS -xr!.svn -xr!.hg -xr!*.log -xr!*.lastbuildstate -xr!FreeImage*.dll -xr!WinIMergeLib.dll -xr!WinIMerge.exe -xr!WinWebDiff.dll -xr!WinWebDiff.exe -xr!BuildTmp -xr!Docs\Manual\Tools "%DISTDIR%\winmerge-%SAFEAPPVER%-full-src.7z" ArchiveSupport ColorSchemes Docs Externals Filters Installer Plugins ShellExtension Src Testing Tools Translations Web readme.txt Version.h Version.in *.cmd *.bat *.inf *.sln *.vbs +7z.exe a -t7z -xr!*.gcno -xr!*.gcda -xr!*.gcov -xr!*.orig -xr!*.o -xr!*.a -xr!.dep -xr!*.asm -xr!*.out -xr!debug_static* -xr!debug_shared* -xr!release_static* -xr!release_shared* -xr!*.bak -xr!*.lang -xr!*.db -xr!*.ncb -xr!*.sdf -xr!*.bsc -xr!*.opt -xr!*.plg -xr!*.suo -xr!*.obj -xr!*.ilk -xr!*.pdb -xr!*.pch -xr!*.res -xr!*.exe -xr!*.sbr -xr!.vs -xr!*.VC.db-* -xr!*.zip -xr!WinMergeSplash.psd -xr!*.lib -xr!*.exp -xr!*.idb -xr!*.%COMPUTERNAME%.%USERNAME%.user -xr!BuildLog.htm -xr!ipch -xr!*.tlb -xr!*.tlog -xr!*.*~ -xr!CVS -xr!.svn -xr!.hg -xr!*.log -xr!*.lastbuildstate -xr!FreeImage*.dll -xr!WinIMergeLib.dll -xr!WinIMerge.exe -xr!WinWebDiff.dll -xr!WinWebDiff.exe -xr!BuildTmp -xr!Docs\Manual\Tools "%DISTDIR%\winmerge-%SAFEAPPVER%-full-src.7z" ArchiveSupport ColorSchemes Docs Externals Filters Installer Plugins ShellExtension Src Testing Tools Translations Web readme.txt Version.h Version.in *.cmd *.bat *.inf *.sln *.js ( echo "%DISTDIR%\WinMerge-%SAFEAPPVER%-Setup.exe" diff --git a/BuildBin.vs2017.cmd b/BuildBin.vs2017.cmd index 2b0aa68c444..eee26f99503 100644 --- a/BuildBin.vs2017.cmd +++ b/BuildBin.vs2017.cmd @@ -1,7 +1,7 @@ cd /d "%~dp0" call SetVersion.cmd -cscript /nologo ExpandEnvironmenStrings.vbs Version.in > Version.h +cscript /nologo ExpandEnvironmenStrings.js Version.in > Version.h setlocal for /f "usebackq tokens=*" %%i in (`"%programfiles(x86)%\microsoft visual studio\installer\vswhere.exe" -version [15.0^,16.0^) -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do ( diff --git a/BuildBin.vs2019.cmd b/BuildBin.vs2019.cmd index 95e99777169..cef25beada9 100644 --- a/BuildBin.vs2019.cmd +++ b/BuildBin.vs2019.cmd @@ -1,7 +1,7 @@ cd /d "%~dp0" call SetVersion.cmd -cscript /nologo ExpandEnvironmenStrings.vbs Version.in > Version.h +cscript /nologo ExpandEnvironmenStrings.js Version.in > Version.h setlocal for /f "usebackq tokens=*" %%i in (`"%programfiles(x86)%\microsoft visual studio\installer\vswhere.exe" -version [16.0^,17.0^) -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do ( diff --git a/BuildBin.vs2022.cmd b/BuildBin.vs2022.cmd index 06b5ff8bdb7..3414b309793 100644 --- a/BuildBin.vs2022.cmd +++ b/BuildBin.vs2022.cmd @@ -1,7 +1,7 @@ cd /d "%~dp0" call SetVersion.cmd -cscript /nologo ExpandEnvironmenStrings.vbs Version.in > Version.h +cscript /nologo ExpandEnvironmenStrings.js Version.in > Version.h setlocal for /f "usebackq tokens=*" %%i in (`"%programfiles(x86)%\microsoft visual studio\installer\vswhere.exe" -version [17.0^,18.0^) -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do ( diff --git a/ExpandEnvironmenStrings.js b/ExpandEnvironmenStrings.js new file mode 100644 index 00000000000..a25d5ddd7fb --- /dev/null +++ b/ExpandEnvironmenStrings.js @@ -0,0 +1,10 @@ +var fso = new ActiveXObject("Scripting.FileSystemObject"); +var sh = new ActiveXObject("WScript.Shell"); +var otf = fso.OpenTextFile(WScript.Arguments.Unnamed(0), 1); + +while (!otf.AtEndOfStream) { + WScript.Echo(sh.ExpandEnvironmentStrings(otf.ReadLine())); +} + +otf.Close(); + diff --git a/ExpandEnvironmenStrings.vbs b/ExpandEnvironmenStrings.vbs deleted file mode 100644 index 91a722fdb1f..00000000000 --- a/ExpandEnvironmenStrings.vbs +++ /dev/null @@ -1,10 +0,0 @@ -Dim fso: Set fso = CreateObject("Scripting.FileSystemObject") -Dim sh: Set sh = CreateObject("WScript.Shell") -Dim otf: Set otf = fso.OpenTextFile(WScript.Arguments.Unnamed(0), 1) - -Do Until otf.AtEndOfStream = True - WScript.Echo sh.ExpandEnvironmentStrings(otf.ReadLine) -Loop - -otf.Close - diff --git a/Externals/frhed b/Externals/frhed index cdc0455feb4..b846962f49d 160000 --- a/Externals/frhed +++ b/Externals/frhed @@ -1 +1 @@ -Subproject commit cdc0455feb492bc826931bc70480f8b50ca05abb +Subproject commit b846962f49ddd1d793d3de58acead9b01fcac27e diff --git a/Externals/winimerge b/Externals/winimerge index f7fc9d5ddf0..21f69f358cc 160000 --- a/Externals/winimerge +++ b/Externals/winimerge @@ -1 +1 @@ -Subproject commit f7fc9d5ddf05785eb7046008fde657cfcea6ef2e +Subproject commit 21f69f358cc71e5881b7d77304961a1b76cad0b9 diff --git a/Plugins/Plugins.xml b/Plugins/Plugins.xml index 8e822245735..9b893d55622 100644 --- a/Plugins/Plugins.xml +++ b/Plugins/Plugins.xml @@ -216,24 +216,24 @@