
$Id: ChangeLog,v 1.149 2001/03/09 11:33:29 danny Exp $

Fri Mar  9 12:33:32 CET 2001, danny
	* src/io-x11.c : Finally found out what was missing to get real i18n
	  input. I needed to call XFilterEvent(). Thanks to the i18n checklist
	  in O'Reilly's documentation.

	* src/io-motif.c : Fixes by Robert A. Schmied for running out of colors in
	  the splash window when Oleo starts (Motif mode), and for passing a NULL
	  parameter to sprintf when the LANGUAGE parameter doesn't exist.

Sun Mar  4 14:54:24 CET 2001, Danny
	* Remark from Teun Burgers : More recent version of libgsl.a should
	  be linked with -lgslblas or -lgslblascblas instead of -lgslblasnative.
	  Changed that in configure.in .

Wed Feb 14 21:56:43 CET 2001, Danny
	* Change macro CTRL to CTRL_CHAR to avoid name clash with system
	  defined macro.
	* doc/Makefile.am correction to allow for building from a
	  subdirectory.

Wed Feb 14 20:13:27 CET 2001, Danny
	* Fix a checkin problem - cmd.c was in DOS mode. Ouch.
	* Part of the i18n works in raw X mode now : it takes characters
	  with the eight bit set. Doesn't do compose key processing yet.

Wed Feb 14 00:34:54 CET 2001, Danny
	* Merge my stuff with Pete's before I lose track :-)
	  I'm still debugging this.
	* Add 2001 to some headers.

Wed Feb  7 19:20:13 EST 2001  Pete Wyckoff  (pw@osc.edu)
	* Clean up everything not in the CVS tree with maintainer-clean.

Tue Feb  6 22:11:27 EST 2001  Pete Wyckoff  (pw@osc.edu)
	* Add CVS complation instructions in README.
	* Move around checks in configure.in so that X works without Motif.
	* Adjust spacing so that ./configure --help is prettier.
	* Update doc/keymaps.texi for current keymaps.

Sun Feb  5 21:35:07 EST 2001  Pete Wyckoff  (pw@osc.edu)
	* Rewrite real_get_chr() slightly so that curses mode doesn't
	  hang on endless-loop situations.

Sun Feb  4 19:10:25 EST 2001  Pete Wyckoff  (pw@osc.edu)
	* Clean up a bunch of compile warnings.

Sun Feb  4 16:54:38 CET 2001, Danny
	* Try to get Oleo to stay away from the eight bit. Not bullet-proof
	  yet. This is to get scandinavian character input to work in raw X
	  mode.
	* io-term.c : warning removal by declaring gettext().
	* Convert compile time error message into an #error in global.h .

Sat Feb  3 18:55:19 EST 2000  Pete Wyckoff  (pw@osc.edu)
	* Add documentation for business functions, and clean up
	  some typos.
	* Add fmrr() business function, fix looping in irr(), change
	  npv() to start from year 0.
	* Remove uninitilized characters in default cell_format_string(),
	  still needs real fix.
	* Convert io-x11 to use Global->scr_(lines|cols) now that #define
	  is gone.

Wed Jan 10 20:16:32 CET 2000, Danny
	* Added bunches of .cvsignore files to allow working more
	  transparently with a directory accessing CVS and holding
	  a build at the same time.
	* A contributed fix for outputting localised stuff in
	  PostScript. Gnats (bugs.gnu.org) bug #1946.
	* Fix for curses and a documentation bug by Pete Wyckoff.

Wed Nov 22 00:24:12 CET 2000, Danny
	* This is Oleo 1.99.14.

	* Add a way to specify GIF, PNG output format in curses.
	* Graph documentation update.
	* Documentation now displays the Oleo version in the title
	  (required changing the order of first lines in oleo.texi).
	* Catch signals when in plotutils different from otherwise -
	  print an appropriate message and get out of plotutils.
	* Experimental : draw marker symbols at data points.
	* Clean up src/graph.c and src/graph.h, removing mostly all
	  "order" related stuff. In the process, change signature of
	  graph_set_data().
	* Start coding for graphs to have lines, marks, or both.
	  Option should be user-settable.
	* Add code to display XDB version in Version dialog.
	  This only works with the CVS version of XDB, of 15 August 2000
	  or later.
	* XDB is now renamed to Xbase again. XDB already exists.
	* SuSE 7.0 fixes (malloc.h and stdlib.h added).
	* A couple of Motif 1.2 compatibility and other stupid coding
	  error fixes.
	* In src/oleofile.c, avoid writing "nan" to the save file
	  when writing floating point values. Just don't write that
	  entry to the file. (Not sure if this is the right thing to
	  do.)
	* Don't pop down the configure graph dialog if errors occur
	  while scanning its contents. This would result in loss of
	  the data that the user has just entered.

Tue 25 Jul 14:54:21 2000, Danny
	* This is Oleo 1.99.12.
	* Removed code to deal with gnuplot from graph.c, defun.h.
	  We only support GNU plotutils from now on.
	* Clean up some code that duplicated functionality in plot.c,
	  graph.c, io-motif.c.
	* List of known devices for GNU plotutils is no longer an X
	  resource, it is compiled in (src/plot.c).
	* Make sure it compiles in odd circumstances.
	* src/plotter.c : call pl_erase_r() at the beginning of a plot,
	  to erase the plotting area.

Sat 22 Jul 08:16:32 2000, Danny
	* Conditionally compile only GNU Plotutils support, not gnuplot,
	  if plotutils is detected by configure.
	* Start developing curses menus to support plotutils.
	* io_close_display() now has an int parameter which you should
	  pass a nonzero number on errors. That makes it bypass a screen
	  refresh before leaving curses. This is interesting if you've
	  just printed an error message...
	* Call io_close_display() when encountering an inconsistency
	  in the startup script. This cleans up curses.
	* Replace call to display-error-msg by display-msg.
	* Implement support for 'tek' device in graphs, only
	  for stdout for now. This really means if you run in an
	  xterm window, then a plot to the tek device will open
	  the Tektronix window of your xterm and show the plot
	  in that.
	* The xBase library has been renamed to be xdb. It can be
	  found through the old xBase home page but also on
	  http://sourceforge.net/projects/xdb .
	  Configuration has been adapted to recognise xdb as well
	  as the old xBase.
	  Things are however still messy because of inconsistent naming
	  in xdb. Currently things work with xdb 1.2.0 .
	* Make sure the Id string and copyright notes appear more
	  consistently throughout the sources.

Sat  8 Jul 17:15:57 2000, Danny
	* Make sure Oleo compiles without GNU plotutils also.
	* Fix detection of GSL (GNU scientific library).
	* Add src/gsl.c - a file containing hooks to call most
	  of GSL's gsl_stats_*() functions. For now.
	  Adding more should just be work, not really hard to do.
	* Add documentation of Motif Button command.
	* Add documentation of GSL functions.
	* Implement zoom in the printing code.
	* Add a scale to the Print Options dialog to be able to set
	  a zoom percentage.

Mon  3 Jul 18:49:04 2000, Danny
	* This is oleo 1.99.11 .

	* Handle Window Manager quit (WM_DELETE_WINDOW) nicely.
	* Replaced the parent widget in call to XmCreate*Dialog(),
	  OpenMotif dies if this is a button.
	* Add doc/oleo1.png, a simple screenshot of Oleo in action.
	  It shows the LessTif GUI and an XY plot with GNU Plotutils.
	* Update spec file so we can build a reasonable RPM.
	  rpm -ba oleo.spec should now just work.
	* Finally (!) fix the bug so parse.h is automatically
	  included in the source distribution, together with parse.c.
	* Make sure that "oleo -t xx.oleo" works when compiled with Motif.
	  (This should start the curses interface.)
	* Manipulate src/graph.c so it no longer uses GNUPLOT (which has
	  nothing to do with GNU), but GNU plotutils. The latter is a GNU
	  product, and is more interesting to use for other reasons too.
	  (This is obviously a personal opinion !)
	* Don't draw a legend unless you have text to put in it.
	* Add experimental code for displaying dates as axis labels
	  in XY plots. (Conditionally compiled out for now.)
	* Add support in the Configure Graph dialog to be able to
	  set the value type for tick marks (e.g. to dates as indicated
	  above).
	* Add doc/oleo1.png - a screenshot.

Sat  8 Apr 14:21:36 2000, Danny
	* doc/oleo_web.html now points to ChangeLog in CVSWEB as well,
	  with a remark saying you need to know the version number
	  of the latest version...
	* Detect rename() system call.
	* intl/ : use autoconf to figure out which data type is nls_uint32.
	* Upgraded doc/texi2html to version 1.61.
	* Use XbaeGetVersionTxt() if available (in the version dialog).

Fri  3 Mar 08:48:49 2000, Danny
	* Oleo sources are now in CVS at subversions.gnu.org,
	  not the old cvs.gnu.org.
	* File with an @button command can be read without
	  crashing. Make sure the buttons get created then.
	* Add more stuff for graphs to file save format.
	* Renamed a node in doc/ to remove name clash reported
	  by the recent version of texi2html.
	* MySQL error messages now reported in the standard way
	  (io_error_msg), not fprintf.
	* Read and write DBMS parameters in oleo file format,
	  and get the Motif dialog to query them before appearing.
	* Remove global variables in graph.c and plot.c, replace by
	  stuff in Global structure.
	* Detect getcwd(), use it instead of getwd when possible.
	* Fixed problem in intl/Makefile.am which prevented
	  config.h from being used.
	* plotter.c, legend.c : concentrate hardcoded numbers,
	  fix the legend position somewhat, call a new function
	  to make the Y axis appear in the right place so PostScript
	  output makes sense.

Wed 23 Feb 20:51:06 2000, Danny
	* Correct ChangeLog
	* small update to graph.[ch]

Tue 22 Feb 23:29:32 2000, Danny
	* Define a function @button(label, command). Motif should
	  create a cell widget which is a button displaying "label",
	  when the user clicks it, it should execute "command".
	  In a non-Motif environment, the result of @button(a,b)
	  is still b so you can safely wrap @button around the cells
	  containing programs.
	-- Doesn't work yet
	* Clean up the (Motif) user interface to MDI.
	  The only thing left to clean up (I think) is the global
	  quit menu item - it doesn't currently inquire about all
	  individual open files.
	* Move away from old-style GNU Plotutils API, use the new
	  and cleaner API. This means no more support for GNU
	  plotutils 2.2 or older.
	* Use the new GNU Plotutils SciPlot library which I'm writing.
	  For now, it'll be bundled with Oleo.
	  (src/plotter.c, src/legend.c, src/sciplot.h, src/sciplotI.h)
	* Upgrade doc/texi2html to version 1.60 beta, corresponding
	  change in doc/Makefile.am.
	* Explicitly include src/parse.h in distributions.
	* More accurate value of PI, but if available, go get it
	  from system include files. (src/eval.c)
	* Add AM_MAINTAINER_MODE macro call in configure.in to keep
	  us from using the auto_ tools too many times.
	* Add #include <dmalloc.h> consistently, and fix a couple of
	  omitted checks for <config.h>.
	* Worked around a memory overrun problem in SelectCellCB.
	  Still need to pinpoint it exactly !

Wed  1 Dec 22:10:51 1999, Danny
	* Release 1.99.8.
	* Update the NEWS file for upcoming release.
	* Figure out which escape code to use exactly to get PCL
	  printers to behave right.
	* Turned off i18n support in src/io-x11.c for now, can't get it
	  to work.
	* Add set_encoding(char *) as an interface in the printer
	  drivers. PCL can handle this too.

Sat 27 Nov 19:55:41 1999, Danny
	* Update the TODO file.
	* Add stuff (variable, field in UserPreferences dialog, code
	  to initialize, ...) to handle the character encoding. Default
	  is set to ISOLatin1. This should, but currently doesn't,
	  alter X's fonts. It does do things for PostScript.
	* Conditionally remove (#ifdef VERBOSE) fprintf statements in
	  src/io-x11.c. The i18n stuff still won't work I'm afraid.
	* Fix a few cases of including io-motif.h unconditionally.
	* Add mysql.h to the list of files to be distributed.
	* Get bugfix from Dag Nygren for a crash in display.c.
	* src/print.c : when moving to a new line, need to do this based
	  on the font size of the next line, not the one just printed.
	* src/io-term.c : changed the years that Oleo was worked on.
	  Run oleo --version to check.
	* src/io-motif.c : OK button on configure graph dialog should
	  pop down the dialog.

Wed 10 Nov 01:18:09 1999, Danny
	* Fix a couple of printing bugs.
	* Add files to create a small table in MySQL (examples/create_koers.txt),
	  fill it with data (examples/data.sql), and a spreadsheet to read from
	  it (examples/mysql.oleo).

Thu  4 Nov 13:49:26 1999, Danny
	* src/afm.c - implement based on the AFM spec by Adobe.
	  Look for document "5004.AFM_Spec.pdf" on their server.
	* src/print.c - Clean up printing based on AFM.
	  Drawback is that the interface of the Field() function has
	  become more dirty.
	* Optimize font reencoding and font setting in PostScript.
	* Font Height now also obtained from AFM.
	* src/io-motif.c - the first printer returned by CUPS now shows
	  up in the option menu by default (in the print dialog's upper
	  right corner).
	* Created global variables for border widths, inter-line space.

Sun 24 Oct 14:18:48 CEST 1999
	* afm/Makefile, afm/Makefile.in were in here by accident, deleted now.
	* src/Makefile.am, configure.in : add the stuff needed to get $prefix
	  from the configure process, and use it in a C source.
	  The BUILD_PREFIX macro is used to forward the information.
	* src/afm.c - implement initial functionality.
	* src/io-motif.c : conditional compilation to show that no db access
	  was linked in was wrong. Fixed.
	* src/mysql.c - some conditional compilation stuff was in the wrong
	  place, apparently.
	* configure.in - AC_FUNC_MKTIME seems to have sneaked in, must be
	  AM_FUNC_MKTIME.

1999-10-23  Jeff Bailey  <jbailey@cr499794-a.crdva1.bc.wave.home.com>

	* src/sylk.c: Include ctype.h

	* src/regions.h: Declare precision_region

	* src/print.c: Include lists.h

	* src/plot.c: Include X11/Intrinsic.h

	* src/parse.y: Remove unused variables

	* src/oleofile.c: Nested comments... gone!

	* src/mysql.h: New File

	* src/mysql.c: Include mysql.h

	* src/mdi.c: Include io-term.h, mysql.h

	* src/lists.c: Include io-motif.h

	* src/list.h: Fix declaration for list_set_separator

	* src/key.h: Match CTRL definition to termcap/curses library.

	* src/io-utils.h: Add Function declarations

	* src/io-utils.c: Include io-motif.h, basic.h, oleofile.h,
	sc.h, list.h

	* src/io-term.h: Add declaration for InitializeGlobals

	* src/io-term.c: Include mysql.h, quench warnings.
	
	* src/io-motif.h: Add header includes, function declarations.

	* src/io-curses.c: Remove unused functions, local_putchar && local_puts

	* src/format.c: Remove unused variables, added FIXME

	* src/eval.c: Include stdlib.h, string.h

	* src/decompile.c: Include ctype.h, and cmd.h

	* src/cmd.c: Include io-motif.h

	* src/cells.c: Remove unused variables

	* src/basic.c: Remove extra Parameter from precision_region call.

Sat 23 Oct 15:41:08 1999, Danny
	* Right align requires knowledge of the font metrics, unless
	  we'd use PostScript magic. The printer driver shouldn't
	  be doing this if we want to print on non-PostScript,
	  so add files src/afm.c and src/afm.h to add a module
	  that reads AFM (Adobe Font Metric) files.
	* Add an afm/ directory with a couple of files.

Sun 17 Oct 09:38:29 CEST 1999
	* io-x11.c Some copy/pasted i18n code from the LessTif
	  XmIm.c that I wrote ages ago. Works in LessTif, not
	  yet in the Xlib version of oleo (yet). Sigh.

Sat 16 Oct 01:08:54 1999, Danny
	* Printing.
	* Call MotifSelectGlobal() with an initialized parameter.
	* Make the documentation available on
	  http://www.gnu.org/software/oleo/doc/oleo.html .
	* Get all the documentation generated into one file by
	  using the -monolithic flag to texi2html.
	* Integrate most of the SCANDI patch by Dag Nygren.
	* Fix silly bug that resulted in coredump when we
	  actually have CUPS printers.
	* Edit doc/*.texi according to comments by Olaf Bachmann,
	  the current maintainer of texi2html. @ifhtml, @findex,
	  @item, and similar constructs should be at the beginning
	  of a line, or they won't work.
	  We had a lot of those...

1999-10-11  Jeff Bailey  <jbailey@cr499794-a.crdva1.bc.wave.home.com>

        * src/Makefile.am: add YFLAGS -d to general parse.h.  Remove parse.h
        reference in includes.

        * mkinstalldirs, INSTALL, COPYING, missing: Delete.  Automake
        provides these and they should not be in the repository.


Tue Oct  5 23:31:50 1999, Danny
	* Release 1.99.6 .
	* Use isprint() to determine whether something is
	  printable, so Oleo shows iso-latin-1 characters.
	  Set LANG to something like it_IT.ISO_8859-1 for
	  this to work.

Wed Sep 22 01:37:46 1999, Danny
	* Changes to get things to compile without mysql
	  around.
	* Make sure src/mdi.h gets distributed.
	* Get a non-motif version to compile after all the
	  changes with Global.
	* Added #include <stdlib.h> to font.c; strange things
	  were sometimes happening. The return value of atof()
	  should be known to the compiler.
	* Make the PostScript output IsoLatin1 by default.
	  This should probably be user-definable.
	* Print things in the right place (overlapping cells).

Fri  3 Sep 00:56:31 1999, Danny Backx
	* A bugfix prompted by Dag Nygren's report that
	  PostScript printing crashes for him. Fixed the crash,
	  don't generate the right printout yet.
	* Fix a few bugs in io-motif.c, now I can open more than one
	  window in Motif, and have different spreadsheets in them.
	  Yeah !!

Tue 31 Aug 10:46:39 1999, Danny Backx
	* plot.c : support LineToOffScreen in XY plots (don't draw
	  a line between points outside the visible region).
	* More MDI work - plot globals into the structure.
	* Update TODO.
	* Both TODO and ChangeLog are now visible on the web page.
	* Move many global variables into Global.
	* A fix for a crash reported on the bugs list by Dag Nygren.
	* Destroy splash widgets instead of popping them down. They're
	  no longer useful.
	* Implement plots in an X drawable (GNU plotutils terms), meaning
	  we create a widget and tell plotutils to draw in it. The
	  advantage to this approach is that you can put the widget
	  inside a scrolledwindow and have automatic scrolling.
	* Turned autoUnmanage off for all dialogs. Otherwise dialogs would
	  disappear when Help gets clicked.

Sat 28 Aug 12:40:17 1999, Danny Backx
	* User Preferences dialog : small implementation to change
	  the fonts (Motif); uses a new FontChooser widget from
	  LessTif's Xlt widget set when available.
	* Converted lots of global variables in io-motif.c to
	  variables inside the Global area.
	  Some (simple !) macro tweeking even makes this easy.
	* Copied ChangeLog to the web directory on www.gnu.org.
	* Removed ftp.* files from distribution. They're no longer
	  needed as we can use rcp to distribute stuff to *.gnu.org.
	* Removed macros to find Xlt and Xbae from the distribution.
	  You shouldn't need them; the "make dist" process should put
	  them in the proper places and create a "configure" script
	  that contains the right stuff. This is something the Oleo
	  maintainer does, not anyone who just compiles Oleo.
	* Converted to using the AC_FIND_XLT and AC_FIND_XBAE macros
	  as they come with Xlt, Xbae.
	* Add mdi.c, mdi.h files for Multi-Document Interface.
	  Not entirely sure what the functions in there should do
	  but it involves creating and destroying the Global
	  structure.

Fri 23 Jul 18:25:18 1999, Danny Backx
	* Updated Makefile.am in top directory to use rcp
	  for uploads to the gnu.org systems.
	* User interface for administrative dbms things.
	  (server host, db name, username).
	* Implement a simple table-driven options processing
	  that's easier to maintain than the list of if
	  statements.
	* Add configuration option to find CUPS, the Common
	  UNIX Printing System (http://www.cups.org).
	  Use it to find printers in the print dialog.
	* Menu item to save options in ~/.oleorc, based on
	  the table for option processing. Saves options only
	  if indicated in the table, and then only when they
	  have the right value.

Fri 23 Jul 00:13:42 1999, Danny Backx
	* src/mysql.c contains a simple attempt at getting
	  SQL database data into the spreadsheet.
	  We need to figure out a way to handle recompute on
	  this - this should probably only happen when the user
	  says so.
	* Automated maintenance of the arrays containing
	  functions in byte-compile.c - this was a manual process
	  and the counts were wrong !
	* Removed the double quotes from the node explaining at
	  functions. Quotes apparently aren't allowed in a node name.
	* Added a documentation file about database access.
	  Not much content though.
	* A start at a place to store global variables, in global.h .
	  This should help making Oleo multi-document, multi-window
	  and who knows what else.
	* Fixup oleo_web.html

Mon 12 Jul 18:02:51 1999, Danny Backx
	* Release Oleo 1.99.5
	* A couple of minor fixes.

Sat 10 Jul 09:40:13 1999, Danny Backx
	* Work on PostScript printing.
	* Further move a couple of global variables away.
	* Add MySQL access file. As with printing, this and the
	  xbase access functions probably require a higher level
	  of interface inside of Oleo, with the xbase and MySQL
	  stuff functioning as backends for that.

Sun 20 Jun 09:29:24 1999, Danny Backx
	* Fix a bug reading ranges. Some of the more exotic range
	  definitions weren't parsed correctly.
	* Make print size more accurate, to improve calculation of
	  the amount of stuff that'll fit on a page. This has two
	  pieces : a device independent one in src/print.c, and
	  a bunch of device dependent stuff in other sources.

Thu 10 Jun 23:52:50 1999, Danny Backx
	* Clarify README-alpha.
	* Default precision gets read from *.oleo files and
	  gets applied too.
	* Column MaxLength correctly applied now, makes it possible
	  to enter field contents longer than the visible field itself
	  in the Motif GUI. This was a bug that I neglected to write
	  down, so forgot :-( .
	* Move variables in plot.c outside of #ifdef.
	* Fiddle with obscure XbaeMatrix options to make the cell display
	  the result of evaluating a formula if you just typed a formula
	  in a cell and hit enter.
	* Add a "bin" command to the FTP scripts to make sure we're
	  FTPing releases the right way.

Fri  4 Jun 11:13:33 1999, Danny Backx
	* Release 1.99.4
	* Document the printer driver API in src/print.h.
	* Fix bug in formats handling. Setting a default
	  format now works properly.
	* Remove support for panic file format.
	* Update TODO - some stuff actually got done.
	  Also add a couple of remarks by Richard Curnow.
	* Bugfixes by Hayashida Kuniaki for i18n : use -lxpg4
	  when available, remove #include <libintl.h> from
	  acconfig.h, add "%s" argument to calls of n_alloc().
	* Implement Motif support for setting default format.

Wed 12 May 21:31:01 CEST 1999, Danny Backx
	* Release 1.99.3
	* Change name of Epson driver to EpsonStylusColor.
	  I have a Stylus Color 400 and was fooled by the
	  documentation into believing it did Esc/P2.
	  It doesn't.
	* More escape codes in src/epson.c and src/pcl.c.

Fri  7 May 00:18:56 1999, Danny Backx
	* Try to put the right stuff in epson.c
	* Printing : add end of page detection to the right pages.
	* Printing: incorporate some more hardcoded values to
	  get the multipage printing to work at least for such
	  a case. Printing Courier-10 only for now.
	* Printing : add a couple of functionalities to the
	  print drivers. Setting fonts.

Fri 30 Apr 00:14:39 1999, Danny Backx
	* configure.in : don't just check for libncurses,
	  also check for <ncurses.h>. Only go for it if
	  both are present.
	* Printing : code can print multiple pages already,
	  however it's currently not based on decent font
	  metrics, just on some numbers and font names that
	  seem to work.
	  The current state already works way better than
	  the original PostScript driver.

Thu 29 Apr 00:27:02 1999, Danny Backx
	* print.c changes into a generic print mechanism, the
	  print specific code is in other files.
	  These other files define a printer that knows about
	  printing rows and columns of stuff, top to bottom.
	  That's all my Epson Stylus Color will do :-)
	* Print driver files (postscript.c,pcl.c,epson.c,prtext.c,
	  print.h) define some basic commands.

Tue 27 Apr 21:02:30 1999, Danny Backx
	* Add src/prtext.c, src/prtext.h, examples/q110399.csv

Tue 27 Apr 20:28:18 1999, Danny Backx
	* README : remove comments about curses mode not working
	  from a Motif executable until someone can prove it.
	* /usr/local handler in configure.in should target the
	  INCLUDES, not the CFLAGS. The latter won't work for
	  the C++ compiler.
	* Moved some variables (such as XYxAuto) from io-motif.c
	  to plot.c - it wasn't possible to compile without Motif
	  but with plotutils.
	* Adding another printer type (printer protocol such as
	  PostScript) needs to be done only in one place, apart
	  from writing the code : add an #include line to the
	  top of src/print.c and add one line to the contents
	  of the Drivers table in the same file.
	* Add "Epson ESC/P2" (this is the protocol used with the
	  Stylus Color printers) and "Text" as supported printer
	  languages.
	* Version dialog in Motif now lists the versions of all
	  the libraries we link with (Motif/LessTif, Xbae, XmHTML,
	  SciPlot) which are so kind as to provide the information.
	  Xbase and gsl don't seem to bother.
	* Catch more signals when not in X. In many cases, we weren't
	  cleaning up when getting a signal. Bad if you run curses.
	  Pointed out by Klaus Schilling.
	* Remove from CVS : stamp-h.in, src/posixtm.c, lib/ansi2knr.c,
	  lib/ansi2knr.1, lib/xmalloc.c, lib/getdate.h
	* First cut at splitting printing support into two layers,
	  a general one and (currently) a PostScript layer. Once
	  separation is good and general enough, PCL (and/or others
	  should be pluggable).
	* Add src/postscript.c and src/pcl.c as low-level printer
	  drivers. src/print.c should be a high level interface.

Wed 21 Apr 1999, Jeff Bailey  <jbailey@nisa.net>
	* configure.in: Look for sys_errlist and sys_nerr and set
	  HAVE_SYS_ERRLIST if true.  Thanks to BASH authors, although
	  theirs doesn't actually work. =)
	  Only look for Motif if X is available.  HPUX10.20 comes with Motif
	  but no X libraries.
	* acheader.h: Add HAVE_SYS_ERRLIST def'n.
	* src/utils.c: Check for HAVE_SYS_ERRLIST

	With this, it now compiles in curses mode on HPUX10.20, and fails 
	somewhere else on Cygwin. =)

Mon 12 Apr 15:50:37 1999, Danny Backx
	* Graph configure window deals better with empty ranges.
	  Change to io-utils.c (range_name) was required too, it
	  was converting struct rng {0,0,0,0} into "@0".
	* DeleteResponse of help window changed so it can be popped
	  down gracefully. Works in Motif, not LessTif so I need
	  to fix that too :-)
	* Rewrote parse_cell_or_range so it understands SYLK
	  format regions as well.
	* Copy (Range/Values) dialog now also accepts regions
	  selected by the mouse.
	* call a new function to translate SYLK functions into
	  Oleo functions. The table that goes with this is still
	  rather empty.
	* configure.in - check for GSL (GNU Scientific Library)
	* configure.in - bump version to 1.99.3

Fri  9 Apr 13:43:59 1999, Danny Backx
	* Release 1.99.2.
	* (read_file_generic) For recalculation after reading a file.
	  This gets examples/paine.slk read in correctly.
	* Make Motif interface cope with default file format dialog.
	* Inserted a couple of #if XmVERSION > 1 to ensure that Oleo
	  at least compiles if we only have Motif 1.* or a non-2.0
	  version of LessTif.
	* SYLK file format seems to have noa0 as the default, not the
	  other way around. The output of Excel 6 (yes I know) shows
	  this. Change our default.
	* File formats now find their format string (*.oleo) from a table.
	  This table contains a pattern that can handle upper case and
	  lower case to be able to read DBF as well as sylk and
	  SLK suffixes.
	* src/io-utils.c : handle *.slk as SYLK.
	* m4/motif.m4 - handle absence of Motif better; Frank Bennett.
	* doc/*.texi - patch from Art Haas replacing @html by @ifhtml.
	* src/plot.c - apparently the set of macros to still work with
	  older versions of GNU plotutils wasn't right.

Fri  2 Apr 09:27:04 CEST 1999, Danny Backx
	* Range selection reimplemented for Motif. Click on a range
	  textfield in a dialog to indicate that this one will get the
	  range info, then just drag the pointer over the matrix,
	  while pressing button 1 on the mouse.
	* Fix ftp stuff in Makefile.am. The 1.99.1 developer's release
	  was on gnudist.gnu.org by accident. Only lasted a couple of
	  minutes.

Wed 31 Mar 00:01:52 1999, Danny Backx
	* Release 1.99.1.
	* Add lots of stuff to TODO.
	* Add some more fine-tuned dependencies on config.h to the
	  src/Makefile.am so it recompiles what's needed after
	  configure is rerun.
	* Fix "Line ..." stuff in several read functions.
	* I'm starting to feel like a jojo. It *is* possible to get
	  the auto-tools to work right w.r.t. optionally compiling
	  a C++ source, with a little help.
	  The problem is solved by some automake definitions in
	  src/Makefile.am (overriding the link command conditionally),
	  and (for not aborting when no usable C++ compiler is found),
	  copying and tweaking some autoconf macros in m4/cxx.m4.
	* Adapt FAQ to reflect Xbase status.
	* Change form attachments; help window resizes better now.

Wed, 24 Mar 1999 14:02:54, Jeff Bailey
	* Fix typo in configure.in .

Fri 26 Mar 00:27:46 1999, Danny Backx
	* Get configure to recognize both 2.2 and older versions of
	  GNU plotutils and act appropriately. (The API changed.)
	* It seems to be impossible to use automake/autoconf to make a
	  distribution that contains a C++ file, and have the thing
	  gracefully degrade into not using the C++ functionality when
	  we find no C++ compiler.
	  Therefore, abandon automatic use of Xbase. You'll need to do
	  something for it to work, unfortunately.
	  What to do is documented in the FAQ.

Sun 21 Mar 17:18:47 1999, Danny Backx
	* Add examples/loop.oleo to clarify TODO.
	* Print Dialog now contains file selection box.
	* Changed all the calls to GNU PlotUtils in src/plot.c so they
	  call the API that comes with version 2.2 of plotutils.
	  They all have a pl_ prefix now (alabel becomes pl_alabel).
	* Fix all i18n warning messages coming from the build in po/ .
	* Motif: src/fallback.c now contains lines saying buttons in the
	  menus that don't work are set to insensitive by default.
	* Configuration: don't build when asked to include Motif but not
	  Xbae, or the other way around.
	* Configuration: don't even look for Xbase library if we don't
	  have a C++ compiler.
	* Add note to TODO: integration with GNU Scientific Library (GSL),
	  a library for numerical analysis.
	* List of file formats we can handle is now in io-utils.c and
	  can be queried. This is the basis for making the option menu
	  in io-motif.c which is now decently dynamic, not hardcoded.

Fri 19 Mar 00:49:19 1999, Danny Backx
	* Xbase file read works for the first time; you need the latest
	  and greatest Xbase library (1.8.0c or later) for this to work.
	  Get it from http://www.startech.keller.tx.us/xbase/xbase.html .
	* Remove some configuration macro junk. E.g. we were checking
	  --without-motif in more than one place.
	* Update TODO
	* Just specify dimensions for splash shell, no need to be
	  very specific. Remove LessTif-ness from fallback.c .

Wed 17 Mar 1999, Andreas Jaeger  <aj@arthur.rhein-neckar.de>
	* src/io-motif.c: Protect definition of ThisPuFunction by #ifdef
	  HAVE_LIBPLOT.

Wed 17 Mar 22:21:06 1999, Danny Backx
	* src/fallback.c : Motif vs. LessTif issue: need to make sure
	  splashShell has non-zero geometry in Motif.
	* Protect against crash when reading CSV file with list
	  format using default (tab) separator.
	* Add stuff for Xbase (again). Still crashes big time.
	  You're advised not to use this.

Wed 17 Mar 1999, Andreas Jaeger <aj@arthur.rhein-neckar.de>
	* src/decompile.c (dbg_print_formula) remove strcpy declaration
	  since it might be defined as a macro.

Tue 16 Mar 23:56:50 1999, Danny Backx
	* Add stuff to the top Makefile to automatically put the
	  relevant files on the right *.gnu.org systems.
	* src/plot.h has a name conflict with the general header file
	  for GNU plotutils which is also plot.h, renamed it to
	  src/oleo_plot.h . Thank you Stephan Hegel for reporting a
	  problem that uncovered this.
	* Next release will be named Oleo 1.99.1 to indicate we're moving
	  towards a 2.0 release of Oleo.

Tue 16 Mar 22:20:43 1999, Danny Backx
	* Default file format dialog now gets initial values right.
	* One more bug removed from command line processing. Now
	  "oleo -s , -F list xx.xx" reads xx.xx with the list format
	  using a comma as separator.
	* list.c : remove DOS style line end (CR-LF) when reading
	  a file.

Sat 13 Mar 15:41:27 1999, Danny Backx
	* Fix README and FAQ that mentioned a wrong address for
	  getting subscribed to the bug-oleo mailing list.

Fri 12 Mar 00:02:11 1999, Danny Backx
	* Protect against NULL defaultformat (= a file format).
	* Get oleo to understand reading files with .csv suffix.
	  Now "oleo q110399.csv" works.
	* Don't install stuff relative to exec_prefix, but to prefix.

Wed 10 Mar 23:47:05 1999, Danny Backx
	* Oleo 1.6.16
	* Add an RPM spec file sent by Marc Zonzon.
	* Got more comments from Art Haas showing what else is wrong.
	  Basically Art's patch made the set-region-format command work
	  but it broke everything else that set a format. Including the
	  file read stuff.
	  I found a couple of places to fix, now both work. There is still
	  a bit of a mess (mixing format and precision) between the
	  functions str_to_fmt() and set_region_format(), simply because
	  I don't know how to pass more than one variable over the command
	  loop which is also a giant mess.
	* Add examples/types.oleo which contains a couple of fields in
	  comma, percent, dollar, date, graph, ... formats.

Tue  9 Mar 22:24:38 1999, Danny Backx
	* Oleo 1.6.15
	* Use XmNgridType as suggested by Andrew Lister (Xbae's maintainer).
	  Using the value supplied as default now (XmGRID_SHADOW_IN), Oleo
	  looks even cooler than before :-)
	* Manually add Art Haas's patches, somewhat modified.
	  I didn't change the FMT_* numbers in cell.h as this would introduce
	  incompatibility (new oleo won't read old oleo's files).
	  Also there were still a couple of cases which I didn't understand
	  in the file read/write code; they should be better now.

	  By the way: what Art's patch was all about was to further clarify
	  the separation between precision and format in the Oleo sources.
	  Before recently, they were always used together. Yuck.

Sat  6 Mar 16:57:25 1999, Danny Backx
	* Back out Art Haas's patch - it messes up a couple of my files.
	* Get notebook to display page 1 initially.
	* Attempt to get some of the XY graph's special config stuff to work.

Sat  6 Mar 14:45:24 1999, Danny Backx
	* Add to the graph configuration: XmNotebook with a couple of tabs.
	* Remove m4/emx.m4 from CVS; it's obsolete because we're using
	  automake 1.4 and autoconf 2.13.
	* Fixed po/{en,nl,fr}.po - some messages from the source weren't here
	  yet.
	* Manually reduced the colour consumption of oleo_icon.xpm to the six
	  colours that I intended to be in there, not to the 124 that crept in.
	* Preliminary support printing to a real printer, and a program (pipe).
	  X resources to support this :
		oleo*defaultPrinter: printer, program, or file.
		oleo*printer: the name of a printer
		oleo*program: the command to pipe stuff to for printing.
	* Add menu items to be able to print XY and bar charts as well.
	* Splash now consists of buttons, not labels. Clicking them dismisses
	  the splash.
	* Splash only appears if oleo*showVersion is a positive number. The
	  number indicates the time (milliseconds, default 3000) the splash
	  remains visible by default.
	  Set to 0 for no splash.

Fri Mar 5 09:57:20 CST 1999 Art Haas (ahaas@neosoft.com)
	* cells.h: Get rid of troublesome 'PRC_FLT' definition
	  new macros to make cell formatting work, reorganize
	  format definitions
	* format.c: Use new macros and definitions
	* io-edit.c: Use new macros
	* io-motif.c: Sync up with new definitions
	* io-utils.c: Destroy 'PRC_FLT' and its weirdness
	* oleofile.c: Remove 'PRC_FLT'
	* regions.c: Use new macros
	* sylk.c: Destroy 'PRC_FLT'

Thu 4 Mar 23:53:00 CET 1999, Danny Backx
	* The Motif splash window gets popped down after three seconds so a
	  human has time to see it. Previously it got popped down when the main
	  window appeared; on some systems (350 MHz Pentium II will do) this
	  period is extremely short.
	* The splash window is extended with a simple XPM icon which is also the
	  icon Oleo installs as icon pixmap. Only if we find XPM when building.
	* Printing of Plotutils stuff now pops up a dialog asking you to specify
	  the file type and a file.

Wed  3 Mar 21:56:22 1999 , Danny Backx
	* Release 1.6.14.
	* The err_msg() function didn't attempt to translate errno value into a
	  string but just said "unknown error". Added code to use strerror
	  if available or sys_errlist[] otherwise.
	* Call io_info_msg also when printing to stderr; this gets oleo startup
	  error messages in the Motif status area as well.
	* Added examples/ directory and some files in it.
	* Added hooks so io_error_msg does sensible things with Motif, even
	  before Motif is initialised.

Tue  2 Mar 20:59:24 1999, Danny Backx
	* Fix both io-motif.c and plot.c so the XY and bar charts now do
	  sensible things, including display of multiple data sets.
	  Beware: this is all still quite simplistic.
	* Add data labels to bar chart.

Tue 23 Feb 22:23:14 1999, Danny Backx
	* Add some details to Motif graph interface.
	* The infinity initialisation wasn't working on FreeBSD but it was
	  on Linux. Strange. Now if the ANSI macros are there, don't try to
	  find infinity by dividing 1 by 0, but just use the macro.
	* Enhance formats dialog for date formats.
	* Fix m4/x11.m4 so it links -lXt -lX11 not the other way around.
	* Add -lXext so plotutils is found on Linux.

Thu 11 Feb 23:59:41 1999, Danny Backx (danny@gnu.org)
	* Fix oleo file read/write for new data structure.

Wed 10 Feb 21:40:43 1999, Danny Backx
	* Experimentally change cell.h data structures so the cell_flags
	  becomes a bitfield in C, not a kludge of macros.
	  This affects many of the source files, problems may arise as
	  the precision and type fields in cell_flags were used together
	  in a strange way; this has to disappear.
	* Add flags to configure.in to enforce autoconf 2.13 or higher
	  and to Makefile.am to enforce automake 1.4 or higher.
	  Also add a flag to include README-alpha in the distribution
	  automagically.
	* intl/Makefile.am should have a bunch of variables added,
	  not in CFLAGS (overrides too much) but in DEFS.
	* Fix bad error in m4/motif.m4 which prevented Motif to be found
	  on many systems, similar thing in xmhtml.m4 and xbae.m4 .
	* Added AM_LINK_FILES again. Hopefully nobody gets hard links to
	  the root directory any more.
	* intl/Makefile.am added.
	* Rule to build gpl.h should reference $(srcdir)/gpl.sed, not just
	  gpl.sed.
	* Remove lib/error.c lib/error.h lib/xmalloc.c, they're not used.
	* Remove AM_EMX macro: autoconf 2.13 has AC_EXEEXT.

Wed, 10 Feb 1999 01:00:21, Frank Bennett
        * Replace README with a new version.
        * Fix to xlt.m4.  Xlt detection no longer breaks when ./configure
          is run in the presence of a config.cache file.
        * Fix to graph.c.  Setting X_DISPLAY_MISSING now completely
          eliminates all X11 functions from the compiled code.
        * Added x11.m4.  Needed to make linking to X11 libraries
          optional.
        * Fixes to m4/Makefile.am, src/Makefile.am, ./configure.in.
          Needed to make linking to X11 libraries optional.
        * Added FAQ.

Wed Jan 27 21:21:31 1999, Danny Backx (danny@gnu.org)
	* Clean up a number of files that don't belong in CVS: Makefile.in
	  in several places, configure, gtk.m4 .
	* Fix the build somewhat.
	* Fix AC_FIND_MOTIF so it knows the difference between stuff installed
	  in the standard place and absent. I hope.
	* Build can handle SciPlot in Xlt. Xlt is a library of contributed
	  widgets that comes with LessTif.

Fri Jan 22 00:25:32 1999, Danny Backx (danny@gnu.org)
	* Arrow keys bugfix for traditional X11 interface by 
          Dag Nygren <dag@newtech.fi>.
	* Piechart based on plotutils added in plot.c. You can only control
	  this from the Motif interface, currently. Can show itself in an
	  X window or plot to a file.
	* Oleo file format can now read and write some graph data.
	  This means we're now at the oleo 2.0 file format.
	* Simplistic bar chart added. Same limitations as the pie chart.
	* Move NUM_DATASETS from graph.c to graph.h, needed this in oleofile.c .
	* Start using autoconf 2.13 and automake 1.4; requires a couple of
	  simple changes to configure.in.

Wed Dec 30 21:31:49 1998, Danny Backx (danny@gnu.org)
	* As the build problem appears to be fixed, I'm preparing for
	  release 1.6.13.
	* Removed a call to AC_LINK_FILES from configure.in.
	  It was already performed in AM_GNU_GETTEXT, and it turned out to be
	  the cause for the "hard link to a directory" problem that several
	  people reported.
	* src/plot.c, src/plot.h added for GNU PlotUtils support.
	* Remove DLD functionality.
	  Either we support this through a decent mechanism such as Corba
	  or we don't support it at all.
	* "fix" the TODO file.
	* Don't compile the GTK stuff under any circumstance: it doesn't work.
	* motif.m4 : do the right thing if there's no motif around.
	* Make hyperlinks in the document work with XmHTML.
	* Remove c++ compiler check from configure.in, it's not needed.
	* Get Save to work differently from Save As.

Thu Dec 24 01:19:42 1998, Danny Backx (danny@gnu.org)
	* Getting ready for release 1.6.12.
	* Add a --filter option which currently already reads a file from
	  stdin at startup.
	  This option is dangerous: it'll likely lock up your terminal or your
	  xterm window if you're using character mode.
	  Use as in "oleo --filter -F list --space" .
	  Then type "1 2 3" then Ctrl-D (to end the file).
	* Add a pointer to Motif in the beginning of the documentation.
	  Also update its last changed date and the oleo version number.
	  Added a pointer to ftp.x.org for finding Xbae, and mention the need
	  to have GNU texinfo 3.12 for building.
	  Texinfo 3.9 is known not to work.
	* Resizing a column with the GUI (shift-MB2) registers changed column
	  width in the oleo structures. Reading back such a file works too.
	* List file format can read string entries that are delimited by "".
	* Formula editor now properly displays something other than a formula
	  as well.
	* a0 mode is properly set after reading a file.
	* Clean up the print dialog graphically.
	* Make include files ANSI C. Remove non-ANSI declarations.
	* Try to get Formats dialog to work. Not yet.
	* Fixed the bug in range selection. Translations need to contain \n,
	  but in a C language source this needs to be \\n.
	* Implement dialog for default file format.

Mon Dec  7 18:14:05 1998, Danny Backx (danny@gnu.org)
	* Add to parsing numeric strings (recognise +, - too).
	  Otherwise, list_read_file doesn't read many numbers.

Wed Dec  2 20:47:49 1998 Danny Backx (danny@gnu.org)
	* Release oleo 1.6.11 so Tom can test and use the list file stuff.
	* Oleo now recognizes file name extensions at startup. This means
	  it'll understand that "oleo x.list" needs to read a file of
	  format list, not native oleo format.
	  This required command line options
		-s (--separator) with an argument to specify the separator
		--space to specify space is the separator
	  The latter seems to be necessary because a space doesn't get through.
	* Allow setting of separator in "list" file type.
	* Fix file loading for different file types.
	* Release 1.6.10 (sorry about this; it's to avoid misunderstandings
	  about versions).
	* Partially implement range selection. A user should use Shift-Button1
	  to select one and Ctrl-Button1 to select the other end of a range.
	  You need to have a range widget selected for this to make sense.
	  They're currently in the Define Graph dialog and in the Print
	  dialog.

Wed 28 Oct 21:58:14 1998 Danny Backx (danny@gnu.org)
	* Fixed src/Makefile.am so automake isn't upset any more.
	  Apparently automake can't stand multiple oleo_LDADD =
	  lines that are in separate cases of an if statement.
	* Add print button in File menu, and a dialog (incomplete)
	  to define what happens when printing.
	* Add an application resource to determine the default paper size.
	* Add a function to register widgets that want to know when the
	  user selects a range in the matrix. I think this is what it'll
	  do : add a focus-callback to all these widgets so you can figure
	  out which one is active. In that callback, store the widget ID
	  in a global variable. Then when the user selects, use that widget
	  to store a range in.

Sat 24 Oct 23:39:43 1998 Danny Backx (danny@gnu.org)
	* Added simplistic call to insert a row.
	* Fixed XmNenableBadHTMLWarnings (XmHTML widget shouldn't generate
	  warnings about bad HTML) : False is no longer an accepted value.
	* Tracked a couple of bugs in XmHTML : 1.1.5 still has the problem
	  described below.
	* Added Application Resource to specify default Column Width for
	  cells in the matrix. This is copied to the XmNcolumns on a
	  XmTextField so it counts in number of characters, not pixels.
	* Add C++ (!) file to call the free Xbase library.
	  Find it at http://www.startech.keller.tx.us/xbase/xbase.html .
	  Not included in the build right now.
	* Fix a problem in the Motif GUI with strings. Now the current
	  cell always displays itself slightly differently. A cell with
	  contents "this is text" (including the quotes) will show itself
	  including the quotes when it is the current cell, but without
	  the quotes when another cell is current.

Wed  7 Oct 21:54:38 1998 Danny Backx (danny@gnu.org)
	* Release version 1.6.8
	* configure.in, doc/Makefile.am : check whether we have texi2html
	  and cope with failure on that test.
	  Note that texi2html is widely available on the Internet
	  so you should get it :-)

Fri  2 Oct 00:09:06 1998 Danny Backx (danny@gnu.org)
	* src/io-motif.c, io-utils.c: file save didn't work unless the user
	  had manipulated the "file format" option menu. Fixed.
	* Change window/icon title also when saving (so user always sees the
	  file name last saved into).
	* Added error handling in file save function.

Wed 30 Sep 23:45:31 1998 Danny Backx (danny@gnu.org)
	* src/io-motif.c : XmHTML doesn't need to be in a XmScrolledWindow.
	* Formats changing now works.
	* Help anchors need to start with # for XmHTML.
	  Unfortunately this triggers a bug in XmHTML 1.1.4. It needs to
	  check whether the widget is realised in _XmHTMLClearArea.
	  Reported to Koen D'Hondt <ripley@xs4all.nl>.
	  XmHTML 1.1.5 fixes the problem.

Wed 30 Sep 22:29:41 1998 Danny Backx (danny@gnu.org)
	* Too many files and changes to keep track of, really.
	  All this is mainly to start building an OSF/Motif (aka LessTif)
	  graphical user interface for oleo.
	  Shameless plug: LessTif is a free clone of OSF/Motif, available
	  from
		http://www.lesstif.org
	  and
		ftp://ftp.lesstif.org/pub/hungry/lesstif
	* m4/* : add a couple of macros to detect presence of Motif/LessTif,
	  Xbae widgets, XmHTML and SciPlot widgets.
	* Xresources/* : add text files that allow for internationalisation
	  of the texts in the Motif GUI. It's easier to put it here (X has
	  its own i18n mechanism that we're using in this way, using gettext
	  for this would be quite a bit harder). The texts printed from source
	  code are still to be internationalised (is this i15d or i14ed ?) 
	  via GNU gettext, i.e. by replacing "Yow baby" by _("Yow baby").
	* src/io-motif. : this is the bulk of the Motif GUI source.
	  Currently this is far from finished but it does pop up a window
	  and you can interact with it and get reasonable things back.
	  There's even a help system.
	* Talking about which: doc/*.texi was modified to add a couple of
	  tags to allow XmHTML (the HTML widget that I'm using) to locate
	  some specific piece of text.
	* */Makefile.am : a couple of tweaks to make the distribution complete.
	  Now "make distcheck" actually works.
	* doc/oleo_web.html : this should be a new web page for oleo, to
	  be put on www.gnu.org .

Thu Apr 16 17:41:00 1997 Jeff Bailey   (jbailey@gnu.org)

	* configure.in: Link for libintl.h if necessary.
	Fix GTK.
	* src/Makefile.am:  Make sure INCLUDES uses -I../intl -I../lib
	* src/io-curses.c: Remove volatile from function that doesn't
	need it.
	* src/io-abstract.h: ""
	* src/io-x11.c: ""
	* src/io-gtk.c: ""

Tue Apr 7 18:47:00 1997  Jeff Bailey   (jbailey@gnu.org)

	* configure.in: Use gtk.m4 macro to detect Gtk.
	* Makefile.am: Require Automake 1.3
	* */Makefile.in:  Regenerate with Automake 1.3
	* lib/ansi2knr.*: Update from Automake 1.3
	* TODO: Update
	* THANKS: Update

	* lib/xmalloc.c: If PROTOTYPES not defined, don't use.
	* src/cmd.c: Include key.h to get CTRL macro.
	* src/Makefile.am: Make sure INTLLIBS are included in oleo.
	Patch file by Markku Rossi <mtr@ngs.fi> 

	Incorporate Oleo-patched 1.6C-E from Frank Bennett:
	* basic.c: Added two new commands, save-point-to-cell
	and save-mark-to-cell.  Saving these had been
	possible, but with an obscure combination of six
	commands or so.  Populated necessaries to basic.h
	and defun.h.

	* basic.c: Addes new command goto-set-cell.  Populated
	necessary changes to basic.h and defun.h

	* byte-compile.c: Altered value for cells_funs in hack
	entry (quod vidis).  This accomodates the addition of new
	function varval(int, str, str) in cells.c

	* cells.c: New function varval(int, str, str).  Populated
	necessary changes in byte-compile.c, etc.

	* cmd.c(command_loop):  This function now takes an additional
	argument, used to flag execution of a command (as opposed to
	a macro) from execute_command.  This permits the command	
	argument types 'r' and '@' to discriminate between macro
	and command execution.  Big improvement in flexibility
	and in stability at one blow.

	* cmd.c(command_loop): Some improvements have been made to the
	handling of regions in macros.  Arguments of type 'r' no
	longer supply an implicit argument (i.e. the currently
	marked range, if there is one) to the called command.
	Instead, these now always expect an explicit range argument
	when called in a macro.  A new type '@' argument always
	provides an implicit argument (even when called interactively).
	Macros can now bne written using the commands copy-region,
	move-region, copy-values-in-region and set-region-formula
	that don't spring nasty surprises on you when the mark is
	set.

	* cmd.c(command_loop):  Introduced global variable that can be used
	by new error-msg expression to terminate macro processing.
	Unfortunetly, the approach adopted (search for "ioerror" to
	find the changes) does not work for macros bound to keys,
	but it's a start, and the limitation can be worked around
	by binding to a variable that invokes the target variable
	via "exec".

	* decompile.c: Function decomp is now an alias for
	decomp_formula.  The latter is the old decomp function,
	with a new toggle that triggers return of the formatted
	content of floating point numbers.  Dealing with finances
	is now a little less madding.

	* defun.h:  Interface change.  Changes set-region-formula arg 
	style from $ to $', since most of the time this is used in a macro,
	and is seldom used to clone existing text to a passel of other cells.
	Command set-variable has been replaced by set-var and unset-var.  New
	set-var command takes arguments in the opposite order (i.e. region
	name, rather than name, region) and the region uses the new '@' arg
	type which offers and prompts in interactive mode, or grabs point or
	region transparently in a macro.  The name of execute-commnad has
	been changed to exec.  Less typing.  Eliminated disabled block
	of code referring to an "enter-string-in-cell" command.  Can't
	find the source for this in the code, so it might as well go.  Also
	made inclusion of several X11-related commands (set-default-x-font,
	set-x-default-font, graph-x11-mono, graph-x11-color), and eliminated
	their key-bindings and menu entries in the termincal version as
	well.  Also, reorganize all the enries into catagories.

	* io-edit.c:  Changes insert_other_cell_value and insert_cell_value so
	that quotes are stripped.  Required a change to cell_value_string,
	and this was propagated to all instances of that function.  Added
	code for insert_other_cell_Value and insert-other-cell-expression,
	and tweaked in a new command insert-abs-cell-ref by putting a toggle
	into existing insert_abs_ref function.

	* io-term.c: Added code for set-var and unset-var.

	* io-utils.s: cell_value_string now accepts a toggle that can
	be used to turn off enclosing quotes.  Added function flt_to_str_fmt,
	which can be called instead of flt_to_str if the current cell arraw is
	available.  Returns the formatted content of floating point numbers
	and percents, suitable for editing by humans.  Performed some
	surgeru on range_name and cell_name to make things a little more robust
	and eliminate some duplicated code.

	* key.c: Added code for new command unbind-key.  Move bind_set to 
	bind_or_unbind_set.  New function unbind_set passes an empty command
	argument to the old function, causing the keys designated to be
	unbound.

	* ref.c: new_var_value has been preserved in old_new_var_value,
	and a new function new_var_Value has been introdueced in tis stead.
	The only difference in the new version is that is tkaes a struct
	rng as argument, instad of parsing a char *.

	* regions.c: Changed move_region and copy_region functions 
	so that mark follwes the new test.  You can hop stuff
	around the sheet more easily now, and hop-and-reformat
	is smoother.

	* init.c: Eliminated key bindings to graph-x11-mono and
	graph-x11-color from the terminal only version.

	* graph.c: Replaced graph_quoted_str function with
	discrete functions line_to_q_char and char_to_q_char.
	This, and some jiggery-pokery in gnuplot_spew (look
	for graph_title at or about lines 1070 and 1071),
	prevents Oleo from whining about unquoted data set titles.
	We _should_ offer a default data set title that is
	somewhat informative.

	* xrdb.c: Remove sysinfo call - It wasn't posix.

	* font.h:  Changed TimesRomand to Times-Roman in various
	places to confrom to the font names used by Ghostscript.
	* defun.h: ""
	* graph.c: ""

	* help.c: In descrive_function, forced ib.len to always 
	be 1.  I have not tested this extensively, nor have I
	traced through the code to see _why_ this works in the
	cases I have tried.  But the previous algorithm found
	ridiculoud numbers for texts associated with macros
	defined using name-macro-string.  Asking for help with
	these functions no longer dumps code.	

Mon Mar 23 21:00:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* lib/Makefile.am: Deposit contents of LIBOBJS into liboleo.a
	* configure.in: Make sure the LIBOBJS gets added into Makefiles.
	Detect libguile, and link against if available. 

Fri Mar 20 17:00:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* src/io-gtk.c: Fix typo.

Sun Mar 15 12:27:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* configure.in:  Make -Wall default only on --with-debug
	* src/io-curses.c: Expand IO_SETUP macro.
	* src/io-x11.c: Expand IO_SETUP macro.
	* src/io-abstract.h: Remove IO_SETUP macro.

Sat Mar 14 14:34:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* Makefile.am: Compile i18n stuff BEFORE source.
	* src/io-term.c: Runtime options to disable GTK
	* src/input.c: Make debug printf's print to stderr for redirection.
	* src/io-term.c: ditto
	* src/io-x11.c: ditto
	* src/io-gtk.c: ditto
	Patches by Scott Heavner
	
	* src/*.c: Make debugs only print on #ifdef DEBUG
	* src/io-term.c: Pretty output of --help statement.
	* configure: Fix to work with gtk-0.99.6,
	Make -Wall on by default if GCC.
	Add --with-debug option.
	
	* src/ref.c: Remove some warnings when compiled with -Wall
	* src/eval.c: ditto
	* src/byte-compile.c: ditto
	* src/regions.c: ditto
	* src/utils.c: ditto
	* src/lists.c: ditto
	* src/io-term.c: ditto
	* src/io-utils.c: ditto
	* src/hash.c: ditto
	* src/io-curses.c: ditto
	* src/sylk.c: ditto
	* src/oleofile.c: ditto
	* src/list.c: ditto
	* src/busi.c: ditto
	* src/cells.c: ditto
	* src/cmd.c: ditto
	* src/io-gtk.c: ditto

	* src/sort.h: create
	* src/Makefile.am: Include sort.h

Fri Feb 27 22:35:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* src/input.c: Remove more debug notes.
	* */Makefile(., .in): regenerate.

Sun Feb 1  20:00:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* src/io-gtk.c: Begin to add gtk colours into Oleo.  req'd to
	show the cursor in the grid.

Mon Jan 26 19:15:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* lib/Makefile.am: Distribute getdate.h

Mon Jan 26 18:25:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* oleobug.in: Create - Thanks to the GLIBC people!
	* Makefile.am: Distribute oleobug.in

Thu Jan 15 19:14:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* src/io-term.c: i18n
	* acconfig.h: More 18n
	* po/ChangeLog: Create - Null file

Sun Jan 11 21:23:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* configure.in:  Create po/Makefile to fix make maintainer-clean.
			 Fix ALL_LINGUAS statement.

Sun Jan 11 18:35:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* po/: Create & populate
	* intl/: Create & populate
	* configure.in: Add AM_GNU_GETTEXT, ALL_LINGUAS
	* Makefile.am: Add po and intl to SUBDIRS
	* ABOUT-NLS: Add
	* gettext.m4: Add
	* lcmessage.m4: Add
	* progtest.m4: Add
	* po/POTFILES.in: Create
	* README: Update

Mon Jan 5 19:18:00 1997   Jeff Bailey  (jbailey@gnu.org)

	* src/io-gtk.c: Implement gio_inputize_cursor
			Change gdk_pixmap_destroy to gdk_pixmap_unref
			Add further debugs in gio_redraw_input
			Add default fonts to Oleo
			Kludge gio_repaint_win
	* src/io-term.c: Remove some Debug warnings
	
Sun Dec 14 15:47:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* src/io-term.c: Remove openning warranty screen for testing.

Fri Dec 12 21:43:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* src/io-gtk.c: Kludge g_input_metric into working so oleo will load.

Mon Dec 8 20:49:00 1997   Jeff Bailey  (jbailey@gnu.org)

	* src/utils.c: Add #include <stdarg.h> fix typos
	* src/line.c: ""
	* src/cmd.c: ""
	* src/info.c: ""
	* src/io-gtk.c: Flush out repaint function
	* src/input.c: Add troubleshooting statements

Thu Nov 27 22:39:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* */Makefile.in: Regenerate with Automake 1.2d
	* doc/texinfo.tex: Update from FSF Copy

Tue Nov 25 20:44:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* src/utils.c: ANSIfy
	* src/forminfo.c: ""
	* doc/*.texi: Update from fisk's 1.6 Oleo docs.
	* doc/ranlib.texi: Add	
	* doc/KEYS: remove
	* USING: remove

Tue Nov 17 19:40:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* src/io-edit.c: ANSIfy.
	* src/io-term.c: ""
	* src/io-utils.c: ""
	* src/decompile.c: ""
	* src/line.c: ""
	* src/key.c: ""
	* src/panic.c: ""
	* src/utils.c: ""
	* src/print.c: ""
	* src/cmd.c: ""
	* src/display.c: ""
	* src/byte-compile.c: ""

Mon Nov 17 23:49:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* src/format.c: ANSIfy.
	* src/input.c: ""
	* src/info.c: ""

Sun Nov 16 15:00:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* THANKS: Fix typo.

Sat Nov 15 17:27:00 1997  Jeff Bailey  (jbailey@gnu.org)

	* THANKS: File added
	* Makefile.am: Updated to gnits.
	* TODO: Updated

Wed Nov 5 21:05:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* src/io-gtk.c: Abstract Oleo close routine.

Tue Nov 4 19:19:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* src/io-gtk.c: add gset_status, gdraw_status, gset_text, flush out
	gio_update_status.  Add stub indicators for other functions.
	* src/io-x11.c: rename set_status and draw_status to
	xset_status, xdraw_status.  set_text to xset_text.
	* src/io-abstract.c: ANSIfy, add io_command_loop.
	* src/io-gtk.h, io-gtk.c: Remove IO_SETUP macro, expand out
	by hand to simplify troubleshooting.
	* src/io-term.c: remove sleep(5) from curses startup.

Mon Nov 3 19:59:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* lib/error.c: move program_name to PACKAGE
	* src/io-gtk.c: Make gdraw_text_item work.  Other
	changes re: text pasting.
	* src/io-gtk.c: Add signal function to file, exit.

Wed Oct 29 19:56:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* Rename draw_text_item function to xdraw_text_item.

Sun Oct 26 14:38:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* src/io-term.c: Integrate GTK parsing in with X and curses
	* src/io-gtk.h: Create, add defines for generic functions.
	* src/io-gtk.c: Rename functions to match rest of Oleo.
	Add stub functions for places where code hasn't been flushed
	out yet.  Begin to add code to place characters in drawing_area.
	* src/Makefile.am: modify to include io-gtk.h. 
 
Fri Oct 24 22:17:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* src/io-gtk.c: Add drawing_area for spreadsheet display.
	Fix scroll bars.  Add items to File menu.  Perform unsuccessful
	ceremony to attempt to conjure up useful gtk docs.

Fri Oct 24 18:58:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* src/io-term.c: Move GTK window creation to
	* src/io-gtk.c: here.

	* src/io-gtk.c: Make Help menu conformant to GNOME.

Thu Oct 23 20:31:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* src/io-term.c: Add about menu and scroll bars.

Thu Oct 23 17:56:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* doc/interface.texi: Fix to work with Texinfo 3.11

Wed Oct 22 22:35:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* io-term.c: Add File, Edit menus to window.

Sat Oct 18 19:47:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* Modify src/Makefile.am to not include the X Include path twice.
	* io-term.c: Begin to add gtk window creation.

Sat Oct 18 16:28:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* Add lib/libintl.h for xmalloc.c 
	* configure.in: Modify to detect gtk and add hook to
	disable with --without-gtk

Fri Oct 10 00:28:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* KEYS: move to doc/

Tue Oct 7  20:39:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* utils.c, panic.c: Remove hard coded "Oleo" words.
	* io-term.c: Update copywrite.
	* configure.in: Add AM_CYGWIN32
	* utils.c: Report all errors as Error Number

Sun Oct 5  19:03:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* xmalloc.c: Update from Glibc 2.0.5

	* xmalloc.c: Move to lib/
	* random.c: ""
	* lib/error.[ch]: Add

	* error.c: Rely on system header files for sys_siglist def'n

	* BUGS, EIGHTBIT: remove

Sun Oct 5  13:55:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* getopt.[ch]: Update from Glibc 2.0.5
	* getopt1.c: ""
	
	* mktime.c: Move to lib/
	* obstack.[ch]: ""
	* getdate.y: ""
	* getopt.[ch]: ""
	* getopt1.c: ""
	* */Makefile.am: Create library in lib/ of all sources that
	do not come from oleo itself.  This is so that ansi2knr won't
	attach those sources, which may not be formatted correctly.
	Also, allows for easy updating of files.

Sat Oct 4  18:42:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* Fix stub #defines in stub.c

Sat Oct 4  17:12:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* io-x11.c: ANSIfy
	* io-curses.c: ""
	* date.c: ""
	* eval.c: ""
	* graph.c: ""
	* font.c: ""
	* help.c: ""
	* ref.c: ""
	* lists.c: ""
	* regions.c: ""
	* stub.c: ""

	* utils.c: ANSIfy but search STDC for where I couldn't
	* sysdef.h: ""

Fri Oct 3  00:25:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* Regenerate with Automake 1.2c to remove test error
	* configure.in: Change Oleo to oleo

Thu Oct 2  22:27:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* ansi2knr.[c1] added to lib/ directory.

Wed Oct 1  19:12:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* regenerate with Automake-1.2c to fix build time test problem
	* ir.c: ANSIfy
	* basic.c: More of same
	* window.c: More of same
	* args.c: More of same

	* cmd.c: Mostly ANSIfy.  Where couldn't for now, search FIXME in
	sources.

Fri Sep 26 22:44:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* getdate.y: Fix declarations, remove RCS references
	* configure.in, src/Makefile.am: Finally figure out
	a way to vary the libraries based on whether X is enabled
	or not.
	
Thu Sep 25 22:05:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* Update to Automake-1.2b to try and fix library problem.
	* ylwrap: update
	* missing: update

Sun Sep 21 17:11:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* io-x11.c: include config.h before ifdef'ing.
	* xrdb.c: ditto
	* src/Makefile.am: Don't include -lX11 if no X is compiled.

Fri Sep 19 23:21:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* io-x11.c: Roll back some patches now that I grok the file.
	Also, remove version number from window title.
	* src/Makefile.am: add xrdb.c, ir.c, ir.h >duh<
	* xrdb.c: Take out X11R4 hooks, those variables aren't
	tested for anymore.
	* configure.in: Bumped to version 1.6.6
	* Makefile.am: Stole release target from gtk.
	* io-term.c: Make display version number correctly in --version

Fri Sep 19 18:48:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* Add curses support.
	* io-x11.c: Fix so that compiling with X11R6 libraries is possible
	* src/Makefile.am: Forcibly add -lX11 to linker.

	I'm not deceiving myself into thinking that it works now.
	However, it is possible to compile it, and it does spawn an X
	session.

Thu Sep 18 16:36:00 1997  Jeff Bailey  (jbailey@gnu.ai.mit.edu)

	* Makefile.am: Require automake 1.2, disable dependency tracking
	* More X fixes.
	* Add Termcap and Termlib support back in.
	* utils.c: remove def'n of sys_errlist[] for SCO portability.

Tue Sep 16 18:33:00 1997  Jeff Bailey  (jbailey@nisa.net)

	* Uptime mktime.c from Glibc.
	* Don't install obstack and mktime by default.  Detect
	  and add only if necessary
	* Detect if compiler is ANSI C or not.
	* Fix Broken X detection.  Must configure with --without-x
	  for now until completely working.  Will not compile
	  otherwise!

Sun Sep 14 18:01:00 1997  Jeff Bailey  (jbailey@nisa.net)

       * Remove parse.y dependancy on funcdef.h kludge.
       * Remove ugly function mappings from funcdef.h.
       * Update src/Makefile.am to include header files.

Sat Sep 13 17:02:00 1997  Jeff Bailey  (jbailey@nisa.net)

	* Update obstack.[ch] from Glibc.
	* Fix documentation so that no errors are produced from makeinfo.

Fri Sep 12 18:55:00 1997  Jeff Bailey  (jbailey@nisa.net)

	* *.c, *.h, *.y, ylwrap: move to src/
	* get rid of irs-1992.oleo for good this time
	* ANNOUCE: remove
	* doc/: add old version of documentation
	* src/Makefile.am: Update
	* Makefile.am: Update
	* configure.in: Update
	* acconfig.h: Add
	
Mon Sep  1 23:12:00 1997  Jeff Bailey  (jbailey@nisa.net)

        * INSTALL.OLEO: remove
	* TODO: update
        * args.c: Reference config.h
        * busi.c: ditto
        * cells.c: ditto
        * date.c: ditto
        * decompile.c: ditto
        * display.c: ditto
        * eval.c: ditto
        * font.c: ditto
        * format.c: ditto
        * forminfo.c: ditto
        * funcs.c: ditto
        * graph.c: ditto
        * hash.c: ditto
	* help.c: ditto
	* info.c: ditto
	* init.c: ditto
	* input.c: ditto
	* io-curses.c: ditto
	* io-edit.c: ditto
	* io-term.c: ditto
	* io-utils.c: ditto
	* io-x11.c: ditto
	* ir.c: ditto
	* key.c: ditto
	* line.c: ditto
	* list.c: ditto
	* lists.c: ditto
	* mktime.c: ditto
	* obstack.c: ditto
	* oleofile.c: ditto
	* panic.c: ditto
	* print.c: ditto
	* random.c: ditto
	* ref.c: ditto
	* regions.c: ditto
	* sc.c: ditto
	* string.c: ditto
	* stub.c: ditto
	* sylk.c: ditto
	* windows.c: ditto
	* xmalloc.c: ditto
	* xrdb.c: ditto

	Update to Automake 1.2, Autoconf 2.12.

Sun Jun  1 21:26:00 1997  Jeff Bailey  (jbailey@nisa.net)

	* configure.am: create
        * config.h.in: create
        * configure.in: redo
        * Makefile.in: redo

	* utils.c: Update sys_errlist[]'s def'n.

	* utils.c: Reference config.h.
	* cmd.c: ditto
	* basic.c: ditto
	* byte-compile.c: ditto
	Maybe need to check portability, and check return types.

	* vsprintf.c: Temporarily remove.  This breaks some portability,
	but dependancies weren't sane.
	* vfprintf.c: ditto
	* _doprnt.c: ditto
	* strftime.c: ditto
	* alloca.c: ditto

	Update to autoconf 2.12, automake 1.1p.  Prepare to increase 
	portability to include Gnu Libc 2.  Temporarily require NCurses
	to function.  Add check for -lm.
	
	Add AUTHORS, TODO.  Update INSTALL.
 
Fri Jun  3 22:07:49 1994  Tom Lord  (lord@x1.cygnus.com)

	* ref.c(finish_shift_var): don't leave VAR_DANGLING_RANGE's
	dangling.  This used to cause some vars to disappear when you
	saved files.

	* io-edit.c(goto_char): clip, don't signal errors, for
	arguments out of range.

	* io-x11.c: Return-Path: <rpj@fir.canberra.edu.au>

	The io-x11.c.dif patch allows oleo's xio_scan_for_input() routine
	to accept X send_event keypress events from any application, not
	just tkSteal. It recognises that they are send_events, as distinct
	from keyboard originated events, and buffers them separately until
	a `return' is received. The buffer is then sent to oleo's
	execute_command() routine. Command lines sent to oleo in this way
	will therefore be executed in the same way that commands are
	executed under the oleo read-commands command (which reads from a
	file).

	Normal oleo operation is not affected at all by these additions.
	Even while running embedded within tkoleo, all existing key
	bindings work the same.


	* graph.c: Return-Path: <fisk@medved.bowdoin.edu>
	If you wish to title a graph, your title must be the unnatural 
		title "my graph's title"
	The following fix allows you to only have to type
		"my graph's title"
	when prompted for a title.


	* defun.h Return-Path: <rpj@fir.canberra.edu.au>

	Problem: Using "set-default-font" in a commands file always
	prompts for interactive input even when arguments are included
	with the command.

	Example: set-default-font helvetica 2

	Cause: In defun.h, FUNC_ARG_STRING for the set-default-font
	command uses the "s" verify string style token as in "sSet %0 font
	to? ". The verify string style routine should only be used for the
	last (or sole) argument because it simply does a string copy of
	the remaining characters on the line.

	Thus, in the example above, the font name is taken as "helvetica
	2" and the size factor is missed resulting in the prompt and
	eventual error for the unmatched font name.
	
	Solution: Use the verify word style "w" in place of "s".

	Scope: This problem probably also affects other function argument
	specs and I have modified, without testing, what I think are the
	most suspicious in defun.h. The patch below shows which ones these
	are.


	* args.c: Return-Path: <kai@nimbus.som.cwru.edu>

	Jaakko Hyvatti's <hyvatti@cc.helsinki.fi> patch prompted me to
	play around with some malloc-debugging tools on Oleo, and I
	encountered the following bug during startup (running under X).

	In word_verify() in args.c, the pointer `e' is used to find the
	end of the first word in the string `*end'.  The end of the string
	itself, however, is not checked for, and since the NUL character
	is not considered a space (by my isspace(), anyway), `e' walks
	past the end of the string if a NUL follows the word instead of
	more spaces.

	This apparently went unnoticed, I think, because the NUL is still
	copied into the given argument (so that arg is valid) and the
	total number of arguments is still computed correctly anyway
	(elsewhere).

	There are other functions in the file that don't explicitly check
	for the end of string, either; these are still ok because the NUL
	character is not a digit or alphanum, etc. so those loops stop at
	the end of the string.  I patched some of these any way -- the
	ones that call isspace() -- just in case some funky C library
	thinks that NUL is a space.

	-KNG 931123

	* decompile.c: Return-Path: <hyvatti@cc.helsinki.fi>

	As log as I have been usin oleo-1.5, I have been haunted by core
	dumps.  I am using Linux, with linux-libc-4.4.4 that is quite
	sensitive to free()ing the same area twice in a row.

	Today I spent some time with gdb and some malloc-debugging-hooks,
	and found the cause.  decomp_free() is freeing the same pointer
	twice.  This happens only at cmd.c:1828 in command_loop(), and
	only if find_cell() returns NULL previously at cmd.c:1811.

	This triggers the bug in decomp() that is called at cmd.c:1827.
	save_decomp retains it's old value, and that area is re-freed in
	the following decomp_free().


	* string.c: Return-Path: <kai@nimbus.som.cwru.edu>

	The following 2 patches fix bugs (features?) in the mid() and
	find() functions.  mid() is indexing strings from 0 instead of 1
	like other functions, and find() is switching its str1 and str2
	args, so that it looks for str1 in str2 instead of vice-versa.


Thu Oct 21 11:44:00 1993  Paul Amaranth (amaranth@vela.acs.oakland.edu)
        * xrdb.c Swapped name and class parameters on x_get_string_resource
                 to match the calls in io-x11.  Foreground/background now work.
        * io-x11.c Cleaned up the color allocation code a bit
                   Added a test to set_default_point_size to bail out if
                    x11_opened not set to prevent the thing from hanging
                    if you had that command in your .oleorc and tried to
                    run it from a nonX device.

Fri Jun  3 21:55:31 1994  Tom Lord  (lord@x1.cygnus.com)

	* Return-Path: <rpj@fir.canberra.edu.au>

	There is a bug in version 1.5 file io-x11.c in function
	io_col_to_input_pos(). The bug prevents positioning the input
	cursor at the end of the input text (ie, ready for appending)
	using the mouse.


	* init.c, io-edit.c: Return-Path: <rpj@fir.canberra.edu.au> The
	oleo "USING" file describes the key binding "M-o" for toggling
	overwrite mode when typing in the minibuffer. In version 1.5 this
	binding is not included in init.c. I think this may have been
	deliberate because of a bug in the over_string() function (in
	io-edit.c). The bug caused segmentation faults when appending to
	the end of the input string while in overwrite mode.


	* io-edit.c:  Return-Path: <rpj@fir.canberra.edu.au>

	The oleo command "insert-rel-ref" sometimes computes incorrect
	cell offsets in non-a0 label mode. The problem is that the
	corresponding C function "insert_rel_ref()" uses "setrow" (and
	ditto for "setcol") which is #defined to look at
	"the_cmd_frame->_setrow" rather than
	"the_cmd_frame->prev->_setrow".

	There is also an incorrect format string in insert_abs_ref() which
	causes an extra ':' to be included in some cell ranges.

	* parse.y(parse_cell_or_range): MAX_COL should be MAX_ROW
	from korfhage@weston.poly.edu>

----- release 1.5 -----

Tue Aug 10 02:19:16 1993  Tom Lord  (lord@unix6.andrew.cmu.edu)

	* ref.c (flush_fm_ref): NULL check

Mon Jul 26 16:05:29 1993  Tom Lord  (lord@metis.weh.andrew.cmu.edu)

	* list.c: Applied a patch from chris@lslsun7.epfl.ch (Christian Iseli)
	The patch saves list mode from wasting time examining thousands
	of empty cells.

Sun Jul 25 21:57:43 1993  Tom Lord  (lord@unix1.andrew.cmu.edu)

	* configure.in, io-x11.c: Check for XSetWMProtocols and don't call
	it if it doesn't exist (as in X11R3?)

Wed Jul 21 14:12:08 1993  Tom Lord  (lord@unix8.andrew.cmu.edu)

	* utils.h: don't #define ck_free


----- no additional release info ----

Sun May 23 01:19:38 1993  Tom Lord  (lord@unix9.andrew.cmu.edu)

    -- partial accounting of various patches from Andreas Schwab
       <schwab@issan.informatik.uni-dortmund.de>

       * io-curses.c (_io_redraw_input, redraw_info, _io_redisp): start
       drawing the info screen on row 0 (or else the info screen is one line
       too high)
       (_io_repaint): redraw the prompt if info screen active, too
       * io-edit.c (forward_char): allow the cursor to move after the last
       character
       (goto_char): ... but that is too much
       * window.c (io_set_input_status): use the new values to compute the
       layout
       * help.c (expand_help_message): expand unbound functions correctly

Fri May 21 16:18:46 1993  Tom Lord  (lord@unix10.andrew.cmu.edu)

	* help.c (expand_help_msg): lookup bindings from top_keymap
	instead of cur_keymap.

Thu May 13 13:30:43 1993  Tom Lord  (lord@dacre.bh.andrew.cmu.edu)

	* io-term.c defun.h cmd.c (pushback_keystroke, main): 
	Made the non warrenty not consume a keystroke and not
	appear if a file is being loaded. Hopefully is less offensive to
	pro users.

	* io-edit.c: made the cpp macros non-recursive because
	gcc is just too good for the rest of the world to bear.

	* reginos.c, print.c ({ps,}print_region_cmd): fixed argument
	order. (TEST)

	* io-x11.c, init.c: corrected the ansi arrow bindings. (TEST)

	* panic.h: new file, took over some decls from utils.h

	* io-curses: got rid of unused variable io_input_avail_val

	* io-x11.c: got rid of all references to ->message

Tue May 11 00:49:06 1993  Tom Lord  (lord@socrates.hl.andrew.cmu.edu)

	* io-term.c defun.h cmd.c (pushback_keystroke, main): 
	Made the non warrenty not consume a keystroke so that it 
	is less offensive to pro users.

	* io-edit.c: made the cpp macros non-recursive because
	gcc is just too good for the rest of the world to bear.

	* reginos.c, print.c ({ps,}print_region_cmd): fixed argument
	order. (TEST)

	* io-x11.c, init.c: corrected the ansi arrow bindings. (TEST)

	* panic.h: new file, took over some decls from utils.h

	* io-curses: got rid of unused variable io_input_avail_val

	* io-x11.c: got rid of all references to ->message

	----- some bugfixes not recorded :( -----

Fri Mar 19 01:42:54 1993  Tom Lord  (lord@unix2.andrew.cmu.edu)

	* ref.c (shift_outside): udpate variable refs correctly (moving
	ranges would sometimes cause oleo to hang, othertime not to update
	correctly).

	* ref.c (copy_cell): update timer refs appropriately.

Tue Mar 16 16:05:54 1993  Tom Lord  (lord@antares.weh.andrew.cmu.edu)

	* io-x11.c (xio_scan..., open_display, ...): added a patch from 
	Jeremy.Allison@Corp.Sun.COM (Jeremy Allison):

	    allows oleo to receive keyboard input in X11 under IC\ CCM
	    complient window managers (like olwm) that only give keyboard
	    focus to clients that explicitly request it. I have also added
	    a fix to allow oleo to quit when such \ a window manager sends
	    a WM_DELETE_WINDOW client message.

Fri Mar 12 01:48:35 1993  Tom Lord  (lord@unix7.andrew.cmu.edu)

	* font.c: simplified the font naming system such that one must use
	define-font and then refer to fonts by their oleo name.  The old
	way confused people and would not have worked as well with the new
	command loop. 

Sat Feb 13 15:14:47 1993  Tom Lord  (lord@unix8.andrew.cmu.edu)

	* io-curses.c, basic.c, io-term.c (suspend_oleo, continue...)
	A new command (suspend-oleo) and also set the terminal modes
	nicely when being suspended or continued.

Fri Feb 12 19:14:58 1993  Tom Lord  (lord@watson.bh.andrew.cmu.edu)

	* window.c: i am removing supprot for linked windows because
	they don't appear ever to have worked and are now in the way of
	some other changes.

Tue Feb  9 00:08:20 1993  Tom Lord  (lord@maelstrom.ucc.andrew.cmu.edu)

	* -- extensive --
	There are now doc strings for all interactive functions and
	for all formula functions.  These are defined in defun.h
	and forminfo.h respectively.

	Defun.h is turned into structures and arrays in funcs.h.
	This replaces/augments some tables that were formerly 
	built in io-term.c.

	Defun.h also correlates c functions with their Oleo names and
	func_args strings.


Tue Feb  2 03:30:16 1993  Tom Lord  (lord@thisbe.weh.andrew.cmu.edu)

	* basic.c (recalc_cmd => recalculate): added a parameter that
	tells recalculate to recompute all cells, regardless of what
	has changed.  This is like ^L except for formula values instead
	of display state.  When called interactively, a prefix
	arg causes full recalc.  Otherwise, only partial recalc is done.

	* basic.c (imove, inc_direction): new interactive command
	for navigation that is less stressful on the hands/anglo-centric
	than Emacs bindings.

Thu Jan 21 15:38:23 1993  Tom Lord  (lord@thisbe.weh.andrew.cmu.edu)

	* -- extensive --
	The command loop was formerly split between io-term and the
	two implementations of get_line.  The newly created
	cmd.[ch] collect all of the command loop in one place.

	The mechanism that builds up arguments for interactive functions
	has been rewritten.  Command-loops are now first class objects 
	so multiple input contexts (e.g. recursive minibuffers) are
	supported.

	io-term.c has been carved up.  Some functions have been moved
	into their own file (format.c).  Many commands have been changed
	slightly to better fit the new command loop.

Mon Jan 11 15:17:15 1993  Tom Lord  (lord@kalypso.weh.andrew.cmu.edu)

	* display.c (record_display_damage): inner loop tested r.  should
	have tested c.

	* alarm.[ch], io-term.c, ref.c: got rid of the alarm functions
	and all uses of SIGALRM.  The alarm is derived by polling time() 
	as part of a select-with-timeout loop.

Sat Jan  9 15:00:16 1993  Tom Lord  (lord@thisbe.weh.andrew.cmu.edu)

	* print.c (set_page_size_cmd): incorporated support (from Cosmos
	Nicolaou) for named page sizes 

	* print.c (psprint_region): in the output postscript, define max
	and min because apparently not all ps interpreters do (?!?!).

	* io-x11.c (xio_redisp): only draw the cursor in the current window.

	* io-x11.c (open_): Scale the labels accounding to max_bounds (not
	"M" width).  The reverse change for cell-width scaling.

	* io-term.c (got_sig): don't call io_error_msg from a signal
	handler and therefore don't report the signal to the user.  This
	is a temporary fix.

Fri Jan  8 02:14:39 1993  Tom Lord  (lord@thisbe.weh.andrew.cmu.edu)

	* io-term.c io-curses.c io-x11.c:  rewrote real_get_chr
	to use select instead of wait, SIGIO or non-blocking io.
	Updated the display drivers to reflect this.

Wed Jan  6 01:26:00 1993  Tom Lord  (lord@thisbe.weh.andrew.cmu.edu)

	* io-term.c (read_file_and_run_hooks): Don't pass a constant
	string to find_var or execute_cmd because those functions can't
	deal with it (grrr). (diagnosis from  Cosmos Nicolaou
	<can@ansa.co.uk>) 

	* io-term.c (set_page_size_cmd): rewritten so as to parse its
	argument correctly.

	* print.c (put_eps_header, psprint_region): incorporated patches
	from Eric S Fraga <eric@mathematics.edinburgh.ac.uk> to fix
	the postscript definition of CELL-GOAL  (in the right-justified
	case) and the computation of the bounding box.

Tue Jan  5 14:31:31 1993  Tom Lord  (lord@thisbe.weh.andrew.cmu.edu)

	* everything -- cleaned up nearly all the warning from gcc -pedantic
	-ansi -Wall (other than those fixed by Paul Eggert).  Mostly this
	was a matter of properly (i hope) declaring libc functions in sysdef.h.

	* parse.y (parse_cell_or_range): cleaned up the CK_* macros to get
	rid of the empty else warning.

Thu Dec 31 15:31:32 1992  Paul Eggert  (eggert@twinsun.com)

        * decompile.c (decomp): Use prototoype when defining in ANSI C, since
        the argument type CELLREF will be promoted otherwise, and ANSI C does
        not allow mixing old-style definitions with prototype declarations
        when argument types are promoted.
        * display.c (cell_display_of, pr_display_cell): Likewise.
        * io-curses.c (_io_pr_cell_win, move_cursor_to): Likewise.
        * io-term.c (set_cell_formula): Likewise.
        * io-utils.c (cell_value_string, cell_name, col_to_str): Likewise.
        * io-x11.c (xio_pr_cell_win): Likewise.
        * lists.c (find_cell, find_or_make_cell): Likewise.
        * ref.c (new_value, set_new_value, read_new_value, move_cell,
        copy_cell, add_ref, flush_range_ref, add_ref_fm, flush_ref_fm,
        push_cell): Likewise.
        * regions.c (set_rng): Likewise.
        * window.c (win_label_cols, io_pr_cell, io_move_cell_cursor): Likewise.

        * cell.h, font.h, global.h, io-abstract.h, io-generic.h, io-term.c,
        io-term.h, io-utils.h, list.h, lists.h, oleofile.h, ref.h, regions.h,
        sc.h, sylk.h, utils.h, window.h: If __STDC__, declare zero-argument
        functions using `(void)', not `()'.

        * global.h (for_all_vars, hash_insert, index, rindex): Declare
        argument types if __STDC__.

        * hash.c (hash_insert): 3rd arg is VOIDSTAR, not char *.

        * io-term.c: Declare prototype for getenv,
        move_region, format_area, open_window, close_window, goto_window.

        * io-x11.c (getenv): Argument is const char *, not char *.

        * ref.c (for_all_vars): Use prototype for argument if __STDC__.

        * utils.h (abort, malloc, calloc): Correct prototypes to agree with
        ANSI C.
        * utils.h (ck_fopen): Delete unused declaration.


Fri Jan  1 02:48:28 1993  Tom Lord  (lord@unix1.andrew.cmu.edu)

	* utils.c (fopen_with_backup): the backup_by_copying branch
	had out-of-order parameters to fread/fwrite. (
	(patch from ron@mlfarm.com)

	* ualarm.c: Some systems want <sys/time.h> instead of <time.h>

	* io-x11.c (open_display): actually use the geometry that was
	computed from the resource database.

	* io-utils.c (div => divide): name clash w/stdlib.h

Thu Dec 31 13:16:32 1992  Paul Eggert  (eggert@twinsun.com)

        * sysdef.h (SIGRET): Remove.  All invokers removed.
        This change might cause some harmless compiler warnings in
        old-fashioned hosts where signal functions yield `int', but
        that's better than always generating warnings in modern hosts
        where signal functions yield `void'.

Thu Dec 31 13:12:16 1992  Tom Lord  (lord@ceti.weh.andrew.cmu.edu)

	* xrdb.c: properly include alloca.h (patch from Paul Eggert)

    	* io-term.c (main): show the disclaimer before turning on curses.

	* io-utils.c (ignore_sig): reregister the signal handler after it
	fires.

	* io-x11.c (open_display): init the xwins field of thePort.

	* io-x11.c (get_x11_args): don't merge the command line database
	(which was never computed).

Wed Dec 30 21:49:33 1992  Tom Lord  (lord@wombat.gnu.ai.mit.edu)

	* utils.c, configure.in: added configuration tests for several
	semistandard functions that are (now conditionally) defined in
	utils.c.

Mon Dec 28 20:10:27 1992  Tom Lord  (lord@altair.weh.andrew.cmu.edu)

	* io-x11.c (xio_update_status): fixed formatting of the cell formula

	* io-term.c (main): new long option -nw to not use x.
	new options: --help, -h to show usage.

	* print.c (put_ps_string): quote left parens inside of ps strings.

Mon Dec 21 01:02:03 1992  Tom Lord  (lord@thisbe.weh.andrew.cmu.edu)

	* io-term.c (main): added new command line arguments and
	started to use getopt.

	* io-x11.c (set_cursor & elswhere): draw the cursor even when
	  the layout needs to be recomputed (but not when it has never
	  been computed)

	* cells.c (vlookup_str): new formula function.

Sun Dec 20 00:31:00 1992  Tom Lord  (lord@thisbe.weh.andrew.cmu.edu)

	* io-term.c (read_file_and_run_hooks): After reading a
	file, execute the macro bound to load_hooks, if any.

Fri Dec 18 14:53:15 1992  Tom Lord  (lord@chort.weh.andrew.cmu.edu)

	* io-x11 (record_damage): compute label damage precisely.
	Got rid of call to xwin_range which was buggy and supersceded
	by display_range, anyway.

	* display.c (layout): removed two spurious calls to damage in the
	first loop.

	* io-x11.c (io-redisp): don't repaint the cursor cell unecessarily.

	* io-term.c (real_get_chr): On systems that support sigio, 
	block using wait.  This way, timer events can cause continuous
	updating.

Thu Dec 17 01:54:57 1992  Tom Lord  (lord@alcyone.weh.andrew.cmu.edu)

	* ref.c: removed lots of bugs from shift_outside and related
	functions.  The corresponding commands seem to work for a change.

	* io-term.c: made the use of input line buffers more consistent.

	* io-term.c (read_variables, set_region_formula,
	where_is): new interactive functions.

	* io-term.c ({upper,lower}_{left,right}): new functions.

Wed Dec 16 13:13:40 1992  Tom Lord  (lord@unix9.andrew.cmu.edu)

	* various: The SPLIT_REFS option is being removed (as it comes up).

	* utils.c (abort): Turned off the oleo.panic files.

	* font.c (intern_font):  Specifications in def\(a\(u\(l\(t\)?\)?\)?\)? 
	now return 0, which stands for the font that is set using 
	set-default-font.

	* oleofile.c (oleo_write_file): don't bother generating a boundry
	field. (e.g. B;r23c43).  read_file still parses them for compatability.

Sun Dec 13 20:23:28 1992  Tom Lord  (lord@monsoon.ucc.andrew.cmu.edu)

	* ref.c: Turned off the error messages that occured when moving a
	range that partially overlaps formula and variable references.
	That is because this isn't an error. The change means that ranges
	will sometimes be silently adjusted as lines are insert/deleted or
	regions moved.  Is this a problem?

Sat Dec 12 20:17:26 1992  Tom Lord  (lord@wisteria.bh.andrew.cmu.edu)

	* sylk.c/oleofile.c (_read_file): Abort the read after a bad field
	is found.

	* io-x11.c (init): Set the window title.

	* ref.c (flush_range_ref): null deref bug.

	* oleofile.c (oleo_read/write_file): correctly set a0 mode if
	the option is set in the input file.

	* sylk.c (sylk_read/write_file): read/write in a0 mode.

Fri Dec 11 11:44:10 1992  Tom Lord  (lord@watson.bh.andrew.cmu.edu)

	* io-term.c (exchange_point_and_mark): rewritten so as to actually
	work.

	* io-x11.c (several functions): added a new field, redisp_needed,
	to a port structure.  Set and cleared at obvious times (to avoid
	flashy redisplay).  

	* ref.c (flush_ref_fm): Avoid trying flushing if *where is NULL.
	It's not clear that this is the right fix since an old piece of
	TEST code complains about this condition.  I guess the expected
	bug, if this fix is wrong, will be bogus updating.  The
	max_row->highest_row change might have something to do with why
	this bug is showing up now.

	* display.c (pr_display_cell): This function checks to see if the
	cell has truly changed appearence, and if not, does nothing. This
	change is because the cell cursor flashed annoyingly after empty
	cells went from not being allocated to being allocated (but still
	empty);  the fix is a little more general, though.

	* ref.c (shift_outside): fixed several null dereferences in
	condition of loops that remove references to a cell.

	* ref.c, region.c: Wherever the comment
			  /* sparse array bug fixed here */
         occurs, there was a bug caused by keeping pointers to cells
	 through calls to one of the make_cell functions.  The fix
	 is always to recompute the pointer from the row/column address. 
	 A number of bugs related to move_region appear to have had
	 something to do with this.

Thu Dec 10 12:24:10 1992  Tom Lord  (lord@unix5.andrew.cmu.edu)

	* regions.c (move_region): max_row -> highest_row when clipping 
	the region being moved.  This fixed a bug that showed up when the
	last column in the source region had fewer filled rows than other
	rows in the source region.

	* io-term.c init.c (insert_*, delete_*): added new commands to
	insert/delete rows and columns.  Bindings ^O ^K M-^O M-^K.

	* ref.c (shift_outside): When shifting a relative range reference,
	set cur_row/col to the destination of the cell being shifted
	instead of the source.  This appears to be  the long standing bug
	in which move-cells fails to correctly update formulae -- though
	the bug reports aren't clear enough for me to be sure this is the
	only bug.

Wed Dec  9 16:36:13 1992  Tom Lord  (lord@dacre.bh.andrew.cmu.edu)

	* utils.c (fopen_with_backup): applied *part* of a patch from
	somewhere!ron@mlfarm.com.  The fix is to the __backup_by_copying
	case; the correct file is opened as the backup file.
	The patch also replaced fread/fwrite w/ fgetc/fputc; I didn't
	incorporate that because i see no reason why should be necessary.
	Someone send me a bug if i'm wrong, please.

	* parse.y: (yylex): For some reason, variables were never lexed in
	a0 mode.  Now they are.

Fri Dec  4 20:05:37 1992  Tom Lord  (lord@unix8.andrew.cmu.edu)

	* io_term.c:  new interactive function: write-variables.

Fri Nov 27 22:03:10 1992  Tom Lord  (lord@maelstrom.ucc.andrew.cmu.edu)

	* io_x11.c (xio_scan_for_input): recognize Mod1Mask as meta.

Mon Nov 23 20:33:48 1992  Tom Lord  (lord@unix9.andrew.cmu.edu)

	* sylk.c, oleofile.c (*_read_file): Obey user-specified 
	  a0 option when reading files.

	* init.c: new bindings
	   M-C-v    show-all-variables

Sat Nov 21 17:00:40 1992  Tom Lord  (lord@strand.bh.andrew.cmu.edu)

	* io_term.c (real_get_chr): replaced ERR with -1 because not all 
	  curses implementations define ERR.  Hopefully they all use -1.

	* utils.c (stricmp): ifdefed stricmp.

	* Makefile.in (.c.o): -I$(srcdir)

	* io_term.c (main):  Obtain part of the startup message from
	  oleo_version_string so that it is up to date.

