diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2021-02-14 23:09:14 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2021-02-14 23:09:14 +0000 |
commit | 8760e50243e70dab45d117689d869a7d93e9d696 (patch) | |
tree | 28dd07b0c7842070978425d718240be30253e07b /Build/source/texk/web2c/luatexdir/tex | |
parent | 713f02536eeafd01d474693c563b40bb4331c19f (diff) |
sync with the upstream
git-svn-id: svn://tug.org/texlive/trunk@57743 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/tex')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/tex/printing.c | 43 |
1 files changed, 29 insertions, 14 deletions
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(); + } } } |