> Date: Thu, 15 Jan 2026 11:36:05 -0600 > From: "G. Branden Robinson" <[email protected]> > > > Regardless of whether philosophically speaking such sequences should > > have been supported from the start, the fact is they weren't, and > > breakage is breakage. > > Feature changes are feature changes. > > I see the following (complex) item in Texinfo's own "NEWS" file: > > ---snip--- > * Intentional incompatibilities with the previous implementation of > makeinfo, through version 4.13: > > . The old implementation accepted a lone block of text inside @itemize, > @enumerate, etc., without any @item. This is semantically > inconsistent, leading to problems with some backends, and thus now > produces a warning. > > . The old implementation accepted ``irregular'' sectioning trees. Now, > when @node pointers are implicitly determined, the consistency of > @menu and the sectioning tree is checked. (If node pointers are > explicitly specified in the document, the tree can still be irregular.) > > . The old implementation always added blank lines between function > definitions if they weren't already there. Now blank lines are not > added. (Both old and new implementations preserve blank lines that > are present.) > > . The old implementation processed macros in place, formatting the > replacement text with the output. Now the replacement text is > textually substituted as Texinfo source. A consequence of the old > behavior is that ends of lines from expansion of an @macro > definition did not end an @-command line-delimited argument > (@chapter, @center, etc.). Now they do. (A detailed example is in > the manual, node Macro Details.) > ---end snip--- > > Explain to me why it would be unjust for me make the same complaints to > you about those changes to "makeinfo" that you're making to me.
Because what's listed above were unintentional side-effects of the original implementation of makeinfo, basically a kind of bugs. Whereas the addition of new escape sequences into the output of 'man' is not a bugfix, it's a significant change in behavior. > > Yes, no essential difference, except in the age and breadth of support > > for such sequences. > > 'twas ever thus. 2BSD introduced termcap in 1980. > > https://minnie.tuhs.org/cgi-bin/utree.pl?file=2BSD/src/termlib/termcap > > > (Pedantically, it's possible that the timing of bytes sent to a > > terminal device also makes a difference, and this information is not > > taken into account when a pager is used.) > > Yes! This is why it's a good idea for terminal emulator authors to > define their own terminal types and work with terminal capability > database maintainers to accurately describe their implementations, > instead of glibly claiming "compatibility" with some existing terminal. > In practice, terminal emulator developers are _terrible_ at reproducing > the behavior of terminal devices or even other terminal emulator > programs. I think you are missing the point, and thus don't respond to what bothers Gavin. The Info reader from Texinfo is not just a pager, it is a program that needs to perform some relatively simple layout of the text on the screen. For example, it needs to know the width certain characters (potentially encoded as multibyte sequences) take on display. To do this, it must to be able to interpret the control sequences present in a formatted man page that affect the appearance of text on display, and in particular its dimensions. So it is not enough to support terminfo (which is basically of no interest for Info), it must be able to recognize the control sequences which affect the display layout, and take them into consideration. Any new sequences introduced into the formatted man pages are thus a problem for the Info reader, because it needs to know how to interpret them.
