
LIFELINES WISH LIST -- 4 JANUARY 1994

To Do

o  Add EVENT and SOURCE record types (Wetmore)
o  Allow user specified record types (Wetmore)
o  Allow arbitrary linking between records (Wetmore, others)
o  Add user interface to add links between records (Eggert/Wetmore)
o  Add better multiple NAME support to prog language (Wetmore)
o  Give name() a parameter to not uppercase surname (Wetmore [Eggert])
o  Allow no slashes in input NAME values (Wetmore)
o  Allow one slash in input NAME values (Wetmore)
o  Send GEDCOM import error messages to a log file (Manis)
o  Be able to right justify key values (Manis)
o  Be able to right justify any string values (Wetmore)
o  Provide a way to browse for families by key (Eggert)
o  Remove tail recursion from routines (Wetmore)
o  Provide general methods to search GEDCOM node trees (Wetmore)
o  Allow program libraries to be included ()
o  Add extractwords() builtin (Wetmore)
o  Add lastindi() and lastfam() builtins (Eggert)
o  Change getfam() to work with two args and with family keys (Wetmore)
o  Add builtin VOID updatedatebase(INDI indi) (Wetmore)
o  Add builtin VOID updatedatebase(FAM fam) (Wetmore)
o  Add builtin to empty out a person set (Wetmore)
o  Add builtin siblingset to return all sibs of a person set (Eggert)
o  Remove need for panels library (Wetmore)
o  Work on the distribution makefiles (Wetmore)
o  Find and fix bug that occurs when using person sets (Wetmore)
o  Don't overwrite existing files without confirmation (Dennett)
o  Bug reported about merging families (Romelfanger? & Deacon)
o  Add more tandem browse operations (Wetmore)
o  Add one more list browse operation (Wetmore)

Enhancement Requests

o  How about name and place implode functions (Wetmore)
o  Allow many records to be added by editing at the same time (Groleau)
o  Implement nameset() operation to allow set naming in programs (Eggert)
o  Write short manual for merging (Manis/others)
o  Wider and deeper windows for prompts (Eggert)
o  Allow persons to be deleted by range of keys (Manis)
o  Allow sets of persons to be deleted based on some criterion (many)
o  Allow the last list browsed to be rebrowsed (Lawson)
o  Repartition code along functional interfaces (Wetmore)
o  Add builtin everyoneset (same as one following) (Eggert)
o  Add builtin allindiset to create set of entire database (Woodbridge)
o  Add an include feature to the programming language (Woodbridge)
o  Add looping construct for looping through siblings (Eggert)
o  Add builtin to create person sets from name or other criteria (Wetmore)
o  Allow last persons browsed use for menus (Dennett)
o  Add user defined functions to the programming language (Woodbridge)
o  Add a "break" statement to the programming language (Woodbridge)
o  Add builtins stdplace() & placeformat(), like stddate(), etc (Eggert)
o  Add builtins that allow database modification (Eggert)
o  Support a 1 CHAN (last time changed) feature (Olsen)
o  Use builtin list of databases with custom menu for databases (Dennett)
o  One of the date formats leaves a comma in (Romelfanger)
o  Implement database validation (names, dates, links)
o  Implement more operations for date arithmetic and statistics
o  Allow use of \-characters in the surnames (for TeX users)
o  Handle "wild/illegal" pointers a la "print(i)" rather than "print(d(i))"
o  Provide a batch mode of operation (Dennett)
o  Allow users to specify their own editing templates (Wetmore)
o  Add better name support for married women (Wetmore)
o  Allow GEDCOM to GEDCOM mapping on import or export (Wetmore)
o  Allow user defined menus that contain shell commands.
o  Allow family merging when parents aren't the same (Eggert)
o  Provide fast database insert to speed up restore operation (Wetmore)
o  Allow user defined menus to list available report programs (Manis)
o  Support a permanent reference number and show it rather than key
o  Implement higher precision integers for long ahnentafels (Wetmore)
o  Make more and more and more performance improvements (Wetmore)
o  Build LifeLines with a malloc package that finds memory leaks (Wetmore)
o  Provide means for piping report output to another command (Rump)
o  Implement floating-point or fixed-point arithmetic (Wetmore)
o  Provide a square root function (Chandler)
o  Add run time typing to the programming language (Wetmore)
o  Be able to compose lists based on date or place criteria (Eggert)
o  When leaving named list remember where you were (Romelfanger)

Longer Term Enhancements and/or Dreams

o  Provide read-only access to the database (J Quarterman)
o  Allow set operations to create person menus (Wetmore)
o  Provide facilities for date estimation (Wetmore)
o  Provide facilities for suggesting duplicates (Wetmore)
o  Provide more automatic facilities for merging (Wetmore)
o  Provide better support for family construction (Wetmore)
o  Add level of indirection in r.p.l. to avoid wild pointers (Wetmore)
o  Add lower bandwidth interface for use with modems or networks (Wetmore)
o  Allow LifeLines to open multiple databases at once (Wetmore)
o  Allow user defined indexing capability (Sippu)
o  Add date and place record indexing (Wetmore/Rump)
o  Add setvalue(indi,key,val) & removevalue(indi,key) builtins (Woodbridge)

Closed Issues

o  Provide better merging support (Wetmore)
o  Fix bug in strconcat routine (many)
o  Fix bug in addtoset (Romelfanger, Eggert, Dennett)
o  Fix bug in last few browsed feature after merging (Eggert)
o  Allow MS-DOS format GEDCOM files for import (already worked)
o  Add builtin for string length (Woodbridge)
o  Allow identification of families with no parents (Wetmore)
o  Add builtin to convert an xref to INDI or FAM (Woodbridge)
o  Cleanup the write_node(), new_write_node() debacle (Wetmore)
o  Remove redundant data when creating records to merge (Eggert)
o  Allow persons to be identified by key value (Dennett)
o  Change the word "restore" to something more general (Wetmore)
o  Order children after merging families (Dennett)
o  Change message "enter name" to "enter name or key" (Wetmore)
o  c1783 doesn't show up as a date in menus
o  Add \n, \t, and so on capability to report program strings (Wetmore)
o  Fix bug that dumps core on names with three slashes (Roegel)
o  Don't require leading 'I' when finding persons by key (Wetmore)
o  Make the GEDCOM restore error messages more explicit (Wetmore)
o  Use environment variable for default reports locations (Glassenbury)
o  Use environment variable for default database locations
o  Also use baptism dates for ordering children while merging (Wetmore)
o  Fix bug caused by static memory for finding path variables (Wetmore)
o  Have copyfile function use the directory pathing mechanism (Wetmore)
o  Add a getstring builtin (Woodbridge) [already done]
o  Add array operations (Roegel)
o  Change split/join_indi() to handle multiple NAME lines (Wetmore)
o  Modify merge_indis() to run iso_tree() on the NAME lines (Wetmore)
o  Menu strings not trimmed to correct length (Wetmore) [couldn't dupe]
o  Use environment variables for useful directories (Dennett)
o  Modify the restore command to handle illegal GEDCOM names (Wetmore)
o  Improve children(parents(indi), chld, no) loop (Eggert)
o  Add more event details to the person browsing panels (Wetmore)
o  Fix wrong-sized window asking whether to create database (Wetmore)
o  Have "Strike any key to continue." start on new line (Manis)
o  Add a person list browsing mode (Wetmore)
o  Have the temporary edit file names be unique per execution (Romelfanger)
o  Add builtin functions for getting to siblings (Eggert)
o  Fix what happens when you enter keys in list browse mode (Eggert)
o  Make access to the list browse feature less awkward (Eggert)
o  Allow deletions from the list browsing list (Eggert)
o  Bug: pedigree mode -- munged characters (Eggert) [couldn't dupe]
o  Bug: list browse mode -- persons with 2 spouses (Eggert) [no dupe]
o  Bug: list browse mode -- incorrect indentation (Eggert) [no dupe]
o  Add more family browse operations (Wetmore)
o  Add a menu browing mode (Roegel, Wetmore) [not sure what means]
o  Add wildcard option to search for all persons with same surname (Manis)
o  Be able to get to all people with same surname (Eggert)
o  Allow lists to be saved and set-manipulated (Eggert)
o  Don't show the I on output from the key() function (Rump/Woodbridge)
o  Allow descendent to be spelled both ways (Eggert/Wetmore)
o  Core dumps on persons with null sex lines (Romelfanger/Eggert)
o  Don't ask to update dbase if records not changed by edit (Rump)
o  Make values of all 1 NAME lines searchable (Christensen/others)
o  Add a forfam iterator (Eggert)
o  Have strlen() return 0 for NULL pointers (Eggert)
o  Have strcmp() treat NULL pointers like empty strings (Wetmore)
o  Find the 8-bit problem relating to character 352 (Wetmore/others)
o  Allow 8-bit character sets (Sippu/others)
o  Use environment variable for default backup location (Dennett)
o  Add getindiset to report programming language (Wetmore/others)
o  Allow report programs to ask for named browse list (Eggert/Lawson)
o  Add an operation to add element to other end of lists (Eggert)
o  Provide better access to individual name parts (Olsen)
o  Add extractplaces() builtin (Wetmore)
o  Enhance number printing (A, B, C; a, b, c; etc) (Wetmore)
o  Add outfile() builtin to return name of current output file (Wetmore)
o  Add builtin function newfile() to write output to a new file (Eggert)
o  Allow the newfile() function to append to an existing file (Eggert)
o  Add defaultreportname() to return name of report output file (Eggert)
o  Fix bug with date values that are long strings of integers (Manis)
o  Make the linking lines visible when editing (Wetmore)
o  Rewrite screen on all major mode changes (Wetmore)
o  Use of * wildcard matches people whose surnames don't match (Wetmore)
o  Wider and deeper standard output window (Eggert)
o  Core dumps at startup on null and other filenames (Bowen/Wetmore)
o  Fix bugs that causes very long names to dump core (Wetmore)
o  Look into problems with GEDCOM values that are very long (Wootten)
o  Add a builtin that returns the database name (Eggert/Manis)
o  Add index(str1,str2,n) builtin (pos of nth str2 in str1) (Woodbridge)
o  Add substr(str,from,to) builtin (return substring) (Woodbridge)
o  Write a register program that follows a single descent line (Wetmore)
o  Implement the Woodbridge string approach (Woodbridge) (see notes)
o  Get the documentation up to date (Wetmore)
o  Have the GEDCOM import code check on the sex of parents (Eggert)
o  When reading GEDCOM files, handle lines without levels (Wetmore)
o  Do better job showing errors when reading GEDCOM files (Sippu/Knowles)
o  Rename BT to BTR to help porting (Wetmore)
o  Rename _sp() to _space() to help porting ()
o  Replace system() calls in record.c with un/links (Romelfanger)
o  Make changes based on compiler messages from port attempts (Wetmore)
o  Make showing names on GEDCOM restore an option (Wetmore)
o  Fix bugs in substring and index (Eggert)
o  Bug reported about extractnames; fixed by change in alloc.c (Rothwell)
o  Added Eggert's value ideas to indi-sequence operations (Eggert)
o  Added valuesort builtin operation (Eggert)
o  Add deletefromset, uniqueset and differenceset (Eggert)
o  Add a title(indi) builtin (Romelfanger)
o  Don't go through families when browsing to children (Wetmore)
o  Same person can show up more than once in list browse (Wetmore)
o  Make zip browsing more consistent with list browsing (Wetmore)
o  Don't require user to choose a single child from a family (Watrous)
o  Same person can show up more than once in zip browse (Lawson)
o  Add a lengthset() operation (Chandler)
o  Add increment and decrement builtins (Wetmore)
o  Add chooseindi builtin (Wetmore)
o  Add choosesubset builtin (Wetmore)
o  Allow builtins to have a variable number of parameters (Wetmore)
o  Allow print() builtin to have variable number of params (Wetmore)
o  Add choosespouse() builtin (Wetmore)
o  Still have user choose if getindi() returns one person (Wetmore)
o  Allow SOUNDEX codes to be made from any string ()
o  Add menuchoose(), a user created menu handling builtin (Wetmore)
o  Change getindi(), getint() and getstr() to allow two arguments (Wetmore)
o  Allow add(), mul(), and() and or() to have variable arguments (Wetmore)
o  Fix bug in extractplaces() (Eggert)
o  Allow strconcat() to have variable number of arguments (Wetmore)
o  Center list interaction windows (Wetmore)
o  Add exp() exponentiation function ()
o  Call fflush() at end of every writexrefs() call (Romelfanger)
o  Remove tail recursion from equal_tree() (Wetmore)
o  Add firstchild() and lastchild() builtins (Eggert)
o  Add firstindi(), nextindi() and previndi() builtins (Eggert)
o  Add firstfam(), nextfam() and prevfam() builtins (Eggert)
o  Key file may not be written properly when core dumps (Wetmore)
o  Add builtin system(cmnd) to run shell commands in programs (Eggert)
o  Fix bugs in swap() that don't swap nodes below swapped nodes (Wetmore)
o  Inconsistent count of people and families in database (Eggert) [no dupe]
o  Core dump with getint() on CR on SUNs (?/Wetmore)
o  Provide a way to compute relationships between persons (Wetmore)
o  Bug with no match */surname search with 'z' command (Chandler)
o  Add proper NAME line checks to valgdcom.c (Romelfanger)
o  Add proper SEX line checks to valgdcom.c (Wetmore) (were already there)
o  Bug with global variables in conditional set expressions (Eggert)
o  Bug with _concat not allocated enough space (Chandler)
o  Removed definition of llreports from rassa.c ()
o  Add more month and date formats (Eggert, Chandler)
o  Provide way to get key values without the I or F (Manis)
o  A dot (.) response to early questions dumps core (Bertsch) (no dupe)
o  Add builtin NODE createnode(STRING tag, STRING value) (Wetmore)
o  Add builtin VOID addnode(NODE node, NODE parent, NODE prev) (Wetmore)
o  Add builtin VOID deletenode(NODE node) (Wetmore)

Postponed

o  Indicate that alternative names exist
o  Provide for a table of titles and where they go
o  Let ~ represent the user's home directory
o  Indicate top and bottom and more off screen
o  Allow multiple marked persons and deletion of them
o  Reimplement LifeLines using a client/server model
o  Change wording of "browse to parents" to be less confusing
o  Have LifeLines maintain a list of tags with definitions (Green)
o  Add a journaling feature (Dennett)
