[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #63202] [troff] missing delimiter diagnostics could say what they w
From: |
G. Branden Robinson |
Subject: |
[bug #63202] [troff] missing delimiter diagnostics could say what they were expecting |
Date: |
Mon, 19 Aug 2024 20:37:11 -0400 (EDT) |
Update of bug #63202 (group groff):
Status: In Progress => Fixed
Open/Closed: Open => Closed
_______________________________________________________
Follow-up Comment #3:
commit 956955c6634b506617818b6a29c892ff18375847
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
Date: Sat Aug 17 18:24:34 2024 -0500
[troff]: Fix Savannah #63202 (1/3).
[troff]: When throwing a warning diagnostic about a mismatched escape
sequence delimiter, say what what we were expecting and what we got
instead.
* src/roff/troff/input.cpp (read_delimited_number, get_line_arg)
(do_register):
* src/roff/troff/reg.cpp (inline_define_register [0]): Do it.
Fixes <https://savannah.gnu.org/bugs/?63202>.
$ cat ATTIC/mismatched-delimiter-demo.groff
foo\R'a 20g'
foo\L'1ig#
foo\h'5mbar
foo\H'20@
$ ./build/test-groff -ww -z ATTIC/mismatched-delimiter-demo.groff
troff:ATTIC/mismatched-delimiter-demo.groff:1: warning: closing delimiter
does not match; expected character "'", got character 'g'
troff:ATTIC/mismatched-delimiter-demo.groff:2: warning: closing delimiter
does not match; expected character "'", got character '#'
troff:ATTIC/mismatched-delimiter-demo.groff:3: warning: closing delimiter
does not match; expected character "'", got character 'b'
troff:ATTIC/mismatched-delimiter-demo.groff:4: warning: closing delimiter
does not match; expected character "'", got character '@'
commit 852d2209bd892a71be36fec55efb7dac28109a22
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
Date: Sat Aug 17 18:32:51 2024 -0500
[troff]: Fix Savannah #63202 (2/3).
* src/roff/troff/input.cpp (do_overstrike, do_bracket, do_name_test):
(do_zero_width, do_width, do_device_control): When throwing a warning
diagnostic about a mismatched escape sequence delimiter (in an escape
sequence that accepts a newline as a delimiter(!)), say what what we
were expecting and what we got instead.
$ printf '\\o\nabc' | build/test-groff -a -ww
troff: warning: missing closing delimiter in overstrike escape sequence;
expected a newline, got end of input
<beginning of page>
$ printf '\\b\nabc' | build/test-groff -a -ww
troff: warning: missing closing delimiter in bracket-building escape
sequence; expected a newline, got end of input
<beginning of page>
$ printf '\\A\nabc' | build/test-groff -a -ww
troff: warning: missing closing delimiter in identifier validation escape
sequence; expected a newline, got end of input
<beginning of page>
1
$ printf '\\Z\nabc' | build/test-groff -a -ww
troff: warning: missing closing delimiter in zero-width escape sequence;
expected a newline, got end of input
<beginning of page>
$ printf '\\w\nabc' | build/test-groff -a -ww
troff: warning: missing closing delimiter in width computation escape
sequence (got end of input)
<beginning of page>
13880
$ printf '\\X\nabc' | build/test-groff -a -ww
troff: warning: missing closing delimiter in device control escape
sequence (got end of input)
<beginning of page>
We don't see output from most of the cases above because the
"approximate output" option `-a` doesn't do anything to render
overstrike, bracket, zero-width output, or device control nodes. The
"abc" characters are visible in device-independent output `-Z` and of
course, e.g., PostScript.
commit 173e9849f34f57cd3f52df841dd6103ce65365a6
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
Date: Mon Aug 19 15:14:05 2024 -0500
[troff]: Fix Savannah #63202 (3/3).
* src/roff/troff/input.cpp (do_expr_test): When throwing a warning
diagnostic about a mismatched escape sequence delimiter (in an escape
sequence that accepts a newline as a delimiter(!)), say what what we
were expecting and what we got instead.
$ printf '\\Babc\n' | build/test-groff -a -ww
troff:<standard input>:1: warning: missing closing delimiter in numeric
expression validation escape sequence; expected character 'a', got a newline
<beginning of page>
0
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?63202>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature