Hi folks,

I have a hunch that this feature change is sufficiently useful,
harmless, and esoteric that I've gone ahead and implemented it, but not
yet pushed it.

As you may know, the `pwh` request (called `ptr` in groff 1.23 and
earlier) reports the set of page location traps (if any) to the standard
error stream.

However, a diversion trap is a different thing.

https://www.gnu.org/software/groff/manual/groff.html.node/Diversion-Traps.html

"Regular" traps--page location traps--are properties of the top-level
diversion.  They are mutually exclusive with diversion traps, of which
each "macro diversion"--any diversion but the top-level diversion--can
have at most one each.

I filed Savannah #68358 when I noticed that it's unreasonably hard to
introspect the presence of a diversion trap.

https://savannah.gnu.org/bugs/?68358

The proposed behavior change is to make `pwh` report the properties of a
diversion trap if one is present, instead of reporting nothing.

Another possible solution would be to implement a new request called
"pdt" to report this information, but, to me, the mutual exclusivity of
page location and diversion traps, and the desirability of not further
growing the request repertoire unnecessarily argued against it.  It's
won't be difficult to change the code to hook this feature up to a new
"pdt" request instead of "pwh" if people would prefer that.  (In a
sense, that would be the more "orthogonal" solution.)

I do have a moderately strong feeling that the report should be
available via _some_ means.

Thoughts?  Objections?  Please follow-up here or to the aforementioned
Savannah ticket.

Regards,
Branden

Attachment: signature.asc
Description: PGP signature

Reply via email to