From df474fede94f4995dc547d071bb84d126165f40e Mon Sep 17 00:00:00 2001 From: escolano Date: Mon, 21 Sep 2026 15:13:11 +0200 Subject: [PATCH 1/5] parse_args , #include "../teabase/tdclstuff.h" and #include "../teabase/tip445.h" (otherwise fail compile Windows VS) --- generic/tclstuff.h | 2 +- generic/tip445.h | 2 +- teabase | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/generic/tclstuff.h b/generic/tclstuff.h index ade55f1..f8c17dd 120000 --- a/generic/tclstuff.h +++ b/generic/tclstuff.h @@ -1 +1 @@ -../teabase/tclstuff.h \ No newline at end of file +#include "../teabase/tclstuff.h" diff --git a/generic/tip445.h b/generic/tip445.h index a53b808..d750493 120000 --- a/generic/tip445.h +++ b/generic/tip445.h @@ -1 +1 @@ -../teabase/tip445.h \ No newline at end of file +#include "../teabase/tip445.h" diff --git a/teabase b/teabase index a3321ff..7560b8b 160000 --- a/teabase +++ b/teabase @@ -1 +1 @@ -Subproject commit a3321ff7ddd0ad10801e953af24de88204a69603 +Subproject commit 7560b8baa374fac9ff76af7980eda19a9603c9fa From f995b07bf36bfe174bc730791bfd5376b0095694 Mon Sep 17 00:00:00 2001 From: escolano Date: Mon, 21 Sep 2026 15:15:29 +0200 Subject: [PATCH 2/5] parse_args add VS project to facilitate compile on this platform --- vs/parse_args.vcxproj | 207 ++++++++++++++++++++++++++++++++++ vs/parse_args.vcxproj.filters | 27 +++++ 2 files changed, 234 insertions(+) create mode 100644 vs/parse_args.vcxproj create mode 100644 vs/parse_args.vcxproj.filters diff --git a/vs/parse_args.vcxproj b/vs/parse_args.vcxproj new file mode 100644 index 0000000..83c0406 --- /dev/null +++ b/vs/parse_args.vcxproj @@ -0,0 +1,207 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + + + + + + {5816C02A-9DE0-4447-8C8D-FC8E7B4F74FF} + Win32Proj + parse_args + parse_args + 10.0 + + + + DynamicLibrary + true + MultiByte + v145 + + + DynamicLibrary + true + MultiByte + v145 + + + DynamicLibrary + false + false + MultiByte + v145 + + + DynamicLibrary + false + false + MultiByte + v145 + + + + + + + + + + + + + + + + + + + true + $(SolutionDir)x$(PlatformArchitecture)\$(Configuration)\ + x$(PlatformArchitecture)\$(Configuration)\ + + + true + $(SolutionDir)x$(PlatformArchitecture)\$(Configuration)\ + x$(PlatformArchitecture)\$(Configuration)\ + + + false + $(SolutionDir)x$(PlatformArchitecture)\$(Configuration)\ + x$(PlatformArchitecture)\$(Configuration)\ + + + false + $(SolutionDir)x$(PlatformArchitecture)\$(Configuration)\ + x$(PlatformArchitecture)\$(Configuration)\ + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;PARSE_ARGS_EXPORTS;USE_TCL_STUBS;USE_TCLOO_STUBS;TIP445_SHIM;PACKAGE_NAME="parse_args";PACKAGE_VERSION="0.5.2";%(PreprocessorDefinitions) + true + MultiThreadedDebug + ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\include + + 4996 + + + Console + true + ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\lib + tclstub86.lib;%(AdditionalDependencies) + + + + + NotUsing + Level3 + Disabled + WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;PARSE_ARGS_EXPORTS;USE_TCL_STUBS;USE_TCLOO_STUBS;TIP445_SHIM;PACKAGE_NAME="parse_args";PACKAGE_VERSION="0.5.2";%(PreprocessorDefinitions) + true + MultiThreadedDebug + ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\include + + + 4996 + + + Console + true + ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\lib + tclstub86.lib;%(AdditionalDependencies) + + + + + Level3 + NotUsing + Full + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;PARSE_ARGS_EXPORTS;USE_TCL_STUBS;USE_TCLOO_STUBS;TIP445_SHIM;PACKAGE_NAME="parse_args";PACKAGE_VERSION="0.5.2";%(PreprocessorDefinitions) + true + MultiThreaded + ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\include + + false + /MP8 %(AdditionalOptions) + None + Default + 4996 + + + Console + false + true + true + ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\lib + tclstub86.lib;%(AdditionalDependencies) + Default + + + if not exist ..\..\..\scripts\parse_args MkDir ..\..\..\scripts\parse_args +set DLL_PREFIX= +copy "$(TargetPath)" ..\..\..\scripts\parse_args\%DLL_PREFIX%parse_args_$(PlatformArchitecture).dll + + + + + + Level3 + NotUsing + Full + true + WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;PARSE_ARGS_EXPORTS;USE_TCL_STUBS;USE_TCLOO_STUBS;TIP445_SHIM;PACKAGE_NAME="parse_args";PACKAGE_VERSION="0.5.2";%(PreprocessorDefinitions) + true + MultiThreaded + ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\include + + + false + None + CompileAsC + 4996 + + + Console + false + true + true + ..\..\tcltk\TclTk8.6.13\x$(PlatformArchitecture)\lib + tclstub86.lib;%(AdditionalDependencies) + Default + + + if not exist ..\..\..\scripts\parse_args MkDir ..\..\..\scripts\parse_args +set DLL_PREFIX= +copy "$(TargetPath)" ..\..\..\scripts\parse_args\%DLL_PREFIX%parse_args_$(PlatformArchitecture).dll + + + + + + + \ No newline at end of file diff --git a/vs/parse_args.vcxproj.filters b/vs/parse_args.vcxproj.filters new file mode 100644 index 0000000..13e7c60 --- /dev/null +++ b/vs/parse_args.vcxproj.filters @@ -0,0 +1,27 @@ + + + + + {125cb61f-0f27-4e19-9297-26a8e2e21d2b} + + + {b32d45d9-0ca9-4592-8950-4097e970e773} + + + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file From b08370cd1f37c4aaac3cc9a0ff3802572b7cc181 Mon Sep 17 00:00:00 2001 From: escolano Date: Mon, 21 Sep 2026 15:21:21 +0200 Subject: [PATCH 3/5] parse_args gitignore the rest of vs/ files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index bfdaf72..f3e13ec 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ tags /subprojects/tcl /subprojects/libtommath-* /doc/parse_args.md +vs/ From deae1b6881f4474df858efff48c01f240290592b Mon Sep 17 00:00:00 2001 From: escolano Date: Mon, 21 Sep 2026 17:35:22 +0200 Subject: [PATCH 4/5] allow Tcl9 Tcl_Size --- generic/parse_args.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/generic/parse_args.c b/generic/parse_args.c index 0163e0c..a30d0e7 100644 --- a/generic/parse_args.c +++ b/generic/parse_args.c @@ -833,7 +833,8 @@ static int parse_args(ClientData cdata, Tcl_Interp* interp, int objc, Tcl_Obj *c struct interp_cx* l = (struct interp_cx*)cdata; Tcl_Obj** av; Tcl_Size ac; - int i, check_options=1, positional_arg=0; + int check_options=1, positional_arg=0; + Tcl_Size i; struct parse_spec* spec = NULL; Tcl_Obj* res = NULL; Tcl_Obj* val = NULL; From 56c3ff2eade27677a4d2b7c15aa28f5b3ccef17d Mon Sep 17 00:00:00 2001 From: escolano Date: Mon, 21 Sep 2026 17:37:01 +0200 Subject: [PATCH 5/5] allow Tcl9 Tcl_Size --- teabase | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/teabase b/teabase index 7560b8b..732efde 160000 --- a/teabase +++ b/teabase @@ -1 +1 @@ -Subproject commit 7560b8baa374fac9ff76af7980eda19a9603c9fa +Subproject commit 732efde2f6fc7abd4b719d34866268ef0dab395f