+ several changes to make destroyCDKScreenObjects() and destroyCDKScreen() actually work (needed for perlcdk): + record all objects and screens created/destroyed, in cdkscreen.c + reimplement destroyCDKObject() by a function _destroyCDKObject(), which first does an erase for the given object, then calls the destroy method, and finally frees the object. + add a check in each erase-method to ensure that the object is still valid. + add check in setCDKGraphValues() to ensure that X and Y scales are nonzero, since they are used as denominators. This makes perlcdk's graph example work. + add configure check for curses feature which would allow one to move a subwindow, or (in the case of NetBSD curses) at least compile. + add configure check and fallback for addchnstr() to accommodate NetBSD's partial implementation of curses. + move version information to VERSION file. + add --with-libtool configure option + make most wgetch() calls use the object's inputWindow via the getcCDKObject() function. + improve type-checking and array-limits in cdkscreen.c + remove cdktype member from CDKSCREEN since it is redundant. + eliminate several fixed-buffers with new function writeBlanks(). + interpret home/end keys in entry widget. + warn about special keys such as insert which are not recognized in alphalist, entry, matrix, mentry, template (it was using the low 8 bits of those, inserting that). + rewrote/simplified dirName(). + rewrote/simplified baseName(). + eliminate fixed-size buffers in fselect.c + correct a couple of places where fselect.c freed constant memory. + correct an unterminated string in fselect.c tilde-expansion, and use $HOME if no account name is given. + simplified several functions using mvhline(), mvvline() and mvaddchnstr(). + add vFSCALE as a valid object type in cdkscreen.c + modify moveCursesWindow(), which did not work with ncurses after 2000/9/15 changes to use mvwin() in preference to directly modifying the _begx/_begy members of WINDOW. That made position_ex not work. The change was originally for NetBSD's curses implementation which does not move derived windows properly anyway. + simplify calls to moveCursesWindow() by moving null-pointer check inside that function. + change tab-expansion in char2Chtype() to expand based on the current length of the string rather than always to 8 columns. + correct limit-checks in stripWhiteSpace() + interpret back-tab in buttonbox.c and dialog.c inject-methods for symmetry with tab. + corrected return-values of button, matrix, scale widgets to match documentation as well as to conform with other widgets. + reorganized inject methods (which may return data of different types) to return the actual data in an area of the widget, and defined macros to preserve source-compatibility. + rewrote initCDKColor() to check if color is available before trying to initialize it, and to use the terminal's actual number of colors in making color pairs. + use 2-digit fields in bind_ex.c for time, date. + modify matrix.c to add borderSize before the column titles, to match the change to box layout. + modify matrix_ex.c to consistently center row-titles. Some were centered, some were right- and some left-justified. The change to justifyString() produced an odd effect. + add functions CDKVersion() chtype2String().
Created attachment 2918 [details] A new version of cdk Here is the new ebuild.
Uhm, actually it just needs a new name since the old ebuild was done really well. That's "cdk-4.9.10.20020727.ebuild" Sorry.
Bouncing back to bug-wranglers due to time constraints.
cdk-4.9.10.20020809 has been added to portage. Please test.
db fix