groff
[Top][All Lists]
Advanced

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

Re: string questions


From: Dave Kemper
Subject: Re: string questions
Date: Thu, 1 Dec 2022 23:35:57 -0600

On 11/30/22, G. Branden Robinson <g.branden.robinson@gmail.com> wrote:
> At 2022-11-30T07:49:48-0600, Dave Kemper wrote:
>> Is this reference to neutral apostrophes an error,
>
> That's exactly what it is.  I did a bunch of commits like a3a7f6e0edcbb
> (11 October) updating internal cross references (also see
> 0a502f1bec08fe, 9 October) after a heavy revision of text on 25
> September (66b7cb51ba9439).

Yeah, I vaguely remember seeing these at the time, which is what made
me think this got inadvertently dragged into the net.

> \*[] is analogous to \f[] (select font with "long" typeface identifier),
> \n[] (interpolate register with "long" identifier), and \[] (interpolate
> special character with "long" identifier).

That was the way I've long understood it, so I'm glad I wasn't missing
something major.

>> More significantly, it's unclear why "\*[mystring2 \[aq]]" shouldn't
>> be parseable.
>
> I _think_ this is a consequence of the way the hand-written recursive
> descent parser in src/roff/troff/input.cpp is written.
>
> But I will have to step through it with GDB to remember (or perhaps
> learn in the first place) why the foregoing parse didn't startle me.

I'd say as long as the documentation clarifies that any sequence
containing a ], not just the ] on its own, must be quoted as a string
parameter, there's no urgency to this.  (This ambiguity has some
longevity, having been in the manual since the string-parameter
feature was introduced into groff in commit 1b3161fcc, a little over
20 years ago.)

While it initially surprised me that the above didn't parse, your
analysis makes sense, and suggests it may be hard to change, so
probably not worth it as long as there are higher-priority items out
there: Quotation marks are sufficient to make it work, so it's not a
burdensome restriction.

Thanks for the help!



reply via email to

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