From 5e4271548ee05a3e7beee9093decae9b77043d12 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 30 Sep 2011 23:23:37 +0000 Subject: branch2011: import line number fix from trunk r24155 git-svn-id: svn://tug.org/texlive/branches/branch2011@24159 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/alephdir/com16bit.ch | 2 +- Build/source/texk/web2c/alephdir/eobase.ch | 7 +++---- Build/source/texk/web2c/etexdir/etex.ch | 7 +++---- Build/source/texk/web2c/etexdir/wprob.test | 14 ++++++++++++++ Build/source/texk/web2c/luatexdir/tex/inputstack.w | 9 +++++---- Build/source/texk/web2c/luatexdir/tex/printing.w | 2 +- Build/source/texk/web2c/pdftexdir/wprob.test | 14 ++++++++++++++ Build/source/texk/web2c/tests/wprob.tex | 15 +++++++++++++++ Build/source/texk/web2c/tex.ch | 2 +- 9 files changed, 57 insertions(+), 15 deletions(-) create mode 100644 Build/source/texk/web2c/etexdir/wprob.test create mode 100644 Build/source/texk/web2c/pdftexdir/wprob.test create mode 100644 Build/source/texk/web2c/tests/wprob.tex diff --git a/Build/source/texk/web2c/alephdir/com16bit.ch b/Build/source/texk/web2c/alephdir/com16bit.ch index 369624148ca..a64e8098646 100644 --- a/Build/source/texk/web2c/alephdir/com16bit.ch +++ b/Build/source/texk/web2c/alephdir/com16bit.ch @@ -2784,7 +2784,7 @@ begin else begin print_nl (""); print (full_source_filename_stack[level]); print (":"); if level=in_open then print_int (line) - else print_int (line_stack[index+1-(in_open-level)]); + else print_int (line_stack[level+1]); print (": "); end; end; diff --git a/Build/source/texk/web2c/alephdir/eobase.ch b/Build/source/texk/web2c/alephdir/eobase.ch index 391b9beb3ac..5001be06da6 100644 --- a/Build/source/texk/web2c/alephdir/eobase.ch +++ b/Build/source/texk/web2c/alephdir/eobase.ch @@ -805,10 +805,9 @@ created by the \.{\\scantokens} command. @x [22] m.313 l.6794 - e-TeX scan_tokens else begin print_nl("l."); print_int(line); @y -else if index<>in_open then {input from a pseudo file} - begin print_nl("l."); print_int(line_stack[index+1]); - end -else begin print_nl("l."); print_int(line); +else begin print_nl("l."); + if index=in_open then print_int(line) + else print_int(line_stack[index+1]); {input from a pseudo file} @z %--------------------------------------- @x [22] m.314 l.6814 - e-TeX basic diff --git a/Build/source/texk/web2c/etexdir/etex.ch b/Build/source/texk/web2c/etexdir/etex.ch index d662fb062cf..551504aad59 100644 --- a/Build/source/texk/web2c/etexdir/etex.ch +++ b/Build/source/texk/web2c/etexdir/etex.ch @@ -871,10 +871,9 @@ corresponding token types must precede |write_text|. @x [22] m.313 l.6809 - e-TeX scan_tokens else begin print_nl("l."); print_int(line); @y -else if index<>in_open then {input from a pseudo file} - begin print_nl("l."); print_int(line_stack[index+1]); - end -else begin print_nl("l."); print_int(line); +else begin print_nl("l."); + if index=in_open then print_int(line) + else print_int(line_stack[index+1]); {input from a pseudo file} @z %--------------------------------------- @x [22] m.314 l.6831 - e-TeX basic diff --git a/Build/source/texk/web2c/etexdir/wprob.test b/Build/source/texk/web2c/etexdir/wprob.test new file mode 100644 index 00000000000..c1908c516c4 --- /dev/null +++ b/Build/source/texk/web2c/etexdir/wprob.test @@ -0,0 +1,14 @@ +#! /bin/sh + +# Copyright (C) 2011 Peter Breitenlohner +# You may freely use, modify and/or distribute this file. + +rm -rf wprob.* +cp $srcdir/tests/wprob.tex . + +TEXMFCNF=$srcdir/../kpathsea \ + ./etex --ini --etex --file-line-error --interaction=nonstopmode wprob.tex + +grep '^\./wprob\.tex:12: Could not open file NoSuchFile\.eps\.$' \ + wprob.log || exit 1 + diff --git a/Build/source/texk/web2c/luatexdir/tex/inputstack.w b/Build/source/texk/web2c/luatexdir/tex/inputstack.w index 857f86dfe6e..f52ca45c4fb 100644 --- a/Build/source/texk/web2c/luatexdir/tex/inputstack.w +++ b/Build/source/texk/web2c/luatexdir/tex/inputstack.w @@ -307,12 +307,13 @@ void show_context(void) print_int(iname - 1); print_char('>'); }; - } else if (iindex != in_open) { /* input from a pseudo file */ - tprint_nl("l."); - print_int(line_stack[iindex + 1]); } else { tprint_nl("l."); - print_int(line); + if (iindex == in_open) { + print_int(line); + } else { /* input from a pseudo file */ + print_int(line_stack[iindex + 1]); + } } print_char(' '); PSEUDO_PRINT_THE_LINE(); diff --git a/Build/source/texk/web2c/luatexdir/tex/printing.w b/Build/source/texk/web2c/luatexdir/tex/printing.w index 9ea3fd98014..df28f3d3c04 100644 --- a/Build/source/texk/web2c/luatexdir/tex/printing.w +++ b/Build/source/texk/web2c/luatexdir/tex/printing.w @@ -946,7 +946,7 @@ void print_file_line(void) if (level == in_open) print_int(line); else - print_int(line_stack[iindex + 1 - (in_open - level)]); + print_int(line_stack[level + 1]); tprint(": "); } } diff --git a/Build/source/texk/web2c/pdftexdir/wprob.test b/Build/source/texk/web2c/pdftexdir/wprob.test new file mode 100644 index 00000000000..1af5f5d75f6 --- /dev/null +++ b/Build/source/texk/web2c/pdftexdir/wprob.test @@ -0,0 +1,14 @@ +#! /bin/sh + +# Copyright (C) 2011 Peter Breitenlohner +# You may freely use, modify and/or distribute this file. + +rm -rf wprob.* +cp $srcdir/tests/wprob.tex . + +TEXMFCNF=$srcdir/../kpathsea \ + ./pdftex --ini --etex --file-line-error --interaction=nonstopmode wprob.tex + +grep '^\./wprob\.tex:12: Could not open file NoSuchFile\.eps\.$' \ + wprob.log || exit 1 + diff --git a/Build/source/texk/web2c/tests/wprob.tex b/Build/source/texk/web2c/tests/wprob.tex new file mode 100644 index 00000000000..7f63f159499 --- /dev/null +++ b/Build/source/texk/web2c/tests/wprob.tex @@ -0,0 +1,15 @@ +\catcode`\%=14 + +\catcode`\{=1 +\catcode`\}=2 +\catcode`\#=6 + +\def\err#1{% + \errmessage{Could not open file #1}% +} +\scantokens{ + \err{NoSuchFile.eps} +} % The message above should be >>./wprob.tex:12: Could not open...<< +\end + + diff --git a/Build/source/texk/web2c/tex.ch b/Build/source/texk/web2c/tex.ch index 861d89818a6..3b26725c5ad 100644 --- a/Build/source/texk/web2c/tex.ch +++ b/Build/source/texk/web2c/tex.ch @@ -4532,7 +4532,7 @@ begin else begin print_nl (""); print (full_source_filename_stack[level]); print (":"); if level=in_open then print_int (line) - else print_int (line_stack[index+1-(in_open-level)]); + else print_int (line_stack[level+1]); print (": "); end; end; -- cgit v1.2.3