Annotation of othersrc/dist/cdk/CHANGES, revision 1.1.1.1

1.1       garbled     1: Cdk Version Change List
                      2: Copyright Mike Glover, 1995, 1996, 1997, 1998, 1999
                      3: Some changes copyright Thomas Dickey 1999, 2000
                      4: -------------------------------------------------------------------------------
                      5: 
                      6: This file outlines all of the changes/additions from one release to another.
                      7: You should also look at the BUGS file for information related to bugs which
                      8: were fixed from release to release.
                      9: 
                     10: 2000/4/9 - T.E.Dickey <dickey@clark.net>
                     11: ==========================================
                     12:        + modify newwin() call in subwindow_ex.c to account for actual screen
                     13:          size rather than assuming 25 lines (reported by Gary Funck
                     14:          <gary@Intrepid.Com>).
                     15:        + add CF_X_ATHENA and CF_X_TOOLKIT configure macros for --with-pdcurses
                     16:          option, needed if the Xcurses or dependent libraries are static
                     17:          rather than shared.
                     18:        + correct typo in configure check for HPUX 11.x (reported by Bjorn
                     19:          Helgaas <helgaas@rsn.hp.com>).
                     20: 
                     21: 2000/2/18 - T.E.Dickey <dickey@clark.net>
                     22: ==========================================
                     23:        + add case for HPUX 11.x use of cur_colr library (reported by
                     24:          Bjorn Helgaas <helgaas@rsn.hp.com>).
                     25:        + add configure option --with-pdcurses, to link with the X11 version
                     26:          of PDCurses.
                     27:        + eliminate quoted includes, in favor of bracketed form.
                     28:        + ifdef'd limits.h, moving that into cdk.h with a fallback definition
                     29:          for INT_MIN and INT_MAX.
                     30:        + minor fixes for building with SunOS 5lib version: configure check
                     31:          for getopt variables, correction to demos/Makefile.in
                     32: 
                     33: 2000/1/17 - T.E.Dickey <dickey@clark.net>
                     34: ==========================================
                     35:        + add lib-prefix and executable suffix checks to configure script for
                     36:          port to OS/2 EMX.
                     37:        + add configure check for lstat().
                     38: 
                     39: 2000/1/16 - T.E.Dickey <dickey@clark.net>
                     40: ==========================================
                     41:        + drop dependency on usleep(), using napms() which is standard with
                     42:          SVr4 curses.
                     43:        + rewrote mode2Char(), making it table-driven and splitting out
                     44:          mode2Filetype() to make porting simpler, by putting ifdef's for
                     45:          S_ISSOCK in one place only.
                     46:        + use new freeCharList() to reduce clutter.
                     47:        + eliminate casts of NULL, to reduce clutter.
                     48:        + change several uses of control characters in source to use CONTROL()
                     49:          macro.
                     50:        + correct format of date shown in bind_ex.c
                     51:        + correct nonstandard getcwd() usage in fselect.c
                     52:        + change demo and example makefiles to not strip executables.
                     53:        + modify demo/Makefile.in to work around Solaris' make program which
                     54:          does not process ".c" rule as desired.
                     55: 
                     56: 2000/1/8 - T.E.Dickey <dickey@clark.net>
                     57: ==========================================
                     58:        + fix compiler warnings with Solaris cc.
                     59: 
                     60: 1999/12/19 - T.E.Dickey <dickey@clark.net>
                     61: ==========================================
                     62:        + update email and url for Mike Glover based on 4.9.9 version dated
                     63:          1999/7/29.
                     64: 
                     65: 1999/6/26 - T.E.Dickey <dickey@clark.net>
                     66: ==========================================
                     67:        + add configure options --with-dbmalloc and --with-dmalloc to simplify
                     68:          testing with those libraries.
                     69:        + correct error in rewrite of char2Chtype which broke repeat-counts.
                     70: 
                     71: 1999/6/5 - T.E.Dickey <dickey@clark.net>
                     72: ==========================================
                     73:        + correct reference to uninitialized memory in bindCDKObject()
                     74:        + add/use BINDFN_PROTO macro to simplify maintenance of Perl extension,
                     75:          corrected corresponding functions to be typed void.
                     76:        + shorten/simplify mapChtype by making it table-driven.
                     77:        + shorten/simplify char2DisplayType by making it table-driven.
                     78:        + replace splitString() by CDKsplitString() and CDKcountStrings() to
                     79:          eliminate buffer-limits.
                     80:        + simplify char2Chtype, eliminate fixed-buffer limits.
                     81:        + prevent recursion in segvTrap.
                     82: 
                     83: 1999/5/29 - T.E.Dickey <dickey@clark.net>
                     84: ==========================================
                     85:        + remove bindFunction and bindData arrays from individual widgets
                     86:        + make draw, erase, move methods accessed only via the CDKFUNCS table
                     87:          in each widget.
                     88:        + add move method for menu.c
                     89:        + split-out positionCDKObject function from widget code.
                     90: 
                     91: 1999/5/23 - T.E.Dickey <dickey@clark.net>
                     92: ==========================================
                     93:        + remove WIN_WIDTH and related macros, use the more common getmaxx,
                     94:          and similar macros.  Provide fallback definitions for those.
                     95:        + replace log10() call in intlen with simple recursion.
                     96:        + add getendx() and getendy() macros.
                     97:        + add moveCursesWindow().
                     98:        + generate include/cdk_config.h, to simplify ifdef'ing for gcc
                     99:          features, and to reduce clutter in the makefiles.
                    100:        + add functions ceilCDK() and floorCDK() to eliminate dependency on
                    101:          the math library
                    102:        + simplified, corrected upper-limit checks in alignxy().
                    103:        + change bindings to be dynamically allocated, part of the CDKOBJS
                    104:          structure.
                    105:        + correct overlap between title and percentage in drawCDKViewerInfo()
                    106: 
                    107: 1999/5/15 - T.E.Dickey <dickey@clark.net>
                    108: ==========================================
                    109:        + revised configure script, using autoconf macros which I've written
                    110:          for other programs to check for ncurses configuration.
                    111:        + corrected language of copyrights - Mike Glover's intent to retain
                    112:          copyright of CDK is not served by putting a 1990 copyright attributed
                    113:          to UC Berkeley.
                    114:        + except for unused parameters, fix gcc compiler warnings.
                    115:        + change prototypes to not use parameter names, since this causes
                    116:          namespace pollution.
                    117:        + make functions that do not have public prototypes static.
                    118:        + add missing exit() call in fileview.c, after endCDK() call.
                    119:        + move delwin() calls before endCDK() call in a few other examples.
                    120:        + correct apparent bug in widgets which process a binding (such as
                    121:          KEY_DOWN, in the alphalist and fileview.c demos).  They set the
                    122:          exitType to vESCAPE_HIT rather than the expected vEARLY_EXIT.
                    123:        + ifdef'd out some debug code in scroll_ex.c
                    124:        + correct a loop limit freeing mesg[] array in selection_ex.c
                    125:        + move common object data into new struct CDKOBJS, making cdkscreen.c
                    126:          much simpler and extensible.
                    127:        + change erase and draw functions (called from cdkscreen.c) to
                    128:          object pointers, so only widgets used are linked, making example
                    129:          programs half as big.
                    130: 
                    131: 4.9.7 -> 4.9.8 (December 1998)
                    132: ==========================================
                    133:        * Changed the way key bindings worked. If the key binding exited
                    134:          with a non-zero value then the widget would exit like the user
                    135:          pressed the escape key. This provides more control over key
                    136:          binding callbacks. Now the bind prototype is:
                    137:             int function (EObjectType cdktype, void *object, void *clientData, chtype key);
                    138:        * Reversed the order of this file. The most recent first.
                    139: 
                    140: 4.9.6 -> 4.9.7 (December 1998)
                    141: ==========================================
                    142:        * Went from static Makefiles to autoconf and configure. (finally)
                    143: 
                    144: 4.9.2 -> 4.9.6
                    145: ==========================================
                    146:        * Once again, it's a complete mystery.
                    147: 
                    148: 4.9.1 -> 4.9.2
                    149: ==========================================
                    150:        * Changed the activateCDKViewer funtion to be more compliant
                    151:          with the rest of the activateCDKXXX functions.
                    152: 
                    153: 4.9.0 -> 4.9.1
                    154: ==========================================
                    155:        * Added the functions setCDKXXXULChar/URChar/LLChar/LRChar,
                    156:          setCDKXXXVerticalChar, setCDKHorizontalChar, and
                    157:          setCDKXXXBoxAttribute to each of the widgets but the menu
                    158:          widget. These functions allow the programmer to define
                    159:          the corner characters of the widget as well as the vertical,
                    160:          horizontal, and attributes of the box.
                    161:        * Added the function setCDKXXXBackgroundColor. This sets the
                    162:          background color of the widget's window.
                    163:        * Added makefile for the SGI
                    164:        * Created the buttonbox widget.
                    165:        * Added in Ctrl-N and Ctrl-P to switch between buttons on the
                    166:          dialog box and viewer.
                    167:        * Added the functions setCDKRadioItems and setCDKSelectionItems.
                    168:        * Added the functions setCDKRadioTitle, setCDKSelectionTitle,
                    169:          setCDKScrollTitle.
                    170: 
                    171: 4.8.3 -> 4.9.0
                    172: ==========================================
                    173:        * Added a parameter to the setCDKViewer function to turn on/off the
                    174:          line X of Y in the top left corner.
                    175:        * Removed the eraseCDKXXX in each of the drawCDKXXX functions. This
                    176:          results in a quicker refresh and less overhead when using the
                    177:          widgets. This should make things A LOT faster. (I suppose it's about
                    178:          time I had complete faith in curses optimized screen refreshing. :) )
                    179:          The side effect is that you might have to change some programs to
                    180:          force an eraseCDKXXX/drawCDKXXX when you think the screen is garbled.
                    181:        * Added a little bit of logic in char2Chtype when a terminal cannot
                    182:          display color, bold will be used instead.
                    183:        * Cleaned up the way filename completion works in the file selector.
                    184:          You may now type in a path and hit tab and that directory tree
                    185:          will be loaded.
                    186:        * Added the ability to use the ~ character to refer to a users home
                    187:          directory, in the file selector. (like csh variants)
                    188:        * Changed the setCDKXXX functions. Made many different setCDKXXX
                    189:          functions, one for each item being set. This reduces the overhead
                    190:          of all the setCDKXXX functions.
                    191:        * Drastically changed cdk.h. Split the widget definitions and
                    192:          functions into their own header files. This makes it easier
                    193:          to expand CDK.
                    194:        * Added the ability to have multiple line titles on most of the widgets.
                    195:        * Added the functions setCDKSelectionChoice/getCDKSelectionChoice to
                    196:          set/get a single choice value from a selection list.
                    197:        * Added the functions setCDKSelectionModes/getCDKSelectionModes to
                    198:          set/get the ability to set some items in the selection list as
                    199:          editable/uneditable.
                    200:        * Added makefile for the DEC Alpha (I forget who sent me this, if
                    201:          you want recognition, mail me again)
                    202:        * Created a 'visual install' using some of the widgets. Try it.
                    203:          (type in make vinstall once the library has been made)
                    204:        * Added the ability to set the width of the widget respective to the
                    205:          screen size. If you pass in a negative value, the widget will
                    206:          adjust to the width of the window the widget sits in minus the
                    207:          given value. If zero is given, then the widget will be the full
                    208:          width of the window. This removes the need to know how wide the
                    209:          window is when the widget is created.
                    210:        * Changed the demos and examples makefiles. I was making things too
                    211:          difficult. It's simpler and easier to compile these directories.
                    212:        * Re-Purified the code. (no leaks, no UMR's, no problem... :) )
                    213:        * Quantified the code a bit for those who complained about the
                    214:          performance. It has been sped up; I just hope it's enough for
                    215:          some of you speed freaks. :)
                    216:        * Added the functions get/setCDKTemplateMin. This allows you to
                    217:          set the minimum number of characters to type in before the
                    218:          widget will accept the typed in value.
                    219:        * Changed the documentation to reflect all the changes.
                    220: 
                    221: 4.8.1 -> 4.8.2 -> 4.8.3
                    222: ==========================================
                    223:        * It's a complete mystery.
                    224: 
                    225: 4.8.0 -> 4.8.1
                    226: ==========================================
                    227:        * Changed the bind prototype function from
                    228:          void function (EObjectType cdktype, void *object, void *clientData);
                    229:          to
                    230:          void function (EObjectType cdktype, void *object, void *clientData, chtype key);
                    231:        * Added scroll bars to the scrolling list, the selection list, and
                    232:          the radio list.
                    233:        * Modified the template widget so the new character takes on the
                    234:          color/attributes of the plate widget.
                    235:        * Added the function classes moveCDKXXX and positionCDKXXX.
                    236:        * Changed the structure of the makefile and created a single makefile
                    237:          for each platform to compile on.
                    238:        * Added support for the delete character KEY_DC.
                    239: 
                    240: 4.7.0 -> 4.8.0
                    241: ==========================================
                    242:        * Fixed bugs documented by Miguel Marques (miguel@apex.cos.yorku.ca)
                    243:          in the entry and mentry widgets. The bug displays itself when you
                    244:          use vHINT or vINT display types. The vHINT actually showed the
                    245:          numbers being typed in (which goes against the hidden element of
                    246:          this display type) and in certain cases vINT allowed non-alpha
                    247:          characters to be entered.
                    248:        * Added compile support for Free BSD.
                    249:        * Cleaned up the behavior of the entry field.
                    250:        * Cleaned up the behavior of the scrolling list.
                    251:        * Cleaned up the behavior of the radio list.
                    252:        * Cleaned up the behavior of the selection list.
                    253:        * Changed (improved) the behavior of the file selector widget.
                    254:        * Made the activateCDKFselect behave like the other widgets.
                    255:        * Added injectCDKFselect function.
                    256:        * Added the calendar widget.
                    257:        * Added the slider widget.
                    258:        * Added the alphalist widget on the request of Luigi Rizzo.
                    259:          (luigi@ien.unipi.it)
                    260:        * Fixed a bug with addCDKScrollItem.
                    261:        * Fixed segmentation fault in the rolodex demo.
                    262:        * Changed the macros MAX, MIN, and DIFF to MAXIMUM, MINIMUM,
                    263:          and DIFFERENCE respectively to avoid conflicts.
                    264:        * Fixed errors with the alphalist and fselect widgets.
                    265:        * Added the link format comand for the file viewer. This allows
                    266:          users to 'hyper-link' text files.
                    267:        * Removed the use of CTRL-N.
                    268:        * Added the ability to load/save with the scrolling window.
                    269:        * Added filename completion to the file selector.
                    270:        * Cleaned up massive changes and errors in the documentation.
                    271:        * Added 'emacs-like' field editing capabilities to the entry
                    272:          and mentry widgets.
                    273: 
                    274: 4.6.1 -> 4.7.0
                    275: ==========================================
                    276:        * Added injectCDKXXX class of functions. This allows you to inject a
                    277:          single character into the widget.
                    278:        * Changed the activateCDKXXX to take an array of chtype to send in a
                    279:          set of predefined characters. This is very useful for performing
                    280:          automated tests of your programs.
                    281:        * Added functions setCDKXXXPreProcess and setCDKXXXPosProcess to
                    282:          perform actions before and after a character has been hit.
                    283:        * Made the use of CTRL-N consistent.
                    284:        * Fixed manual page errors.
                    285:        * Added the ability to cut text from the entry, mentry, and template
                    286:          widgets. (uses a global buffer)
                    287:        * Added the ability to copy text from the entry, mentry, and template
                    288:          widgets. (uses a global buffer)
                    289:        * Added the ability to paste text into the entry, mentry, and template
                    290:          widgets. (uses a global buffer)
                    291:        * Added the use of the escape key to exit a widget early.
                    292:        * Added the functions addCDKScroll/deleteCDKScroll to insert and
                    293:          delete items in an active scrolling list.
                    294:        * Added a parameter to the menu to specify where the menu windows
                    295:          were to be drawn. (top or bottom)
                    296:        * Added execCDKSwindow to the swindow function list. This allows the
                    297:          user to 'spawn' a command and direct the output to the scrolling
                    298:          window.
                    299: 
                    300: 4.6.0 -> 4.6.1
                    301: ==========================================
                    302:        * Removed the callback function parameter from the entry, mentry,
                    303:          matrix, and template widgets. Added in a function setCDKXXXCB.
                    304:          The XXX is the name of the widget.
                    305:        * Changed the viewer widget functions around. Moved activateCDKViewer
                    306:          to setCDKViewer. Moved manageCDKViewer to activateCDKViewer and
                    307:          removed the old setCDKViewer.
                    308:        * Added in special drawing characters.
                    309:        * Added in indent format to indent lines.
                    310: 
                    311: 4.6.0 (January 1996)
                    312: ==========================================
                    313:        * First pulic release of Cdk.
                    314: 
                    315: If you want to get a hold of me mail me at one of the following:
                    316:         glover@credit.erin.utoronto.ca
                    317:        mike@vexus.ca
                    318: 
                    319: The CDK Web page has several homes. They are:
                    320:         http://www.vexus.ca/CDK.html (official)
                    321:         http://www.datasoft.on.ca/~cdk (Sponsered by the nice folks at Datasoft)
                    322: 
                    323: ttfn,
                    324:         Mike
                    325: 
                    326: PS: There is also a Perl5 extension of this library for you Perl5 fans.
                    327:     Look under any CPAN site under the directory CPAN/authors/id/GLOVER.

CVSweb <webmaster@jp.NetBSD.org>