[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #61401] [grohtml] doesn't remap \- in device escapes

From: G. Branden Robinson
Subject: [bug #61401] [grohtml] doesn't remap \- in device escapes
Date: Sat, 30 Oct 2021 19:42:40 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

Update of bug #61401 (project groff):

                  Status:             In Progress => Fixed                  
             Open/Closed:                    Open => Closed                 
         Planned Release:                    None => 1.23.0                 


Follow-up Comment #2:

commit eb695ab2b5e2bae54afa102355c493bda6e29d3e
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
Date:   Sat Oct 30 15:45:29 2021 +1100

    [troff]: Fix Savannah #61401.
    [troff]: Handle special character escape sequences that map to basic
    Latin glyphs in device control escape sequences consistently among
    output devices.
    * src/roff/troff/input.cpp (encode_char): Rearrange conditionals.  This
      is the logic that puts the "whatever" within a \X'whatever' escape
      sequence into GNU troff's intermediate output.  Handle stretchable and
      unstretchable space escape sequences ("\ " and \~") first.  Then, if
      the token is a special character escape sequence, retrieve its
      "contents" (glyph name).  Move the basic Latin mapping for the seven
      glyph names '-', 'aq', 'dq', 'ga', 'ha', 'rs', and 'ti' here, before
      checking whether the device description issued the
      'use_charnames_in_special' directive.  This way, the 'html' and
      'xhtml' output devices can straightforwardly embed these basic Latin
      characters in device control escapes (notably, "html:", for which the
      present convention is to follow the this tag immediately with a
      literal HTML URI, complete with `<a href>` element syntax).  If the
      special character is none of these and we should
      'use_charnames_in_special', proceed as groff 1.22.4 and earlier did.
      This is a behavior change, as was my addition of this translation
      mechanism in the first place, so...
    * doc/groff.texi (Postprocessor Access): Document it.
    * src/roff/groff/tests/device_control_escapes_express_basic_latin.sh:
      Test it.
    * src/roff/groff/groff.am (groff_TESTS): Run test.
    Fixes <https://savannah.gnu.org/bugs/?61401>.


Reply to this item at:


  Message sent via Savannah

reply via email to

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