tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: terminfo implementation
In article <4A55BB7B.3040902%marples.name@localhost>,
Roy Marples <roy%marples.name@localhost> wrote:
>Here's a new snapshot.
>http://www.netbsd.org/~roy/terminfo-20090709.tar.bz2
>
>It should now implement all documented ncurses terminfo capabilities.
>The tic(1) implementation is a lot faster than before and is 3 times
>quicker than ncurses tic :)
>Both tic(1) and infocmp(1) now sport the -x flag to control acceptance
>of non standard capabilities. If you have tried a previous snapshot,
>you'll need to rebuild your databases.
>
>In addition to the standard cap_long_name macros to access a cap quickly
>on cur_term, we have t_cap_long_name macros to access a cap quickly on
>any TERMINAL struct which would make any merge with our curses library a
>little less painless.
>
>It also has a termcap compatibility layer and is source and binary
>compatible with our current libtermcap provided that NO NetBSD
>extensions have been used. Only ul(1) and curses(3) use this in the tree
>according to my grep search. Whilst curses(3) does have an excuse to use
>them (see prior discussions for why) ul(1) does not so I'm pretty sure
>we can just drop them.
>
>On the whole, most people are generally positive about this.
>I've taken on board some comments by Joerg and changed some code
>accordingly, but more eyes would be better.
>
curterm.c:
- there are more baud rates defined on NetBSD.
defs.c:
- the arrays of constants should be sorted so the index functions
can use binary search instead of of linear.
setupterm.c:
- use errx(3) in the exit case so that the program name gets printed.
term.c:
- what frees tp->_extras?
termcap.c:
- sort arrays and use binary search.
tputs.c:
- to support multiple terminals outc should be passed a second
void * argument that can be used from the application to determine
the terminal context. ie. the signature for ti_puts should be
int ti_puts(const TERMINAL *term, const char *str, int affcnt,
int (*outc)(int, void *), void *arg)
christos
Home |
Main Index |
Thread Index |
Old Index