summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/tex
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2021-02-14 23:09:14 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2021-02-14 23:09:14 +0000
commit8760e50243e70dab45d117689d869a7d93e9d696 (patch)
tree28dd07b0c7842070978425d718240be30253e07b /Build/source/texk/web2c/luatexdir/tex
parent713f02536eeafd01d474693c563b40bb4331c19f (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.c43
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();
+ }
}
}