Re: ncurses 4.1

From: T.E.Dickey <>
Date: Sun, 1 Jun 1997 21:38:25 -0400 (EDT)

> You want last twelve months? That's not too fair because Thomas's
> intransigence drove me away in disgust for the last six months. But
> I can fill your bill anyway.
nope. He's quoting from work in 1995.
> Let's talk about fixing the blasted cursor-movement optimizer so it
> actually worked, and contributing a novel algorithm that optimizes normal
> text-editor-like updates faster than even BSD's.
ask Peter Wemm and Alexander - it was full of holes, did not work at
all for terminals w/o hardware insert/delete line.

The more recent "novel" algorithm generates lots more characters than
the old one.
> Let's talk about mouse support.
sure. I've done as much work there.
> Let's talk about compiled-in fallback types.
> Let's talk about toe(1).
why? (It's a trivial application that no one uses)
> Let's talk about the ability to automatically fall back on a termcap file
ugh. This is not something that you should boast of.
> Let's talk about maintaining every single line of the god-damned
> documentation, something nobody else on this project
I've done a chunk of that.
> Since your memory appears to be faulty, here is a summary of what I
> have contributed since beginning work on ncurses in November 1993:
contributed is too strong a word. he's implemented functions from a spec.
> The following entry points:
> setterm(), wgetnstr(), ripoffline(), termattrs(), delay_output(),
delay_output had the wrong prototype.
wgetnstr didn't set the terminal modes properly.

> wechochar(), addchstr(), addchnstr(), getwin(), putwin(),
addchnstr was the one Alexander & I found recently - didn't work.

> scr_dump(), scr_restore(), termname(), delscreen(), getparyx(),
> notimeout(), wnotimeout(), mvderwin(), wcursyncup(), wsyncup(),
> slk_attrset(), slk_attron(), slk_attroff(), idcok(), winchnstr(),
Juergen's done work on the slk_ functions.

> qiflush(), noqiflush(), winnstr(), immedok(), winsnstr(), intrflush(),
intrflush doesn't work properly.

> restartterm(), scr_set(), scr_init(), color_content(), wsyncdown(),
> filter().
> Critical fixes to the following programs and modules:
> src/lib_getch.c, src/lib_vidattr.c, src/lib_getstr.c, src/lib_pad.c,
> src/lib_doupdate.c, data/linux, src/lib_insdel.c, test/gdc.c.
why, so have I.

> * Hardware scrolling support with scroll-packing optimization.
we're still fixing it

> * Fast, cheap, *correct* cursor movement optimization.

> * capabilities ~msgr, tilde_glitch, insert_padding, generic_type,
> no_pad_char, memory_above, memory_below, non_dest_scroll_region,
> and hard_copy are now used properly.
memory_above/memory_below was one of the things I fixed in January.
I believe with hard_copy, he's referring to someone else's work.

> * mouse support for xterm; the mouse interface design.
it didn't "work" for 4 months. I've found more design defects during the
past week while supporting Midnight Commander, and am not done with that.
> Major programmer-visible new features:
> * Added complete man pages.
it helped to have the XSI spec to cut/paste from.

> * Trace levels; greatly improved update tracing.
Sorry. Most of the trace statements were in pcurses - all he did was apply
a mask to the levels.

> * The ncurses interactive tester.
I've written half of that.

> * The fallback-entry-list feature.
> I have also been responsible for the following:
> * The ports to BSD/386 and SVr4.
nope (when?).

> * The code to handle deficient BSD select(2)
nope. I did that last fall.

> * Made configuration process work with old awk.
nope. I did that.

> * Rewritten configuration system.
nope. I did that.

> * Lots of compatibility testing against SVr4.
nope. I did that.

> Following the rewrite for termcap-fallback support, the code for tic(1)
> is essentially all mine now. So is all the update-optimization code
> other than the central TransformLine and PutChar/PutAttrChar machinery.
uh, not really. lib_doupdate.c and lib_mvcur.c are not the work of one

Thomas E. Dickey
Received on Sun Jun 01 1997 - 21:48:33 EDT

This archive was generated by hypermail 2.2.0 : Mon Dec 19 2011 - 06:24:16 EST