diff options
5 files changed, 35 insertions, 15 deletions
diff --git a/Build/source/texk/web2c/luatexdir/ChangeLog b/Build/source/texk/web2c/luatexdir/ChangeLog index 0fb4733ff47..c63343a78f4 100644 --- a/Build/source/texk/web2c/luatexdir/ChangeLog +++ b/Build/source/texk/web2c/luatexdir/ChangeLog @@ -1,3 +1,6 @@ +2012-02-14 Luigi Scarso <luigi.scarso@gmail.com> + * callback for nesting level used in tracingmacros + 2021-02-01 Luigi Scarso <luigi.scarso@gmail.com> * two TeX January 2021 DEK buglet fixes (H.Hagen) diff --git a/Build/source/texk/web2c/luatexdir/lua/lcallbacklib.c b/Build/source/texk/web2c/luatexdir/lua/lcallbacklib.c index 4e0defd1059..c4472c07f7f 100644 --- a/Build/source/texk/web2c/luatexdir/lua/lcallbacklib.c +++ b/Build/source/texk/web2c/luatexdir/lua/lcallbacklib.c @@ -85,6 +85,7 @@ static const char *const callbacknames[] = { "make_extensible", "process_pdf_image_content", "provide_charproc_data", + "input_level_string", NULL }; diff --git a/Build/source/texk/web2c/luatexdir/luatex_svnversion.h b/Build/source/texk/web2c/luatexdir/luatex_svnversion.h index aad873b3bcc..3330fea50d1 100644 --- a/Build/source/texk/web2c/luatexdir/luatex_svnversion.h +++ b/Build/source/texk/web2c/luatexdir/luatex_svnversion.h @@ -1 +1 @@ -#define luatex_svn_revision 7403 +#define luatex_svn_revision 7405 diff --git a/Build/source/texk/web2c/luatexdir/luatexcallbackids.h b/Build/source/texk/web2c/luatexdir/luatexcallbackids.h index f06d5e0e094..7a56a86b932 100644 --- a/Build/source/texk/web2c/luatexdir/luatexcallbackids.h +++ b/Build/source/texk/web2c/luatexdir/luatexcallbackids.h @@ -77,6 +77,7 @@ typedef enum { make_extensible_callback, process_pdf_image_content_callback, provide_charproc_data_callback, + input_level_string_callback, total_callbacks, } callback_callback_types; diff --git a/Build/source/texk/web2c/luatexdir/tex/printing.c b/Build/source/texk/web2c/luatexdir/tex/printing.c index 9cfca1faf28..31125d2ebca 100644 --- a/Build/source/texk/web2c/luatexdir/tex/printing.c +++ b/Build/source/texk/web2c/luatexdir/tex/printing.c @@ -1304,24 +1304,39 @@ void end_diagnostic(boolean blank_line) void print_input_level(void) { - int m = level_max; - if (m) { - int l = input_ptr; - int c = level_chr > 0 ? level_chr : '.'; - if (l > m) { - tprint_nl("["); - print_int((l/m)*m); - print(']'); - l = l % m; + int callback_id = callback_defined(input_level_string_callback); + if (callback_id>0) { + char *s = NULL; + if (run_callback(callback_id, "d->S", input_ptr, &s)) { + if (s && strlen(s) > 0) { + tprint_nl(s); + free(s); + } else { + print_ln(); + } } else { print_ln(); } - while (l > 0) { - print(c); - l--; - } } else { - print_ln(); + int m = level_max; + if (m) { + int l = input_ptr; + int c = level_chr > 0 ? level_chr : '.'; + if (l > m) { + tprint_nl("["); + print_int((l/m)*m); + print(']'); + l = l % m; + } else { + print_ln(); + } + while (l > 0) { + print(c); + l--; + } + } else { + print_ln(); + } } } |