[Crash-utility] less(1) TERM requirements; man page update [was Re: crash CPU bound waiting for user response]

Dave Anderson anderson at redhat.com
Tue Jul 10 18:31:08 UTC 2007


Chip Coldwell wrote:
> On Mon, 9 Jul 2007, D. Hugh Redelmeier wrote:
> 
> 
>>| From: Dave Anderson <anderson at redhat.com>
>>| 
>>| Chip Coldwell wrote:
>>| > On Tue, 3 Jul 2007, D. Hugh Redelmeier wrote:
>>
>>| > >==> It does not say in what way the terminal is not fully
>>| > >functional.  That seems like a bug.
>>
>>| > Well, the issue is that the emacs terminal emulator does not fully
>>| > support the [n]curses escape sequences needed to position the cursor
>>| > for your pager (e.g. less).
>>
>>The whole point of termcap/terminfo is to tame the whacky world of
>>terminal diversity.  There is nothing "wrong" with a terminal that
>>does not have features needed by less(1).
> 
> 
> Fair enough, but then this is a bug in less: it is refusing to run on
> a terminal that has nothing "wrong" with it.
> 
> Chip
>

There are a few terminal capability checks that "less" makes on the
termcap file, and if any of them are missing, it sets missing_cap,
and later on spews that message/forced-input-sequence -- for example:

         sc_eol_clear = ltgetstr("ce", &sp);
         if (sc_eol_clear == NULL || *sc_eol_clear == '\0')
         {
                 missing_cap = 1;
                 sc_eol_clear = "";
         }

         sc_eos_clear = ltgetstr("cd", &sp);
         if (below_mem && (sc_eos_clear == NULL || *sc_eos_clear == '\0'))
         {
                 missing_cap = 1;
                 sc_eos_clear = "";
         }

         sc_clear = ltgetstr("cl", &sp);
         if (sc_clear == NULL || *sc_clear == '\0')
         {
                 missing_cap = 1;
                 sc_clear = "\n\n";
         }












More information about the Crash-utility mailing list