Skip to content

Commit b133ce2

Browse files
authored
Replace the source code written in VBScript with JScript (WinMerge#2098)
1 parent 2202a28 commit b133ce2

File tree

153 files changed

+5992
-5490
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+5992
-5490
lines changed

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,7 @@ Testing/Data/Symlink/Dir2/ss12_diff_s12.txt
122122
Testing/Data/Symlink/Dir2/ss12_diff_s21.txt
123123
Testing/Data/Symlink/Dir2/ss12_same_s00.txt
124124
Testing/Data/Symlink/Dir2/ss12_same_s11.txt
125+
Src/MergeAppLib_i.c
126+
Src/MergeAppLib_p.c
127+
Src/dlldata.c
128+
/Testing/PluginTests/result

ALL.vs2017.sln

+6-6
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Root", "Root", "{DC3B258E-4
3737
BuildManual.cmd = BuildManual.cmd
3838
CreateRelease.cmd = CreateRelease.cmd
3939
DownloadDeps.cmd = DownloadDeps.cmd
40-
ExpandEnvironmenStrings.vbs = ExpandEnvironmenStrings.vbs
40+
ExpandEnvironmenStrings.js = ExpandEnvironmenStrings.js
4141
LICENSE.md = LICENSE.md
4242
README.md = README.md
4343
runastyle.bat = runastyle.bat
@@ -165,9 +165,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Batch Files", "Batch Files"
165165
Externals\winimerge\SetVersion.cmd = Externals\winimerge\SetVersion.cmd
166166
EndProjectSection
167167
EndProject
168-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VBS Scripts", "VBS Scripts", "{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453}"
168+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453}"
169169
ProjectSection(SolutionItems) = preProject
170-
Externals\winimerge\ExpandEnvironmenStrings.vbs = Externals\winimerge\ExpandEnvironmenStrings.vbs
170+
Externals\winimerge\ExpandEnvironmenStrings.js = Externals\winimerge\ExpandEnvironmenStrings.js
171171
EndProjectSection
172172
EndProject
173173
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
308308
EndProject
309309
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{88571237-56AD-421A-8F88-26983BDD8D6C}"
310310
ProjectSection(SolutionItems) = preProject
311-
Tools\Scripts\CheckMenuResources.vbs = Tools\Scripts\CheckMenuResources.vbs
311+
Tools\Scripts\CheckMenuResources.js = Tools\Scripts\CheckMenuResources.js
312312
Tools\Scripts\CheckTranslationStrings.cmd = Tools\Scripts\CheckTranslationStrings.cmd
313313
Tools\Scripts\CheckTranslationStrings.ps1 = Tools\Scripts\CheckTranslationStrings.ps1
314-
Tools\Scripts\CheckUnusedResources.vbs = Tools\Scripts\CheckUnusedResources.vbs
314+
Tools\Scripts\CheckUnusedResources.js = Tools\Scripts\CheckUnusedResources.js
315315
Tools\Scripts\README.md = Tools\Scripts\README.md
316316
Tools\Scripts\UpdateTranslations.bat = Tools\Scripts\UpdateTranslations.bat
317317
EndProjectSection
@@ -353,7 +353,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "q", "q", "{E4EF583F-653D-44
353353
EndProject
354354
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PluginTests", "PluginTests", "{9738877F-0B01-4C37-855E-7465C5AB7B56}"
355355
ProjectSection(SolutionItems) = preProject
356-
Testing\PluginTests\PluginTests.vbs = Testing\PluginTests\PluginTests.vbs
356+
Testing\PluginTests\PluginTests.js = Testing\PluginTests\PluginTests.js
357357
EndProjectSection
358358
EndProject
359359
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "yq", "yq", "{9914C8A9-0DEA-4922-9065-57034EE5263D}"

ALL.vs2019.sln

+6-6
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Root", "Root", "{DC3B258E-4
3737
BuildManual.cmd = BuildManual.cmd
3838
CreateRelease.cmd = CreateRelease.cmd
3939
DownloadDeps.cmd = DownloadDeps.cmd
40-
ExpandEnvironmenStrings.vbs = ExpandEnvironmenStrings.vbs
40+
ExpandEnvironmenStrings.js = ExpandEnvironmenStrings.js
4141
LICENSE.md = LICENSE.md
4242
README.md = README.md
4343
runastyle.bat = runastyle.bat
@@ -165,9 +165,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Batch Files", "Batch Files"
165165
Externals\winimerge\SetVersion.cmd = Externals\winimerge\SetVersion.cmd
166166
EndProjectSection
167167
EndProject
168-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VBS Scripts", "VBS Scripts", "{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453}"
168+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453}"
169169
ProjectSection(SolutionItems) = preProject
170-
Externals\winimerge\ExpandEnvironmenStrings.vbs = Externals\winimerge\ExpandEnvironmenStrings.vbs
170+
Externals\winimerge\ExpandEnvironmenStrings.js = Externals\winimerge\ExpandEnvironmenStrings.s
171171
EndProjectSection
172172
EndProject
173173
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
308308
EndProject
309309
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{88571237-56AD-421A-8F88-26983BDD8D6C}"
310310
ProjectSection(SolutionItems) = preProject
311-
Tools\Scripts\CheckMenuResources.vbs = Tools\Scripts\CheckMenuResources.vbs
311+
Tools\Scripts\CheckMenuResources.js = Tools\Scripts\CheckMenuResources.js
312312
Tools\Scripts\CheckTranslationStrings.cmd = Tools\Scripts\CheckTranslationStrings.cmd
313313
Tools\Scripts\CheckTranslationStrings.ps1 = Tools\Scripts\CheckTranslationStrings.ps1
314-
Tools\Scripts\CheckUnusedResources.vbs = Tools\Scripts\CheckUnusedResources.vbs
314+
Tools\Scripts\CheckUnusedResources.js = Tools\Scripts\CheckUnusedResources.js
315315
Tools\Scripts\README.md = Tools\Scripts\README.md
316316
Tools\Scripts\UpdateTranslations.bat = Tools\Scripts\UpdateTranslations.bat
317317
EndProjectSection
@@ -353,7 +353,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "q", "q", "{E4EF583F-653D-44
353353
EndProject
354354
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PluginTests", "PluginTests", "{9738877F-0B01-4C37-855E-7465C5AB7B56}"
355355
ProjectSection(SolutionItems) = preProject
356-
Testing\PluginTests\PluginTests.vbs = Testing\PluginTests\PluginTests.vbs
356+
Testing\PluginTests\PluginTests.js = Testing\PluginTests\PluginTests.js
357357
EndProjectSection
358358
EndProject
359359
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "yq", "yq", "{9914C8A9-0DEA-4922-9065-57034EE5263D}"

ALL.vs2022.sln

+6-6
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Root", "Root", "{DC3B258E-4
3737
BuildManual.cmd = BuildManual.cmd
3838
CreateRelease.cmd = CreateRelease.cmd
3939
DownloadDeps.cmd = DownloadDeps.cmd
40-
ExpandEnvironmenStrings.vbs = ExpandEnvironmenStrings.vbs
40+
ExpandEnvironmenStrings.js = ExpandEnvironmenStrings.js
4141
LICENSE.md = LICENSE.md
4242
README.md = README.md
4343
runastyle.bat = runastyle.bat
@@ -165,9 +165,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Batch Files", "Batch Files"
165165
Externals\winimerge\SetVersion.cmd = Externals\winimerge\SetVersion.cmd
166166
EndProjectSection
167167
EndProject
168-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VBS Scripts", "VBS Scripts", "{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453}"
168+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453}"
169169
ProjectSection(SolutionItems) = preProject
170-
Externals\winimerge\ExpandEnvironmenStrings.vbs = Externals\winimerge\ExpandEnvironmenStrings.vbs
170+
Externals\winimerge\ExpandEnvironmenStrings.js = Externals\winimerge\ExpandEnvironmenStrings.js
171171
EndProjectSection
172172
EndProject
173173
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
308308
EndProject
309309
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{88571237-56AD-421A-8F88-26983BDD8D6C}"
310310
ProjectSection(SolutionItems) = preProject
311-
Tools\Scripts\CheckMenuResources.vbs = Tools\Scripts\CheckMenuResources.vbs
311+
Tools\Scripts\CheckMenuResources.js = Tools\Scripts\CheckMenuResources.js
312312
Tools\Scripts\CheckTranslationStrings.cmd = Tools\Scripts\CheckTranslationStrings.cmd
313313
Tools\Scripts\CheckTranslationStrings.ps1 = Tools\Scripts\CheckTranslationStrings.ps1
314-
Tools\Scripts\CheckUnusedResources.vbs = Tools\Scripts\CheckUnusedResources.vbs
314+
Tools\Scripts\CheckUnusedResources.js = Tools\Scripts\CheckUnusedResources.js
315315
Tools\Scripts\README.md = Tools\Scripts\README.md
316316
Tools\Scripts\UpdateTranslations.bat = Tools\Scripts\UpdateTranslations.bat
317317
EndProjectSection
@@ -353,7 +353,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "q", "q", "{E4EF583F-653D-44
353353
EndProject
354354
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PluginTests", "PluginTests", "{9738877F-0B01-4C37-855E-7465C5AB7B56}"
355355
ProjectSection(SolutionItems) = preProject
356-
Testing\PluginTests\PluginTests.vbs = Testing\PluginTests\PluginTests.vbs
356+
Testing\PluginTests\PluginTests.js = Testing\PluginTests\PluginTests.js
357357
EndProjectSection
358358
EndProject
359359
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "yq", "yq", "{9914C8A9-0DEA-4922-9065-57034EE5263D}"

BuildArc.cmd

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ if "%1" == "" (
2525

2626
del "%DISTDIR%\winmerge-%SAFEAPPVER%-full-src.7z" 2> NUL
2727

28-
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
28+
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
2929

3030
(
3131
echo "%DISTDIR%\WinMerge-%SAFEAPPVER%-Setup.exe"

BuildBin.vs2017.cmd

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cd /d "%~dp0"
22

33
call SetVersion.cmd
4-
cscript /nologo ExpandEnvironmenStrings.vbs Version.in > Version.h
4+
cscript /nologo ExpandEnvironmenStrings.js Version.in > Version.h
55

66
setlocal
77
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 (

BuildBin.vs2019.cmd

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cd /d "%~dp0"
22

33
call SetVersion.cmd
4-
cscript /nologo ExpandEnvironmenStrings.vbs Version.in > Version.h
4+
cscript /nologo ExpandEnvironmenStrings.js Version.in > Version.h
55

66
setlocal
77
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 (

BuildBin.vs2022.cmd

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cd /d "%~dp0"
22

33
call SetVersion.cmd
4-
cscript /nologo ExpandEnvironmenStrings.vbs Version.in > Version.h
4+
cscript /nologo ExpandEnvironmenStrings.js Version.in > Version.h
55

66
setlocal
77
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 (

ExpandEnvironmenStrings.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
var fso = new ActiveXObject("Scripting.FileSystemObject");
2+
var sh = new ActiveXObject("WScript.Shell");
3+
var otf = fso.OpenTextFile(WScript.Arguments.Unnamed(0), 1);
4+
5+
while (!otf.AtEndOfStream) {
6+
WScript.Echo(sh.ExpandEnvironmentStrings(otf.ReadLine()));
7+
}
8+
9+
otf.Close();
10+

ExpandEnvironmenStrings.vbs

-10
This file was deleted.

Plugins/Plugins.xml

+8-8
Original file line numberDiff line numberDiff line change
@@ -216,24 +216,24 @@
216216
</unpack-file>
217217
</plugin>
218218
<!--
219-
<plugin name="VBScript-test">
219+
<plugin name="JScript-test">
220220
<event value="FILE_PACK_UNPACK" />
221-
<description value="VBScript test" />
221+
<description value="JScript test" />
222222
<file-filters value="\.nomatch$" />
223223
<is-automatic value="false" />
224224
<unpacked-file-extension value=".txt" />
225225
<unpack-file>
226226
<command>cmd /c cscript //nologo "${SCRIPT_FILE}" "${SRC_FILE}" > "${DST_FILE}"</command>
227-
<script fileExtension=".vbs">
228-
WScript.StdOut.WriteLine "Hello World!"
229-
WScript.StdOut.WriteLine WScript.Arguments(0)
227+
<script fileExtension=".js">
228+
WScript.StdOut.WriteLine("Hello World!");
229+
WScript.StdOut.WriteLine(WScript.Arguments.Item(0));
230230
</script>
231231
</unpack-file>
232232
<pack-file>
233233
<command>cmd /c cscript //nologo "${SCRIPT_FILE}" "${SRC_FILE}" > "${DST_FILE}"</command>
234-
<script fileExtension=".vbs">
235-
WScript.StdOut.WriteLine "!dlroW olleH"
236-
WScript.StdOut.WriteLine WScript.Arguments(0)
234+
<script fileExtension=".js">
235+
WScript.StdOut.WriteLine("!dlroW olleH");
236+
WScript.StdOut.WriteLine(WScript.Arguments.Item(0));
237237
</script>
238238
</pack-file>
239239
</plugin>

0 commit comments

Comments
 (0)