From 249b2ac63b902193c98c704f47f976bda76c96b2 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 17 Mar 2026 12:24:27 -0400 Subject: [PATCH 1/6] xo-indentlog: utest: carveout for osx-vs-linux nullptr printing --- xo-indentlog/utest/log_streambuf.test.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xo-indentlog/utest/log_streambuf.test.cpp b/xo-indentlog/utest/log_streambuf.test.cpp index 1e38a01e..94d20195 100644 --- a/xo-indentlog/utest/log_streambuf.test.cpp +++ b/xo-indentlog/utest/log_streambuf.test.cpp @@ -77,7 +77,11 @@ namespace ut { //REQUIRE(sbuf.lo() == sbuf.pbase()); +#ifdef __linux__ + auto expected = string_view("empty log_streambuf :sbuf.lo 0 :sbuf.hi 0 :sbuf.color_escape_chars 0"); +#else auto expected = string_view("empty log_streambuf :sbuf.lo 0x0 :sbuf.hi 0x0 :sbuf.color_escape_chars 0"); +#endif REQUIRE(string_view(sbuf) == expected); From d1aa56a289cc823c92959b1f2287058ec6d58eeb Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 17 Mar 2026 12:26:58 -0400 Subject: [PATCH 2/6] xo-interpreter2: utest: match changed report-memory-use spelling --- xo-interpreter2/utest/VirtualSchematikaMachine.test.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xo-interpreter2/utest/VirtualSchematikaMachine.test.cpp b/xo-interpreter2/utest/VirtualSchematikaMachine.test.cpp index 9fb85ffc..3f5d145c 100644 --- a/xo-interpreter2/utest/VirtualSchematikaMachine.test.cpp +++ b/xo-interpreter2/utest/VirtualSchematikaMachine.test.cpp @@ -729,7 +729,7 @@ namespace xo { vsm.begin_interactive_session(); - span_type input = span_type::from_cstr("report_memory_use();"); + span_type input = span_type::from_cstr("report-memory-use();"); log && log(xtag("input", input)); From 5502f3e10c1322ee1aa4973795116dbf00aae5e3 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 17 Mar 2026 12:27:31 -0400 Subject: [PATCH 3/6] xo-procedure2: bugfix: conform getcwd() api: must use return value --- xo-procedure2/src/procedure2/ObjectPrimitives.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xo-procedure2/src/procedure2/ObjectPrimitives.cpp b/xo-procedure2/src/procedure2/ObjectPrimitives.cpp index 4edd3873..d9d86f4a 100644 --- a/xo-procedure2/src/procedure2/ObjectPrimitives.cpp +++ b/xo-procedure2/src/procedure2/ObjectPrimitives.cpp @@ -33,9 +33,9 @@ namespace xo { xfer_cwd(obj rcx) { char buf[PATH_MAX]; - ::getcwd(buf, sizeof(buf)); + char * cwd = ::getcwd(buf, sizeof(buf)); - return obj(DString::from_cstr(rcx.allocator(), buf)); + return obj(DString::from_cstr(rcx.allocator(), cwd)); } DPrimitive_gco_0 * From 3a7355b7d85cd39a49b69c02430d908a781eadcc Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 17 Mar 2026 12:28:12 -0400 Subject: [PATCH 4/6] xo-type: nit: need return value even on impossible paths --- xo-type/src/type/Metatype.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xo-type/src/type/Metatype.cpp b/xo-type/src/type/Metatype.cpp index 1ac26f62..1eb0138e 100644 --- a/xo-type/src/type/Metatype.cpp +++ b/xo-type/src/type/Metatype.cpp @@ -4,6 +4,7 @@ **/ #include "Metatype.hpp" +#include namespace xo { namespace scm { @@ -36,6 +37,9 @@ namespace xo { case code::t_callable: return "callable"; case code::t_any: return "any"; } + + assert(false); + return "?metatype"; } bool @@ -86,6 +90,9 @@ namespace xo { case code::t_any: return true; } + + assert(false); + return false; } } /*namespace scm*/ From 7a2b27ed075d61f017b589a31291fc955100bf33 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 17 Mar 2026 12:49:35 -0400 Subject: [PATCH 5/6] xo-reader2: bugfix genfacet paths + move DParenSsm --- xo-reader2/idl/IGCObject_DGlobalEnv.json5 | 2 +- xo-reader2/idl/IPrintable_DGlobalEnv.json5 | 4 ++-- xo-reader2/idl/IPrintable_DParenSsm.json5 | 2 +- xo-reader2/idl/ISyntaxStateMachine_DParenSsm.json5 | 2 +- xo-reader2/include/xo/reader2/ParenSsm.hpp | 2 +- xo-reader2/include/xo/reader2/{ => paren}/DParenSsm.hpp | 0 .../xo/reader2/{ssm => paren}/IPrintable_DParenSsm.hpp | 0 .../reader2/{ssm => paren}/ISyntaxStateMachine_DParenSsm.hpp | 0 xo-reader2/src/reader2/IPrintable_DParenSsm.cpp | 2 +- xo-reader2/src/reader2/ISyntaxStateMachine_DParenSsm.cpp | 2 +- 10 files changed, 8 insertions(+), 8 deletions(-) rename xo-reader2/include/xo/reader2/{ => paren}/DParenSsm.hpp (100%) rename xo-reader2/include/xo/reader2/{ssm => paren}/IPrintable_DParenSsm.hpp (100%) rename xo-reader2/include/xo/reader2/{ssm => paren}/ISyntaxStateMachine_DParenSsm.hpp (100%) diff --git a/xo-reader2/idl/IGCObject_DGlobalEnv.json5 b/xo-reader2/idl/IGCObject_DGlobalEnv.json5 index 1a590527..c3d666dd 100644 --- a/xo-reader2/idl/IGCObject_DGlobalEnv.json5 +++ b/xo-reader2/idl/IGCObject_DGlobalEnv.json5 @@ -1,7 +1,7 @@ { mode: "implementation", output_cpp_dir: "src/reader2/facet", - output_hpp_dir: "include/xo/interpreter2", + output_hpp_dir: "include/xo/reader2", output_impl_subdir: "env", includes: [ "", diff --git a/xo-reader2/idl/IPrintable_DGlobalEnv.json5 b/xo-reader2/idl/IPrintable_DGlobalEnv.json5 index 0a05eb62..9e48847e 100644 --- a/xo-reader2/idl/IPrintable_DGlobalEnv.json5 +++ b/xo-reader2/idl/IPrintable_DGlobalEnv.json5 @@ -1,7 +1,7 @@ { mode: "implementation", - output_cpp_dir: "src/interpreter2/facet", - output_hpp_dir: "include/xo/interpreter2", + output_cpp_dir: "src/reader2/facet", + output_hpp_dir: "include/xo/reader2", output_impl_subdir: "env", includes: [ "", "" ], diff --git a/xo-reader2/idl/IPrintable_DParenSsm.json5 b/xo-reader2/idl/IPrintable_DParenSsm.json5 index 9750cb31..6735436c 100644 --- a/xo-reader2/idl/IPrintable_DParenSsm.json5 +++ b/xo-reader2/idl/IPrintable_DParenSsm.json5 @@ -2,7 +2,7 @@ mode: "implementation", output_cpp_dir: "src/reader2", output_hpp_dir: "include/xo/reader2", - output_impl_subdir: "ssm", + output_impl_subdir: "paren", includes: [ "", "" ], local_types: [], diff --git a/xo-reader2/idl/ISyntaxStateMachine_DParenSsm.json5 b/xo-reader2/idl/ISyntaxStateMachine_DParenSsm.json5 index 7ea19fc0..dcdb298c 100644 --- a/xo-reader2/idl/ISyntaxStateMachine_DParenSsm.json5 +++ b/xo-reader2/idl/ISyntaxStateMachine_DParenSsm.json5 @@ -2,7 +2,7 @@ mode: "implementation", output_cpp_dir: "src/reader2", output_hpp_dir: "include/xo/reader2", - output_impl_subdir: "ssm", + output_impl_subdir: "paren", includes: [ "\"SyntaxStateMachine.hpp\"", "\"ssm/ISyntaxStateMachine_Xfer.hpp\"" ], local_types: [ ], diff --git a/xo-reader2/include/xo/reader2/ParenSsm.hpp b/xo-reader2/include/xo/reader2/ParenSsm.hpp index a9a786fd..30dc4ee5 100644 --- a/xo-reader2/include/xo/reader2/ParenSsm.hpp +++ b/xo-reader2/include/xo/reader2/ParenSsm.hpp @@ -5,7 +5,7 @@ #pragma once -#include "DParenSsm.hpp" +#include "paren/DParenSsm.hpp" #include "ssm/ISyntaxStateMachine_DParenSsm.hpp" #include "ssm/IPrintable_DParenSsm.hpp" diff --git a/xo-reader2/include/xo/reader2/DParenSsm.hpp b/xo-reader2/include/xo/reader2/paren/DParenSsm.hpp similarity index 100% rename from xo-reader2/include/xo/reader2/DParenSsm.hpp rename to xo-reader2/include/xo/reader2/paren/DParenSsm.hpp diff --git a/xo-reader2/include/xo/reader2/ssm/IPrintable_DParenSsm.hpp b/xo-reader2/include/xo/reader2/paren/IPrintable_DParenSsm.hpp similarity index 100% rename from xo-reader2/include/xo/reader2/ssm/IPrintable_DParenSsm.hpp rename to xo-reader2/include/xo/reader2/paren/IPrintable_DParenSsm.hpp diff --git a/xo-reader2/include/xo/reader2/ssm/ISyntaxStateMachine_DParenSsm.hpp b/xo-reader2/include/xo/reader2/paren/ISyntaxStateMachine_DParenSsm.hpp similarity index 100% rename from xo-reader2/include/xo/reader2/ssm/ISyntaxStateMachine_DParenSsm.hpp rename to xo-reader2/include/xo/reader2/paren/ISyntaxStateMachine_DParenSsm.hpp diff --git a/xo-reader2/src/reader2/IPrintable_DParenSsm.cpp b/xo-reader2/src/reader2/IPrintable_DParenSsm.cpp index b2228f7f..7cda341b 100644 --- a/xo-reader2/src/reader2/IPrintable_DParenSsm.cpp +++ b/xo-reader2/src/reader2/IPrintable_DParenSsm.cpp @@ -11,7 +11,7 @@ * [idl/IPrintable_DParenSsm.json5] **/ -#include "ssm/IPrintable_DParenSsm.hpp" +#include "paren/IPrintable_DParenSsm.hpp" namespace xo { namespace scm { diff --git a/xo-reader2/src/reader2/ISyntaxStateMachine_DParenSsm.cpp b/xo-reader2/src/reader2/ISyntaxStateMachine_DParenSsm.cpp index 05f5d4cc..555ae683 100644 --- a/xo-reader2/src/reader2/ISyntaxStateMachine_DParenSsm.cpp +++ b/xo-reader2/src/reader2/ISyntaxStateMachine_DParenSsm.cpp @@ -11,7 +11,7 @@ * [idl/ISyntaxStateMachine_DParenSsm.json5] **/ -#include "ssm/ISyntaxStateMachine_DParenSsm.hpp" +#include "paren/ISyntaxStateMachine_DParenSsm.hpp" namespace xo { namespace scm { From d5368c55e9b14b43f9071ffa3ba8b2d0f8ab7b58 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 17 Mar 2026 12:50:22 -0400 Subject: [PATCH 6/6] xo-reader2: bugfix: ParenSsm include paths --- xo-reader2/include/xo/reader2/ParenSsm.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xo-reader2/include/xo/reader2/ParenSsm.hpp b/xo-reader2/include/xo/reader2/ParenSsm.hpp index 30dc4ee5..ff03da9b 100644 --- a/xo-reader2/include/xo/reader2/ParenSsm.hpp +++ b/xo-reader2/include/xo/reader2/ParenSsm.hpp @@ -6,7 +6,7 @@ #pragma once #include "paren/DParenSsm.hpp" -#include "ssm/ISyntaxStateMachine_DParenSsm.hpp" -#include "ssm/IPrintable_DParenSsm.hpp" +#include "paren/ISyntaxStateMachine_DParenSsm.hpp" +#include "paren/IPrintable_DParenSsm.hpp" /* end ParenSsm.hpp */