URL:
  <https://savannah.gnu.org/bugs/?67285>

                 Summary: [eqn] mangles UTF-8 (or other bytes with eighth bit
set) characters it should pass through
                   Group: GNU roff
               Submitter: gbranden
               Submitted: Sun 06 Jul 2025 10:44:37 AM GMT
                Category: Preprocessor eqn
                Severity: 3 - Normal
              Item Group: Incorrect behaviour
                  Status: In Progress
                 Privacy: Public
             Assigned to: gbranden
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: None


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Sun 06 Jul 2025 10:44:37 AM GMT By: G. Branden Robinson <gbranden>
Reproducer:


$ printf '.\\" degree sign: \313\232\n' | ~/groff-1.23.0/bin/eqn
.do if !dEQ .ds EQ
.do if !dEN .ds EN
.if !'\*(.T'ps' .if !'\*(.T'html' .tm warning:
/home/branden/groff-1.23.0/bin/eqn should have been given a '-T\*(.T' option
.if '\*(.T'html' .if !'ps'ps' .tm warning: /home/branden/groff-1.23.0/bin/eqn
should have been given a '-Tps' option
.if '\*(.T'html' .if !'ps'ps' .tm warning: (it is advisable to invoke groff
via: groff -Thtml -e)
.lf 1 /home/branden/groff-stable/share/groff/1.23.0/tmac/eqnrc
.\" -*- nroff -*-
.\"
.\" Startup file for eqn.
.do if !d EQ .ds EQ
.do if !d EN .ds EN
.EQ
.nr 0C \n(.C
.cp 0
.ds 10
.cp \n(0C
.lf 7
.EN
.lf 1 -
/home/branden/groff-1.23.0/bin/eqn:<standard input>:1: error: invalid input
(character code 154)
.\" degree sign: �


GNU _eqn_ mangles the input into an invalid UTF-8 sequence.


$ printf '.\\" degree sign: \313\232\n' | ~/groff-1.23.0/bin/eqn | od -c |
tail -n 3
/home/branden/groff-1.23.0/bin/eqn:<standard input>:1: error: invalid input
(character code 154)
0001100   N  \n   .   l   f       1       -  \n   .   \   "       d   e
0001120   g   r   e   e       s   i   g   n   :     313  \n
0001135


Problem reproducible with _groff_ 1.23.0, 1.22.4, and 1.22.3.  Might go back a
long way.

_eqn_ is entitled to reject and complain about invalid character codes in
"_eqn_ regions" of a document, but outside of those, it should be a simple,
non-interpreting filter.







    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?67285>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to