From b133ce21e48e17af5abbf05fb0ce47387aeadc8f Mon Sep 17 00:00:00 2001 From: Takashi Sawanaka Date: Tue, 20 Feb 2024 08:19:41 +0900 Subject: [PATCH] Replace the source code written in VBScript with JScript (#2098) --- .gitignore | 4 + ALL.vs2017.sln | 12 +- ALL.vs2019.sln | 12 +- ALL.vs2022.sln | 12 +- BuildArc.cmd | 2 +- BuildBin.vs2017.cmd | 2 +- BuildBin.vs2019.cmd | 2 +- BuildBin.vs2022.cmd | 2 +- ExpandEnvironmenStrings.js | 10 + ExpandEnvironmenStrings.vbs | 10 - Externals/frhed | 2 +- Externals/winimerge | 2 +- Plugins/Plugins.xml | 16 +- Plugins/README.md | 63 +- Plugins/dlls/ApplyPatch.sct | 981 +++++----- Plugins/dlls/CompareMSExcelFiles.sct | 1622 +++++++++-------- Plugins/dlls/CompareMSPowerPointFiles.sct | 816 ++++----- Plugins/dlls/CompareMSVisioFiles.sct | 737 ++++---- Plugins/dlls/CompareMSWordFiles.sct | 821 +++++---- Plugins/dlls/IgnoreLeadingLineNumbers.sct | 152 +- Plugins/dlls/PrediffLineFilter.sct | 387 ++-- Plugins/dlls/editor addin.sct | 1467 +++++++-------- Plugins/dlls/insert datetime.sct | 42 +- ShellExtension/Register.bat | 6 +- Src/Common/lwdisp.c | 172 +- Src/HexMergeView.cpp | 2 +- Src/Merge.rc | 23 +- Src/Merge.vcxproj | 10 +- Src/Merge.vcxproj.filters | 5 + Src/Merge2.rc | 6 + Src/MergeApp.cpp | 5 + Src/MergeApp.h | 1 + Src/MergeAppCOMClass.cpp | 146 +- Src/MergeAppCOMClass.h | 50 +- Src/MergeAppLib.h | 333 ++++ Src/MergeAppLib.idl | 34 + Src/MergeLang.vcxproj | 8 +- Src/MergeLang.vcxproj.filters | 4 +- Src/PropCompareBinary.cpp | 2 +- Src/resource.h | 14 +- Testing/Data/Office/excel.xls | Bin 47616 -> 49664 bytes Testing/Data/Office/powerpnt.ppt | Bin 89088 -> 86016 bytes Testing/Data/Office/word.doc | Bin 11264 -> 41984 bytes Testing/Data/Patch/dir1/file1.txt | 7 + Testing/Data/Patch/dir1/file2.txt | 7 + Testing/Data/Patch/dir1/subdir/sfile1.txt | 7 + Testing/Data/Patch/dir1/subdir/sfile2.txt | 7 + .../Patch/dir1/subdir/subsubdir/ssfile1.txt | 7 + .../Patch/dir1/subdir/subsubdir/ssfile2.txt | 7 + Testing/Data/Patch/dir2/file1.txt | 7 + Testing/Data/Patch/dir2/file2.txt | 7 + Testing/Data/Patch/dir2/subdir/sfile1.txt | 7 + Testing/Data/Patch/dir2/subdir/sfile2.txt | 7 + .../Patch/dir2/subdir/subsubdir/ssfile1.txt | 7 + .../Patch/dir2/subdir/subsubdir/ssfile2.txt | 7 + Testing/Data/Patch/file1.txt | 6 + Testing/Data/Patch/file2.txt | 6 + Testing/Data/Patch/patch.diff | 11 + Testing/Data/Patch/patch2.diff | 16 + Testing/Data/Patch/patch3.diff | 16 + Testing/FolderCompare/misc.cpp | 6 + Testing/PluginTests/PluginTests.js | 598 ++++++ Testing/PluginTests/PluginTests.vbs | 250 --- Tools/Scripts/CheckMenuResources.js | 167 ++ Tools/Scripts/CheckMenuResources.vbs | 211 --- Tools/Scripts/CheckUnusedResources.js | 197 ++ Tools/Scripts/CheckUnusedResources.vbs | 236 --- Tools/Scripts/README.md | 4 +- Tools/Scripts/UpdateTranslations.bat | 2 +- Translations/ShellExtension/Arabic.po | 6 - Translations/ShellExtension/Basque.po | 6 - Translations/ShellExtension/Brazilian.po | 6 - Translations/ShellExtension/Bulgarian.po | 6 - Translations/ShellExtension/Catalan.po | 6 - .../ShellExtension/ChineseSimplified.po | 6 - .../ShellExtension/ChineseTraditional.po | 6 - Translations/ShellExtension/Corsican.po | 6 - .../ShellExtension/CreateMasterPotFile.js | 254 +++ .../ShellExtension/CreateMasterPotFile.vbs | 308 ---- Translations/ShellExtension/Croatian.po | 6 - Translations/ShellExtension/Czech.po | 6 - Translations/ShellExtension/Danish.po | 6 - Translations/ShellExtension/Dutch.po | 6 - Translations/ShellExtension/English.pot | 12 +- Translations/ShellExtension/Finnish.po | 6 - Translations/ShellExtension/French.po | 6 - Translations/ShellExtension/Galician.po | 6 - Translations/ShellExtension/German.po | 6 - Translations/ShellExtension/Greek.po | 6 - Translations/ShellExtension/Hungarian.po | 6 - Translations/ShellExtension/Italian.po | 6 - Translations/ShellExtension/Japanese.po | 6 - Translations/ShellExtension/Korean.po | 6 - Translations/ShellExtension/Lithuanian.po | 6 - Translations/ShellExtension/Norwegian.po | 6 - Translations/ShellExtension/Persian.po | 6 - Translations/ShellExtension/Polish.po | 6 - Translations/ShellExtension/Portuguese.po | 6 - Translations/ShellExtension/Romanian.po | 6 - Translations/ShellExtension/Russian.po | 6 - Translations/ShellExtension/Serbian.po | 6 - Translations/ShellExtension/Sinhala.po | 6 - Translations/ShellExtension/Slovak.po | 6 - Translations/ShellExtension/Slovenian.po | 6 - Translations/ShellExtension/Spanish.po | 6 - Translations/ShellExtension/Swedish.po | 6 - Translations/ShellExtension/Tamil.po | 6 - Translations/ShellExtension/Turkish.po | 6 - Translations/ShellExtension/Ukrainian.po | 6 - Translations/WinMerge/Arabic.po | 4 +- Translations/WinMerge/Basque.po | 2 +- Translations/WinMerge/Brazilian.po | 4 +- Translations/WinMerge/Bulgarian.po | 4 +- Translations/WinMerge/Catalan.po | 4 +- Translations/WinMerge/ChineseSimplified.po | 4 +- Translations/WinMerge/ChineseTraditional.po | 4 +- Translations/WinMerge/Corsican.po | 4 +- Translations/WinMerge/CreateMasterPotFile.js | 341 ++++ Translations/WinMerge/CreateMasterPotFile.vbs | 393 ---- Translations/WinMerge/Croatian.po | 2 +- Translations/WinMerge/Czech.po | 2 +- Translations/WinMerge/Danish.po | 2 +- Translations/WinMerge/Dutch.po | 4 +- Translations/WinMerge/English.pot | 5 +- Translations/WinMerge/Finnish.po | 4 +- Translations/WinMerge/French.po | 4 +- Translations/WinMerge/Galician.po | 4 +- Translations/WinMerge/German.po | 4 +- Translations/WinMerge/Greek.po | 2 +- Translations/WinMerge/Hungarian.po | 4 +- Translations/WinMerge/Italian.po | 4 +- Translations/WinMerge/Japanese.po | 4 +- Translations/WinMerge/Korean.po | 4 +- Translations/WinMerge/Lithuanian.po | 4 +- Translations/WinMerge/Norwegian.po | 2 +- Translations/WinMerge/Persian.po | 2 +- Translations/WinMerge/Polish.po | 4 +- Translations/WinMerge/Portuguese.po | 4 +- Translations/WinMerge/Romanian.po | 4 +- Translations/WinMerge/Russian.po | 4 +- Translations/WinMerge/Serbian.po | 2 +- Translations/WinMerge/Sinhala.po | 2 +- Translations/WinMerge/Slovak.po | 4 +- Translations/WinMerge/Slovenian.po | 4 +- Translations/WinMerge/Spanish.po | 4 +- Translations/WinMerge/Swedish.po | 4 +- Translations/WinMerge/Tamil.po | 4 +- Translations/WinMerge/Turkish.po | 4 +- Translations/WinMerge/Ukrainian.po | 2 +- ...otFile.vbs => UpdatePoFilesFromPotFile.js} | 0 WinMerge.vs2017.sln | 4 +- WinMerge.vs2019.sln | 4 +- WinMerge.vs2022.sln | 4 +- 153 files changed, 5992 insertions(+), 5490 deletions(-) create mode 100644 ExpandEnvironmenStrings.js delete mode 100644 ExpandEnvironmenStrings.vbs create mode 100644 Src/MergeAppLib.h create mode 100644 Src/MergeAppLib.idl create mode 100644 Testing/Data/Patch/dir1/file1.txt create mode 100644 Testing/Data/Patch/dir1/file2.txt create mode 100644 Testing/Data/Patch/dir1/subdir/sfile1.txt create mode 100644 Testing/Data/Patch/dir1/subdir/sfile2.txt create mode 100644 Testing/Data/Patch/dir1/subdir/subsubdir/ssfile1.txt create mode 100644 Testing/Data/Patch/dir1/subdir/subsubdir/ssfile2.txt create mode 100644 Testing/Data/Patch/dir2/file1.txt create mode 100644 Testing/Data/Patch/dir2/file2.txt create mode 100644 Testing/Data/Patch/dir2/subdir/sfile1.txt create mode 100644 Testing/Data/Patch/dir2/subdir/sfile2.txt create mode 100644 Testing/Data/Patch/dir2/subdir/subsubdir/ssfile1.txt create mode 100644 Testing/Data/Patch/dir2/subdir/subsubdir/ssfile2.txt create mode 100644 Testing/Data/Patch/file1.txt create mode 100644 Testing/Data/Patch/file2.txt create mode 100644 Testing/Data/Patch/patch.diff create mode 100644 Testing/Data/Patch/patch2.diff create mode 100644 Testing/Data/Patch/patch3.diff create mode 100644 Testing/PluginTests/PluginTests.js delete mode 100644 Testing/PluginTests/PluginTests.vbs create mode 100644 Tools/Scripts/CheckMenuResources.js delete mode 100644 Tools/Scripts/CheckMenuResources.vbs create mode 100644 Tools/Scripts/CheckUnusedResources.js delete mode 100644 Tools/Scripts/CheckUnusedResources.vbs create mode 100644 Translations/ShellExtension/CreateMasterPotFile.js delete mode 100644 Translations/ShellExtension/CreateMasterPotFile.vbs create mode 100644 Translations/WinMerge/CreateMasterPotFile.js delete mode 100644 Translations/WinMerge/CreateMasterPotFile.vbs rename Translations/WinMerge/{UpdatePoFilesFromPotFile.vbs => UpdatePoFilesFromPotFile.js} (100%) 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 @@