From 01d77dafb8fc4d40f8603e0d776b9b4b9283918d Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sun, 5 Jul 2026 12:11:23 +0200 Subject: terex is built with assertions now on --enable-debug * terex disables assertions by default unless you add `-DREG_DEBUG`. Since we heavily modified the original by Henry Spencer it makes sense to enable assertions. * dlmalloc will still be built without assertions even if --enable-debug is given since that has a significant speed impact and I consider dlmalloc to be rock solid. It would need `-DDEBUG=1` to enable assertions (among other things). We only disable additional checks in dlmalloc if --disable-debug. --- configure.ac | 8 ++++++-- contrib/terex | 2 +- src/spawn.c | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 09d0804..03b06ba 100644 --- a/configure.ac +++ b/configure.ac @@ -18,11 +18,16 @@ AC_CANONICAL_BUILD AC_CANONICAL_HOST AX_CHECK_ENABLE_DEBUG -if [[ x$ax_enable_debug = xno ]]; then +if [[ x$ax_enable_debug = xyes ]]; then + #DLMALLOC_CPPFLAGS="$DLMALLOC_CPPFLAGS -DDEBUG=1" + TEREX_CPPFLAGS="$TEREX_CPPFLAGS -DREG_DEBUG" +else # glib does not look at NDEBUG AC_DEFINE(G_DISABLE_ASSERT, 1, [Disable g_assert()]) DLMALLOC_CPPFLAGS="$DLMALLOC_CPPFLAGS -DINSECURE=1" fi +AC_SUBST(DLMALLOC_CPPFLAGS) +AC_SUBST(TEREX_CPPFLAGS) # Use the user provided CXXFLAGS for Scintilla as well. # This makes sure that the same optimizations are applied @@ -229,7 +234,6 @@ esac AC_CHECK_FUNCS([sbrk], , [ DLMALLOC_CPPFLAGS="$DLMALLOC_CPPFLAGS -DHAVE_MORECORE=0" ]) -AC_SUBST(DLMALLOC_CPPFLAGS) # # Config options diff --git a/contrib/terex b/contrib/terex index dfdd292..b00e966 160000 --- a/contrib/terex +++ b/contrib/terex @@ -1 +1 @@ -Subproject commit dfdd292ea7163e60ecdb27ef4e76d85e355c97a4 +Subproject commit b00e966f85221c3702a1f3f90e9494eb480876dd diff --git a/src/spawn.c b/src/spawn.c index b17ee58..0492bbf 100644 --- a/src/spawn.c +++ b/src/spawn.c @@ -304,6 +304,8 @@ teco_state_execute_done(teco_machine_main_t *ctx, teco_string_t str, GError **er * contain '/', ie. must be resolved against $PATH. * See also https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=295991 * As a workaround, only pass down absolute paths. + * This is not perfect: It will use $PATH from the environment, + * so you cannot overwrite it from within SciTECO. */ gchar *program = g_find_program_in_path(argv[0]); if (!program) { -- cgit v1.2.3