[illumos-Developer] webrev for 294, 1149

Joerg Schilling Joerg.Schilling at fokus.fraunhofer.de
Tue Jul 26 09:41:49 PDT 2011


Yuri Pankov <yuri.pankov at gmail.com> wrote:

> Thanks for the feedback, Joerg.
>
> Quoting the 20110723 ncurses patch changelog:
>
> [...]
> + improve generation of termcap using tic/infocmp -C option, e.g.,
> to correspond with 4.2BSD (prompted by discussion with Yuri Pankov
> regarding Schilling's test program):
> 	+ translate %02 and %03 to %2 and %3 respectively.
> 	+ suppress string capabilities which use %s, not supported by tgoto
> 	+ use \040 rather than \s
> 	+ expand null characters as \200 rather than \0
> [...]

"termcap" is not a test program but a termcap compiler.

It reads termcap entries, parses them for correctness and then outputs them in 
a standardized way if requested. This permits to create comparable versions 
from termcap files.


> This reduces the number of errors reported by `termcap' to 118:
> $ schily-2011-06-22/termcap/OBJ/i386-sunos5-cc/termcap \
> if=termcap-20110723.src 2>&1 >/dev/null | wc -l
>      118
>
> Could you please take a look at the new termcap.src
> (ftp://invisible-island.net/ncurses/current/termcap-20110723.src.gz) and
> comment on the issues reported by `termcap' against it?

There are still a lot of problems in that file:

"\\:'"	is not a permitted string in a termcap file. You need to use \072 
	instead.

-	There are still a lot of unknown entries that are not even documented
	in the ncurses source, so they obviously do not fit any purpose.

':'	Is the capability separator for termcap. It cannot be part of a string.
	Long terminal names like: xterm+pcf0|fragment with modifyFunctionKeys:0:
	are illegal and the :0: appears as illegal junk that is not part of the
	text. Replace the first ':' by another character.

-	A typical termcap implementation is not able to deal with accumulated
	termcap entries with more than 1024 characters. The largest termcap
	definition in this file contains an accumulated size of 2188 bytes.
	My libxtermcap is able to deal with infinite entry sizes, but what is 
	with other implementations?

-	A typical termcap implementation is not able to deal with more than
	one "tc=" entry per termcap entry. The named file above includes 220
	terminal entries that use more tc= entries. My libxtermcap is able  
        to deal with any amount of tc= entries, but what is with other  
        implementations? 

Given the fact that in special, the "xterm" entry has an accumulated size of 
2105 bytes and makes use of multiple tc= entries, it is something that should 
be taken with care. 

I personally like termcap entries with many features, for a usability test of 
the xterm entry, I would need some time...
	

> BTW, `termcap' is segfaulting when TERMCAP isn't set..

Thank you for this information. TERM & TERMCAP are set automatically by my 
shell since 1984 ;-)

Jörg

-- 
 EMail:joerg at schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
       js at cs.tu-berlin.de                (uni)  
       joerg.schilling at fokus.fraunhofer.de (work) Blog: http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily



More information about the Developer mailing list