Package: groff-base Version: 1.18.1.1-7 Severity: normal Let's begin with some quotes from grotty(1):
By default, grotty emits SGR escape sequences (from ISO 6429, also called ANSI color escapes) ... For SGR support, it is necessary to use the -R option of less(1) to disable the interpretation of grotty's old output format. Consequently, all programs which use less as the pager program have to pass this option to it. Instructions of the form "all programs ... have to ..." should be taken as a warning that whatever's being documented is a disruptive misfeature, and this is a perfect example. In previous versions of groff (for example the last version of groff in woody, and as far as I know every version of groff in every version of Debian prior to sarge), this worked: ( echo .ft B ; echo bold ; echo .ft R ; echo not bold ) > foo nroff foo | less Now it doesn't. Instead it shows ESC[1m and ESC[22m. grotty(1) documents a splendid variety of ways to avoid this outcome: by setting an environment variable, adding an option to the grotty command line, or sticking a directive into the intermediate [di]troff output. There are so many ways to disable this new behavior, you can't avoid thinking that the perpetrator must have known he was about to cause a lot of trouble. The burden of tracking down scripts that need to be rewritten, changing options, and setting environment variables rightly belongs on the few who want the new functionality, not the many who were happy with nroff as it has always been. Enabling a new, incompatible output format by default and then boldly declaring that "all programs ... have to" adapt to it is arrogant and rude. The advice to use less -R is helpful to some people, I suppose, but it is basically a layering violation. Decades of UNIX tradition have established the basic rules to be followed when the PAGER environment variable is used. It can be assumed that the PAGER behaves reasonably on sequences like b^Hbo^Hol^Hld^Hd, showing it as the world "bold" in bold if possible, but it cannot be assumed that the PAGER is less, or that the PAGER has a less-ish -R option or that it can interpret sequences like ESC[1m. PAGER is a protocol. One side does not get to unilaterally dictate changes in the other. grotty is violating the Robustness Principle here: be conservative in what you send. Aside from that, the use of ANSI escape sequences without regard to the TERM environment variable is an unwarranted assumption. less interprets b^Hbo^Hol^Hld^Hd by outputting the correct escape sequences for the terminal in use. less -R just passes through the ESC[1m, which does no good on a Wyse terminal. All the world's not a VT100. Apparently, some of these problems have already been noticed, because /etc/groff/man.local contains the magic code to enable the sensible, backward-compatible behavior. But if it was correct to make that decision for man pages, why shouldn't it be done for all other uses of nroff too? Please, if upstream will not reverse the default, do it in the Debian package, for all of the reasons listed above. This ill-conceived new behavior must not stand. -- System Information: Debian Release: 3.1 Architecture: i386 (i686) Kernel: Linux 2.4.29 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages groff-base depends on: ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an ii libgcc1 1:3.4.3-13 GCC support library ii libstdc++5 1:3.3.5-13 The GNU Standard C++ Library v3 -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]