bug-groff
[Top][All Lists]
Advanced

[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/

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]