Skip to content

troff:ono.tmac:289: warning: register '.meta' not defined [-w reg] #5

Description

@g-branden-robinson
$ nl ono.tmac | sed -n 267,302p
   267  .de ``
   268  '       \" Begin block
   269  '       ie !\\n(`` \{\
   270  .               br
   271  '               ie \\$2>1 'nr `` \\$2
   272  '               el        'nr `` 6
   273  '               in +\\n(``n
   274  '               de ` >>
   275  '                       in -\\n(``
   276  '                       ft \\n(.f
   277  '                       if \\n(.u 'fi
   278  '                       hy
   279  '                       lg 1
   280  '                       do hy \\n[.hy]
   281  '                       do lg \\n[.lg]
   282  '                       do kern \\n[.kern]
   283  .               >>
   284  '               nf
   285  '               nh
   286  '               lg 0
   287  '               ft CW
   288  '               do kern 0
   289  '               do if \n[.meta]=1 \X'meta: begin code \\$1'
   290  '               tr `\`'\*'^\*^~\*~-\*-
   291  '       \}
   292  '
   293  '       \" End block
   294  '       el \{\
   295  '               tr ``''^^~~--
   296  '               do if \n[.meta]=1 \X'meta: end code'
   297  '               `
   298  '               rm `
   299  '               rr ``
   300  .               br
   301  '       \}
   302  ..

It looks like you forgot to escape the interpolations of the .meta register within the macro definitions; they are being evaluated at package load time.

My suggestion:

. do if \\n[.meta]=1 \X'meta: begin code \\$1'
. do if \\n[.meta]=1 \X'meta: end code'

Also, I would not spray and pray with the no-break control character as seen above. The GNU troff manual cautions against the practice, and line 270 suggests that prayer can fail. I suggest using it only with the handful of requests the no-break control character can effect. A future version of groff might issue a warning in category style about it; see comments 4 and 28 to Savannah #62776. You might of course wait until the style warning is implemented, and then use it to find the occurrences for you, obviating a tedious manual review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions