From 176205a22de8bc356109edc2aceaaa07ae1d24a4 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Fri, 6 Sep 2024 14:41:34 -0400 Subject: Print stack trace if $TOMO_STACKTRACE is set --- parse.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'parse.c') diff --git a/parse.c b/parse.c index 1e421085..9550cc68 100644 --- a/parse.c +++ b/parse.c @@ -11,6 +11,7 @@ #include #include "ast.h" +#include "builtins/functions.h" #include "builtins/integers.h" #include "builtins/text.h" #include "builtins/table.h" @@ -134,8 +135,12 @@ static void vparser_err(parse_ctx_t *ctx, const char *start, const char *end, co highlight_error(ctx->file, start, end, "\x1b[31;1;7m", 2, isatty(STDERR_FILENO) && !getenv("NO_COLOR")); fputs("\n", stderr); + if (getenv("TOMO_STACKTRACE")) + print_stack_trace(stderr, 1, 3); + if (ctx->on_err) longjmp(*ctx->on_err, 1); + raise(SIGABRT); exit(1); } -- cgit v1.2.3