bugGNU roff - Bugs: bug #64255, [eqn] "big" is broken


bug #64255: [eqn] "big" is broken

Submitter:  G. Branden Robinson <gbranden>
Submitted:  Fri 26 May 2023 07:24:08 AM UTC
Category:  Preprocessor eqn Severity:  3 - Normal
Item Group:  Incorrect behaviour Status:  None
Privacy:  Public Assigned to:  None
Open/Closed:  Open Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup

Fri 26 May 2023 07:24:08 AM UTC, original submission:  

Affects groff 1.22.4.  Appears to go all the way back to this feature's introduction in commit d239103a7b, 3 February 2007.

"big" is documented as a primitive, but it doesn't work that way.  Instead it is contextually meaningful only after a "size" primitive.

And, moreover, only when MathML is being generated.  It causes havoc in groff output.

$ cat EXPERIMENTS/eqn-use-big.roff
big sin x
size big sin x
$ eqn -TMathML EXPERIMENTS/eqn-use-big.roff
.if !dEQ .ds EQ
.if !dEN .ds EN
<math><mrow><mi>b</mi><mi>i</mi><mi>g</mi><mstyle mathvariant='normal'><mtext>sin</mtext></mstyle><mi>x</mi></mrow></math>
<math><mrow><mstyle mathsize='big'><mstyle mathvariant='normal'><mtext>sin</mtext></mstyle></mstyle><mi>x</mi></mrow></math>
$ eqn -Tascii EXPERIMENTS/eqn-use-big.roff |nroff -Tascii | cat -s
troff: EXPERIMENTS/eqn-use-big.roff:14: warning: numeric expression expected (got 'b')
bigsinx sinx
$ eqn -Tascii EXPERIMENTS/eqn-use-big.roff
.if !dEQ .ds EQ
.if !dEN .ds EN
.nr 0w2 +\w\(EQ\,b\&i\&g\/\,x\/\(EQ
.as1 10 \&\E*[0sfont]\f[I]\s'\En[0ssize]u'\,b\&i\&g\/\h'17M'\f[R]sin\f[\n[0f5]]\h'17M'\,x\/\E*[0rfont]
.ps big \" GBR: !!!!

(You might notice that the line number in the diagnostic is off.  This is due to eqn itself producing invalid groff input, for which line numbers are generally not reliable because `lf` requests must be used to align those numbers with user expectations.)

G. Branden Robinson <gbranden>
Group administrator


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by gbranden (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.


    No changes have been made to this item

    Back to the top

    Powered by Savane 3.13-6207.
    Corresponding source code