Mon Mar 09 17:25:09 2015  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.20

Thu Feb 26 15:01:17 2015  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel: update mersenne highest doublechecked
	  exponent

Thu Feb 26 14:30:40 2015  Jiri (George) Lebl <jirka@5z.com>

	* lib/functions/elementary.gel, src/funclib.c: Use MPFR version of
	  erf for real values, and move the hacky computation using power
	  series as gel snippet inside funclib.c.  Should be replaced by
	  a proper computation

Mon Feb 16 14:26:02 2015  Jiri (George) Lebl <jirka@5z.com>

	* examples/fourier-series-plotting.gel: Replace the hand coded
	  graph with more general code that can be used to show fourier
	  series for more functions

Fri Feb 13 11:46:57 2015  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/*.c: remove the inline from roundint.  Probably not
	  a performance bottleneck to begin with and likely the
	  compiler will inline by itself hopefully.  Removes compilation
	  errors with GCC5

Fri Jan 09 18:19:44 2015  Jiri (George) Lebl <jirka@5z.com>

	* examples/eulers-method-graphs-exp.gel: present plot window after
	  each plot so that the console doesn't keep popping up

Fri Oct 10 17:16:38 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: min/max now check their arguments better, especially
	  if argument is a single element.

	* src/geniustests.txt: Add a bunch of tests to the suite

	* help/C/genius.xml: A bunch of updates to the manual

Fri Oct 10 16:05:24 2014  Jiri (George) Lebl <jirka@5z.com>

	* lib/calculus/fourier.gel: Fix PeriodicExtension

	* src/geniustests.txt: add a bunch of tests for the periodic
	  extensions stuff

Fri Oct 10 15:13:16 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.desktop.in: Add GTK Category, and add Keywords

Mon Oct 06 13:08:52 2014  Jiri (George) Lebl <jirka@5z.com>

	* pixmaps/*: add scaled 8x8 and 16x16 scaled versions of the icon,
	  by slightly tweaking gimps scaling of the icon.

Thu Oct 02 23:28:29 2014  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: slight update

Thu Oct 02 19:34:55 2014  Jiri (George) Lebl <jirka@5z.com>

	* help/C/figures/*.png, help/C/genius.xml: requantize and recompress
	  some of the images to save space.  Then update the docs on the GUI
	  a little more.

Thu Oct 02 18:34:13 2014  Jiri (George) Lebl <jirka@5z.com>

	* help/C/figures/*.png, help/C/genius.xml: Update the manual a bit
	  and create new figures since the old screenshots were out of date.
	  Still the manual needs updating.

Thu Oct 02 15:15:01 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix icon size to a known one to avoid gtk warning

Thu Oct 02 15:09:30 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: fix minor memory leak

	* gtkextra/gtkplotcanvasplot.c: fix use after free error

	* src/graphing.c: properly show/hide the legends in the "moveabout"
	  and therefore it always properly does the right thing even without
	  LinePlotClear before LinePlotDrawLine or Points

Tue Sep 30 17:02:54 2014  Jiri (George) Lebl <jirka@5z.com>

	* pixmaps/*: add svg, 22x22, 24x24, 256x256 versions, and improve the
	  32x32 version of icons.  Also recompress some other pngs

Tue Sep 23 12:10:49 2014  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.19

Mon Sep 22 14:41:46 2014  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel: I was misunderstanding the GIMPS
	  output on doublechecked exponents, leading to an incredibly
	  miniscule chance of reporting the wrong result on the least
	  non-double-checked exponent (in case the double check would prove
	  the initial LL wrong)

Mon Sep 22 13:17:18 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/examples.c, gtkextra/*.c: fix compiler warnings.  Also fix an
	  overuse of strlen, won't really improve performance, but I find
	  using "strlen(s) == 0" just annoying enough to make me change it
	  anyhow

Thu Sep 18 17:52:37 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: Fix tab reordering, and add the close button
	  code that was commented out (i.e. make it work)

Wed Sep 17 00:08:16 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix some typos, thanks to Wolfgang Stoeggl

Tue Sep 16 16:30:42 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c:  Fitting dependent axis doesn't work if no
	  function is selected, so just ignore fitting when size is negative
	  rather than doing undefined things.  The whole thing is a mess,
	  we should allow fitting the lines that we draw and such I guess
	  not just functions.

Mon Sep 15 13:29:27 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/compil.c: new string decoding routine interacted with a stupid
	  optimization hence eating string constants from compiled files
	  starting with 'E'

	* src/gnome-genius.c, src/plugin.c: move the examples reading and
	  plugin reading to happen later so that things display seemingly
	  quicker. plus some other very minor optimizations for startup

Fri Sep 12 11:14:14 2014  Jiri (George) Lebl <jirka@5z.com>

	* examples/peano.gel: Add peano example in polar

Tue Sep 09 10:08:38 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fixes in help/error texts.  Thanks to Marek
	  Černocký

Sat Sep 06 10:24:33 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.gel: fix New Program crash

	* examples/easy-matrix-examples.gel, examples/rsa.gel: Add
	  code for creating nice classroom examples for easily hand
	  computable RREF and eigenvalues, and add an example of computing
	  an RSA key and encryption/decryption with it

Fri Sep 05 21:20:02 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Add PlotWindowPresent

	* examples/*.gel: use the PlotWindowPresent function

	* help/C/genius.xml: document the function

Fri Sep 05 20:46:23 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/examples.[ch]: rename tutorials to examples
	  I really like that wording bettter

	* tutors -> examples: move all the files

	* configure.in, Makefile.am: move to examples 

Fri Sep 05 17:47:03 2014  Jiri (George) Lebl <jirka@5z.com>

	* tutors/fourier*.gel: add some fourier series tutors

Fri Sep 05 15:25:28 2014  Jiri (George) Lebl <jirka@5z.com>

	* tutors/*: Add whole bunch of tutorials from what I've been using
	  in classes (those that weren't a mess)

Fri Sep 05 13:01:51 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/tutors.c: sort the tutors by category and then name.

Fri Sep 05 12:56:05 2014  Jiri (George) Lebl <jirka@5z.com>

	* tutors/*.gel: Add a few more tutorials (lorenz, finite difference
	  method, standing waves)

Fri Sep 05 11:20:20 2014  Jiri (George) Lebl <jirka@5z.com>

	* tutors/cantor.gel: Add Cantor's staircase tutorial

Fri Sep 05 01:52:10 2014  Jiri (George) Lebl <jirka@5z.com>

	* tutors/*: add a simple strange-attractor tutorial

	* src/tutors.[ch], src/gnome-genius.c: add a tutorials menu
	  to load same programs, Right now really simple, eventually should
	  have submenus, and have to figure out translation

Tue Sep 02 10:12:42 2014  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: minor fixes

Tue Sep 02 00:58:58 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Add SurfacePlotDrawLine, SurfacePlotDrawPoints, and
	  SurfacePlotClear

	* help/C/genius.xml: Add documentation for the above functions

	* src/graphing.c: Add rotate animation

Sat Aug 30 17:10:23 2014  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: fix spelling, update grant info

Sat Aug 30 15:40:00 2014  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/gtkplotflux.c: fix almost zero arrows causing NaNs causing
	  postscript errors.

Fri Aug 29 10:41:36 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix compilation on my old ubuntu 10.04 laptop

Tue Aug 26 11:56:12 2014  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.18

Thu Aug 21 18:08:53 2014  Jiri (George) Lebl <jirka@5z.com>

	* pixmaps/Makefile.am: fix gtk-update-icon-cache logic

	* help/C/genius.xml, help/C/make-and-upload.sh: use userinput instead
	  of synopsis in the list of operators, the thing is, "synopsis" was
	  tripping up dblatex which produces an actually sane pdf so we
	  definitely want to use it

Thu Aug 21 16:55:25 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c, src/compil.c: change the encoding/decoding of strings
	  to be not stupid, waste a byte and add more legal characters to the
	  list.  Also remove extra unneeded letters from the function record,
	  streamlining things a bit more.  Altogether save another 2.7k from
	  the compiled standard library.

Thu Aug 21 14:11:31 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: Reduce redundancy in the compiled file, killing about
	  27k from the compiled file and improving startup time by a few
	  mili (or micro) seconds.

	* src/calc.c: fix decompilation of extra_dict functions (fortunately,
	  no such functions are used in the default library, their use in
	  compiled files is untested, it is hard to see how they would
	  ever end up in a reasonable way in a compiled file anyway)

Wed Aug 20 18:56:35 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix typo

Wed Aug 20 18:49:35 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: also encode the description when compiling.  This is
	  to be on the safe side, I don't think any descriptions right now
	  contain invalid characters for the compiled file such as a
	  semicolon, but they could.

Tue Aug 19 14:09:44 2014  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theory/prime.gel: update the known limits on mersenne
	  primes from GIMPS

Mon Aug 18 17:10:59 2014  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: improve docs, mark when things were added,
	  document the new float:float:float behaviour, and document all
	  the new stuff added below

	* src/funclib.c, src/eval.[ch]: Add SetElement and SetVElement
	  functions to set specific elements in a global matrix/vector

	* src/geniustests.txt: test SetElement and SetVElement

Sun Aug 17 14:39:15 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c, src/gnome-genius.[ch]: When errors are given during
	  graphing, instead of forcing them into a box, which is in
	  retrospect really annoying, just display a warning label below the
	  graph window telling the user to look at the console.  Also
	  if errors do go into a dialog, make sure that it is parented by the
	  graph window

Fri Aug 15 17:38:41 2014  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: update the feedback info to be more within 
	  reality.  Don't use ghelp: urls as those won't work in the HTML
	  version.

	* src/eval.c: do the same thing for vector building notation as
	  in all for/sum/prod loops, where if going over floats, allow
	  errors withing the final number to within 2^-20 of the step size.

	* src/geniustests.txt: add tests for above

	* src/genius-readline-helper.c: avoid a race in display of errors,
	  by flushing and waiting 5 miliseconds after readline and before
	  sending the line onwards to the GUI

Thu Aug 14 00:54:57 2014  Jiri (George) Lebl <jirka@5z.com>

	* lib/equation_solving/diffyqs.gel: slight optimization for
	  RungeKutta and RungeKuttaFull

Wed Aug 13 18:41:27 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix using a single point in LinePlotDrawPoints if
	  using a matrix of points.  Also allow null matrix in
	  LinePlotDrawPoints and LinePlotDrawLine which makes it a no-op

Wed Aug 13 17:06:29 2014  Jiri (George) Lebl <jirka@5z.com>

	 * gtkextra/gtkplotdata.c: Fix drawing data with no connector, then
	   plot the points only, also fix plotting data with one value only,
	   finally fix clipping if both endpoints of a segment are out of
	   bounds.

	 * src/graphing.c: Add LinePlotDrawPoints function

	 * help/C/genius.xml: Document LinePlotDrawPoints, Also add
	   documentation and examples for EulersMethodFull and RungeKuttaFull
	   on how to use LinePlotDrawLine or LinePlotDrawPoints.  YELP IS
	   BROKEN so the links don't work.  The reason for shouting here
	   is that filing bugs for yelp is useless (these bugs have been filed
	   for well over a year, and nobody touched them at all).  I'm
	   thinking of just installing html docs.  Actually I'm thinking of
	   moving away from this incredibly broken DocBook nonsense and
	   moving to LaTeX, where I could actually do more math to explain
	   things and it would be a lot easier to edit.

Mon May 05 17:00:38 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome_genius.[ch], src/graphing.c: export the calc_running
	  to graphing and use it.  Fix interrupting drawing of solutions
	  from the gui.

Thu Apr 03 08:01:49 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/inter.c, src/genius-readline-helper.c: apply patch from Felipe
	  Sateler of debian to fix build with new readline.

Wed Mar 26 18:44:53 2014  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: Fix IsInvertibleField,
	  would return false negatives

Mon Mar 17 22:31:01 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.[ch], src/funclib.c: Implement DisplayVariables which
	  shows either individual variables or a complete listing including
	  stacktrace if called inside another function.

	* lib/misc/misc.gel: Add PrintTable which prints a table of a
	  function
	
	* help/C/genius.xml: Document the above

Wed Mar 12 17:01:07 2014  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c, src/calc.h: Implement NonzeroColumns and
	  NonzeroElements to return indices of nonzero columns in a matrix
	  and elements in a vector

	* src/matrixw.[ch]: the _vindex function could have returned NULL,
	  though it didn't seem to cause any crashes

	* src/geniustests.txt: test the above

	* help/C/genius.xml: document the above

Mon Nov 18 17:53:27 2013  Jiri (George) Lebl <jirka@5z.com>

	* lib/combinatorics/factorial.gel: Fix applying "Triangular" over
	  matrices

Fri Oct 25 08:35:40 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: improve logic for jump detection (still not
	  perfect)

Thu Oct 24 23:51:15 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: better detection of jumps due to vertical
	  asymptotes to avoid drawing the vertical lines

Sun Oct 20 23:44:25 2013  Jiri (George) Lebl <jirka@5z.com>

	* lib/equation_solving/newton.gel: Add HalleysMethod

	* src/geniustests.txt: do testing

	* help/C/genius.xml: Document Halleys method

Wed Oct 16 08:11:49 2013  Jiri (George) Lebl <jirka@5z.com>

	* lib/functions/lambert.gel: slight improvement in speed.

Wed Oct 16 00:33:17 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/symbolic.c: add some derivatives for Bessel functions and
	  for the Lambert W functions
	
	* help/C/genius.xml: document LambertW, LambertWm1, NewtonsMethod,
	  and some other minor improvements

	* lib/equation_solving/newton.gel, lib/functions/elementary.gel:
	  improve help string for the Newton's method functions

	* pixmaps/Makefile.am: pass -t to gtk-update-icon-cache to avoid
	  failing if no theme index file

Tue Oct 15 18:17:58 2013  Jiri (George) Lebl <jirka@5z.com>

	* lib/functions/lambert.gel, lib/equation_solving/newton.gel: Add
	  LambertW, LambertWm1, NewtonsMethod
	
	* src/geniustests.txt: add tests for the above

Tue Oct 08 17:28:57 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.[ch], src/eval.[ch], src/genius.c, src/gnome-genius.c:
	  Improve the PlotCanvasFreeze/Thaw functions, and make sure plot
	  canvas is always thawed after end of execution so that it never
	  simply remains frozen.
	
	* help/C/genius.xml: Document the two functions

Tue Oct 08 16:54:53 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Very simple PlotCanvasFreeze/Thaw functions, need
	  improvement and documentation

Tue Oct 08 16:57:08 2013  Jiri (George) Lebl <jirka@5z.com>

	* configure.in, pixmaps/Makefile.am: Use gtk-update-icon-cache,
	  otherwise it seems icons are sometimes not picked up.

Thu Oct 03 17:15:40 2013  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: Implement
	  KroneckerProduct (alias TensorProduct)

	* help/C/genius.xml: Document KroneckerProduct and add a few
	  wikipedia links and some minor improvements.

	* src/geniustests.txt: add tests

Wed Oct 02 17:36:54 2013  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: bump version 

Wed Oct 02 17:35:09 2013  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/*: remove bunch of unused stuff to fix warnings.

	* src/graphing.c: Allow setting color in LinePlotDrawLine as a
	  3-vector of RGB values in the range of 0 to 1.

	* help/C/genius.xml: Document changes to LinePlotDrawLine and
	  rewrite part of that entry.

	* src/graphing.c: Allow zooming by selecting when we just do
	  LinePlotDrawLine and not a LinePlot first.

Tue Oct 01 21:35:09 2013  Jiri (George) Lebl <jirka@5z.com>

	* autogen.sh, configure.in: updates, for example we still refer
	  to cvs

Tue Oct 01 18:16:21 2013  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/*.c: fix some more warnings including a leak

Tue Oct 01 18:02:13 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c, src/mpwrap.[ch]: fix subtle copy on write error with
	  nested for loops with a floating point "by"
	
	* src/eval.[ch]: fix a nasty side effect of erroneously telling gcc
	  that a function is pure

	* gtkextra/*.c: fix some warnings

Wed Jun 26 14:33:09 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c, src/funclibhelper.cP: implement subsecond precision
	  in wait (approx 10ms) by simply passing in a noninteger number.

Tue Jun 25 16:11:28 2013  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: A few updates, clarify how escapes in strings
	  work, add lots of hyperlinks when mentioning functions.

Tue Jun 25 14:57:03 2013  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.17

Tue Jun 25 14:48:55 2013  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/gtkplot.c: fix a very nasty infinite loop with a memory leak
	  on very very large zoom due to a numerical issue.

Fri Jun 14 15:19:19 2013  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/gtkplot3d.c: fix placement of labels.

	* src/graphing.c: make surface plot slightly smaller so that it fits
	  on screen.

Fri Jun 14 12:01:24 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix precision when the starting limit is 0 or much
	  nearrer zero than the ending limit.  On left/right keys rotate 3d
	  plot, and on all arrow keys move about line plots

Fri Jun 14 10:48:41 2013  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/*: finish updating GtkExtra to 3.0.5

Fri Jun 14 10:04:20 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: Properly report errors from saving files

Thu Jun 13 16:42:42 2013  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/*: copied lots of the files from 3.0.5, only gtkplot3d,
	  gtkplotdt and gtkplotsurface remain unupdated

	* gtkextra/gtkplotps.c: updated to the 3.0.5 version part way, the
	  new one is still broken so the new geometry stuff is not there (it
	  is drawn still upside down and then rotated).  Also
	  a fix from James Cloos to change the EPS header to EPSF from PCF,
	  seems to fix PDF conversion.

	* src/graphing.c: allow PDF export by calling ps2pdf properly,
	  also don't show the epsi checkbox unless we are exporting to EPS

Thu Jun 13 00:12:46 2013  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/*.c: start updating to gtkextra 3.0.5.  Only few files
	  converted: gtkplotcanvas.[ch], gtkplotpc.[ch], gtkextra.[ch],
	  gtkplotprint.[ch].  Must slowly work through custom bugfixes and
	  patches.  Note that gtkplotps.[ch] seems broken, so it's even
	  older than the other files.
	  Also added gtkplotcairo.[ch] for cairo output which is lots nicer

Wed Jun 12 19:20:51 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: adaptive step size for line plots, also detect jump
	  discontinuities

Wed Jun 12 14:22:13 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c, gtkextra/gtkplotdata.c: Allow immediate fitting of
	  the dependent axis on function and parametric plots just as for
	  surface plots.  Fix fitting a parametric plot after zoom was
	  changed.

	* help/C/genius/xml: update documentation

Tue Jun 11 17:36:01 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/geniustests.txt: some new tests

Tue Jun 11 17:19:55 2013  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theory/factoring.gel: Improve Factors so that for larger
	  numbers it uses "Factorize" rather than a slow naive
	  implementation.

	* lib/number_theory/primes.gel: minor mersenne update

Tue Jun 11 16:12:48 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: add completion to "help on function"

	* help/C/genius.xml: workaround for broken help browser by adding
	  anchors to function descriptions rather than using the varlistentry
	  id (Which should work but does not).  A bug has been reported there
	  quite some time ago, but I don't think it got any attention.

Wed Apr 24 16:52:56 2013  Jiri (George) Lebl <jirka@5z.com>

	* update version number

	* update copyright strings.  Remove the "PhD"  ... the novelty wore
	  off

Wed Apr 24 16:45:17 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/parseutil.h, src/funclib.c: properly initialize
	  id.uninitialized (ironic huh? :)

	* src/graphing.c: use the proper temp directory

Wed Apr 24 15:54:44 2013  Jiri (George) Lebl <jirka@5z.com>

	* help/Makefile.am: fix compile

	* help/C/genius.xml: fix some english issues

Wed Apr 24 15:36:52 2013  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: more sane precision computations especially when
	  zoomed in.  Also reduce font size in case of too many digits.

Wed Apr 24 13:58:27 2013  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: include the function list in the main xml

	* help/C/genius.xml: expand help for the root finding functions

	* lib/equation_solving/find_root.gel: fix FindRootBisection and
	  FindRootMullersMethod to actually work.

Mon Mar 04 12:33:47 2013  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: fix up the about entry to reflect reality a bit
	  better.

Mon Mar 04 12:29:41 2013  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: remove scale="50" from images apparently that
	  nowadays makes everything 50 pixels large or some other nonsense
	  like that.

Wed Feb 06 22:22:16 2013  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theoory/primes.gel: update the mersenne stuff

Sun Dec 23 13:22:07 2012  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: fix documentation of less than and greater than
	  (thanks to Marek Cernocky).  Also expand the documentation in
	  several places a little.

Tue Dec 18 20:49:50 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.c, src/calc.c: make a minor optimization, and remove an
	  unsafe unnecessary one

Mon Dec 17 15:15:44 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: bit of post release cleanup

	* help/C/genius.xml: do some fixes, add help about comments and
	  the new way that for loops with floats work.

Mon Dec 17 13:52:35 2012  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.16

Mon Dec 17 13:45:21 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c: when forloop (sum/prod/for) is with floats then check
	  for overrun, and if within 2^-20 times the step size, then still
	  execute the last body (assume things were because of roundoff
	  error), this makes things like for n=0 to 1 by 0.1 actually work
	  as expected.

	* src/mpwrap.[ch], src/eval.c, src/funclib.c, src/matop.c: minor
	  optimization in make_float and new macro to check real part for
	  being floating point

	* src/geniustests.txt, src/testfourier.gel: update testsuite

Tue Dec 11 00:10:02 2012  Jiri (George) Lebl <jirka@5z.com>

	* configure.in, src/Makefile.am: exorcise last vestiges of the
	  linpack inclusion fiasco, and update to new automake initialization
	  format, and also create xz archives on dist

Mon Dec 10 20:58:42 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: add ability to fit dependent axis automatically
	  for surface plots.  When z is not specified by x and y limits are
	  specified for surface plot functions, z is figured out

Mon Dec 10 16:20:53 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: when number of digits of labels is too much
	  use the scientific notation.  Avoids ugly huge numbers.
	  Also make the graph slightly bigger (700x500) and in lineplot mode
	  make the margins bigger so that we don't lose any digits on axes
	  when zooming out or in.  Also fixup labels for gradient.  Gradient
	  is now done only for the range of the function not the whole range
	  that makes it more useful.

	* gtkextra/gtkplot.c, gtkextra/gtkplot3d.c, gtkextra/gtkplotsurface.c:
	  minor cleanup and fix crash when labels too big.  Also fix gradient
	  label style settings, and zero out data we just freed.

Fri Dec 07 21:36:50 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c, src/gnome-genius.c: kill our own overwrite dialog
	  since gtk does it already.  Also when no last dir, set current
	  directory in the file chooser, because the current default 
	  behaviour is godawfully annoying.  I can always click on "Recent",
	  but getting to "current working directory" can be quite a chore.

Fri Dec 07 17:21:26 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c, help/C/gel-function-list.xml: add ExportPlot
	  function

Fri Dec 07 00:27:33 2012  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml, help/C/gel-function-list.xml: add
	  doc for new functions.  Also add details in bits of the docs,
	  they really still need lots of love.

Thu Dec 06 12:03:12 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Add SurfacePlotDrawGrid to draw data directly from
	  grid to avoid having to make up a data matrix

	* src/graphing.c, gtkextra/gtkplotcanvas.c: Fix flicker during
	  surface animations by properly freezing the display and also
	  letting the painting happen at the right time.

Tue Dec 04 23:31:30 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: some cleanup with respect to fitting dependent
	  axis on surfaces.  Also fix fitting dependent axis for surfaces
	  plotted with SurfacePlotData

Tue Dec 04 19:50:40 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c, gtkextra/gtkplotdt.c:  Add SurfacePlotData which
	  plots 3d graphs from data, so that we can plot all sorts of
	  surfaces.  Also LinePlotDrawAxisLabels was not added as parameter
	  by mistake, so add it

Thu Nov 29 23:02:13 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Add SurfacePlotDrawLegends parameter, also
	  add it to the UI.  Fix LinePlotDrawLabels, and also make sure
	  LinePlotDrawLegends redraws the plot canvas if changed and
	  plot canvas is active.

Tue Nov 27 12:59:21 2012  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: Require MPFR 2.3.0

	* src/funclib.c: add Bessel functions
	  (BesselJ0, BesselJ1, BesselJn, BesselY0, BesselY1, BesselYn)

Tue Nov 27 10:05:50 2012  Jiri (George) Lebl <jirka@5z.com>

	* atlapack/ atblas/: remove, this was just a pain and I don't have
	  time to make it work as is.  We'll try to link to lapack if
	  available or maybe even make it a requirement.  The fortran version
	  seems available on most distros so it should not be a problem.

Fri Jul 13 07:15:05 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/genius.c: avoid a small delay on history, it seems no longer
	  necessary.  Thanks to Ingo Ruhnke.

Sat Jun 23 13:21:05 2012  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel: update where gimps is up to

Thu May 31 11:54:40 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c, help/C/gel-function-list.xml: Add
	  LineplotDrawAxisLabels parameter and corresponding checkbox on the
	  plotting window to allow not drawing axis labels, useful for
	  doing tiny scaled down diagrams.

Sat Apr 28 16:58:20 2012  Jiri (George) Lebl <jirka@5z.com>

	* Makefile.am, configure.in, atlapack, atblas: add LAPACK/BLAS, but
	  so far we don't use them.  We'll probably want to cull the parts
	  we don't use otherwise it just takes forever to compile

Sun Apr 22 23:52:34 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c: avoid linked lists on expanding just one row,
	  we can do that directly faster.  Improves speed of things
	  that concatenate things like [a,b,c].  For example sorting.

	* src/geniustests.txt: add some tests

Sun Apr 22 17:53:07 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/structs.h, src/eval.c: MatrixRow tree node is also
	  used in expanding matrices, not just entering, so
	  gint16 was just not enough for width.  So can now
	  handle wider matrices in expansion.

Wed Apr 11 16:56:15 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/symbolic.c: fix derivatives of Im and Re to be the z
	  derivatives.

	* src/funclib.c, src/symbolic.c, help/C/gel-function-list.xml:
	  add the sinc function and its derivative.

Mon Apr 09 21:12:40 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/matop.c: forgotten nargs setting led to a crash when
	  adding fake conj.
	
	* src/compil.c, src/matop.c: correctly set uninitialized flag
	  for identifiers.

	* src/eval.[ch]: avoid some uninitialized compilation warnings.

Mon Apr 09 20:44:03 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c, src/structs.h: Store state of "uninitialized"
	  with identifier nodes so that we don't double warn of uninitialized
	  identifiers with something like "x+5"

Thu Mar 29 10:35:45 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c, src/eval.c, src/funclib.c, lib/*/*.gel: fix some
	  spelling and capitalization

	* help/C/gel-function-list.xml: fix spelling

	* combinatorics/recursive_sequences.gel: Fix LinearRecursiveSequence,
	  and also allow it to take matrix argument

	* src/geniustests.txt: add a few tests

	* help/C/*.xml: Fixes from Luc Pionchon that I totally forgot about
	  for 1.0.15

Wed Mar 28 17:08:55 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: fix possible uninitialized use when reading 
	  the compiled library (though it's code that never gets hit
	  unless the installed library gets corrupted)

	* NEWS: fix typos

Wed Mar 28 15:57:41 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: when running help and things are not documented and not
	  defined, don't output three lines saying so, just the one error will
	  do.

Tue Mar 27 22:56:49 2012  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.15

Thu Mar 22 11:25:49 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: remove some redundant code, load the exp for
	  matrices lazily

Wed Mar 21 15:39:04 2012  Jiri (George) Lebl <jirka@5z.com>

	* src/*.[ch]: mark a bunch of functions as pure.  Probably doesn't
	  help with optimization, but it might.

Tue Mar 20 13:13:48 2012  Jiri (George) Lebl <jirka@5z.com>

	* help/*/figures/*.eps: remove .eps figures, there is no need for
	  them and they take up lots of space

	* help/{fr,de}/figures/*.png: quantize and optimize

Tue Mar 20 11:39:45 2012  Jiri (George) Lebl <jirka@5z.com>

	* help/C/gel-function-list.xml, help/C/genius.xml: Add Commutative
	  Algebra section and document the Macaulay stuff (at least stub it).
	  Also add a note to the doc on ceil.

	* src/graphing.c: Fix zooming using pointer for functions that take
	  a long time to draw by moving the zooming code into an idle
	  handler.

	* lib/number_theory/primes.gel: update where GIMPS has gotten in
	  double checking

	* po/POTFILES.in: remove glade-helper.c

Sun Dec 25 10:28:09 2011  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel: update where GIMPS has gotten in
	  double checking

Wed Dec 07 01:40:42 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.c: fix roots of negative numbers when numerator of power
	  is positive.  Also fix exact roots when power is negative.

	* src/geniustests.txt: add tests for above

Fri Nov 18 00:53:09 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/symbolic.c: accept log instead of ln for natural log when doing
	  derivative when called as a single variable function.

Mon Nov 07 00:28:58 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c, help/C/gel-function-list.xml:  Add CurrentTime
	  to return the current UNIX time 

Mon Sep 26 17:39:27 2011  Jiri (George) Lebl <jirka@5z.com>

	* configure.in, lib/Makefile.am, lib/communtative_algebra/Makefile.am,
	  lib/commutative_algebra/macaulay.gel, src/funclib.c:
	  Add MacaulayRep, MacaulayLowerOperator, and MacaulayBound
	  functions and a Commutative Algebra section

	* src/geniustests.txt: Add tests of the above

Fri Jul 29 09:06:50 2011  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.14

Fri Jul 29 09:03:53 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c, src/funclib.c, src/dict.c, src/calc.c,
	  src/inter.c: Apply modified patch from Vincent Untz to fix
	  compilation warnings

	* */Makefile.am: use WARN_CFLAGS

	* ve/ve-miscui.c, ve/ve-misc.h, src/matrixw.[ch], src/graphing.c,
	  src/gnome-genius.c, src/genius-readline-helper.c, src/funclib.c:
	  Fix warnings and fix a crasher bug in the process

Thu Jul 28 12:44:05 2011  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.13

	* po/POTFILES.in: forgotten file

Mon Jul 25 10:38:56 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/Makefile.am: add $(INTLLIBS) to LDADDs.  Thanks to Daniel Macks

Thu Jul 14 23:52:58 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/geniustests.txt: some more tests

Thu Jul 14 23:49:51 2011  Jiri (George) Lebl <jirka@5z.com>

	* lib/*/*.gel, src/funclib.c: Implement IntegerQuotient internally
	  for speed and use it instead of floor(a/b)

	* help/C/genius.xml: fix docbook abstract thingie.

	* src/geniustests.txt: some more tests

Thu Jul 14 17:26:00 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c: minor optimizations

Thu Jul 14 16:34:40 2011  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/misc.gel: Optimize SortVector (use quicksort
	  for longer vectors)

Tue Jul 12 23:16:59 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c, src/structs.h, src/parse.y, src/lexer.l, src/calc.c,
	  src/matrixw.[ch]: add increment and swapwith operators which
	  are quicker ways to do these common operations.  swapwith does
	  not yet work with ranges, something that should be remedied.

	* src/funclib.c: improve inline docs for rand and randint

	* src/geniustests.txt, src/testscope.gel: add tests

	* lib/linear_algebra/misc.gel: add ShuffleVector, fix some other
	  functions to accept null

	* lib/*/*.gel: use increment and swapwith, remove some unneeded
	  trailing semicolons

	* help/Makefile.am, help/genius.txt: add the genius.txt back into
	  the distribution

	* help/C/gel-function-list.xml help/C/genius.xml: document new
	  features and functions

Tue Jun 28 15:53:40 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/compil.c: use basic ascii for encoding simple strings
	  use base64 for encoding strings that have nonallowed characters.

	* src/compil.c: fix some very minor memory leaks

	* configure.in: raise version

Tue Jun 28 14:09:30 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c, ve/ve-miscui.c: update some deprecated things

	* configure.in: require gtk 2.18 (my current benchmark for
	  gtk version allowed: it appears in current Scientific Linux)

Tue Jun 28 13:08:19 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: use pid_t properly

Wed Jun 01 20:33:17 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/dict.c, src/eval.c, src/funclib.c, src/matrix.c, src/matrix.h,
	  src/matrixw.c: order matrix traversals in a more cache friendly way

Tue Mar 29 01:41:20 2011  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: define missing entities

Mon Mar 28 18:17:52 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.h, src/funclib.c, src/matrix.[ch],
	  src/genius-readline-helper.c, ve/ve-config.c, src/graphing.c:
	  Bunch of optimizations.  Use GQueues where useful, drop use of
	  g_ptr_array for matrices which saves a tiny bit of overhead and
	  will allow graceful handling of out of memory problems rather than
	  just crashing.  Optimize Combinations/Permutations quite a bit.

	* src/geniustests.txt: add some tests.

Wed Feb 16 21:12:34 2011  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: try gnome-help if gtk_open_uri don't work (am
	  using xfce and for whatever reason it doesn't).  Also fix the
	  formatting on error/warning dialogs

Tue Nov 23 13:47:15 2010  Jiri (George) Lebl <jirka@5z.com>

	* **/*.png: optimize and quantize pngs a bit further

Mon Nov 22 15:57:18 2010  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.12

Sun Nov 07 11:48:14 2010  Jiri (George) Lebl <jirka@5z.com>

	* configure.in, NEWS: I will be releasing 1.0.12 shortly

Sun Nov 07 11:39:40 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: add recent files menu

Tue Nov 02 11:44:08 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/Makefile.am: Add the self test files that were missing to
	  EXTRA_DIST.  Thanks to Matthias Drochner of NetBSD

Thu Oct 28 16:09:42 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Don't run ps2epsi by default, and make it an option
	  on the export dialog.  ps2epsi can take really really long
	  sometimes, generate large files, and most of the time I found out
	  you don't want it anyway.
	
	* src/eval.c: fix 64 bit build

Sat Oct 09 12:23:07 2010  Jiri (George) Lebl <jirka@5z.com>

	* Makefile.am: apply patch from Dominique Leuenberger
	  (dominique at leuenberger dot net) to fix build on Make 3.82

Thu Oct 07 12:38:44 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/lexer.l: note that [^?] is may include newlines,
	  must explicitly exclude them

	* src/gnome-genius.c:  Add a trailing newline to programs unless
	  given.  Fixes parse errors at end of file if ends on a comment
	  or a lexer rule which expects endofline

Thu Sep 30 15:28:50 2010  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: Fix CrossProduct and
	  make it return a column vector.

	* src/geniustests.txt: add a test

	* help/C/gel-function-list.xml: note that the result is a column
	  vector

Thu Sep 09 22:47:54 2010  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.11

	* src/gnome-genius.desktop.in: add %U to command line

	* help/C/genius.xml: some minor updates and clarifications

Thu Sep 09 21:29:33 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/genius.c, src/calc.h, src/gnome-genius.c:  In a fit of
	  incredible evilness (or stupidity) somebody made <term.h>
	  #define buttons ... thinking buttons is an uncommon word.
	  Yaikes.  Wonder why it doesn't break on Fedora but it did break on
	  SuSE.  Anyway, thanks go to Stephan Hegel for hunting this one
	  down!

Wed Sep 08 00:48:15 2010  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.10

Wed Sep 08 00:47:50 2010  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: require Gtk+ 2.14 and VTE 0.17.1

	* src/gnome-genius.c, src/graphing.c, ve/ve-miscui.c: fix some
	  sealing things.  Do note that we do not yet compile even without
	  deprecated stuff since gtkextra is full of it.  Also use some newer
	  things that required gtk+ 2.14 and vte 0.17.1

	* src/graphing.c: fix zooming in 2D plots when moving mouse
	  in any direction.

Mon Aug 30 22:33:08 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.h, ssrc/funclib.c, src/genius.c, src/gnome-genius.c:
	  update copyright string and make it translatable

Mon Aug 30 15:31:37 2010  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml, help/C/gel-function-list.xml:
	  Hand apply some changes from Christian Kirbach
	  (christian.kirbach at googlemail dot com) to fix typos

	* lib/*/*.gel, src/funclib.c:  Fix some typos.  Fix spelling of the
	  function name AuxiliaryUnitMatrix!

Mon Aug 30 14:43:41 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c, configure.in: Apply patch from
	  Jan de Groot jan at jgc.homeip.net to port the GnomeVFS stuff
	  to GIO.  This raises the glib requirement to 2.16 for the gnome
	  version.  When built without gnome then 2.12 is all that is needed
	  still.

Mon Aug 30 13:41:49 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: ExpandMatrix,SetMatrixSize,ColumnsOf,RowsOf,
	  IsMatrix* accept null as the input (0x0) matrix and act accordingly

	* src/geniustests.txt: Add tests

Mon Aug 30 13:28:23 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Add "legend" style parameter to LinePlotDrawLine

	* lib/equation_solving/diffeqs.gel: Add RungeKuttaFull and
	  EulersMethodFull which return all points computed (and slightly
	  optimize Runge-Kutta)
	
	* src/geniustests.txt, help/C/*.xml: update

Mon Aug 30 10:23:49 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: Patch from Vincent Untz to fix access to sealed
	  vte structure members

Tue Jun 29 11:38:38 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Add SurfacePlotVariableNames and some fixes

	* help/C/*.xml: document above and some fixes

Tue Jun 29 11:11:04 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: allow changing variable names for surfaces when
	  plotting from a dialog

Sat Feb 27 16:57:50 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: check events every time we get something from
	  readline.  That way, the new line from "return" is truly
	  synchroneous.  (it was in the wrong place for commands, even though
	  for expression this already got fixed)

Wed Feb 03 00:10:42 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: when drawing slopefield solutions, allow the graph
	  to leave window by a small fudge factor of 1/100 of the window size

	* gtkextra/gtkplot.c, gtkextra/gtkplot3d.c: add some sanity fixes to
	  fix crashes on tick calculations when the supplied data is less
	  than sane.  The tick calculation stuff is very evil and there are
	  still some crashes around when doing insensible things with 
	  graphs.

Tue Feb 02 21:42:42 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix compilation when gtksourceview is disabled

Tue Feb 02 13:30:44 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Allow changing variable names.  Either in the GUI
	  or using the new parameter LinePlotVariableNames.

	* help/C/gel-function-list.xml: document the new parameter

Tue Feb 02 10:32:53 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c, help/C/gel-function-list.xml: Add SlopefieldTicks
	  and VectorfieldTicks, to allow setting ticks from the command line.

Wed Jan 27 00:52:13 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.h, src/genius.c, src/gnome-genius.c, src/funclib.c:
	  Implement AskButtons interactive function which asks the user to
	  select from a list of buttons.

	* src/eval.c: allow comparisons (only == and !=) with null.  We
	  really want to treat null as an empty matrix.  null is only
	  equal to null itself of course.

	* src/geniustests.txt: add tests for null comparisons

	* help/C/genius.xml, help/C/gel-function-list.xml: Document
	  AskButtons

Wed Dec 23 15:41:42 2009  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.9

Wed Dec 23 15:18:56 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: fix minor leak

	* src/eval.c: fix MEM_DEBUG_FRIENDLY compilation

Wed Dec 23 14:09:21 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c, src/util.c: fix use of strcpy

Thu Dec 10 17:00:49 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c: fix matrix expansion.  After zeros were replaced
	  the expression [0,I(2);0,0] would not include the last row.  This
	  fixes AuxilliaryUnitMatrix and JordanBlock functions.

	* src/geniustests.txt: add some tests for matrix expansion and the
	  above functions

Tue Nov 10 00:30:53 2009  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.8

Tue Nov 10 00:19:56 2009  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: require gtk/glib 2.12

	* src/gnome-genius.c: use the "new" GtkTooltip api

	* src/eval.c: remove unused function

Mon Oct 19 15:59:28 2009  Jiri (George) Lebl <jirka@5z.com>

	Patches from: Yaakov (Cygwin/X) yselkowitz at users dot sourceforge
        dot net

	* configure.in: add EXEEXT to fix building on cygwin

	* ve/Makefile.am: Fix parallel builds

Sun Oct 18 20:05:43 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: check events before executing a command line.
	  VTE behaviour changed and we need to make sure the user carriage
	  return gets sent to screen before the execution.

Thu Sep 24 15:48:25 2009  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: some doc updates

Wed Jul 29 15:11:16 2009  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.7

	* src/gnome-genius.c: set all toolbar items to important so
	  that text always shows.

Tue Jul 28 14:04:33 2009  Jiri (George) Lebl <jirka@5z.com>

	* NEWS: update,

	* help/C/gel-function-list.xml: add more docs on the root finding
	  functions.  There aren't very nice, but ...

	* lib/equation_solving/find_root.gel: use true/false for booleans
	  rather than 0/1

Mon Jul 27 15:22:57 2009  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml, help/C/gel-function-list.xml: Update
	  documentation for all the new features and improve existing
	  parts a bit especially by adding a bunch of links for some
	  functions.

	* NEWS: update

Fri Jul 24 17:23:04 2009  Jiri (George) Lebl <jirka@5z.com>

	* lib/calculus/fourier.gel: fix cosine series and fix argument
	  checking on the fourier function creation

	* src/geniustests.txt, src/testfourier.gel: add tests for the
	  fourier functions

	* src/graphing.c: the create plot and plot dialogs are stupid as
	  dialogs because of the way metacity handles dialogs (annoyingly
	  as "keep above parent") so set the hint to normal.

Fri Jul 24 16:32:32 2009  Jiri (George) Lebl <jirka@5z.com>

	* lib/calculus/fourier.gel: add NumericalFourierCosineSeriesFunction
	  and NumericalFourierSineSeriesFunction and fixup some doc strings

	* src/eval.c, src/dict.c: build the subst_dict on first function
	  evaluate.  This avoids subst lists for simple functions, plus
	  it makes the global identifier no-substitution behaviour slightly
	  more easy to see.

Fri Jul 24 16:01:28 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c, src/compil.c: Correctly compile/decompile all the new
	  function attributes

	* src/calc.c: correctly print out the local stuff, handle local node
	  correctly when outside of functions

	* src/funclib.c, src/graphing.c: handle eof errors from parsing
	  things correctly without dying.

	* src/dict.c, src/eval.c, src/structs.h: is_local generally should
	  not be moved around with the function.  Also correctly copy/free
	  all the other attributes when needed as well.

	* src/eval.c: Set arguments BEFORE extradict.  This should never
	  be an issue, but it feels more correct.

	* src/dict.c: when the subst list becomes empty, remove from subst
	  list to avoid unnecessary lookups

	* lib/*/*.gel: update and fix for the [] operator

	* src/geniustests.txt: Add some testcases

	* src/symbolic.c: just a comment change

Thu Jul 23 18:35:28 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/parse.y, src/eval.c, src/dict.c, src/structs.h: Add an optional
	  list of extra_dict parameters to function definition.  In this
	  case the subst dance never happens and those variables are added to
	  extra dict at function definition time.

	* lib/*/*.gel: Use local where appropriate and the [] extra dict
	  definition where appropriate

	* src/testscope.gel, src/geniustests.txt: update test suite

	* src/geniustest.pl: fix colors

Thu Jul 23 16:28:59 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/dict.c, src/eval.c: remove some forgotten debug prints

	* src/eval.c: do not allow setting a new parameter over a protected
	  id

	* src/funclib.c: Add UserVariables function

	* src/geniustests.txt, src/testscope.gel: add new tests

Thu Jul 23 12:26:47 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: Add UndefineAll, ProtectAll, make Undefine an alias
	  for undefine.

	* src/dict.[ch], src/eval.c: allow setting of protected parameters,
	  they just can't be deleted or changed

	* lib/*.gel: Use the ProtectAll function

	* src/testscope.gel: add extra tests

Wed Jul 22 14:44:10 2009  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: raise version, require slightly newer glib (2.10)

	* src/compil.c, src/dict.[ch], src/eval.[ch], src/lexer.l,
	  src/parse.y, src/parseutil.[ch], src/structs.h:  Add local
	  variables (not seen by higher contexts).  Also fix several minor
	  issues relating to dictionaries and lookup, mainly subst list
	  function is not substituted again if it is passed up and down the
	  contexts, and substitution is done in a smarter way.

	* src/dict.[ch], src/gnome-genius.c: Redo the way contexts are done
	  to get rid of some gslists

	* src/mpwrap.[ch]: allocate new real nums in a smarter way (by large
	  blocks) and put no limit on the number of real number structures
	  on the free list.

	* src/geniustests.txt, src/testscope.gel:  Add scope tests

Wed Jul 22 00:30:36 2009  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel: update for newest info from
	  GIMPS.  Also fix MersennePrimeExponents (it had 3 columns by
	  mistake)

Fri Jul 10 14:53:41 2009  Jiri (George) Lebl <jirka@5z.com>

	* help/C/figures/genius_window.png, help/C/figures/line_plot.png,
	  help/C/figures/line_plot_graph.png, help/C/figures/parametric.png,
	  help/C/figures/parametric_graph.png,
	  help/C/figures/surface_graph.png, pixmaps/32x32/gnome-genius.png,
	  pixmaps/48x48/gnome-genius.png, pixmaps/genius-graph.png:
	  Optimize PNGs

Thu Apr 23 01:32:06 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: Fix opening new files from the command line.
	  It just works now.

	* lib/calculus/Makefile.am, lib/calculus/fourier.gel:  Add some
	  Fourier series routines.  This currently exposes a bug in scoping
	  rules

Sun Apr 19 19:27:09 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/geniustests.txt, src/testprec.gel: test the precision stuff

	* src/graphing.c: Apply patch from Matthias Drochner of NetBSD to
	  fix uninitialized variable in one dimensional function plots

Sun Apr 19 18:55:12 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.c: Fix conflict with changing precision and the mpfr
	  cache.  Also fix a possible extra negation error in pow_z.

Fri Apr 03 15:42:40 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: joins and caps are round.  Fixes bad looking joins
	  on graphs of quickly oscillating functions

Sun Mar 15 00:04:08 2009  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.6

Sun Mar 15 00:01:20 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/*.[ch]: do much interface cleanup again.

Mon Mar 09 16:48:03 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/*.[ch]: lots of cleanup plus bin compat breakage for plugins:
	  Moved many things to the gel_ or genius_ namespace for consistency
	  sake.  There aren't actually any plugins that I know of so, who
	  cares if this all changes.  Plus bin compat is already broken this
	  release, as it does almost every other release

	* src/funclib.c: accept opposite orientation interval for
	  CompositeSimpsonsRule

	* src/geniustests.txt: update tests

Thu Mar 05 01:47:55 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: LinePlotDrawLegends parameter actually updates
	  the legends drawing in real time.  Don't store the parameter value
	  as an extra.

	* src/graphing.c: always update spinboxes before plotting something
	  not just on activate.

Wed Mar 04 23:58:43 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: add two more style strings to LinePlotDrawLine.
	  First "window" can set the window, with a "fit" being a fitting
	  window.  Also allow drawing of arrows by "arrow" followed by
	  "end", "both", "origin", "none" (done in canvas coordinates, not
	  screen coordinates, not ideal, try zooming)
	
	* src/graphing.c, src/funclib.c: a bit of cleanup, some pointless
	  optimizations, and make sure the graphing functions don't get
	  called during plotting.  Also setting LinePlotWindow,
	  SurfacePlotWindow will change zoom immediately as one would expect

	* help/C/gel-function-list.xml: update

Mon Mar 02 02:38:40 2009  Jiri (George) Lebl <jirka@5z.com>

	* **/Makefile.am: implement profile-generate and profile-use
	  target for profile guided optimization.  Not quite all working
	  I don't think, but simple tests produce impressive results.

	* gtkextra/gtkplotflux.c: fix bad use of snprintf

Mon Mar 02 02:07:52 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix bad drawing of very vertical functions.  Our
	  new hack in gtkextra handles lines way off screen more sanely so
	  we needn't worry much here.

Fri Feb 27 14:42:12 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.[ch], src/funclib.c: remove the dependence on the MPF
	  compat layer.  Inline a few more functions.  Implement mpwl_eql
	  to make comparisons of rationals quicker.  Remove certain old
	  gmp/mpfr bug workarounds, a bit of cleanup

	* src/matop.c: in the mul_sub_row, cache the tmp variable for
	  greater speed.

Thu Feb 26 18:40:16 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: don't kill newlines in descriptions.  This is no longer
	  a problem.  Further reduces startup time by a tiny bit.

Thu Feb 26 02:34:54 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: fix crash of string dumping

Thu Feb 26 02:27:06 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c, src/calc.c, src/dict.[ch], src/gnome-genius.h,
	  src/structs.h, src/symbolic.c: store uncompiled string in the
	  token, not in a separate hash table.  This avoids extra lookups
	  during startup.

	* src/calc.c: a bit more optimization for help initialization

Thu Feb 26 00:54:16 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: handle crashes of the readline-helper without
	  hanging.  Slight reorganization of startup to show window few
	  nanoseconds faster.  Also don't use gtk_show_uri yet.  This
	  causes backwards binary incompatibility which sucks as my other
	  laptop uses hardy.

	* src/calc.c: slight improvement in help handling.  Don't sort
	  the functions in the categories until we really need to.

	* src/dict.c: when checking for similar id's do the sum and a square
	  sum to check for reorderings.  This fixes the strange suggestions
	  sometimes

	* src/genius-readline-helper.c: avoid crashes on getting SIGINT, ignore

Tue Feb 24 22:05:41 2009  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/gtkplotdata.c, gtkextra/gtkplotgdk.c: Move the line
	  clipping code from the GDK backend to the plotdata.  Replace
	  the one relevant draw_lines call with the new one.  I wonder
	  if this should be done in more places.  This is a mess!
	  There are still bugs if you zoom in way too much.  Not quite sure
	  what the bug is.  We may need to actually move the endpoints 
	  of the line.  This fixes broken EPS/PS export and printing
	  when zoomed in to a slopefield/vectorfield/parametric graph.

Tue Feb 24 01:35:34 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: use gtkextra clipping of lines

	* gtkextra/*.c: apply patches from cvs gtkextra

	* gtkextra/gtkplotgdk.c: fix drawing of lines which have parts which
	  are very far offscreen.  Need to push this logic higher up the stack
	  since such lines also kill the postscript output.

	* src/graphing.c: remove some pointless allocation of point
	  arrays.

	* src/gnome-genius.c, src/graphing.c: fix menu accelerators

Mon Feb 23 11:01:10 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix the extra precision calculations to work 
	  for increments of 2.5.  Also try a tiny bit harder to get more
	  than 3 ticks

Sun Feb 22 00:00:04 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: clip slopefield solutions to within the plot window.
	  to avoid unsightly overshooting lines when step size is too large
	  (or when slope is too large)

Sat Feb 21 03:12:36 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: after ps/eps export queue draw on the plot canvas
	  because it for some reason needs it

Thu Feb 19 23:48:45 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/genius_lists.c, src/inter.c, src/genius-readline-helper.c: fixup
	  operator list, remove the param list since params have toplevel
	  function nodes nowadays (for better part of a decade already :)

Thu Feb 19 23:19:37 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/genius.c, src/gnome-genius.c: set prgname and application_name
	  for glib

Thu Feb 19 20:33:26 2009  Jiri (George) Lebl <jirka@5z.com>

	* ve/ve-miscui.[ch]: remove the option menu func since option menu is
	  deprecated anyway

	* src/gnome-genius.c: use g_idle_add instead of gtk_idle_add

Wed Feb 18 00:28:12 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: handle read only files properly.  Also verify 
	  text to be proper utf8 before inserting it into the text entry.
	  And the notebook now has a right click menu to switch between
	  programs.

	* src/graphing.c, gtkextra/gtkplotcanvas.c: avoid spurious draws
	  during new plots to avoid flicker when several LinePlot actions
	  are done in sequence.  Also fix gtkextra to honour the freeze 
	  in child draw.

Tue Feb 17 17:35:44 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix the scales on the axis (the precision was
	  reversed!)

	* src/graphing.c: draw the x/y axis and a dotted grid in grey.  This
	  really improves readability I think.  This should be configurable I
	  guess.

	* src/funclib.c, src/gnome-genius.c, src/genius.c: allow setting
	  default for AskString as second argument

	* help/C/gel-function-list.xml: update

Mon Feb 16 01:27:46 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix some strings

Mon Feb 16 01:09:16 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: add padding to string query dialogs.  Add stock
	  plot icon

	* pixmaps/*/genius-stock-plot.png: Draw a simple plot icon for the
	  menu/toolbar

Mon Feb 16 00:11:29 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/plugin.c: minor fixes.  Display help for
	  plugin loading, don't do lazy binding (can lead to stupid crashes,
	  better just not load bad plugins) also pass the LOCAL flag to
	  plugins to be safer.

	* src/Makefile.am: add the NOGUI libs to gnome-genius.  That will
	  make plugins work again

Sun Feb 15 20:05:05 2009  Jiri (George) Lebl <jirka@5z.com>

	* configure.in, src/gnome-genius.c: small cleanup

Sun Feb 15 19:50:15 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix tlen default (to be 5 not 0.1), tinc default is
	  set according to tlen

Sun Feb 15 18:51:42 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Add solver dialog to vectorfields.  Also add
	  VectorfieldDrawSolution and VectorfieldClearSolutions.  Also draw
	  arrows with proper arrows not triangles.  Change default to not
	  normalize arrow length, that's better default I think.

	* help/C/genius.xml, help/C/gel-function-list.xml: update

	* ve/ve-nongnome.c: remove some unused functions

Sun Feb 15 15:18:20 2009  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: raise version

	* configure.in, src/gnome-genius.c: finish the de-libgnome(ui)ization
	  And remove the libgnome(ui) dep.  Removes 14 libs from the output
	  of 'ldd'

	* ve/viciousui.h: remove libgnome include

Sun Feb 15 11:25:47 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: in the event hook, handle events until all
	  handled, fixes "hangs" or extreme ui slowdowns
	  when event hook is not run often enough

	* ve/ve-miscui.[ch]: steal gtk_dialog_run and do
	  ve_dialog_run_nonmodal.  This way we can interrupt a tight loop
	  with AskString's in it

	* src/gnome-genius.c: start implementing a window with GtkUIManager
	  to get rid of libgnomeui dep.

Fri Feb 13 14:51:43 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: use gtk_show_uri to show help
	  when gtk is high enough version

Fri Feb 13 13:59:11 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/graphing.c, src/gnome-genius.h src/genius.c:
	  some more delibgnome(ui)ification

Fri Feb 13 13:29:35 2009  Jiri (George) Lebl <jirka@5z.com>

	* ve/ve-misc.c, ve/ve-misc.h, ve/ve-gnome.c, ve/ve-nongnome.c,
	  ve/ve-config.c:  remove ve_find_prog_in_path and
	  ve_i18n_get_language_list, those have analogs in glib now
	  ve_is_prog_in_path now doesn't take the extra path argument,
	  gdm needed that somewhere and ve is only for genius now.

	* src/graphing.c: use ve_is_prog_in_path in the new way

	* configure.in: require glib 2.6.0 as well

Fri Feb 13 13:08:55 2009  Jiri (George) Lebl <jirka@5z.com>

	* configure.in, ve/Makefile.am: do not compile glade-helper,
	  we don't need glade thus kill the libglade dep

	* configure.in: require GTK 2.6.0 (yeah way behind times)

	* src/gnome-genius.c: exorcise some libgnome/ui demons.  get rid of
	  gnome_help_* and gnome_config_* and gnome_about*  One more step
	  towards getting rid of this dep

	* src/genius.c, src/gnome-genius.c: when binreloc gets us the wrong
	  dir do not use it.  Use the default compiled in dir as backup.

Tue Feb 10 16:43:08 2009  Jiri (George) Lebl <jirka@5z.com>

	* configure.in, NEWS: raise version update NEWS

	* src/mpwrap.c: fix leak in multiply

	* src/mpwrap.c: fix a leak and fix a buffer overrun (Thanks to
	  Simon Munton simon-genius at munton.demon.co.uk)

	* lib/equation_solving/diffeqs.gel: Fix EulersMethod (it was
	  overshooting by one increment)  Also EulersMethod and RungeKutta
	  now solve system by just accepting vectors for y

	* src/geniustests.txt: add new tests for EulersMethod

	* help/C/genius.xml, help/C/gel-function-list.xml: Update
	  documentation, fix EulersMethod doc by using the right id string.

Sun Feb 08 00:21:32 2009  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.4

Sun Feb 08 00:09:50 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: make sure the x and y point spinboxes are updated
	  when we click on the canvas to draw a solution

Tue Feb 03 00:00:11 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix typo (not adding a new string, in fact just
	  getting rid of a bad one, the good one is already in the
	  translations)

Mon Feb 02 23:40:32 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix typo, it is dy/dx not dx/dy.  Also fix the
	  slopefield vectorfield sizing stuff to actually get it right in
	  every aspect.  I.e., scale to uniform size AFTER converting to
	  pixels, DUH!

Mon Feb 02 01:11:11 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix the plot scale precision (especially for y).  
	  When we just click on the plot do zoom in instead of zoom into an
	  incredibly small window.  And finally make the create plot window
	  usable on a netbook by adding a scrollwindow on small screens
	  for the lineplot tab.

Sun Feb 01 10:54:30 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix typo thanks to Daniel Nylander

Sun Feb 01 00:11:32 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: do Runge-Kutta instead of Euler for the graphical
	  slopefield solver.  Whack VectorfieldCPlot (never implemented,
	  should not be a separate function anyway).  Implement
	  VectorfieldPlot and SlopefieldPlot.

	* help/C/genius.xml, help/C/gel-function-list.xml: update for all
	  the new changes

Sat Jan 31 18:44:38 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: resolve some GtkExtra nonsense (dx and dy for flux
	  are specified in pixels, that is some serious crack!) so that
	  slope/vector fields draw correctly in non-aspect zoom.  Implement
	  the "clear solutions" functions and included a GUI.  Implement
	  a solver dialog and implement "clicky-solutions" when the dialog
	  is ON.

Sat Jan 31 09:42:58 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.c: it turns out the gmp cmp functions can return other
	  values than -1,0,1.  So normalize on the mpw_cmp* level.  This
	  broke for loops that started at negative numbers.

	* src/geniustests.txt: add some tests for the for loops starting at
	  negative values

	* src/graphing.c: fixup the tick size for slopefield and vectorfield
	  Implement stubs for the GEL interface to all of these, allow
	  setting the increment in SlopefieldDrawSolution

	* src/calc.h: update the COPYRIGHT_STRING

Fri Jan 30 18:30:30 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix some leaks.  Implement a simple euler method
	  graphical solver for the slopefield.  Currently it is only
	  accessible by a temporary function just to see if it works.  It
	  needs a proper interface and also a UI interface.
	  Slopefield/Vectorfield do not yet have proper GEL interface either

Mon Jan 26 23:59:06 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Finish the GUI plotting of vectorfield and
	  slopefield, fix a leak on parametric plots, stretch out the labels
	  in the dialogs to make things fit better and look nicer.

Fri Dec 05 23:17:22 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: raise the plot window on gui actions (pressing the
	  plot button) if it exists.  Add a "Reset to original zoom" menuitem.

Wed Nov 19 00:29:04 2008  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel:  Add Eigenvectors.
	  Currently only for 2x2 matrices where computing eigenvectors is
	  relatively easy

	* help/C/gel-function-list.xml: add Eigenvectors

Fri Nov 14 00:29:17 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: slopefield works from GUI in a very rudimentary way

Sun Nov 09 23:33:04 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: another step forwards towards implementation of
	  slope fields and vector fields graphs.  UI is pretty much
	  implemented.  But it doesn't do anything yet.

Thu Nov 06 00:00:28 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: a tiny bit of cleanup, start implementing
	  slopefield/vectorfield graphing support.

Tue Nov 04 00:46:40 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: add checkbutton to allow for no legends on the
	  lineplot, useful if I want to just draw myself on the graphs

Tue Nov 04 00:19:54 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix warning

	* src/graphing.c: fix warning, handle error on print command, fix
	  bad labling of functions if some functions cannot be parsed or are
	  empty.

Mon Sep 22 23:23:51 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: rename parse/eval to Parse and Evaluate to be
	  more in line with my in-vogue naming in Genius (no need to
	  break the consistency even further)

	* src/calc.h, src/genius.c, src/gnome-genius.c, src/funclib.c:
	  Implement function AskString to interactively ask for a string.
	  Use a dialog in GUI mode and readline in command line mode

	* src/geniustests.txt: add some tests

	* help/C/gel-function-list.xml: update

Mon Sep 22 00:05:25 2008  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: raise version

	* src/funclib.c: Add 'parse' and 'eval' functions

	* help/C/gel-function-list.xml: add 'parse' and 'eval' blurbs

	* src/calc.c, src/genius-readline-helper.c, src/gnome-genius.c:
	  handle return values of chdir, getcwd, write, pipe properly

	* src/funclib.c, src/genius.c: move manual display out of funclib.c
	  and make it less hackish, and use less or more if available to
	  display manual for the text mode version.

	* src/funclib.c: correctly call the gel_errorout function to avoid
	  crashes from calling "error"

Sun Sep 21 17:50:50 2008  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel: Update the Mersenne prime info
	  to include the two newest ones.

Tue Jun 10 12:25:17 2008  Jiri (George) Lebl <jirka@5z.com>

	* help/C/gel-function-list.xml: minor typo fix

Tue Jun 10 09:18:46 2008  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.3

Sat Jun 07 13:02:21 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/matop.c, src/funclib.c, src/eval.c: Add a new flag to not do
	  backsubstitution in gauss if we are interested in nullspace and
	  the matrix is nonsingular
	
	* src/matop.c: fix the return value of gauss.  Singular means
	  nonempty nullspace, i.e. maximal row rank.  This also fixes
	  SolveLinearSystem which didn't work according to specs, i.e. it is
	  supposed to return null when solution is nonunique.

	* src/geniustests.txt: add more tests

Thu Jun 05 11:40:58 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: fix argument checking in MillerRabin.  Also
	  zeros, ones, rand, randint, I, SetMatrixSize now accept 0 for size
	  and return null as an empty matrix.  Also wait, IndexComplement
	  accept 0 and work accordingly.
	
	* help/C/gel-function-list.gel: update accordingly

Wed Jun 04 11:56:25 2008  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml, help/C/gel-function-list.gel: update the docs
	  a little, fix a few typos, add links.

Wed Jun 04 03:51:25 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: figure out a way to work around VTE nonsense,
	  one way to get at current absolute row is by checking the cursor
	  location and assuming it is on the last line.  Improve
	  monitoring by using a text buffer and allow to turn off the 
	  automatic updates.  Full answer is now wrapped if not a matrix.
	  Don't set icon if it doesn't exist to avoid warning.  Don't try
	  to use readline helper from current dir if not in dev dir.

Tue Jun 03 20:14:34 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix some capitalization issues, implement
	  a variable monitor dialog.  Also add code to save current console
	  but that is disabled due to VTE having useless (read: unusable)
	  API for getting at the buffer.  You require some private knowledge
	  to use the get_text_range function.  Otherwise the API is
	  pointless.

Thu May 22 01:10:40 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: fix identity matrix caching, setup type caches for
	  identity, zeros and ones

	* src/matop.c: move rref caching to gauss to speed up inverting
	  matrices in rref form etc...

Tue May 20 02:36:47 2008  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel: update slightly the upper bound on
	  double checked mersenne prime exponents to newest value

Tue May 20 00:25:10 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/matrixw.[ch], matop.c, src/eval.c, src/funclib.c:  Optimize
	  matrix manipulation a bit.  Don't be overly conservative with
	  making things private.  And OMG we used Gauss-Jordan instead of
	  backaddition.  Also when the matrix is not rational, do pivotting
	  (use largest entry, not first nonzero one)

	* src/mpwrap.c: fix mpw_abs if called with same arguments for in and
	  out and add mpw_abs_sq for getting the absolute value squared,
	  which doesn't involve a sqrt

	* src/genius.c, src/gnome-genius.c, src/eval.[ch], src/matrixw.c: 
	  init the_zero during the startup

	* src/mpzextra.c: very minor optimizations

	* src/Makefile.am: fix BUILDDIR setup

Mon May 19 19:56:37 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/mpzextra.c: fix leak on mympz_is_prime.

Sun Feb 24 18:38:31 2008  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: update

Sun Feb 24 18:35:45 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: print extra dict of a function by printing a list
	  of variable assignments before the function body.

	* src/dict.c: a little cleanup and fix the problem with subst list
	  updating and d_replacefunc which happened when a local variable
	  which was previously set to something else was set to a function.

	* src/geniustests.txt: add more tests on returning functions
	  and the subst list handling

	* help/C/genius.xml: add section on returning functions from
	  functions

Sun Feb 24 15:25:45 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/dict.c, src/funclib.c: Add IsDefined and undefine.  Implement
	  d_delete.  protect and unprotect now work with matrices of
	  identifiers.

	* src/geniustests.txt: add tests

	* help/C/*.xml: update docs

	* TODO: problems with subst lists can lead to crash, document this

Fri Feb 22 02:44:23 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c, src/mpwrap.c: avoid warning

Fri Feb 22 02:41:35 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/*.[ch]: update copyright string as appropriate

Fri Feb 22 02:11:03 2008  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: raise version

	* lib/number_theory/primes.gel:  Add IsMersennePrime and
	  MersennePrimeExponents

	* help/C/gel-function-list.xml, help/C/genius.xml: document the above

Fri Feb 22 01:38:54 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: add mpw_re_sgn and mpw_im_sgn functions and fix
	  memory leak in mpw_re and mpw_im

	* src/funclib.c: Implement QuadraticFormula internally, marginally
	  improving performance, but mainly handle special cases better
	  and avoid instability in solutions (avoid bad cancellation in most
	  cases)

	* lib/equation_solving/formulas.gel: remove QuadraticFormula from
	  here

	* src/longtest.gel: add tests for quadratic formula

Sat Jan 12 15:03:19 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c: make internal function calling a bit faster.  Can be
	  noticeable (tested 10% on fast operations)

	* src/funclib.c: fix memory leak

Thu Nov 29 10:34:41 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/gel-function-list.gel, lib/combinatorics/misc.gel:  Fix
	  spelling of the Fibonacci function name.

Tue Nov 20 23:20:58 2007  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.2

Tue Nov 20 23:13:36 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: no mod of arguments to round, ceil, trunc, all trig
	  functions, all log functions, exp, CompositeSimpsonsRule.  It
	  just doesn't make sense to do so.  Fix IsPerfectSquare for
	  rationals.

Tue Nov 20 12:26:58 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: one more untranslated string marked

Tue Nov 20 03:34:28 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: set up our icon on all windows

Tue Nov 20 03:22:14 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.c: saner algorithm to figure out when to print in
	  scientific notation

Tue Nov 20 02:33:03 2007  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: raise version

	* src/gnome-genius.c: don't leave behind zombie processes from
	  running programs.  Translate a previously untranslated string,
	  and handle fork failing.

	* src/eval.c: the @() operator accepts null as range when not used
	  as an lvalue and just returns null then.  That's the more
	  correct behaviour, treating it as an empty range, thus returning
	  an empty matrix.  Plus negligible speed improvement.

	* src/calc.c: kill extraneous newline when prettyprinting fractions

	* src/geniustests.txt: add tests

	* NEWS: update

2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>

	* src/gnome-genius.desktop.in: Fix category and mimetype fields
	  of the desktop file.

2007-11-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* help/omf.make: And now fix the OMF file installation if
	  --disable-scrollkeeper is used for real.

2007-11-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* help/omf.make: Fix OMF file installation if --disable-scrollkeeper
	  is used.

Mon Nov 19 03:21:44 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.c, src/funclib.c: slight optimization by using
	  mpfr_zero_p

Mon Nov 19 02:56:58 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/symbolic.c: add erf derivative

Sun Nov 18 14:48:56 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix building with no gtksourceview 

Sat Nov 17 21:27:26 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: use GTK_STOCK_DIALOG_INFO instead of
	  GTK_STOCK_INFO, as the latter is only available in 2.8 and higher
	  gtk, thus making genius implicitly depend on 2.8

	* ve/Makefile.am: don't use -l to link to the viciouslib but link it
	  directly

Fri Nov 16 23:36:57 2007  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.1

Fri Nov 16 23:10:29 2007  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/gtkplot.[ch]: add freeze/thaw functions since otherwise
	  we may hang and eat all memory on recalculating ticks needlessly
	  when changing both range and ticks.

	* src/graphing.c: use freeze/thaw to avoid hangs and huge memory
	  leaks.  On parametric plots, squish the graph a little and move
	  the legend below the plot.

	* NEWS: update

Fri Nov 16 00:50:48 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/calculus/sums_proucts.gel: increase default sum and product
	  tries to 10000, since 200 was just not cutting it.

Thu Nov 15 23:30:51 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: Much nicer pretty printing of matrices.  Rather
	  than using tabs, use commas and align elements successive rows.
	  Both nicer, more readable (when MixedFractions is on) and more
	  compact way of seeing matrices.  Yay!

	* src/lexer.l: drop the tab support for entering matrices.  Not only
	  was it stupid, it didn't work on the command line

	* src/funclib.c: fix print, printn and display functions to not follow
	  the line length limits like normal output

	* src/calc.c: when pretty printing a matrix, only print the leading
	  newline if we are not in fact on the start of a line

	* configure.in: check for svn rather than cvs to add extra warnings

	* src/gnome-genius.c: make is_uri static to avoid a warning

	* help/C/genius.xml: update the manual

	* NEWS: update

Thu Nov 15 18:39:06 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/Makefile.am: add nullspacetest.gel

Wed Nov 14 20:13:29 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/matop.c: fix possible memory corruption in the gauss
	  routine

	* src/matrixw.c: slight optimization to not copy zeros

	* src/funclib.c, lib/linear_algebra/*.gel: Implement NullSpace
	  and PivotColumns internally for speed.

	* src/gnome-genius.c: remove some unused vars

	* src/geniustests.txt, src/nullspacetests.txt: add tests for
	  PivotColumns and NullSpace

Wed Nov 14 04:15:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/*.gel: OrthogonalComplement is with respect
	  to Hermitian product just like everything else.  Also
	  handle null as empty matrix/subspace in more places.

Wed Nov 14 03:45:42 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/matop.c, src/symbolic.c, src/mpwrap.[ch], src/calc.c,
	  src/funclib.c, src/eval.c: Significantly improve both
	  memory usage and speed in matrix multiplication and to some degree
	  Gaussian elimination in case there are a lot of zero entries.

	* src/geniustests.txt: update

Tue Nov 13 23:48:25 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/matrixw.[ch], src/calc.c, src/funclib.c, src/matop.c,
	  src/symbolic.c, src/compil.c, src/eval.c: Optimized / cleaned up
	  certain matrix operations a tiny bit.  Consistently traverse
	  matrices row wise.

	* src/funclib.c, src/eval.c: Fixed and slightly optimized IsIn,
	  it used to bomb if the first argument was a matrix, and it
	  used to think that the object "true" is equal to any number,
	  and further it didn't see a difference between numbers of
	  different types (float vs. integer).  This fixes also Intersection,
	  Union, MakeSet and SetMinus.  Also added IsSubset.  Also fixed
	  symbolic tree comparison for matrices.

	* src/mpwrap.c: When printing out a floating point number, make sure
	  to append ".0" to the end to distinguish it from an integer

	* src/geniustests.txt:  updated tests, added many new tests.

	* help/C/gel-function-list.xml: updated

	* NEWS: update

Sun Nov 11 03:17:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: translate the author fields in the about box
	  and set the program name correctly

Sun Nov 11 03:07:04 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: there was a stupid string to translate

Sun Nov 11 00:14:04 2007  Jiri (George) Lebl <jirka@5z.com>

	* pixmaps/Makefile.am: add genius-graph.png to EXTRA_DIST

	* src/funclib.c: Implement DividePoly to divide polynomials
	  using long division.  This was one of those things that
	  I set aside to do "tommorrow" and it took close to a decade.

	* help/C/gel-function-list.xml: document DividePoly

	* configure.in: require GTK+ 2.4 (not 2.3.5 as previously)

	* NEWS: update

Sat Nov 10 16:58:14 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: migrate to GtkFontButton and add website addy
	  to about box

Sat Nov 10 16:22:09 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: optionally use GtkAboutDialog if we have GTK
	2.6 and higher

	* src/gnome-genius.c, src/genius.c, src/Makefile.am: better checking
	if we are in the development directory and if so, don't init binreloc
	and use the local lib.cgel

Sat Nov 10 13:51:26 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix fit dependent axis zoom for parametric plots

	* src/dict.[ch], src/gnome-genius.c, src/eval.c: Add names to
	  contexts and print these when showing local variables so that you
	  can see the "backtrace".  Also the display of vars is slightly
	  nicer now.

Thu Nov 08 00:51:16 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/genius.c, src/funclib.c, src/plugin.c,
	  src/lexer.l, src/binreloc.[ch], acinclude.m4, src/Makefile.am:
	  add and use Binreloc code from autopackage to allow relocatable
	  executables.  Slightly massaged the code/auto* stuff to make it
	  work.

Mon Nov 05 01:31:51 2007  Jiri (George) Lebl <jirka@5z.com>

	* Makefile.am: add the INSTALL.MacOSX file to EXTRA_DIST

Mon Nov 05 00:15:09 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.[ch], src/mpwrap.[ch], src/funclib.c, src/genius.c,
	  src/gnome-genius.c, src/structs.h src/geloutput.[ch]:  Implement
	  OutputChopExponent and OutputChopWhenExponent parameters.  These
	  will chop small numbers if they appear near large numbers.

	* src/gnome-genius.c: try to use G_DIR_SEPARATOR more just in case
	  someone will start porting genius

	* help/C/*.xml: update documentation for chopping

	* src/geniustests.txt: add tests for chopping

	* README, NEWS: update

Sun Nov 04 02:37:58 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: unswap x and y.  They are now in correct positive
	  orientation in gtkextra.

	* src/gnome-genius.c, pixmaps/gnome-graph.png: add a simple "logo"
	  to the about box

	* NEWS: update

Sat Nov 03 20:51:37 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Use -10 to 10 for all default ranges.  Much better
	  than PI, that was stupid.  Set minimum plot window to 1e-10 and
	  enforce it to avoid errors with computing ticks leading to
	  hanging behaviour.

	* gtkextra/*: copy new files from cvs version of gtk extra except
	  for gtkplotps which is broken, so keep our old version which works

	* gtkextra/gtkplot3d.[ch]: fix up the axis mess

	* src/graphing.c: use the new gtk extra stuff.  Produces nicer
	  plots on screen.  Initial patch was by Sebastian Dröge
	  <slomo@circular-chaos.org>

2007-11-03  Sebastian Dröge  <slomo@circular-chaos.org>

	* configure.in:
	* src/Makefile.am:
	* src/gnome-genius.c: (get_source_language_manager), (new_program):
	Optionally allow to use GtkSourceView2 instead of GtkSourceView1.
	Version 2 is preferred if available, otherwise version 1 will be used.

2007-11-03  Sebastian Dröge  <slomo@circular-chaos.org>

	* Makefile.am:
	* configure.in:
	* help/omf.make:
	Add --disable-scrollkeeper and --disable-update-mimedb options to
	configure to skip building the scrollkeeper and mime database on
	make install. The files generated by this must not be shipped by
	binary packages and having this options makes it easier to package
	genius.

Wed Oct 31 10:43:25 2007  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/*: remove gtkplotdtriangle.[ch]: they're not needed and
	  have a bad license.

Fri Oct 26 02:16:23 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.[ch], src/eval.[ch], src/genius.c, src/gnome-genius.c:
	  Implement maximum node checking.  If the limit is hit you are
	  given a chance to interrupt the current program.  Only in the
	  GNOME version.  Add this to the Properties dialog.

	* src/dict.c: Fix large performance problem on returning from a deep
	  recursion by not doing a stupid assert

	* help/C/genius.xml: document max_nodes

Thu Oct 25 15:22:16 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/inter.c: fix command line editting.  readline docs are
	  horrible! (and readline is horrible)

	* src/gnome-genius.c: fix strange printing of locals among globals

Thu Oct 25 13:47:40 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/dict.[ch]: Implement showing of all user
	  variables even during runtime.  Shows even local variables if some
	  function is currently being executed.  Allows better debugging

	* src/gnome-genius.c: fix show full answer leak and fix running it
	  during runtime.

	* configure.in: bump version

	* help/C/genius.xml: update docs a bit, add some more info on the gui
	  part of genius.

Tue Oct 23 17:14:25 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: positive and nonnegative matrixes obviously can't
	  have complex entries so return false

Tue Oct 23 16:23:53 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: add IsMatrixPositive and IsMatrixNonnegative

	* help/C/gel-function-list.xml: add docs for the above

Tue Oct 23 16:04:56 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: add "version" function for checking the version

	* help/C/gel-function-list.xml: add doc for version

Tue Oct 23 15:42:03 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c, src/funclibhelper.cP: Add IsZero and IsIdentity for
	  checking if a matrix is zeros or an identity

	* help/C/gel-function-list.xml: add docs for the above

Tue Oct 23 13:57:03 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: on errors don't print the whole filename for
	  opened files, just the displayed name

	* src/gnome-genius.c: add Ctrl->R for "Run"

Tue Oct 23 13:33:42 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: slightly optimize
	  PivotColumns by removing unnecessary separators

	* src/matop.c, src/funclib.c: when computing det be smart about
	  matrices in rref form.  This way once we make a matrix rref,
	  we can use det to check if it is singular very quickly.  Also
	  set the rref flag on identity matrices.

Tue Oct 23 12:28:56 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: add "save all unsaved" menu item, fix the save
	  as dialog, and add confirmation on closing unsaved things.

Tue Oct 23 11:33:56 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/functions/numerical.gel: remove IsGaussianInteger, we already
	  have IsGaussInteger alias IsComplexInteger

	* help/C/gel-function-list.xml: updates and fixes

Tue Oct 23 10:51:24 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: better logic for figuring out something is a
	  URI

Mon Oct 22 21:39:42 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: recognize uris on the command line
	  and handle them correctly

Mon Oct 22 19:38:03 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: whack the old gtk file selection stuff,
	  I'm tired of fixing bugs in two versions of code.  Consistently
	  have uri's around as program->name internally.  Fix opening
	  files without specifying full path on command line.

	* configure.in: require at least gtk+ 2.3.5

Tue Oct 16 11:05:32 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.desktop.in: hmmm, Calculator;Utility; also fits
	  the bill.  Makes the menu entry appear twice at least in ubuntu.
	  ... hmmm oh well.  The default menu setup in gnome must be a little
	  braindead and uses too simple queries.

	* help/C/genius.xml: added Accessories to list of possible submenus

Tue Oct 16 10:53:33 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.desktop.in: change Office to Education as per
	  the vfolder spec (that's still somewhat wrong, but unfortunately
	  it is as close to standard behaviour as we get).  Also notice
	  that the Scientific category was wrong.  "Science" is correct
	  as per spec.

	* help/C/genius.xml: update the manual for where to find the icon.

Sun Oct 14 10:10:11 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: add Adrian E. Feiguin to the authors
	  list in the about box

Sun Oct 14 09:40:59 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: I finally found the culprit behind some of
	  the initial GEL implementations of standard library so I added
	  him, Nils Barth to the authors list.

Sun Oct 14 02:33:43 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/*: update the documentation a bit more.  Make it almost one
	file only by inlining all the things done as separate entities
	before, that was a nightmare to edit.  Only the function list
	and the legal nonsense is left separate.

Sat Oct 13 10:38:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/*.xml: minor fixes

Sat Oct 13 09:42:33 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/gel-variables.xml: add more on scope of variables and
	  other minor fixes.

Mon Oct 08 01:56:06 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/*.xml: documentation updates

	* Release 1.0.0

Sun Oct 07 12:48:33 2007  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: add missing languages

Sun Sep 30 21:00:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: use the "Genius Mathematics Tool" that sounds
	  better

Sun Sep 30 20:53:11 2007  Jiri (George) Lebl <jirka@5z.com>

	* COPYING, src/genius.c, src/gnome-genius.c, src/funclib.c: update
	  to GPLv2

	* AUTHORS, TODO, README: minor updates

Sun Sep 30 20:31:30 2007  Jiri (George) Lebl <jirka@5z.com>

	* configure.in, NEWS, help/C/genius.xml: make this 1.0.0 release,
	  what the hell, it's been 10 years, we deserve a 1.0 of Genius

Sun Sep 30 11:42:59 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: workaround a segfault in vte when
	  a very long string is given.
	
	* src/mpwrap.c: fix bug with scientific notation.  Also change
	  behaviour of automatic scientific notation to follow the max digits
	  parameter

	* src/Makefile.am: fix order of -I and change the way we link our own
	  libs to be more robust.

	* configure.in: fix

	* src/funclibhelper.cP: fix nonegative integer vs positive integer
	  checking and add square matrix checking

	* src/mpwrap.[ch]: add binomial and get_ulong

	* src/funclib.c: Add builtin versions of IsVector, IsDiagonal,
	  IsUpperTriangular, IsLowerTriangular, nCr (Binomial) for speed.

	* help/C/gel-function-list.xml: add docs for
	  RayleighQuotientIteration, StirlingNumberFirst and Second,
	  and update nCr doc string

	* help/C/*.xml: update the document to look better printed.  Remove
	  uneeded paragraph separators, and rewrite small bits.

	* lib/linear_algebra/misc.gel: fix ApplyOverMatrix2, remove some
	  unneeded semicolons, remove functions now builtin

	* lib/linear_algebra/linear_algebra.gel: fix RayleighQuotient
	  and add RayleighQuotientIteration

	* lib/combinatorics/misc.gel: Hofstadter, HarmonicNumber
	  works over matrixes.  Add StirlingNumberFirst and
	  StirlingNumberSecond

	* lib/combinatorics/factorial.gel: remove nCr as it's builtin

	* src/calc.h, src/gnome-genius.c: brag about my Ph.D.

	* src/geniustests.txt: add bunch of tests

Fri Sep 28 19:41:00 2007  Jiri (George) Lebl <jirka@5z.com>

	* mpfr/*, configure.in, Makefile.am, src/Makefile.am:
	  Remove the internal MPFR, this is just too much trouble to maintain
	  here and MPFR is nowdays quite ubiquitous.

	* lib/combinatorics/factorial.gel, help/C/gel-function-list.xml:
	  it's Pochhammer, not Puchhammer

Fri Sep 28 03:19:50 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/combinatorics/misc.gel: add FrobeniusNumber and GreedyAlgorithm

	* src/funclib.c: fix vararg calls to the GCD and LCM aliases

	* src/geniustests.txt: add some tests

	* help/C/gel-function-list.xml: add help for FrobeniusNumber
	  and GreedyAlgorithm

	* configure.in: raise version

	* help/C/*.xml, help/C/figures/*.eps: add eps figures so that
	  postscript (and thus pdf by ps2pdf, docbook2pdf is broken now)
	  output has figures

Fri Mar 27 15:07:39 2007  Raivis Dejus  <orvils@gmail.com>

        * configure.in: Added Latvian Translation.

Fri Mar 09 09:17:39 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: fix for platforms that don't have wordexp and use glob.
	  Include the GLOB_NOCHECK flag to glob.  Patch from
	  Joerg Sonnenberger <joerg@britannica.bec.de>

Fri Feb 02 10:10:19 2007  Jiri (George) Lebl <jirka@5z.com>

	* Release 0.7.7

Wed Jan 31 23:01:00 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: use HUGE_VAL instead of 0.0 when we get an error,
	  this is better in that it doesn't display anything rather then 0
	  when for example the return value is not real.

Mon Jan 29 18:49:07 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: do what we do on inside program runs, when
	  we do "load and run" in terms of printout on the console

Mon Jan 29 16:53:24 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.[ch]: add "remember" settings to the gui and by
	  default don't remember precision and output settings as those
	  are most likely temporary.  Also add "mixed fractions" option to
	  the gui.  Add a Help button to the settings dialog

	* help/C/prefs-display.xml, help/C/prefs-precision.xml,
	  help/C/genius.xml: update for the above

	* help/C/Makefile.am: add gel-matrix-linalg.xml

Mon Jan 29 13:52:33 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: don't set output style to normal before showing
	  full answer, we want it in the current style

Mon Jan 29 13:32:29 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml, help/C/gel-function-list.xml,
	  help/C/gel-matrix-linalg.xml: minor updates, add skeleton
	  "Linear Algebra" section

	* src/funclib.c, src/matrixw.c, src/gnome-genius.c, src/calc.h:
	  update copyright strings

Mon Jan 29 12:04:16 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: Add "Show Full Answer" menu item, always show
	the Programs menu and add a "Console" item to the programs menu

Mon Jan 29 10:24:52 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/equation_solving/formulas.gel: Fix handling of real solutions
	  for the cubic to avoid ugly expressions with small imaginary values
	  where everything should be real.
	
	* src/geniustests.txt, src/longtest.gel: Fixup tests

	* help/C/gel-function-list.xml: small update to the formula entries

Mon Jan 29 01:35:56 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c, src/matrixw.c: DiagonalOf now returns a column
	  vector

	* lib/equation_solving/formulas.gel: Add QuarticFormula and use it in
	  PolynomialRoots.  Also return column vectors from QuadraticFormula,
	  CubicFormula

	* lib/linear_algebra/linear_algebra.gel: add support for 4x4 matrices
	  in Eigenvalues and always return column vector from that function

	* src/gnome-genius.c: add Next/Previous Tab menu item and accelerator

	* src/longtest.gel: test the quartic

	* help/C/gel-matrix-support.xml, help/C/gel-polynomials.xml,
	  help/C/gel-function-list.xml: Update the documentation

2007-01-24  Pema Geyleg  <pema.geyleg@gmail.com>

	* configure.in: Added 'dz' to ALL_LINGUAS.

Sat Jan 20 00:14:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/gel-function-list.gel: fix unbalanced para

Sat Jan 20 00:08:18 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: Fix spelling, it's
	  RayleighQuotient

	* lib/linear_algebra/linear_algebra.gel,
	  lib/equation_solving/formulas.gel:  Fixup CubicFormula to work
	  correctly with complex coefficients and implement Eigenvalues
	  for 3 by 3 matrices.

	* help/C/gel-function-list.xml, help/C/genius.xml: add a bunch of
	  documentation to the function list and Planetmath and Mathworld
	  links.

	* src/geniustests.txt, src/longtest.gel: add tests

	* add missing files to subversion

Fri Jan 19 21:34:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: add IsPositiveDefinite
	  and IsPositiveSemidefinite

	* src/geniustests.txt: add tests

	* help/C/gel-function-list.xml: update for the above

Sat Sep 02 11:27:01 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: add undo/redo capability

	* configure.in: raise version

Mon Aug 28 12:47:44 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/plugin.c, src/plugread.c, src/Makefile.am:  Fix plugin reading.
	  Fix the interface to be portable and append the proper extension on
	  reading the plugin.  Pass proper options to the linker on compiling
	  the test plugin.

	* src/test.plugin.in: whack the extension

	* src/calc.c, src/gnome-genius.c, src/genius.c, src/graphing.c:  Some
	  portability fixes with respect to the path names

Wed Aug 23 11:45:49 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-geniuc.c: cosmetic update to about box

	* src/calc.h: add diactrical marks in Jiri in the copyright string

Wed Aug 23 11:33:49 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: add Kai as documentor in the about box and add
	  the diactrical marks in Jiri in the about box

Sat Aug 19 11:59:04 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/lexer.l: fix flex braindamage with respect to yywrap function

Tue Aug 15 11:05:54 2006  Jiri (George) Lebl <jirka@5z.com>

	* Release 0.7.6.1

Tue Aug 15 10:29:40 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.c: catch all cases of complex result from power function
	  and fix unstable (possibly hung) newton's alg implementation of
	  rational exponentiation and replace with converting to float and
	  using mpfr_pow.

	* src/geniustests.txt: add tests

Sun Aug 13 14:15:42 2006  Jiri (George) Lebl <jirka@5z.com>

	* Release 0.7.6

Sat Aug 12 20:31:24 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c, src/mpwrap.h: add RiemannZeta and GammaFunction
	  (at least for real values)

	* lib/linear_algebra/special_matrices.gel,
	  lib/linear_algebra/misc.gel: Add MakeVector (like octave vec)
	  CommutationMatrix (octave commutation_matrix) and
	  ToeplitzMatrix (octave toeplitz)

	* help/C/gel-function-list.xml: add docs for the above

	* configure.in: raise version

	* src/geniustests.txt: add tests for new functions

Wed Aug 09 12:40:28 2006  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml, help/C/gel-plotting.xml: add a plotting
	  chapter.

	* help/C/figures/*.png: New plotting figures plus update the old
	  main window figure

Wed Aug 09 11:07:12 2006  Jiri (George) Lebl <jirka@5z.com>

	* lib/equation_solving/formulas.gel:  Add QuadraticFormula,
	  CubicFormula and PolynomialRoots functions

	* help/C/gel-function-list.xml: Add docs.

Tue Aug 08 11:00:19 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c, src/eval.c, src/funclib.c, src/matop.c:  Fix many
	  complex number comparisons to fix computation of complex matrix
	  determinants and other instances where gaussian elimination was
	  used.  Also for the polynomial functions and handling of booleans
	  and a few more.

	* src/genius.c: Add --exec option, follow gnu semantics for
	  the long options with arguments

	* src/geniustest.pl: Use --exec option instead of echo

	* src/geniustests.txt: Add tests for the complex number handling
	  fixes

Tue Aug 01 19:48:10 2006  Jiri (George) Lebl <jirka@5z.com>

	* Release 0.7.5

Tue Aug 01 19:48:10 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: use same geometry setup as gnome-terminal
	  (resize in terms of the terminal characters) I don't have
	  time to debug vte and new versions crap out when we don't set
	  this up.

	* po/POTFILES.in, Makefile.am, mpfr/Makefile.am,
	  mpfr/tests/Makefile.am, src/Makefile.am, help/C/Makefile.am:
	  fix build/distcheck for new autotools

	* help/omf.make, help/xmldocs.make: update to newest versions from
	  gnome-common to fix distcheck

Tue Jul 18 20:35:23 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/eval.c: fix matrix expanding

Mon Jul 17 01:55:30 2006  George (Jiri) Lebl <jirka@5z.com>

	* lib/linear_algebra/*.gel: Added QRDecomposition, SesquilinearForm,
	  SesquilinearFormFunction, killed GramSchmidtDot, DotProduct is now
	  the actual dot product, not the hermitian product.  InnerProduct
	  now calls HermitianProduct not DotProduct.  GramSchmidt,
	  Projection, VectorAngle have the inner product as an optional
	  argument.  GramSchmidt normalizes the vectors.  NullSpace optimized
	  a bit, now no longer calls ColumnSpace which was not needed.  Fixed
	  OuterProduct to actually return the outer product not just the 1,1
	  element.  Killed HermitianProduct which moved to being C based

	* src/funclib.c, src/funclibhelper.cP: implemented HermitianProduct
	  in C, optimized StripZeroColumns in the case when there are no
	  columns to strip

	* src/matrixw.[ch], src/funclib.c: remember that we did rref so that
	  we don't do it several times (speeds up NullSpace a bit)

	* combinatorics/factorial.gel, lib/linear_algebra/*.gel,
	  statistics/basic.gel: use zeros instead of SetMatrixSize

	* help/C/gel-function-list.xml: update

Fri Jul 14 18:00:39 2006  George (Jiri) Lebl <jirka@5z.com>

	* configure.in, mpfr/*: update mpfr to 2.2.0 and require 2.2.0 in
	  the configure script

	* src/mpwrap.[ch], src/funclib.c: use mpfr_pow_z and whack our own
	  stupid version.  Add CatalanConstant and atan2 functions

	* help/C/gel-functions-list.xml, lib/functions/elementary.gel:
	  document CatalanConstant, atan2, and change all "reverse function"
	  to "inverse function".

Fri Jul 14 01:00:03 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/funclib.c:  Add NextCombination function

	* src/geniustests.txt: add tests

	* help/C/gel-function-list.xml: add docs for NextCombination

Thu Jul 13 17:50:28 2006  George (Jiri) Lebl <jirka@5z.com>

	* configure.in, autogen.sh, acconfig.h, src/Makefile.am: use automake
	  1.9 to fix the po directory mess and other things.

	* mpfr/*: apparently automake gets update in cvs for this

Thu Jul 13 13:42:25 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/calc.h, src/*.c: update copyright strings for 2006

Thu Jul 13 13:33:12 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/funclib.c, lib/linear_algebra/linear_algebra.gel,
	  lib/linear_algebra/subspaces.gel:
	  Add CountZeroColumns function which is quicker then
	  stripping zero columns and then counting the remainder.  
	  Further port StripZeroColumns to C to make it a lot more
	  efficient.  This also optimizes things such as nullity, rank,
	  ColumnSpace, NullSpace and related.

	* src/geniustests.txt: Add some tests

	* help/C/gel-function-list.xml, help/C/genius.xml: Update the manual,
	  and expand a bunch of entries for a bunch of functions.

Thu Jul 13 10:53:54 2006  George (Jiri) Lebl <jirka@5z.com>

	* lib/sets/basic.gel, src/funclib.c, src/eval.[ch]: Implement IsIn,
	  Intersection and SetMinus in C for speed

	* lib/linear_algebra/subspaces.gel,
	  lib/linear_algebra/linear_algebra.gel:  Minor speed improvements
	  to NullSpace

	* src/geniustests.txt: add some more tests

Thu Jul 13 08:56:10 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/eval.c: fix leaks

	* src/matrix.c: zero out matrix data to init it

	* lib/linear_algebra/linear_algebra.gel: simplify NonPivotColumns a
	  tiny bit

Thu Jul 13 01:32:55 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/eval.[ch], src/matrixw.c, src/matrix.c: Fix a whole bunch of
	  leaks and memory corruption problems especially with respect to
	  loops and matrixes.

	* src/eval.c: fix evaluation of matrix entries to be a little faster
	  perhaps (don't ever push value nodes) and evaluate matrix entries
	  in the most obvious order rather then our previous
	  very weird order.

	* src/geniustest.txt: add a test

Wed Jul 12 14:26:35 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix error in using the file chooser

	* src/eval.c: fix compiler warning

	* ve/*, configure.in, **/Makefile.am: use a private copy of
	  slightly cut down vicious-extensions to make things work

2006-04-17  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Remove obsolete entry for no_NO.
	* po/no.po: And the translation.

2005-12-06  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Add nb to ALL_LINGUAS.

2005-08-24  Pawan Chitrakar  <pchitrakar@gmail.com>

	* configure.in: Added ne in ALL_LINGUAS

Thu Aug 11 11:51:10 2005  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: make the unsaved work quit dialog work for
	  window closing as well (it just asked but quit anyway in that case).

2005-08-08  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>

	* configure.in: Added "zh_TW" to ALL_LINGUAS.

Fri Jul 22 10:12:09 2005  George Lebl <jirka@5z.com>

	* Release 0.7.4

Thu Jul 21 16:56:44 2005  George Lebl <jirka@5z.com>

	* help/C/gel-function-list.xml: minor fix

	* help/C/genius.txt: generate

Thu Jul 21 16:54:09 2005  George Lebl <jirka@5z.com>

	* src/graphing.c: Add parametric plots, add LinePlotParametric and
	  LinePlotCParametric

	* src/mpwrap.[ch]: add mpw_get_complex_double

	* help/C/gel-function-list.xml: add LinePlotParametric and
	  LinePlotCParametric

Fri Jun 24 17:39:48 2005  George Lebl <jirka@5z.com>

	* src/symbolic.c, src/geniustests.txt: allow differentiation of
	  E_CALL's where first arg is a function, not an identifier, for
	  example this is what we get on SymbolicDerivative(sin*cos)

Fri Jun 24 17:21:22 2005  George Lebl <jirka@5z.com>

	* src/symbolic.c, src/eval.c, src/geniustests.txt: Some more
	  simplification special casing, doing several tan derivatives is
	  now much faster and results in shorter answers, yay.  Also run
	  the evalnode hook so that we can interrupt a symbolic derivation
	  which is taking too long.

Fri Jun 24 16:23:01 2005  George Lebl <jirka@5z.com>

	* src/longtest.gel: add many derivative tests

	* src/funclib.c: add IsFunctionOrIdentifier

	* lib/calculus/differentiation.gel: accept identifiers for all
	  functions and not just functions

	* help/C/gel-function-list.xml: add IsFunctionOrIdentifier

	* src/eval.c: Allow identifier + string to make a string

	* src/symbolic.c: fix some derivative definitions

	* src/eval.c: fixup nargs when creating new operator nodes in
	  simplification

Fri Jun 24 15:42:09 2005  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: add symbolic equality (respects types)

	* src/eval.[ch]: further simplification of multiplication and
	  addition, still crap, but lesser crap now.  I need to make this
	  more general and nicer.

Wed Jun 22 13:19:39 2005  George Lebl <jirka@5z.com>

	* src/eval.[ch], src/symbolic.c: Add more aggressive "simplification"
	  and use it on the result of derivation (for example multiplication
	  by 1 or addition of 0 and such are now whacked)

Fri Jun 17 09:56:34 2005  George Lebl <jirka@5z.com>

	* src/parse.y: fix precedence of .+ and .- and also move 'call' in
	  precedence further to the top to bind more closely then =
	  make things like "x = f call (x)" work as you would expect.

	* lib/misc/misc.gel: add ComposePower

	* help/C/gel-functions-list.xml: add ComposePower docs

	* src/eval.c: in try_to_do_precalc, whack all double negations

	* src/symbolic.c: fix derivation of divisions, and make ln have
	  derivative of "x^-1" rather then "1/x" as we can take multiple
	  derivatives better there since we have no real simplification

Thu Jun 16 18:14:39 2005  George Lebl <jirka@5z.com>

	* lib/symbolic/differentiation.gel:  Add SymbolicNthDerivative,
	  SymbolicNthDerivativeTry, SymbolicTaylorApproximationFunction

	* configure.in, help/C/gel-function-list.xml, help/C/genius.xml:
	  Document the above

	* src/geniustests.txt: add some tests

Thu Jun 16 17:40:29 2005  George Lebl <jirka@5z.com>

	* configure.in: raise version number

	* src/complil.c: compile symbolic_id and id for function nodes and
	  symbolic_id for global functions.

	* src/lexer.l, src/calc.c, src/eval.[ch], src/parse.y: SYNTAX CHANGE:
	  there is now an elt by elt addition and subtraction (.+ and .-)
	  which act like the old +,- when adding scalar to a matrix.  The +,-
	  now interpret A+x as A+x*I if A is a square matrix, and elt by elt
	  if A is a vector (row or column), else they error out.

	* src/funclib.c: the PolyToFunction now does 1 instead of x^0, since
	  this now works correctly for matrices.

	* src/lexer.l, src/calc.c, src/parse.y: make evalstack into
	  gel_parsestack since the naming was totally off

	* src/dict.h: on decompilation errors don't assert crash, just give
	  null as the function body.

	* src/geniustests.txt: add some tests and fix some old ones with
	  respect to the above syntax change.

Wed Jun 15 09:09:20 2005  George Lebl <jirka@5z.com>

	* src/symbolic.c, src/calc.[ch], src/dict.c, src/eval.c,
	  src/structs.h:  Fixup symbolic derivation to work inside functions,
	  preserve a "symbolic id" for the symbolic derivation when setting
	  variables to functions.  Also add SymbolicDerivativeTry function
	  to try symbolic derivative quietly.

	* src/geniustests.txt: add tests

	* lib/calculus/differentiation.gel: Add Derivative function which
	  tries symbolic first and numerical as a backup

	* help/C/gelfunction-list.xml: add SymbolicDerivativeTry and
	  Derivative

Tue Jun 14 10:23:51 2005  George Lebl <jirka@5z.com>

	* src/symbolic.[ch], src/eval.[ch]: Add a primitive
	  SymbolicDerivative function.  Doesn't yet even get even all the
	  simple cases (such as functions with more then one argument) but
	  should be semi usable for simple things.  Of course there is no
	  simplification of expressions in genius so things can get wild a
	  bit.

	* src/graphing.c, src/funclib.c: adjustments because of the above

	* src/calc.c: remove an extra parenthesis in function printing
	  output.

	* src/geniustests.txt: add tests for SymbolicDerivative

	* help/C/gel-function-list.xml: Add SymbolicDerivative blurb

2005-04-01  Steve Murphy  <murf@e-tools.com>

        * configure.in: Added "rw" to ALL_LINGUAS.

Thu Mar 24 10:17:35 2005  George Lebl <jirka@5z.com>

	* Release 0.7.3

	* help/C/gel-function-list.xml: fix xml errors

Thu Mar 24 10:14:38 2005  George Lebl <jirka@5z.com>

	* help/C/*.xml: update, add the graphing functions and add lots more
	  references to planetmath and mathworld also document wait and
	  NewtonsMethodPoly

	* configure.in: raise version

	* src/*.[ch]: update copyright notices

Thu Mar 24 08:31:36 2005  George Lebl <jirka@5z.com>

	* mpfr/*: Update to mpfr 2.1.1 to use a nice released version rather
	  then CVS

Wed Mar 23 10:56:37 2005  George Lebl <jirka@5z.com>

	* src/gnome-genius.[ch]: add blinking cursor selection

	* lib/functions/complex_numbers.gel: added and commented out a bad
	  implementation of zeta and gamma functions, must do this properly
	  at some point

Mon Mar 21 15:42:06 2005  George Lebl <jirka@5z.com>

	* src/mpwrap.c: some allocation fixes, the float formatting is
	  incredibly evil!

Mon Mar 21 14:48:28 2005  George Lebl <jirka@5z.com>

	* src/genius.c, src/gnome-genius.c: set default precision to 128
	  bits, it's faster and most people don't need more.  Also save the
	  precision in config.  Further sanitize things from the command line
	  and the config, to avoid using bogus values.

Mon Mar 21 11:18:57 2005  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: move the whole gmp structures into the MpwRealNum
	  struct to avoid another pointer.  Further avoid initializing a new
	  number just to throw it away if possible and be smarter with
	  initialization types.  Fix some leaks and errors.

Fri Mar 18 18:03:30 2005  George Lebl <jirka@5z.com>

	* src/mpwrap.ch: fixup memory usage by whacking the duplicate
	  pointers in the real number structure.

	* src/eval.c: fix leaks on elt by elt matrix operations

Fri Mar 18 11:48:14 2005  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: whack the unneeded type field from mpw_t to save
	  a byte per number and probably make alignment nicer and all that.

Fri Mar 18 11:11:07 2005  George Lebl <jirka@5z.com>

	* src/graphing.c, src/funclib.[ch]: Allow drawing longer lines with
	  LinePlotDrawLine by passing in a matrix of points.

Tue Feb 08 18:18:18 2005  George Lebl <jirka@5z.com>

	* src/graphing.c: deal with closing of the graph window when we're
	  in the middle of plotting without crashing

Thu Jan 06 13:28:12 2005  George Lebl <jirka@5z.com>

	* lib/functions/elementary.gel: add NewtonsMethodPoly

Thu Jan 06 10:06:10 2005  George Lebl <jirka@5z.com>

	* src/graphing.c, src/funclib.[ch], src/Makefile.am,
	  src/funclibhelper.cP: make some functions/macros sharable by
	  either making them extern or putting them inside a includable
	  file

	* src/graphing.c: make LinePlotWindow parameter behave correctly with
	  respect to the new drawing routines and read color and thickness
	  style from the argument list of LinePlotDrawLine

	* src/funclib.c: add 'wait' function

	* src/gnome-genius.h, src/calc.h: move the interrupted extern
	  declaration

Tue Jan 04 18:21:36 2005  George Lebl <jirka@5z.com>

	* src/graphing.c: add LinePlotClear and LinePlotDrawLine, but these
	  are subject to change of course

Tue Jan 04 10:57:18 2005  George Lebl <jirka@5z.com>

	* configure.in: use an existing mpfr function to check for the
	  library, DUH!

	* src/genius.c: include term.h AFTER everything since that happens to
	  redefine the word 'tab' for its own very evil purposes on some
	  systems (some ncurses version or some such)

Thu Dec 23 11:03:27 2004  George Lebl <jirka@5z.com>

	* Release 0.7.2

	* help/*: Fix the makefiles

Thu Dec 23 10:45:11 2004  George Lebl <jirka@5z.com>

	* help/C/*.xml: some fixes and use := rather then = in places

Thu Dec 23 10:22:12 2004  George Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: optimize and shorten
	  LUDecomposition

	* src/calc.c: fix output for @(,n) and @(n,)

	* lib/equation_solving/diffeqs.gel: Add EulersMethod and RungeKutta
	  for simple single ode solving

	* help/C/*.xml: update

	* src/geniustests.txt: updated

	* src/gnome-genius.c: add "New" toolbar item

Wed Dec 22 18:01:51 2004  George Lebl <jirka@5z.com>

	* src/funclib.c, help/C/*.xml: Fix then vs. than typos

Wed Dec 22 16:58:23 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: add y= before the entries to make it clear what to
	  type in.

	* src/eval.c: when we encounter a reference to a non-existant
	  variable make the variable in the current context.

	* src/eval.c: fix errors in expensive matrix multiply, now doesn't
	  crash!

	* lib/linear_algebra/linear_algebra.gel: Add LUDecomposition function
	  from David W. Hutchison <dahutchi@indiana.edu>

	* help/C/*.xml: update

Wed Dec 22 14:47:00 2004  George Lebl <jirka@5z.com>

	* help/C/*.xml, help/C/genius.txt: make the text version and fix some
	  typos

Wed Dec 22 14:42:01 2004  George Lebl <jirka@5z.com>

	* lib/number_theory/misc.gel:  Added MoebiusMu from Alessio
	  Frusciante <algol@firenze.linux.it>

	* lib/number_theory/misc.gel:  Fixed parameters of IsNthPower to
	  be less confusing

	* lib/combinatorics/factorial.gel:  Nicer, less heavy argument testing

	* src/funclib.c: Added IsNonNegativeInteger and fix EulerConstant
	  helpstring

	* src/geniustests.txt: added some tests

	* help/C/*.xml: updated for the above functions and a lot more.
	  Add a bunch of references to MathWorld (should add planetmath,
	  but that's currently down, will do later)

Wed Dec 22 11:43:42 2004  George Lebl <jirka@5z.com>

	* mpfr/*: update to newest mpfr

Wed Dec 22 11:21:02 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/eval.[ch], src/calc.c: get similar ids if
	  function is not documented and check for the function being
	  documented in the gui help on function dialog.

Wed Dec 22 11:03:34 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/calc.[ch], src/funclib.c: some help fixes,
	  remove the old manual code and add a "Help on Function" menu entry.

Wed Dec 22 10:24:05 2004  George Lebl <jirka@5z.com>

	* help/C/*.xml: update the documentation a bit.

Tue Dec 21 18:53:54 2004  George Lebl <jirka@5z.com>

	* help/C/gel-operator-list.xml: make the list of operators an
	  actual list

	* help/C/gel-separator.xml,genius.xml: reorganize a tiny bit

Tue Dec 21 18:13:52 2004  George Lebl <jirka@5z.com>

	* configure.in, Makefile.am, src/gnome-genius.c, help/*:
	  Docbookize the manual, patch and docbook by Kai Willadsen
	  <kaiw@itee.uq.edu.au>

	* src/funclib.c, src/calc.c: correct some help problems

	* src/gnome-genius.c: don't show the "manual" menu entry since we
	  now just show the help files directly.

	* src/calc.[ch], src/genius.c, src/gnome-genius.c, src/funclib.c:
	  Display the help functions and the manual

Fri Dec 17 09:58:48 2004  George Lebl <jirka@5z.com>

	* src/lexer.l: remove the warning killing hack since it doesn't work

Thu Nov 11 10:01:31 2004  George Lebl <jirka@5z.com>

	* lib/statistics/basic.gel: Add GaussFunction (normal curve),
	  GaussDistribution (area under the normal curve)

Tue Nov 09 11:28:26 2004  George Lebl <jirka@5z.com>

	* src/calc.[ch], src/compil.c, src/eval.c, src/funclib.c, src/mpwrap.c,
	  src/mpzextra.c:  Fix issues with strtok reentrancy by using
	  strtok_r, should fix some issues with the library functions where
	  rationals were used.  Also the evalhook calling logic is changed a
	  tiny bit

	* src/funclib.c, lib/calculus/integration.gel: Make
	  CompositeSimpsonsRule built in for speed, fix issues
	  when n is odd (add 1 in that case) and add
	  CompositeSimpsonsRuleTolerance

Fri Nov 05 2004 Amanpreet Singh Alam <aalam@redhat.com>

	* ALL_LINUGUS: pa (Punjabi) Language is added

Wed Sep 22 11:05:07 2004  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: fix mpw_uncomplex which could undercount the zero
	  allocation

	* lib/combinatorics/misc.gel: Fix Hofstadter and optimize it

	* lib/linear_algebra/linear_algebra.gel: Don't use Transpose but .'
	  operator that should be slightly faster

Wed Sep 22 09:40:10 2004  George Lebl <jirka@5z.com>

	* src/compil.c, src/eval.[ch], src/funclib.c, src/parse.y,
	  src/parseutil.h, src/structs.h: Treat strings as constants (don't
	  copy) thus getting speedups up to 10% (very optimistic) if running
	  loops or things where strings are used.

Thu Sep 16 18:22:28 2004  George Lebl <jirka@5z.com>

	* src/mpwrap.c: fix round, ceil and trunc, plus round (0.5) should
	  really return 0 not 1

	* src/geniustest.pl, src/geniustests.txt: fixes plus some new tests

Thu Sep 16 17:54:27 2004  George Lebl <jirka@5z.com>

	* lib/functions/elementary.gel: optimize erf a bit and fix its
	  comment

	* configure.in, Makefile.am, src/Makefile.am, mpfr/*:  Include a
	  recent CVS version of mpfr to avoid all the mess.  We can still
	  compile with an outside version if needed though.

	* src/funclib.c, src/genius.c, src/gnome-genius.c, src/mpwrap.[ch]:
	  remove all non-mpfr stuff since we always have mpfr now which
	  removes quite a bit of ugliness.  Plus remove some other
	  cruft as well.

Tue Sep 14 17:14:53 2004  George Lebl <jirka@5z.com>

	* src/funclib.c, lib/number_theory/misc.gel: make Divides built-in
	  which should make a number of things faster.  Also add
	  ExactDivision function using gmp's divexact which does exact
	  division much faster once we know that the two numbers actually
	  divide one another (it returns garbage otherwise).

	* src/geniustests.txt: add some tests

Tue Sep 14 16:31:51 2004  George Lebl <jirka@5z.com>

	* lib/number_theory/misc.gel: Use ApplyOverMatrix(2) on a few
	  functions, and add BernoulliNumber

	* src/geniustests.txt: Add test for BernoulliNumber

Tue Sep 14 09:57:15 2004  George Lebl <jirka@5z.com>

	* configure.in: some cleanup, and set the extra optimization flags
	  directly rather then use -O3 since then -O2 would just reset thing,
	  so we again optimize nicely.

	* src/calc.[ch], src/funclib.c, src/genius.c, src/graphing.c:
	  Implement translation of help texts coming from the standard
	  library.  Still error texts are not translated, will need to
	  figure that out.  User generated help strings are gotten with
	  "genius --gettext" similarly to the "--compile" option.

	* Makefile.am, lib/Makefile.am, po/POTFILES.in: create and use
	  lib/library-strings.c

	* lib/equation_solving/find_root.gel: Move FIXME's from help text
	  to comment

	* src/genius.c: add --version option

	* gtkextra/gdmpsfont.c: fix memleak

Thu Aug 26 09:26:43 2004  Takeshi AIHANA <aihana@gnome.gr.jp>

	* configure.in: Added 'ja' (Japanese) to ALL_LINGUAS.

Fri Aug 20 10:57:58 2004  George Lebl <jirka@5z.com>

	* genius.spec.in, pixmaps/48x48/Makefile.am: install 48x48 icon in
	  the proper place

Fri Aug 20 10:35:25 2004  George Lebl <jirka@5z.com>

	* configure.in, Makefile.am, src/gnome-genius.desktop.in,
	  pixmaps/*: Added an icon Eugenia Loli-Queru (eloli@hotmail.com)

Thu Aug 19 16:38:14 2004  George Lebl <jirka@5z.com>

	* Release 0.7.1

Thu Aug 19 16:15:32 2004  George Lebl <jirka@5z.com>

	* lib/calculus/differentiation.gel, lib/calculus/limits.gel:
	  Optimize and clean up the limitting/differentiating functions
	  a bit, and add NumericalLeftDerivative and NumericalRightDerivative

	* lib/misc/misc.gel, src/funclib.c, src/eval.[ch]: Make Identity
	  built-in for speed.  Also allow for stealing out of the parameter
	  list and use this technique in some places to further increased
	  speed (though this is a very small gain as numbers/matrices are
	  already copy-on-write, so we just avoid copying some structures)

	* src/mpwrap.c: fix mpw_uncomplex and allow setting without resorting
	  to mpw_uncomplex

	* lib/equation_solving/find_root.gel,
	  lib/linear_algebra/linear_algebra.gel,
	  lib/number_theory/primes.gel, lib/calculus/integration.gel,
	  lib/calculus/integration.gel, lib/combinatorics/factorial.gel,
	  lib/combinatorics/recursive_sequences.gel,
	  lib/equation_solving/find_root.gel,
	  lib/functions/complex_numbers.gel, lib/functions/delta.gel,
	  lib/linear_algebra/bilinear_forms.gel,
	  lib/linear_algebra/linear_algebra.gel, lib/linear_algebra/misc.gel,
	  lib/number_theory/modulus.gel, lib/number_theory/primes.gel,
	  lib/sets/basic.gel: tiny bit of optimizations and gel style cleanup 

	* lib/calculus/sums_products.gel: Fix InfiniteProduct2, change
	  behaviour of InfiniteSum/Product(2) no longer takes tolerance
	  argument but has similar parameters like the limiting operations
	  with SumProductTolerance, SumProductSFS, SumProductNumberOfTries

	* src/geniustests.txt: add more tests

Thu Aug 19 12:02:28 2004  George Lebl <jirka@5z.com>

	* src/eval.c: be even nicer in mem debug friendly mode and some
	  cleanup

	* src/mpwrap.c: a bit of cleanup

	* lib/calculus/differentiation.gel, lib/calculus/limits.gel,
	  lib/combinatorics/recursive_sequences.gel:  Fixup limit/derivative
	  functions.  Use better name NumericalDerivative instead of
	  NDerivative (but keep that as an alias) and add help strings to
	  everything (yay 100% of library functions have the simple help
	  strings now)

	* src/geniustests.txt: add tests for the
	  NDerivative/IsContinuous/IsDifferentiable functions.  Also update
	  tests for the change in parenthesis printing

Fri Aug 13 10:13:46 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: fix crash of LinePlot() when no arguments are
	  passed by requiring at least one argument (same for SurfacePlot)

Thu Aug 12 18:15:20 2004  George Lebl <jirka@5z.com>

	* genius.spec.in: applied patch from Florin Andrei <florin@andrei.myip.org>
	  to export custom compiler flags to the build and to require vte-devel for the build

	* configure.in: add -O3 in front of CFLAGS not after to allow custom
	  CFLAGS to override this

	* gtkextra/gtkplot3d.h: fix prototype, thanks to Erik Sigra
          <sigra@home.se> for noticing

Thu Aug 12 10:48:59 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: run EPS output through ps2epsi if found which adds
	  a bitmap preview.  The preview kind of sucks but it's better then
	  nothing.  Fix EPS/PS export for gtk older then 2.4.  Add PNG
	  export.

	* src/graphing.c, src/calc.c: remove some parenthesis from output
	  where it doesn't make sense (still some places are overzelaous).
	  Also when graphing from a dialog take the entered string as the
	  function string to display in the plot.  Makes things even nicer.

	* src/gnome-genius.c: change the "translator_credits-..." to
	  "translator-credits" which is apparently more translation
	  software friendly as it doesn't contain underscores.  Plus a hack
	  to get the old translation to not lose credits

Tue Aug 10 17:30:32 2004  George Lebl <jirka@5z.com>

	* Release 0.7.0

	* genius.spec.in: fixed up for the update-mime-database stuff

Fri Aug 06 17:41:47 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: change some labels to make more sense.  On top view
	  hide z axis temporarily.  Swap X and Y and rotate a bit to get that
	  mirror effect fixed.

Fri Aug 06 11:59:39 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: simple rotations of the 3d plot and add labels to
	  axis.  It still bugs me that the X axis is reversed from what
	  I would normally want (right to left rather then left to right,
	  it's a mirror image so it's impossible to fix just by rotation),
	  oh well.

Thu Aug 05 15:39:17 2004  George Lebl <jirka@5z.com>

	* gtkextra/gtkplot.c: replace sprintf with g_snprintf

Thu Aug 05 02:14:15 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: when plotting surfaces, the expression may return
	  something which has different number of arguments, so allow
	  rerunning the function if this happens

Thu Aug 05 01:28:43 2004  George Lebl <jirka@5z.com>

	* gtkextra/Makefile.am: fix building by adding all the needed
	  include dirs

Thu Aug 05 01:21:03 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: wrap both long description labels on the create
	  plot dialog and align them left.  Add mnemonics to the notebook
	  tabs

Thu Aug 05 00:52:15 2004  George Lebl <jirka@5z.com>

	* src/mpwrap.c: sin, cos, sinh, cosh were wrong for complex arguments

Wed Aug 04 23:07:46 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: make window titles saner

Wed Aug 04 22:33:46 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.[ch], src/graphing.c: some cleanup on the line
	  plotting stuff, don't draw outside the box, etc...

	* src/graphing.c, src/mpwrap.[ch]: Add surface plotting, only one
	  function at a time and can take one or two arguments (complex
	  number or x and y).  Added both a dialog entry method and a
	  SurfacePlot function

	* configure.in: now it merits to raise version to 0.7.0

Wed Aug 04 17:27:08 2004  George Lebl <jirka@5z.com>

	* gui/gnome-genius.[ch], gui/graphing.c: implement the printing
	  and ps/eps export at least in a rudimentary way.

	* gui/gnome-genius.[ch]: fix the "file exists" dialogs, they were
	  reversed on save, and on load the "can't open" dialog was wrong.

Wed Aug 04 17:27:06 2004  George Lebl <jirka@5z.com>

	* gtkextra/*, configure.in: import some files from gtkextra-2 for the
	  GtkPlot* and friends

	* src/gnome-genius.[ch], src/graphing.c: whack the old graphing
	  nonsense and use gtkextra gtkplot.  Right now it has no added
	  functionality over the old plotting, but it looks different.
	  However we will have PS/EPS export and printing pretty easily
	  now and further we can now easily also add parametric and surface
	  plots and flows and such.

Thu Jul 29 09:55:10 2004  George Lebl <jirka@5z.com>

	* src/eval.[ch]: Allocate all memory for GelETree's, and the
	  various loop structures in long continuous spaces with the
	  structures aligned properly.  This seems to have little
	  impact on speed but it has some impact on memory usage, about
	  20% in a test that uses deep recursion.  As a side effect the
	  free lists are no longer purged.  Also fix the MEM_DEBUG_FRIENDLY
	  mode to actually free memory unless the MEM_DEBUG_SUPER_FRIENDLY
	  is on.

	* configure.in: automatically turn on -O3 for gcc, this seems
	  to make a very minor dent in performance.  -fomit-frame-pointer
	  does better, but we really don't want no debugging on this code.

Wed Jul 28 18:26:49 2004  George Lebl <jirka@5z.com>

	* src/Makefile.am: add longtest.gel to EXTRA_DIST

	* src/calc.[ch]: change the way that gel_runexp behaves
	  to avoid extra copying of whole expressions all the time.
	  it now eats the expression and thus is consistent with
	  the other calls such as gel_evalexp_parsed.

	* src/parseutils.c, src/eval.[ch]: plug a small leak
	  on boolean conversion

	* src/eval.[ch]: Add whole bunch of debugging functionality
	  especially for debugging memory.  Keep list of new trees
	  in between expressions to test for memory leaks when
	  EVAL_DEBUG is defined and we are MEM_DEBUG_FRIENDLY

	* src/eval.c: fix leak in the if operation when the main
	  tree was WHACKARGed and we'd forget that

Wed Jul 28 16:09:23 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.desktop.in: Move Name/Comment to the end to allow
	  quicker (perhaps) parsing, add Mime-Type key.

	* lib/statistics/basic.gel: fix StandardDeviation

	* eval.c: fix nargs problem when making binary operation functions

	* calc.c, eval.[ch], genius.c, gnome-genius.c, parse.y, parseutil.[ch],
	  structs.h:  Fix pushing multiple operator arguments onto the stack
	  in the correct order.  Compact all the separator operations into
	  one with many arguments during parsing, this saves copying.  Add a
	  GE_WHACKARG flag to the stack flags and whack the node after use,
	  this saves some memory which got wasted by keeping things in memory
	  because of the separator compactification.  Also make the memory
	  operations much nicer when MEM_DEBUG_FRIENDLY is defined.

	* src/mpwrap.c: work around a mpfr problem where random values from
	  mpf_urandomb can be negative sometimes.  Also cache the random
	  state to avoid reiniting/reseeding it all the time.

	* src/geniustests.txt, src/longtest.gel: add a long test file

Thu Jul 15 16:44:40 2004  George Lebl <jirka@5z.com>

	* src/calc.c, src/compil.c, src/dict.c, src/eval.[ch], src/funclib.c,
	  src/graphing.c, src/matop.[ch], src/matrixw.[ch], src/mpwrap.[ch],
	  src/parse.y, src/parseutil.[ch], src/plugin.c, src/structs.h,
	  src/util.[ch]:  Add native boolean types.  Make all boolean
	  expressions return these, add the true and false functions and
	  aliases, add IntegerFromBoolean and IsBoolean functions

	* lib/functions/delta.gel, lib/linear_algebra/linear_algebra.gel,
	  lib/misc/misc.gel, lib/number_theory/misc.gel,
	  lib/number_theory/modulus.gel, lib/number_theory/primes.gel:
	  Update for the boolean types, use where appropriate whack the
	  old true/false functions.

	* src/geniustests.txt: update tests to expect booleans where
	  appropriate

	* doc/manual.txt: updates for the booleans and some other cleanups
	  and updates

	* configure.in: raise version since the compiled format changed.

Mon Jun 14 10:27:59 2004  George Lebl <jirka@5z.com>

	* Release 0.6.1

	* genius.spec.in: fix

Mon Jun 14 10:20:26 2004  George Lebl <jirka@5z.com>

	* src/calc.c: do the nice fraction printing for mixed fractions

	* src/mpwrap.c: minor cleanup

Fri Jun 11 18:06:54 2004  George Lebl <jirka@5z.com>

	* src/dict.[ch], src/eval.c: add suggestion logic on undefined
	  identifiers, a little screwy code, but somewhat works.

	* src/calc.c: when we don't do mixed fractions try to be nice about
	  printing larger fractions.  Kind of on crack, we should do it
	  in more cases.

Fri May 28 10:02:19 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: The default font size for the console
	  is now deduced from the window for size.  Also unless the
	  font is actually set, the change is not written to preferences.
	  The console is set to UTF-8 always since we always feed it utf-8
	  strings which fixes non-utf-8 locales.  Plus a small amount of
	  cleanup.

Thu May 27 16:11:07 2004  George Lebl <jirka@5z.com>

	* genius.xml, Makefile.am: add genius to the shared mime info db

Thu May 27 15:39:48 2004  George Lebl <jirka@5z.com>

	* src/genius-readline-helper.c, src/gnome-genius.[ch]:  Add
	  Black on white mode for those that don't see white on black too
	  well.  Start using vfs, but we still don't use it for "loading",
	  nor do we setup the filechooser or whatnot, must figure out how to
	  do that.  Accept file drops on the window and open those files.

	* Makefile.am, genius.keys, genius.mime: temporary placeholders, need
	  to add this to the shared mime info stuff or whatnot.

Wed Apr 21 21:18:00 2004  Evandro Fernandes Giovanini  <evandrofg@ig.com.br>

	* configure.in(ALL_LINGUAS): Added "pt_BR" (Brazilian Portuguese).

Thu Apr 15 20:43:00 2004  Adam Weinberger <adamw@gnome.org>

	* configure.in: Added en_CA to ALL_LINGUAS.

Thu Apr 15 14:19:40 2004  George Lebl <jirka@5z.com>

	* lib/combinatorics/factorial.gel, lib/combinatorics/misc.gel,
	  lib/linear_algebra/linear_algebra.gel,
	  lib/number_theory/factoring.gel, lib/number_theory/modulus.gel,
	  lib/number_theory/primes.gel,
	  src/calc.c, src/eval.c, src/funclib.c, src/gnome-genius.c,
	  src/matrixw.c, src/mpzextra.c: fix some typos in strings.  Mostly
	  s/then/than/.

Tue Apr 13 11:17:34 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: move the plot dialog buttons to be in HIGgy order

Fri Apr 09 18:34:58 2004  George Lebl <jirka@5z.com>

	* INSTALL.MacOSX: Mac OS X install instructions from Linc Davis
	  <ld-temp-spe8@pobox.com>

	* configure.in: Changed help for --enable-gnome and
	  --enable-gtksourceview (changed to --disable-* since they're
	  on by default)

Tue Apr 06 15:41:18 2004  George Lebl <jirka@5z.com>

	* src/util.[ch], src/mpwrap.c: whack the custom mem-allocation cruft
	  and let gmp use its own allocation.  Doesn't seem to improve speed
	  by much at all, but reduces cruft.

Sun Apr 04 22:30:12 2004  George Lebl <jirka@5z.com>

	* src/geniustests.txt: added some tests that went wrong at some
	  point long time ago

Sun Apr 04 17:39:55 2004  George Lebl <jirka@5z.com>

	* lib/functions/complex_numbers.gel: add cis function.  Also fix
	  the MoebiusMapping* definitions

	* lib/functions/Makefile.am: forgot to include complex_numbers.gel
	  in the library DOH! this actually adds all those functions promised
	  in 0.6.0.  Affects: Argument, arg, Arg, MoebiusDiskMapping,
	  MoebiusMapping, MoebiusMappingInftyToOne, MoebiusMappingInftyToZero,
	  MoebiusMappingInftyToInfty.

Sun Apr 04 17:27:33 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: when parsing errors occur print them before saying
	  we couldn't parse anything.

Sun Apr 04 17:19:08 2004  George Lebl <jirka@5z.com>

	* src/eval.c: when 'i' is used uninitialized then suggest using '1i'
	  instead

Sun Apr 04 16:35:38 2004  George Lebl <jirka@5z.com>

	* src/genius.c, src/gnome-genius.c: Make the console version be
	  translated though there are still utf-8 issues.  Also the welcome
	  string is now slightly different since gettext seemed to have a fit
	  with the escapes and all that.

Sun Apr 04 15:52:00 2004  George Lebl <jirka@5z.com>

	* src/calc.[ch], eval.c, src/funclib.c, src/graphing.c, src/matop.c,
	  src/mpwrap.[ch], src/plugin.c:  Cleanup and update the copyright
	  strings, add "gel_" to the print_etree functions.

	* src/eval.c: fix "number <=> string" which was returning completely
	  wrong answers

	* src/geniustests.txt: add tests for comparison

2004-04-03  Gareth Owen  <gowen72@yahoo.com>

	* configure.in: Added en_GB to ALL_LINGUAS

Tue Mar 30 15:08:05 2004  George Lebl <jirka@5z.com>

	* Release 0.6.0

	* src/mpwrap.c: define G_MAXINT32 if not defined to allow compilation
	  with older glib

Tue Mar 30 14:56:27 2004  George Lebl <jirka@5z.com>

	* src/mpwrap.c: further optimization of the mp* free lists gets some
	  improvement mainly for floats.  Plus fix the mpf free list when
	  changing precision.

Tue Mar 30 11:36:13 2004  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: remove the NATIVEINT type and use mpz which is
	  slightly slower, however cache inited mpz/mpq/mpf(r) types which 
	  makes the code actually run a LOT faster then with NATIVEINT, at
	  least for the testcases I considered.  This also reduces code
	  complexity by quite a bit (removed 600+ loc) and furthermore
	  optimizes both mpq/mpf performance too.  Also some minor cleanup
	  and leak fixes.

	* src/geniustests.txt: add some more random tests that popped up
	  during testing of the above

Tue Mar 30 09:52:39 2004  George Lebl <jirka@5z.com>

	* lib/functions/Makefile.am, lib/functions/kernels.gel:
	  Add PoissonKernel, DirichletKernel and FejerKernel

	* lib/functions/complex_numbers.gel: Add MoebiusDiskMapping,
	  MoebiusMapping, MoebiusMappingInftyToOne, MoebiusMappingInftyToZero
	  and MoebiusMappingInftyToInfty

	* src/calc.c, src/genius.c: fix compilation of parameters, avoid
	  compilation of built in parameters plus minor cleanup

2003-03-28  Kostas Papadimas  <pkst@gnome.org>

	* configure.in (ALL_LINGUAS): Added "el" (Greek).

Thu Mar 25 16:52:47 2004  George Lebl <jirka@5z.com>

	* configure.in, src/Makefile.am:  Allow compilation without GNOME

	* src/util.h: fixup headers 

	* doc/manual.txt: minor fixes/additions

	* README, NEWS: update

Thu Mar 25 10:05:57 2004  George Lebl <jirka@5z.com>

	* configure.in, src/*.[ch]: don't link the 'genius' binary with
	  any gui libs, still the configure/build process requires gnome
	  always, but I'm working on that.   Fix up the includes and
	  add a genius-i18n.h header

	* src/graphing.c, src/mpwrap.c, src/funclib.c: use the G_MAX/MIN
	  macros instead of limits.h for I suppose better portability

	* src/genius.c: use g_print* variants instead of printf and fprintf

Wed Mar 24 17:10:55 2004  George Lebl <jirka@5z.com>

	* src/calc.c: fix printing of functions

Wed Mar 24 16:39:18 2004  George Lebl <jirka@5z.com>

	* src/eval.[ch], src/calc.c: Add basic arithmethic operations on
	  functions, for example sin^2 will make a new function that
	  does sin(x)^2, so you can do say "LinePlot(sin^2)", or
	  more uselessly "sin^2 call (x)" 

	* src/geniustests.txt: update the tests a bit

	* src/funclib.c, src/eval.[ch]: Add "function return" to some 
	  1 value functions such as exp, so that e.g. exp(sin) returns
	  a function that does exp(sin(x)).  Currently supported are:
	  conj, sin, cos, sinh, cosh, tan, atan, sqrt, exp, ln, log2, log10,
	  round, floor, ceil, trunc, float, Numerator, Denominator, Re and
	  Im.

	* src/graphing.c: Fix LinePlot function (we messed up the replot
	  data), also if the function returns functions, then evaluate those
	  instead (don't recurse further though)

Wed Mar 24 11:04:26 2004  George Lebl <jirka@5z.com>

	* doc/manual.txt, lib/linear_algebra/*.gel: fixup some documentation

	* lib/**/Makefile.am: fix installation of loader.gel into the
	  correct directory (not into /bin/ whoops :)

Tue Mar 23 15:21:12 2004  George Lebl <jirka@5z.com>

	* src/lexer.l, src/parse.y, src/eval.[ch], src/calc.c:  Add
	  := (E_DEFEQUALS) operator which is never translated to ==.
	  Also use E_DEFEQUALS on function definitions always so that
	  they don't get translated (that would just be plain
	  confusing).

	* src/geniustests.txt: add tests for :=

	* doc/manual.txt: update for the := operator

Tue Mar 23 14:35:09 2004  George Lebl <jirka@5z.com>

	* src/Makefile.am, src/gnome-genius.[ch], src/calc.c, src/eval.c:
	  Cleanup, print version in title, make titles more sane + 
	  some string changes, a bit of renaming, add gnome-genius.h header
	  to export the current setup and update some copyright notices

	* src/graphing.c: fixup wrt the header, add status icons next to
	  the entries, make enter do the plot, add "Fit Y axis" function
	  to the plot window, errors that occur when we invoke the engine
	  from the graph window now always go to dialogs, And fix graphing
	  the identity (that is, just "x")

Tue Mar 23 11:14:02 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/graphing.[ch]:  Add a plot dialog where it
	  is easier to enter functions to plot and specify range and add
	  menu items and toolbar item for this.

	* src/graphing.c: Handle errors better when calling a function
	  instead of just treating them as 0.  Also fixup errors from the
	  LinePlot function to not affect the replot data until we
	  are successful in collecting new data.

	* src/dict.[ch]: minor cleanup

Mon Mar 22 13:23:46 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: add scale to graphs, allow zooming in and zooming
	  out, fix a bunch of issue wrt interruptions, window closing and
	  range specification.

Fri Mar 19 17:42:38 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: properly interrupt on Ctrl-C and also whack
	  the readbuf* which weren't used anymore

Fri Mar 19 16:52:18 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: use GtkFileChooser if compiled with a new
	  enough gtk+, but still allow compilation with GtkFileSelector
	  in case old gtk+ is used.  Also fix up some strings.  Finally
	  add .gel as the file extension on Save As.. if no extension
	  was used.

	* configure.in: fixup a bit

Fri Mar 19 11:11:01 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: apparently separator setting is just plain
	  ignored for message dialogs so don't set it (avoids unsightly
	  GTK+ warnings with new GTK+)

Fri Mar 19 11:05:00 2004  George Lebl <jirka@5z.com>

	* src/eval.[ch], src/calc.c: translate e^x to exp(x) since that is
	  more precise

	* src/mpwrap.c: better error reporting for inverses, better random
	  number seeding, fix of mpw_randint function if rop==op, and minor
	  general cleanup

	* configure.in: raise version

Wed Mar 10 21:22:00 2004 Alastair McKinstry <mckinstry@computer.org>

	* configure.in: Added ga to ALL_LINGUAS (Irish).

Tue Jan 20 15:56:30 2004  George Lebl <jirka@5z.com>

	* lib/linear_algebra/special_matrices.gel: add rotation matrices

Wed Dec 31 14:41:47 2003  George Lebl <jirka@5z.com>

	* Release 0.5.7.1

	* src/gnome-genius.c: fix spinners being too thin

Wed Dec 31 12:04:56 2003  George Lebl <jirka@5z.com>

	* Release 0.5.7

Wed Dec 31 11:40:12 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.c: mpwfr_pow is kind of broken in gmp 4.1.2 at least
	  (seems fixed in newer mpfr, will have to do some sort of a check
	  in the future).

	* lib/functions/elementary.gel: add ErrorFunction/erf

	* lib/functions/sums_products.gel: add InfiniteProduct and
	  InfiniteProduct2

	* src/geniustests.txt: add some tests

	* Makefile.am: add intltool-modules/XML/Parser/Style/OrigTree.pm
	  to EXTRA_DIST

	* configure.in: raise version, whack the DEPRECATED things

Fri Dec 12 10:31:55 2003  George Lebl <jirka@5z.com>

	* lib/linear_algebra/subspaces.gel,
	  lib/linear_algebra/linear_algebra.gel:  Fix Kernel([0]) (it gave
	  correct answer, but also gave errors) and do some cleanup
	  as well

Wed Oct 29 16:59:11 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.c: allow very very very large powers of 1,-1,1i and -1i.
	  also ui divisions should return an int if the denominator is 1

Tue Oct 28 10:15:10 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.c: be nicer in integer powers of pure imaginary
	  integers/rationals

Thu Oct 16 10:21:38 2003  George Lebl <jirka@5z.com>

	* Release 0.5.6

	* src/Makefile.am: fix build

2003-10-15  Jordi Mallach  <jordi@sindominio.net>

	* configure.in (ALL_LINGUAS): Added "ca" (Catalan).

Tue Oct 07 15:08:52 2003  George Lebl <jirka@5z.com>

	* configure.in: raise version

	* configure.in, src/calc.c, src/compil.c, src/funclib.c,
	  src/gnome-genius.c, src/graphing.c:  Whack use of
	  all deprecated stuff.  Also make the graphing canvas
	  use monospace 10 and not 12

Tue Oct 07 10:04:59 2003  George Lebl <jirka@5z.com>

	* configure.in, Makefile.am, src/Makefile.am, src/plugin.c,
	  src/plugread.c, src/genius.c: Kill gnome dependency in
	  the command line genius by using ve-config and
	  vicious-extensions.  Only codewise though, it is still linked
	  to gnome.  Though that should not be too hard to fix and
	  non-gnome non-gui builds may again be possible.  Not to mention
	  that startup of non-gui code is faster meaning faster testing
	  and less other whacky code to screw up valgrind runs etc...

	* src/mpwrap.c: fix corruption with respect to extra types when
	  rop == op1 or op2 and reenable the no_convert extra type
	  optimization.  Also fixes a leak of gmp internal data on all
	  divisions and gcd and mod operations.

Mon Oct 06 18:02:07 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.c: revert the change (sort of) something is wrong,
	  and I don't have time to investigate

Mon Oct 06 17:47:26 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.c: during some operations we were unnecessairly
	  converting the rop only to wipe it, so add a no_convert version
	  of the extra type function (affected are division and mod in case
	  rop was of a different type)

Mon Oct 06 17:00:38 2003  George Lebl <jirka@5z.com>

	* lib/misc/misc.gel: add Identity function

	* lib/calculus/differentiation.gel, lib/calculus/limits.gel,
	  lib/functions/numerical.gel: Tolerances should be floats really

	* configure.in, lib/Makefile.am, lib/sets/Makefile.am,
	  lib/sets/basic.gel, lib/misc/misc.gel:  Move the set theoretic
	  functions from misc to new dir called 'sets'

	* lib/functions/numerical.gel: add aliases Sign and AbsoluteValue

	* src/calc.c, src/compil.c, src/dict.h, src/eval.c, src/funclib.c,
	  src/graphing.c, src/matrixw.h, src/mpwrap.[ch], src/mpzextra.c,
	  src/structs.h:  Some minor cleanup all over the place, plus 
	  more reordering and other struct tricks to reduce footprint of
	  common structures even further.

2003-10-05  Danilo Šegan  <dsegan@gmx.net>

	* configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS.

Fri Sep 26 18:46:32 2003  George Lebl <jirka@5z.com>

	* src/structs.h, src/eval.c: shave 4 bytes off the GelETree (at least
	  on x86) The savings will be invisible on archs with alignment.  So
	  we're down at 20 bytes per GelETree node (plus any data of course)

2003-09-01  Metin Amiroff  <metin@karegen.com>

	configure.in: Added "az" in ALL_LINGUAS.

Sun Aug 31 23:27:00 2003  Wang Jian  <lark@linux.net.cn>

	* configure.in: Added "zh_CN" to ALL_LINGUAS.

Thu Aug 28 23:29:12 2003  George Lebl <jirka@5z.com>

	* src/calc.[ch], src/dict.[ch], src/eval.c, src/funclib.c,
	  src/genius.c, src/gnome-genius.c, src/inter.c, src/lexer.l,
	  src/mpwrap.c, src/structs.h:  Can't sleep so doing general
	  cleanup such as using standard argument checking for functions,
	  fixing up error output, converting to gel_errorout/infoout,
	  and s/int/gboolean/ where appropriate.  Also fixed up the
	  function structure to save sizeof(int) bytes per function.

Thu Aug 28 17:51:35 2003  George Lebl <jirka@5z.com>

	* src/funclib.c: move stuff to generalized function parameter
	  handling as possible.  Should make translations easier.  Also
	  accept identifiers in places where it makes sense to (SetHelp,
	  protect, and such) and add a bunch of G_UNLIKELY/G_LIKELY's

Wed Aug 27 18:06:05 2003  George Lebl <jirka@5z.com>

	* src/dict.c: initialize the function structures correctly.

Thu Aug 21 12:21:16 2003  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: also set the PRIMARY and not just CLIPBOARD on
	  the special copy items

Sat Aug 16 18:58:56 2003  Guntupalli Karunakar  <karunakar@freedomink.org>

	* configure.in: Added "hi" for Hindi in ALL_LINGUAS.

Fri Aug 15 02:39:47 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.c, src/eval.c, src/calc.c: go wild with G_LIKELY
	  and G_UNLIKELY, some cleanup, fix two very minor leaks.

Mon Jul 28 10:35:26 2003  George Lebl <jirka@5z.com>

	* configure.in, acconfig.h: check for ncurses as well if libtermcap
	  isn't found

	* src/genius.c: use GETTEXT_PACKAGE and not PACKAGE

Thu Jul 24 17:24:59 2003  George Lebl <jirka@5z.com>

	* src/calc.c: I hate it when I apply half of a patch.  in any
	  case yet again from the FreeBSD ports: the glob usage was wrong

Thu Jul 24 17:22:52 2003  George Lebl <jirka@5z.com>

	* src/calc.c: when wordexp is missing and we use glob but
	  we weren't including glob.h  (from the FreeBSD ports)

Thu Jun 12 14:17:01 2003  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: load programs from command line

Thu Jun 12 14:09:34 2003  George Lebl <jirka@5z.com>

	* configure.in, src/Makefile.am, genius.lang, src/gnome-genius.c: add
	  optional GtkSourceView support and add highlighting with that.
	  I should figure out the mime type mess and install all this stuff
	  so that even gedit can get highlighting for gel files.

Wed Jun 11 11:27:18 2003  George Lebl <jirka@5z.com>

	* src/genius-readline-helper.c, src/inter.c: change directory in the
	  readline helper, and update the helper completion routine to match
	  inter.c

Fri Jun 06 16:25:15 2003  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: the preference dialog has hig ordered buttons
	  and all the other dialogs also now lack the separator thingie.

Mon Jun 02 13:32:12 2003  George Lebl <jirka@5z.com>

	* Release 0.5.5 

	* src/gnome-genius.c: when we go to the last error there was an
	  "off by one" error

Mon Jun 02 13:18:53 2003  George Lebl <jirka@5z.com>

	* src/geniustests.txt: add test for sqrt with mod

	* src/gnome-genius.c: print line number in the statusbar, and on
	  error place the cursor at the point of the last error (kind of
	  a hack, should somehow mark all errors)

Mon Jun 02 10:13:13 2003  George Lebl <jirka@5z.com>

	* src/eval.c: fix resetting the modulo after recursive eval call
	  (was a crash)

	* src/funclib.c, src/calc.[ch]: a lot of messages are now unified
	  for ease of translation and argument checking is done with
	  helper routines.  Also when the sqrt is called with mod try calling
	  the SqrtModPrime or erroring out.

Sun Jun 01 09:14:06 2003  George Lebl <jirka@5z.com>

	* lib/number_theory/modulus.gel: add
	  SilverPohligHellmanWithFactorization function which does the
	  discrete log but knowing the factorization of q-1, so if you do
	  a bunch of discrete logs this can be a lot faster.

Sat May 31 15:11:04 2003  George Lebl <jirka@5z.com>

	* lib/numbertheory/modulus.gel: add IsPrimitiveModWithPrimeFactors,
	  which is like IsPrimitiveMod, but we already put in the
	  prime factors of q-1, so this is faster if we are testing a whole
	  bunch of numbers or if we know factorization of q-1 beforehand.
	  Use this for the primitive element finding routines.
	  Also add SqrtModPrime which computes square roots modulo a prime.

	* src/gnome-genius.c: Fix saving and opening of files (DOH!) also
	  set the filename and the directory each time when openning the
	  fileselector so that you don't have to retype everything.

	* src/calc.c, src/funclib.c: rename an easter egg to prevent
	  name conflict

Fri May 30 17:13:43 2003  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: print out errors/infos after program run.  DOH!

Wed May 28 16:57:25 2003  George Lebl <jirka@5z.com>

	* Release 0.5.4

	* src/gnome-genius.desktop.in: add Office category keyword

Wed May 28 16:37:12 2003  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: implement save and save as (at least
	  somewhat sanely).  Cut/Copy/Paste are now implemented for
	  the program panes.  If we are leaving the program the 'are you
	  sure' message takes into account if there are any unsaved
	  progs.

Wed May 28 13:32:39 2003  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: smarter dialog behaviour for open and load,
	  and add a reload menu item and also do some de-deprecation

Wed May 28 10:17:10 2003  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: cleanup the program stuff a bit, add a programs
	  menu and make selected program stick even if you switch to console
	  to be able to run multiple times easily.

Tue May 27 17:47:25 2003  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: implement open file, mark changed files
	  as changed, the toolbar has now open and not load and load label
	  changed to "Load and Run" to be clear

Tue May 27 16:59:54 2003  George Lebl <jirka@5z.com>

	* src/Makefile.am, src/lexer.[lh], src/calc.[chl, src/gnome-genius.c,
	  src/genius.c:  The my_yy_ functions are now gel_lexer_ functions
	  and lexer.l is installed.

	* src/gnome-genius.c: Implement tabs as programs using text view,
	  and allow running of these tabs as programs with output to main
	  console.  No openning/saving functionality yet.

Tue May 27 14:18:52 2003  George Lebl <jirka@5z.com>

	* lib/misc/misc.gel: add Compose function to compose two functions

Tue May 27 14:07:16 2003  George Lebl <jirka@5z.com>

	* lib/number_theory/modulus.gel: add IndexCalculus,
	  IndexCalculusPrecalculation, FindPrimitiveElementMod and
	  FindRandomPrimitiveElementMod functions that I did for class
	  a while back.

Tue May 27 13:11:00 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: fix the gmp accessors

	* src/mpzextra.[ch], src/funclib.c, lib/number_theory/factoring.gel:
	  snarf the Pollard-Rho implementation from gmp examples and use it
	  for a built in version of Factorize, and whack the gel one and
	  also whack FactorizeLoopMax as it doesn't make sense now.  Also
	  add possibility to interrupt the primality tests (except when
	  inside mpz_millerrabin).

	* src/eval.c: if an interruption is raised during a built in
	  function call, then raise exception.

Wed May 21 16:42:05 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.c: the int power functions were stupid and weren't
	  working for greater then ulong powers anyway.  So for the floating
	  one convert to a float if the power is too big, for the integer
	  one just make an error, since the number would be too big to be
	  useful (as an integer of course)

Wed May 21 16:06:28 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: allow access to the low level gmp types

	* lib/number_theory/primes.gel, src/mpzextra.[ch], src/mpwrap.[ch],
	  src/funclib.[ch], src/Makefile.am:
	  rework the prime testing stuff.  Use the mpz MillerRabin test,
	  and also snatch the strong pseudoprime test from gmp and make it
	  internal and whack StrongPseudoprimeSub.  MillerRabinTest now
	  takes the number of reps as an argument (an integer) and not an
	  epsilon!  IsPrime is rewritten internally as well for speed using
	  first mpz_probab_prime_p for the trial factoring, and then strong
	  pseudoprime tests for 2,3,5,7 and then some Miller-Rabin for good
	  measure.  Whack the IsPrimeLoopMax and PrimeProbabilityEpsilon
	  parameters and add IsPrimeMillerRabinReps parameter.  Whack the
	  IsPrimeProbability since it doesn't fit with the above and IsPrime
	  really does that.  MillerRabinTestSure is also now internal.

	* src/mpwrap.[ch], src/funclib.c: the EulerConstant is now taken
	  from MPFR if available instead of compiling in the long string
	  version and reading that each time.

	* src/funclib.c: a little bit of argument checking cleanup.

	* lib/functions/elementary.gel, src/mpwrap.c: Use MPFR for log10
	  and log2, or do some these functions internally with ln, also
	  add lg as an alias to log2

	* src/geniustests.txt: fix a wrong test (misread strong pseudoprime
	  and pseudoprime. 341 is the first pseudoprime to base 2,
	  not strong pseudoprime to base 2.  Also add some tests, and remove
	  tests for IsPrimeProbability.

Mon Apr 28 18:04:00 2003  George Lebl <jirka@5z.com>

	* src/eval.c: allow null for the set in the "for in" type loops to
	  just mean empty

	* lib/misc/misc.gel: Implement MakeSet, Union, Intersection and
	  document SetMinus and IsIn

	* src/funclib.c: add a "Set Theory" category for help

Mon Apr 28 17:33:37 2003  George Lebl <jirka@5z.com>

	* src/funclib.c, src/eval.[ch], src/structs.h: implement the
	  no_mod_all_args flag.  Add flag setting function to the
	  standard lib.  Use the no_mod_all_args flag on builtin C
	  functions where it makes sense (I, zeros, ones, rand, randint)
	  Also implement the GetCurrentModulo() function to get the
	  modulo of the calling context.

	* lib/functions/elementary.gel: the log function only takes an
	  optional base argument and without it acts as ln.  Also we look at
	  the modulo of the calling context and call DiscreteLog in case
	  there is one so "log(13,6) mod 229" works as it should.

Fri Apr 25 16:41:13 2003  George Lebl <jirka@5z.com>

	* src/compil.c, src/funclib.c, src/structs.h: allow mod propagation
	  into function, at least for built in ones and propagate into ref,
	  rref, and SolveLinearSystem

	* src/eval.[ch], src/matop.[ch]: attempt at mod awaring the gauss function
	  but it fails horribly unless we are in a finite field.

	* src/eval.c: fix a very small leak in loops and a very large leak in
	  evaluating and/or expressions

	* src/parse.y: mod now binds tighter then logical operators to make
	  things as "if a == b mod n and a == c mod n then ..." work properly
	  also call binds tighter then the logical operators then

	* src/calc.c: when function is undocumented, print at least a
	  prototype

	* src/matop.c: gauss correctly returns TRUE/FALSE even if stopsing
	  is FALSE

	* src/funclib.c: add SolveLinearSystem function that solves general
	  linear systems easily.  zeros and ones can now take only one
	  argument and that just gives a row vector.

Mon Apr 21 20:23:01 2003  George Lebl <jirka@5z.com>

	* src/funclib.c: elements, rows, columns accept
	  null and treat it as 0x0 matrix

Wed Apr 16 11:14:32 2003  George Lebl <jirka@5z.com>

	* src/compil.c: kill useless assert

	* lib/calculus/integration.gel: add NumericalIntegral which calls
	  some integral rule with steps as set by the parameters

Wed Apr 16 11:03:54 2003  George Lebl <jirka@5z.com>

	* lib/calculus/integration.gel: add MidpointRule to make quicker
	  calculations

Mon Apr 14 14:35:39 2003  George Lebl <jirka@5z.com>

	* src/parse.y: allow return after comma to break a long vector input

	* lib/number_theory/misc.gel: add ConvertToBase and ConvertFromBase

Mon Mar 24 22:07:33 2003  George Lebl <jirka@5z.com>

	* lib/number_theory/modulus.gel: add reference for the
	  DiscreteLog algorithm, add IsPrimitiveMod function

Mon Mar 24 21:54:11 2003  George Lebl <jirka@5z.com>

	* lib/number_theory/misc.gel, lib/number_theory/modulus.gel,
	  src/geniustests.txt:  Implemented CRT (ChineseRemainder) and
	  DiscreteLog (Silver-Pohlig-Hellman for F_q where q a prime) 
	  for homework.  Should really be built in, but for now we have to
	  get by with this.

Mon Mar 24 15:04:43 2003  George Lebl <jirka@5z.com>

	* src/eval.c: mod matrices after primitives, and add a fixme,
	  most operations already do modding so this is not very efficent,
	  but at least it's correct for now.  Fixes for example
	  "-[1] mod 2"

Mon Mar 24 14:31:29 2003  George Lebl <jirka@5z.com>

	* src/dict.c, src/eval.c: fix var substitution crash, and add
	  some memory debug friendliness

Mon Mar 10 13:10:57 2003  George Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel, lib/number_theory/misc.gel:
	  add AreRelativelyPrime function and fix the IsStrongPseudoprime
	  function

	* src/geniustests.txt: add some tests

	* lib/number_theory/misc.gel: add LeastAbsoluteResidue function

Mon Mar 10 11:49:22 2003  George Lebl <jirka@5z.com>

	* src/funclib.c, src/eval.[ch], src/mpwrap.[ch]:  Add IsEven and
	  IsOdd using the native gmp functions for speed improvement.  Also
	  add StringToASCII, ASCIIToString, AlphabetToString and
	  StringToAlphabet functions to make doing some cryptography stuff
	  easier.

	* lib/number_theory/misc.gel: whack IsEven and IsOdd

Mon Mar 10 10:55:14 2003  George Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel: add MillerRabinTestSure, which
	  tests primes in O((log n)^5) time that is a deterministic
	  algorithm (given Generalized Riemann Hypothesis is true)

Mon Mar 10 10:44:40 2003  George Lebl <jirka@5z.com>

	* lib/number_theorey/primes.gel: improve on the
	  Miller-Rabin test to optimize things a bit and add
	  IsStrongPseudoprimeSub which must already get
	  a and t where n-1 = 2^a * t, so that this doesn't have
	  to be computed over and over.

Wed Mar 05 14:14:41 2003  George Lebl <jirka@5z.com>

	* Release 0.5.3

Wed Mar 05 14:13:03 2003  George Lebl <jirka@5z.com>

	* src/eval.c, src/parseutil.c: when expanding matrices treat nulls
	  as empty matrices to allow easy appending, prepending and all such
	  stuff.

	* src/calc.c: be anal on printing numbers with powers and factorials
	  so that the output is genius parsable

Sat Mar 01 10:03:32 2003  George Lebl <jirka@5z.com>

	* src/funclib.c: on setting FloatPrecision actually break e and
	  GoldenRatio caches to recalculate (reread) these

Sat Mar 01 09:55:23 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.c: rational powers now use mpz_root to return an integer
	  if possible.

	* lib/number_theory/misc.gel: remove SymbolicNthRoot and do smarter
	  IsNthRoot given the new usage of powers

Fri Feb 28 13:32:46 2003  George Lebl <jirka@5z.com>

	* src/graphing.c: play with graph colors, make graph lines 1.5 thick,
	  add a plot progress indicator

	* src/mpwrap.c: fix conversions to int and rational from float

	* doc/manual.txt: add a note about unitary minus

Fri Feb 28 11:55:15 2003  George Lebl <jirka@5z.com>

	* src/genius.c, src/gnome-genius.c: raise precision back to 256
	  bits as mpfr is blazing fast on that as well.

Fri Feb 28 11:11:56 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch], configure.in, src/Makefile.am:  If MPFR is present
	  use it for functions like sin, cos, atan, pow, log, exp.  This
	  increases speed of those operations by a LOT (simple test gave
	  about 10 times the speedup).  Still you can use genius without
	  mpfr, since it usually doesn't seem to be present in GMP packages
	  since packagers tend to not add --enable-mpfr (I don't know why
	  it's not the default).  In any case since mpfr is a static library
	  so far I think builds that I make on my system will work for people
	  with the standard GMP package from redhat.

	* src/gnome-genius.c, src/genius.c: add a note in case MPFR isn't
	  compiled in to the copyright string so that people know if they
	  are running without it.

Thu Feb 27 18:07:58 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.c, src/lexer.l, src/parse.y, src/eval.[ch], src/calc.c:
	  Make UMINUS bind less then factorials and powers and have factorials
	  bind tighter then powers but then fixup the tree to make things
	  like -1^k still come out as (-1)^k (but -a^k is -(a^k)).  One
	  of those WYMIWYG things.

	* src/graphing.c: fixup labels a bit

	* src/calc.c: when printing a power be specific about how to parse
	  any UMINUS

Thu Feb 27 16:56:58 2003  George Lebl <jirka@5z.com>

	* src/graphing.[ch], src/eval.[ch]: Copy the token into functions
	  when we eval them to be able to identify them.  And label functions
	  on the graph by their token or their body if it is less then 64
	  characters long.  Also fix problems with too ofset plot window.
	  The default plotwindow is now a parameter called LinePlotWindow.

	* src/genius.c, src/gnome-genius.c: make default precision 128
	  since it will make things faster.  Currently <anything>^float
	  and exponentials and logs are utterly slow, even in lower
	  precision.

Thu Feb 27 10:17:08 2003  George Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/graphing.c, src/inter.c: graph progressively
	  to show how far we got.  Fix a long standing bug with getting an
	  unusable prompt if interrupt is hit without anything running.

Thu Feb 27 09:55:11 2003  George Lebl <jirka@5z.com>

	* src/graphing.c: make graph window a dialog, allow
	  stopping/interrupting of the graph, run the event loop often.

	* src/gnome-genius.c: don't allow executing code while somehting
	  else is running (for manual, answer copying and such)

Thu Feb 27 08:01:41 2003  George Lebl <jirka@5z.com>

	* src/graphing.c: allow graphing more then one function and fix
	  an error with too high function values.

Wed Feb 26 14:19:23 2003  George Lebl <jirka@5z.com>

	* src/graphing.c: plot every 2 pixels and optimize things a bit

Wed Feb 26 13:53:38 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: add ability to get doubles

	* src/graphing.[ch], src/gnome-genius.c, src/Makefile.am:  Add
	  very very rudimentary graphing support with the LinePlot function.
	  Doesn't make nice graphs but should be enough for
	  "seeing how f : R -> R" looks.

Wed Feb 26 10:06:11 2003  George Lebl <jirka@5z.com>

	* src/genius.c, src/gnome-genius.c: Add Copy Answer As
	  Plain/LaTeX/MathML/Troff menu items (to make the gui version at
	  least somewhat more useful then the console version) and add
	  a default answer to avoid errors on copy before anything has been
	  entered.

	* doc/manual.txt: update to add the mathml mode

Wed Feb 26 09:27:24 2003  George Lebl <jirka@5z.com>

	* src/calc.c: improve a teeeny bit on the mathml mode.  Produces
	  Content MathML but I can't get mozilla to render mathml for me
	  properly so I can't test this.

Tue Feb 25 10:27:47 2003  George Lebl <jirka@5z.com>

	* src/genius.c, src/gnome-genius.c, src/calc.[ch], src/funclib.c:
	  Add an experimental MathML output mode (for matrices only for now).
	  Can't quite get it to work though.

Mon Feb 24 15:58:47 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.c: add locale.h

	* src/gnome-genius.c: allow quitting while calculations are running
	  and add a "really want to quit dialog" to be replaced by "really
	  want to quit without saving state" dialog at some point in future.

	* src/eval.c: some leak hunting (still there are leaks)

	* lib/number_theory/misc.gel: better help string for Divides
 
	* lib/number_theory/primes.gel: make the MillerRabin config
	  param 10 times larger for IsPrime, 10^-100 should be plenty
	  small

Fri Feb 21 14:05:10 2003  George Lebl <jirka@5z.com>

	* src/funclib.c, src/mpwrap.[ch]: add IsGaussInteger,
	  IsComplexRational and IsPositiveInteger, also rename g
	  to Gravity

	* lib/number_theory/primes.gel: Add MillerRabinTest and use it
	  in IsPrime

	* lib/number_theory/*.gel: simplify argument checking in bunch of
	  places

	* src/calc.c, src/compil.[ch]: When reading compiled file allow
	  arbitrarily long record lines

Thu Feb 20 00:56:49 2003  George Lebl <jirka@5z.com>

	* lib/number_theory/factoring.gel: it's too late and I can't think
	  and I commit things with syntax errors

Thu Feb 20 00:23:57 2003  George Lebl <jirka@5z.com>

	* lib/number_theory/factoring.gel: implement FermatFactorization,
	  also use it as a last resort for the Factorize

Wed Feb 19 14:13:22 2003  George Lebl <jirka@5z.com>

	* src/funclib.c: better prime caching, cache up to 30000 primes,
	  rename prime to Prime, add g, the gravity constant and add
	  EulerConstant (or gamma) good for about 9k digits, doesn't
	  calculate we have an actual representation in memory.

	* lib/number_theory/*.gel: Add RemoveFactor, add some help
	  strings remove SymbolicSquareRoot (sqrt does the job well)

Wed Feb 19 09:54:03 2003  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: add Edit menu with Copy and Paste.

	* src/mpwrap.c: minor fix for rational power, and do possibly 
	  symbolic square root in case the denominator is 2, 4, 8 or 16
	  (should do more perhaps)

Sun Feb 16 11:06:50 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch], src/eval.c, lib/number_theory/misc.gel:
	  use the powm function for power mod to make the modulo arithmetic
	  actually more useful.  Also implement numerator and denominator
	  for complex rational values.

Sat Feb 15 17:31:52 2003  George Lebl <jirka@5z.com>

	* lib/number_theory/factoring.gel: increase the Factorize maximum
	  since we don't have any fun factoring algs so the trials is the
	  only thing we do.  Plus it's relatively fast.

Fri Feb 14 17:46:19 2003  George Lebl <jirka@5z.com>

	* doc/manual.txt: update

	* configure.in: raise version

Fri Feb 14 17:27:02 2003  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch], src/calc.c, src/parse.y, src/lexer.l: Better
	  printing of complex numbers still, add mode for (<expr>)i which
	  makes the expr imaginary (multiply by i really), and use this
	  for printing imaginary mixed fractions to look better.  Also
	  don't print parenthesis on toplevel complex numbers to look nicer
	  and pretty print now does toplevel.  Also don't toplevel on
	  printing a polynomial and when in toplevel mode don't
	  print whole numbers since that's the whole point of FullExpressions

	* src/eval.c: fix crash on setting parameters if there is an
	  exception

	* doc/manual.txt: update

Fri Feb 14 16:10:30 2003  George Lebl <jirka@5z.com>

	* lib/number_theory/*.gel: add MaximalPrimePowerFactors,
	  PrimeFactors, fix Factors and add CombineFactorizations,
	  also make a better implementation of EulerPhi using Factorize,
	  which is a LOT faster then our previous braindead one.

	* src/util.[ch]: fixup the my_realloc to just use g_realloc. and
	  other minor cleanups

	* src/mpwrap.[ch], src/lexer.l, calc.c, compil.c: rework printing of
	  complex numbers, add latex/troff mode for fractions.  Allow
	  rational/integer complex numbers.  Add fixmes for den/num
	  functions for complex numbers.  For pure imaginary numbers just
	  print the imaginary part without parentheses.

	* src/geniustests.txt, src/geniustest.pl: add more tests, update
	  for changes and printout error inputs if any at the end

	* doc/manual.txt: update for the complex numbers

	* src/parse.y: ':' now binds less then the standard arithmetic
	  operators to fix stuff like foo@(2:a-1) to actually mean
	  foo@(2:(a-1)) and not foo@((2:a)-1)

Wed Feb 12 16:52:48 2003  George Lebl <jirka@5z.com>

	* src/parser.y: allow more matlabish notation for getting whole
	  rows and columns such as a@(3,:).  Still we do not support
	  the form a@(3,5:) and such.  Should not be hard to add though.

Mon Feb 10 09:23:28 2003  George Lebl <jirka@5z.com>

	* genius.spec.in: damnit why did I forget libexec ...

Mon Feb 10 08:57:04 2003  George Lebl <jirka@5z.com>

	* Release 0.5.2

Mon Feb 10 08:16:59 2003  George Lebl <jirka@5z.com>

	* configure.in, Makefile.am, po/POTFILES.in: Fixed gettext/intltool
	  stuff to be correct and actually should work now, add missing files

Sun Feb 09 19:23:11 2003  George Lebl <jirka@5z.com>

	* src/calc.c: be consistent with which parentheis are printed in
	  latex mode since I always use [] and not () because I think that
	  looks neater, and since genius is my program I can make it
	  print whatever I want.  And damn is this nice for typing homework :)

Fri Jan 31 09:29:36 2003  George Lebl <jirka@5z.com>

	* src/funclib.c: no need to mod after ref or rref since those will
	  in fact be handled by after function moding.

Wed Jan 29 14:01:54 2003  George Lebl <jirka@5z.com>

	* src/eval.[ch], src/funclib.c: mod matrices after gauss (gauss is
	  too stupid to mod ... no pun intended).  Allow negative powers
	  of matrices and division in mod mode.

	* src/geniustests.txt: add some more tests

	* doc/manual.txt: update a bit

Wed Jan 29 10:20:57 2003  George Lebl <jirka@5z.com>

	* src/Makefile.am, src/gnome-genius.desktop.in: updated the
	  .desktop to be correct, add categories and install in the
	  vfolder location and all that good stuff

Mon Jan 27 14:30:40 2003  George Lebl <jirka@5z.com>

	* doc/manual.txt: a small update

Mon Jan 27 14:13:43 2003  George Lebl <jirka@5z.com>

	* configure.in, Makefile.am, doc/Makefile.am, doc/manual.txt,
	  README:  Move the manual to doc/manual.txt and install that
	  in the data directory

	* src/calc.c, src/funclib.c, src/gnome-genius.c, src/genius.c:
	  add manual function to display manual, improve initial message,
	  info boxes in gui version now use textview and open up being
	  rather large, also always use the infobox for menuitems even if
	  console info printing is selected.

	* lib/calculus/limits.gel, lib/calculus/sums_products.gel, 
	  lib/linear_algebra/misc.gel, lib/number_theory/factoring.gel,
	  lib/number_theory/modulus.gel, lib/statistics/basic.gel:
	  Some naming fixes and a whole bunch of new help strings
	  
	* src/calc.[ch], src/eval.c, src/mpwrap.c, src/funclib.c,
	  src/genius.c, src/gnome-genius.c, src/matop.c:
	  Rename error var type to GeniusError, on protected id set
	  tell us which id was it.

	* src/calc.c: don't display Ans as undocumented and add some initial
	  info to help and translate some strings

	* src/geniustests.txt: add some more tests

	* src/calc.h: up year in copyright string

Sun Jan 26 12:40:49 2003  George Lebl <jirka@5z.com>

	* src/parse.y: fix precedence of function definition to be FUNCTION
	  and not EQUALS

Sat Jan 25 15:59:58 2003  George Lebl <jirka@5z.com>

	* lib/equation_solving/find_root.gel, lib/misc/misc.gel:  A bit of
	  renaming and add some help strings

	* src/calc.c, src/geloutput.[ch], src/genius.c, src/gnome-genius.c,
	  src/structs.h:  Fixup help output a bit, and can get column count
	  of an output even if full expressions is true 

	* configure.in: raise version

Sat Jan 25 15:14:18 2003  George Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel, src/eval.c, src/funclib.c,
	  src/mpwrap.[ch]:  Use gmp functions to implement NextPrime,
	  IsPrimeProbability, LucasNumber and ModInvert.  Also implement
	  modular inversion when we encounter a ration in modular mode
	  and fix bug with pushing the modulus.

	* src/geniustests.txt: more tests

Fri Jan 24 14:16:08 2003  George Lebl <jirka@5z.com>

	* lib/number_theory/modulus.gel: add implementation of EulerPhi

	* lib/number_theory/primes.gel: some parameter checking

Thu Jan 09 15:38:45 2003  George Lebl <jirka@5z.com>

	* src/geloutput.[ch], src/calc.c: fix help output a bit to
	  obey terminal size

	* lib/combinatorics/factorial,gel: add Subfactorial

	* lib/combinatorics/misc.gel: whack some unimplemented functions

	* src/funclib.c: add GoldenRatio

	* src/gnome-genius.c: actually use the font we set

Thu Jan 09 11:14:19 2003  George Lebl <jirka@5z.com>

	* src/calc.[ch], src/funclib.c, src/genius.c, src/gnome-genius.c,
	  src/inter.c, src/lexer.l, src/mpwrap.[ch], src/testplugin.c:
	  Some internal cleanup, prefix some functions with gel_, add
	  a general printout infos function.  Whack the help entry in the
	  menu since there is no help, and add a warranty item that runs
	  the warranty function.  Also fix the hiding of the plugins menu.

Thu Jan 09 10:40:42 2003  George Lebl <jirka@5z.com>

	* src/plugread.c, src/plugin.h, src/gnome-genius.c,
	  src/test.plugin.in:  Add a Hide= entry in the plugin description
	  and if true don't show the plugin in the gui.  Also if the
	  plugin menu is empty, then hide the whole toplevel menu.

Wed Jan 08 13:37:09 2003  George Lebl <jirka@5z.com>

	* src/Makefile.am, src/gnome-genius.c: move the helper program
	  to libexec

	* src/plugin.[ch], src/plug_api.h, src/Makefile.am,
	  src/gnome-genius.c, src/calc.c, src/plugread.[ch],
	  src/testplugin.c, src/genius.c: attempt to make the plugin
	  stuff a bit more usable and implement the save state and
	  restore state

	* src/calc.c, src/inter.c: use nicer colors on gui version

	* src/gnome-genius.c: fix saving of preferences, port the
	  error/info dialog to new gtk

	* src/eval.c, src/mpwrap.c, src/matrixw.c, src/lexer.l,
	  src/parse.y: fix warnings

	* configure.in: properly enable warnings

Tue Jan 07 18:05:08 2003  George Lebl <jirka@5z.com>

	* src/plug_api.h: minor fixes and a note about the state functions
	  not really working

	* src/testplugin.c: implement some more functionality including
	  adding functions etc...

	* src/gnome-genius.c: some delete/bs fiddling, still not working
	  right for me though.  Also changed the logic for the fifo
	  creation

	* src/calc.c: fix plugin command to avoid an infinite input loop

Tue Jan 07 16:28:34 2003  George Lebl <jirka@5z.com>

	* configure.in: require vte since libzvt is broken and all that

	* src/calc.c: fix green color in help

	* src/genius-readline-helper.c, src/gnome-genius.c: port to vte
	  since libzvt is just giving me fits and we'll all use vte 
	  sooner or later

	* src/Makefile.am, src/gnome-genius.c: rename the readline helper
	  to avoid a hang in case we find an old readline helper hanging
	  around

Fri Jan 03 11:27:21 2003  George Lebl <jirka@5z.com>

	* Release 0.5.1

Fri Jan 03 11:23:38 2003  George Lebl <jirka@5z.com>

	* configure.in: increase version and fixup

	* src/matop.c: stop being confused about REF definition and make the
	  pivots 1 again

	* src/mpwrap.c: Fix two errors pointed out by Kai Arstila
	  <Kai.Arstila@Helsinki.FI>.  First fix rounding when first digit
	  is rounded.  Second fix arctan by using an implementation by
	  Guillermo Ballester Valor <gbv@oxixares.com> which I found on the
	  net.

Thu Dec 19 15:12:49 2002  George Lebl <jirka@5z.com>

	* src/eval.h, src/structs.h, src/eval.c, src/calc.c: start adding
	  some polynomial handling code.  Not much though.

Thu Dec 05 10:13:36 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: add function for
	  eigenvalues, currently only for 2x2 and for triangular
	  matrices as special cases.

Sat Nov 23 10:13:15 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/*.gel: add RaleighQuotient, and reverse the
	  direction of the vandermonde matrix so that we fit with how
	  we are doing polynomials

	* src/eval.c: fix modular arithmetic on single values, and fix
	  modular arithmetic on matrices

	* src/funclib.c: cache identity matrices

	* src/matop.c: fix REF by not reducing the pivots

Fri Nov 01 17:20:38 2002  George Lebl <jirka@5z.com>

	* Release 0.5.0

Fri Nov 01 14:22:49 2002  George Lebl <jirka@5z.com>

	* src/matrixw.c, src/mpwrap.c, src/plugin.c: Some leak hunting,
	  probably many leaks still left

Fri Nov 01 11:58:39 2002  George Lebl <jirka@5z.com>

	* src/funclib.c: add a Combinations and Permutations function.  Also
	  fix checking for integers if complex numbers are passed

	* lib/linear_algebra/linear_algebra.gel,
	  lib/linear_algebra/misc.gel:  Whack GAMMA (use Combinations name),
	  and fix some other naming, fix complex DotProduct add InnerProduct
	  alias, switch arguemnts on JordanBlock, add OuterProduct of
	  vectors, clean up norms to reduce it to 2 functions

	* src/eval.c, src/matop.[ch], src/structs.h: Implement basic modular
	  arithmetic.  Not currently too smart but usable for basic modulo
	  operations. 

Wed Oct 30 15:40:09 2002  George Lebl <jirka@5z.com>

	* src/eval.c: fix optimization of the matrix expansion for 1x1
	  matrices

Wed Oct 30 15:37:24 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/misc.gel: Submatrix functions always return
	  a matrix

	* src/dict.[ch], src/calc.c, src/eval.[ch], src/funclib.c,
	  src/compil.c, parseutil.c, structs.h:  don't do local variable
	  substitution on function nodes.  Rather push them onto a special
	  stack (this bit is ugly) and then add a special dictionary
	  to the function on context pop with the local vars.  This
	  should work a lot nicer then the replacing that was going on
	  before.

Wed Oct 30 11:27:40 2002  George Lebl <jirka@5z.com>

	* src/calc.c, src/eval.[ch], src/funclib.c, src/lexer.l, src/parse.y,
	  src/matrixw.[ch], src/parseutil.[ch]:  Add the : operator like
	  matlab has and accept vectors rather then just ranges for indexes
	  of matrices.  Also add IndexComplement to the builtin functions

	* src/gnome-genius.c: minor cleanup

	* src/geniustest.pl, src/geniustests.txt: update test suite

	* lib/*/*.gel: update for the new syntax

Wed Oct 23 21:59:46 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: fix said stupid tests

Wed Oct 23 21:56:28 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: some stupid testing
	  functions such as IsNormal and IsUnitary and such

Wed Oct 23 21:34:43 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: some renaming add a nicer
	  Norm function (does LpNorm or L2Norm if no p specified)

Wed Oct 23 20:56:11 2002  George Lebl <jirka@5z.com>

	* src/calc.c: whack restriction on desc string

Wed Oct 23 20:52:33 2002  George Lebl <jirka@5z.com>

	* src/matop.c, src/matrixw.c: Fix integer/rational caching

	* src/funclib.c: make gcd and lcm take multiple arguments or
	  a vector (or matrix).  Also rename PerfectSquare and PerfectPower
	  to IsPerfectSquare and IsPerfectPower

	* lib/number_theorey/*.gel: use the perfect functions above and
	  whack IsSquare

	* lib/linear_algebra/linear_algebra.gel: add some determinantal
	  divisor whackiness for integer matrices (less useful, but good
	  for homework/learning), a bunch of related nonsense too

	* lib/linear_algebra/misc.gel: add IsUpperTriangular,
	  IsLowerTriangular, and IsDiagonal

Wed Oct 23 16:49:40 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/special_matrices.gel: add companion matrix

Wed Oct 23 16:31:40 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: Add characteristic
	  polynomial function

Wed Oct 23 15:34:41 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/misc.gel: Fix the Adjugate alias

Wed Oct 23 15:29:37 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/special_matrices.gel: add HilberMatrix,
	  and Henkel matrix and add some docs and fix Vandermonde matrix
	  and add vander alias

Wed Oct 23 14:33:56 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/misc.gel: add support for Compound matrices and
	  the GAMMA set (may need renaming, all index combination vectors of,
	  for using in submatrices)

Wed Oct 23 13:41:49 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/*.gel: add some help strings and implement
	  submatrix functions

	* src/mpwrap.c: define 0^0 as 1

Wed Oct 23 12:49:02 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/misc.gel: fix naming of adj.  Call it Adjugate
	  rather then Adjoint to avoid confusion

Wed Oct 23 12:29:10 2002  George Lebl <jirka@5z.com>

	* src/parse.y, src/lexer.l, src/calc.[ch], src/funclib.c,
	  src/genius_lists.c, src/inter.c: remove the help function add a
	  help command, and add help on specific functions add help on commands.
	  Add possible argument to ls.  Remove the shell hack as it's
	  dangerous and just use glob if wordexp isn't available.  Also clean
	  up the command stuff.

	* src/funclib.c, src/matrixw.[ch]: add DiagonalOf function

Fri Oct 18 22:49:22 2002  George Lebl <jirka@5z.com>

	* src/calc.c: fix cd command, improve ls command

	* src/inter.c: fix command completition for cd and fix toplevel
	  command checking for the new commands

Fri Oct 18 18:28:33 2002  George Lebl <jirka@5z.com>

	* src/funclib.c: add chdir

	* src/parse.y, src/lexer.l, src/calc.[ch]: add cd, pwd and ls
	  commands, currently broken

Fri Oct 18 17:31:27 2002  George Lebl <jirka@5z.com>

	* src/parse.y, src/lexer.l, src/eval.[ch], src/structs.h,
	  src/funclib.c, src/calc.c, src/dict.c: Add parameters (both user
	  and built in).  At some point they should also support value
	  verification/massage functions, but not so currently.

	* src/*.[ch]: warning fixes

	* lib/*/*.gel: minor cleanups and use parameters

Fri Oct 18 15:46:18 2002  George Lebl <jirka@5z.com>

	* src/eval.[ch], src/mpwrap.[ch], src/calc.c, src/parse.y,
	  src/lexer.l:  Add some element by element operators, add double
	  factorial operator

	* lib/linear_agebra/linear_algebra.gel: add some norm functions

	* lib/linear_agebra/misc.gel: add UpperTriangular and LowerTriangular
	  functions and IsVector function, and make some vector operations
	  work on both horizontal and vertical vectors

	* lib/combinatorics/factorial.gel: use !! for double factorial
	  function and add Factorial function

	* lib/funclib.c: more renaming and moving to the new definition macros

	* src/geniustests.txt: update

	* src/geniustest.pl: print error in red

Fri Oct 18 11:52:27 2002  George Lebl <jirka@5z.com>

	* lib/statistics/basic.gel: fix naming on RowAverage

Fri Oct 18 11:49:25 2002  George Lebl <jirka@5z.com>

	* src/funclib.c, src/mpwrap.[ch], src/matrixw.[ch], src/matop.[ch]:
	  Add a bunch of functions, make sqrt work nicely on perfect square
	  integers and rationals.  Add JacobiKronecker from gmp, use gmp
	  float unsigned long int power, add functions for checking
	  matrix values all at once, add a bunch of aliases.  Also
	  add a PerfectPower function

	* lib/*/*.gel: Do a bunch of renaming and add some help strings
	  and identify aliases.  Fix some minor bugs.  MakeDiagonal
	  can now take many value arguments.  Whack functions which
	  are built in or weren't implemented.  Implement DoubleFactorial.
	  Fix the symbolic nth power stuff, it can use PerfectSquare
	  PerfectPower and the standard sqrt function

Thu Oct 17 01:00:35 2002  George Lebl <jirka@5z.com>

	* lib/statistics/basic.gel: a bit of renaming, and some aliases

	* lib/calculus/sums_products.gel: add an epsilon argument to
	  the infinite sum functions

Thu Oct 17 00:50:26 2002  George Lebl <jirka@5z.com>

	* src/mpwrap.c: when reading floats push "C" numeric locale

Wed Oct 16 16:54:03 2002  George Lebl <jirka@5z.com>

	* src/funclib.c: min and max can take multiple arguments, if only one
	  argument is supplied, get the min or max entry of a matrix

Wed Oct 16 15:44:24 2002  George Lebl <jirka@5z.com>

	* src/funclib.c: the constat functions take no arguments

Wed Oct 16 15:42:13 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/*.gel: add some help strings, add DotProduct and
	  add the Gram-Schmidt process

Wed Oct 16 14:24:44 2002  George Lebl <jirka@5z.com>

	* src/funclib.[ch]: more cleanup, descriptions

	* src/plugin.[ch], src/calc.[ch]: move the genius_is_gui out
	  of the plugin crap

	* src/gnome-genius.c: fix outputing of info stuff.

	* src/funclib.c: print help directly to output

	* lib/*/*.gel: description fixes

Wed Oct 16 12:10:44 2002  George Lebl <jirka@5z.com>

	* src/calc.[ch], src/funclib.c, src/compil.[ch]: more advanced help
	  functionality, including categorizing

	* src/funclib.c: make the init function a bit nicer and start
	  categorizing and documenting the functions

	* lib/**/*.gel: adapt to the new SetHelp call, whack the conjugate
	  function as it already exists

	* src/*.c: random minor cleanup

Fri Oct 11 16:45:36 2002  George Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/geloutput.[ch], src/structs.h, src/calc.c:
	  fix output of large things

Fri Oct 11 15:22:29 2002  George Lebl <jirka@5z.com>

	* src/genius.c, src/gnome-genius.c: max_digits default to 12

	* src/funclib.c, src/mpwrap.[ch]: add random functions, and do
	  a bit of cleanup

Fri Oct 11 13:37:14 2002  George Lebl <jirka@5z.com>

	* src/calc.c, src/eval.c, src/parse.y, src/lexer.l,
	  src/parseutils.[ch], src/structs.h, compil.c: Add vararg functions

	* lib/linear_algebra/linear_algebra.gel: Add vector of matrices
	  direct sum function, and make the direct sum use varargs.
	  Also change is_invertible to IsInvertible and add
	  IsInvertibleField.  Also fix Jordan block function for n==1
	  and add some argument checking

	* lib/combinatorics/recursive_sequences.gel: use IsInvertible name

Fri Oct 11 12:02:19 2002  George Lebl <jirka@5z.com>

	* src/genius.c: fix a warning

	* src/eval.c, src/dict.[ch], src/calc.c: ensuring user body done
	  in a macro

	* src/eval.c: when we define a function within a non global context
	  immediately evaluate all local identifiers.  This allows for
	  returning of functions.  Also ensure user bodies on all treewalking
	  functions.

Fri Oct 11 10:56:59 2002  George Lebl <jirka@5z.com>

	* src/*.c, src/eval.h: put the free_trees extern in the header

	* src/matrixw.[ch], src/matrix.[ch], src/eval.c, src/parseutil.c,
	  src/funclib.c: Add RowsOf and ColumnsOf function which are useful
	  for the for/in loops (or sum/in or prod/in)

	* README: update a tad

Fri Oct 11 10:09:30 2002  George Lebl <jirka@5z.com>

	* src/eval.c: fix do/while/until loops

	* src/lexer.l, src/parse.y, src/eval.c, src/matrixw.[ch],
	  src/matop.[ch]: Make the ' operator the conjugate transpose
	  and add a simple transpose .' operator ala matlab/octave.  Also
	  only set matrix element to a NULL if it truly does equal 0 (integer
	  only)

	* src/eval.[ch], src/funclib.c: Add ExpandMatrix and conj functions.

	* lib/*/*.gel: update for transpose, added ConjugateTranspose
	  function

	* src/eval.c: fix matrix column expansion.

	* src/geniustests.txt: Because matrix expansion now works differently
	  (more sanely), update the tests.  Also add some simple transpose
	  versus conjugate transpose tests

Thu Oct 10 10:31:48 2002  George Lebl <jirka@5z.com>

	* src/eval.c, lib/linear_algebra/linear_algebra.gel: fix matrix
	  expansion and don't expand when not neccessary

	* src/eval.c: don't force replace = by == if we move from a
	  boolean context to a function definition one

	* src/eval.c: attempt to fix broken dowhile/dountil

Wed Oct 09 15:01:09 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/*.gel: add a bunch of basic linalg functions,
	  add protects to some, add some help strings and such

Wed Oct 09 14:28:57 2002  George Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: add a few functions

Wed Oct 09 12:42:16 2002  George Lebl <jirka@5z.com>

	* src/funclib.c: use x^0 in polytofunc to allow properly evaluating
	  with matrices

	* src/gnome-genius.c: flush after error display

Wed Oct 09 12:32:45 2002  George Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/inter.c, src/Makefile.am,
	  src/genius-readline-helper.c:  Build the readline helper and
	  backport the readline voodoo from dr.genius.  Also fix up
	  random other stuff on the frontend to make the gui work.

Sun Oct 06 20:44:18 2002  George Lebl <jirka@5z.com>

	* src/funclib.c: set call can take a string

	* src/disc.c: fix global set

	* src/eval.[ch], src/parse.y, src/calc.c: allow passing of
	  identifiers quoted with a backquote just like matrix, so
	  that we can pass an identifier to a function.  Also replace
	  = with == if we are in expression, so that if (a=1) works
	  like if (a==1).  Basically do what the user means, not what
	  he says.

Sun Oct 06 19:08:00 2002  George Lebl <jirka@5z.com>

	* configure.in, src/gnome-genius.c, Makefile.am: first pass
	  at porting to gnome2.  It seems to compile.

Sun Oct 06 18:48:12 2002  George Lebl <jirka@5z.com>

	* configure.in, src/*.h, **/Makefile.am: start the gnome2 porting
	  voodoo

Note that a lot of stuff happened here including syntax changes without a
changelog because I was a lazy bum.  Sue me.

Fri Sep 27 13:24:35 2002  George Lebl <jirka@5z.com>

	* Big fixing.  Basically apply the below patches to the 0.4.6 tree
	  remove the new context rewrite, fix a bunch of errors and crashes
	  and generally make the whole thing work.  Next up will be to
	  port it to gnome2 at some point though I think I might keep it
	  at gnome 1 level out of laziness.  I also fixed up all the
	  copyright notices.  I'm really keen on using genius again for my
	  homework/research and thus all this is happening.
	  Yay! Genius is not dead!

The following comes from the dr-genius work of genius:

2000-11-30  Martin Norbäck  <d95mback@dtek.chalmers.se>

	* gnome-genius.desktop: added Swedish translation

2000-07-29  Hilaire Fernandes  <hilaire@ofset.org>

	* genius.c: Set the path to the real file (ie ncurse/).

2000-05-04  Valek Filippov  <frob@df.ru>

	* eval.c: typo fixed.

Tue Feb 08 21:25:07 2000  George Lebl <jirka@5z.com>

	* calc.[ch],genius.c,lexer.h,lexer.l,inter.[ch],funclib.c: use flex
	  buffers to handle nested files correctly and setup the correct
	  directory by passing directory prefixes to the parsing functions.

	* gnome-genius.c: small fixes

Tue Feb 08 20:01:34 2000  George Lebl <jirka@5z.com>

	* calc.c: some debugging output and a first (broken) pass at
	  changing directories correctly to make loading work correctly

Mon Feb 07 21:13:19 2000  George Lebl <jirka@5z.com>

	* eval.c: when expanding matricies make a private copy so that
	  we don't mangle constant matricies in the function library upon
	  execution

Fri Feb 04 17:44:16 2000  George Lebl <jirka@5z.com>

	* mpwrap.[ch],funclib.c: added numerator and denominator functions

Fri Feb 04 00:57:38 2000  George Lebl <jirka@5z.com>

	* geloutput.[ch],calc.[ch],eval.c,funclib.c,util.c,genius.c,
	  gnome-genius.c: Start using the new output stuff with somewhat
	  large hacks to make it work, but a step closer towards the new
	  interface.

Thu Feb  3 13:34:49 2000  George Lebl <jirka@5z.com>

	* geloutput.c: Finished implementing of the output stuff, now also
	  does tab expansion and hhandles the long line limiting mostly
	  correctly.

	* struct.h,geloutput.[ch]: use set/get_data style data on the output
	  as well and add dynamic line length getting function

Thu Feb 03 00:16:35 2000  George Lebl <jirka@5z.com>

	* matop.c,eval.c: Fixed very critical copy-on-write problems which
	  caused mangeled matrix variables

	* matop.[ch],funclib.c,eval.c: make the gauss function have a bit
	  nicer interface

Wed Feb 02 23:24:37 2000  George Lebl <jirka@5z.com>

	* structs.h: fix some warnings and add accessors for
	  errorout and infoout

Wed Feb 02 23:19:16 2000  George Lebl  <jirka@5z.com>

	* structs.h,geloutput.[ch]: implement a bunch of output stuff

Tue Feb  1 13:38:48 2000  George Lebl <jirka@5z.com>

	* mpwrap.[ch]: further implementation details are being sorted out

Tue Jan 25 22:58:24 2000  George Lebl <jirka@5z.com>

	* mpwrap.[ch]: doh! fixed compile errors

Tue Jan 25 13:22:54 2000  George Lebl <jirka@5z.com>

	* mpwrap.[ch]: figure out some new interface to make this part
	  embeddable and modular

Mon Jan 10 20:35:40 2000  George Lebl <jirka@5z.com>

	* structs.h,calc.c,eval.[ch],compil.c,matrixw.c: fixup more namespace
	  stuff

Sun Jan 09 17:18:58 2000  George Lebl <jirka@5z.com>

	* mpwrap.c: sanity check of integer_output_base for the int output

	* calc.h: use gboolean instead of int for booleans

	* gnome-genius.c: correctly initialize the state structure

	* extra.h: never use the __weak__ attribute, for some reason this
	  causes weird segfaults in dr-genius (not genius nor gnome-genius
	  however)

Fri Jan 07 01:53:53 2000  George Lebl <jirka@5z.com>

	* structs.h: begin thinking about the new interface and start
	  on the structures

	* *.[chly]: to make transition to a lib easier start prepending
	  functions with gel_ and declaring some as weak symbols

Thu Jan 06 16:29:43 2000  George Lebl <jirka@5z.com>

	* mpwrap.c,geniustests.txt: fixup integer output in bases higher
	  then 10 (except 16) for small integers

Tue Nov 30 19:03:56 1999  George Lebl <jirka@5z.com>

	* eval.c: don't precalc MOD_CALC body

	* eval.c,structs.h,utype.[ch],Makefile.am: start on a user type,
	  but this is not yet finished, it only compiles now

Tue Nov 30 17:49:32 1999  George Lebl <jirka@5z.com>

	* eval.[ch],calc.c: do precalculation separately from parsing to
	  allow for restrictions on precalc

	* mpwrap.c: trim excess zeros off of roundend numbers

Sun Nov 28 23:45:24 1999  George Lebl <jirka@5z.com>

	* inter.c,drgenius-readline-helper.c: use a new readline system
	  with a separate forking process which talks to us with pipes (sue
	  me, corba would be WAAAY too much work for this)

	* genius_lists.c,eval.c,inter.c: move the constant lists of strings
	  to genius_lists.c and make them global.

Thu Nov 04 15:21:46 1999  George Lebl <jirka@5z.com>

	* lib.gel: sanitize triangular numbers

Sat Oct 23 15:54:00 1999  George Lebl  <jirka@5z.com>

	* lib.gel: add ll_test_mprime, it's actually not that slow even
	  though it's interpreted

Sat Oct 23 13:54:06 1999  George Lebl  <jirka@5z.com>

	* inter.c: make toplevels and operators const

Tue Oct 19 20:29:19 1999  George Lebl  <jirka@5z.com>

	* lib.gel: add "triangular" function from Matthew D Allen
	  <s2mdalle@titan.vcu.edu>

Mon Oct 18 21:18:20 1999  George Lebl  <jirka@5z.com>

	* dict.[ch],structs.h,calc.c,funclib.c,lib.gel: add protection
	  of certain global variables from overwriting and an interface
	  to modify the protections

	* mpwrap.c: check one more bit in exp calculation

	* lib.gel,funclib.c: more help strings added

Mon Oct 11 23:53:00 1999  George Lebl  <jirka@5z.com>

	* mpwrap.c: in power series functions, only check the precision we
	  will actually return, this avoids an infinite loop bug

Mon Sep 27 19:27:16 1999  George Lebl  <jirka@5z.com>

	* genius.c: support new parameters

Mon Sep 27 19:20:29 1999  George Lebl  <jirka@5z.com>

	* mpwrap.c,lexer.l: fixup the output base and mixed fraction support

Mon Sep 27 16:24:07 1999  George Lebl  <jirka@5z.com>

	* mpwrap.[ch],lexer.l,eval.c,funclib.c: add integer_output_base and
	  mixed_fractions parameters and implement them, however it most
	  likely doesn't even compile as I can't get the damn
	  autoconf/automake running for some weird reason

Sun Sep 26 21:14:28 1999  George Lebl  <jirka@5z.com>

	* inter.[ch]: add event based readline reading

Sun Sep 26 17:44:48 1999  George Lebl  <jirka@5z.com>

	* eval.[ch], funclib.c, structs.h, inter.c, calc.c: completely
	  go to the new interface and remove a lot of old cruft, and
	  make internal gel function calling work

Sun Sep 26 16:40:05 1999  George Lebl  <jirka@5z.com>

	* eval.c: fix special free from spurious freeing

	* calc.c: use the new interface from eval.c

Sun Sep 26 16:10:21 1999  George Lebl  <jirka@5z.com>

	* eval.c: fix copying of spacers, make a private copy of a matrix
	  before we evaluate any of it's arguments, never evaluate the
	  generic zero element of matrices

Fri Sep 24 19:14:12 1999  George Lebl  <jirka@5z.com>

	* eval.c: fixed matrix^1

	* geniustests.txt: added some tests

Fri Sep 24 18:33:49 1999  George Lebl  <jirka@5z.com>

	* funclib.c: fixed some problems with creating argument lists
	  for new nodes, down to 2 errors on the testsuite

Fri Sep 24 17:32:20 1999  George Lebl  <jirka@5z.com>

	* eval.c: fix matrix memory allocation, fix op_two_nodes for non
	  numeric values, and fix for loop semantics with respect to
	  iterator value after loop. We're down to 5 errors on the testsuite

Thu Sep 23 23:39:39 1999  George Lebl  <jirka@5z.com>

	* eval.c: support all operations except modular arithmetic, there
	  are still some problems, mostly with matricies, testsuite has
	  only, down to 12 errors for the test suite

	* geniustests.txt: update to take into account precalculation

	* geniustest.pl: support tests with null output

Thu Sep 23 18:56:28 1999  George Lebl  <jirka@5z.com>

	* eval.c: now do more work on the primitives and they almost all
	  work for simple numbers, as well as string additions and
	  matrix transpose

Thu Sep 23 18:02:07 1999  George Lebl  <jirka@5z.com>

	* eval.[ch]: cleanup eval_etree and make it possible to do more
	  evaluation with one context, also implement for in loops and
	  do minor cleanups

Thu Sep 23 15:57:25 1999  George Lebl  <jirka@5z.com>

	* eval.c: implement for and for/by loops and break/continue for
	  those, pop off the call for loops in free_special, remove
	  a bunch of old unused methods, and do precalculation during
	  tree building for operations that can't loose precision

Wed Sep 22 22:10:59 1999  George Lebl  <jirka@5z.com>

	* Start writing changelogs again as I come out of the completely
	  experimental stage of the engine into make-it-all-work stage

	* eval.c: implemented new stack and it's waay faster then the old
	  linked list one

1999-09-18  Jacob Berkman  <jberkman@andrew.cmu.edu>

	* Makefile.am (Utilitiesdir): put in the correct
	directory

Sun Sep 12 00:12:12 1999  George Lebl  <jirka@5z.com>

	* eval.c,eval-iter.c: move eval into eval-iter.c as I'm messing with
	  core functionality so this is a testing file for the new
	  evaluation engine

Fri Sep 10 18:07:56 1999  George Lebl  <jirka@5z.com>

	* eval.c: bit of work on new evaluation engine

Thu Sep 09 23:59:26 1999  George Lebl  <jirka@5z.com>

	* eval.c: a bit more work on the new evaluation engine

	* eval.h: start operators at 0

Thu Sep 09 16:09:17 1999  George Lebl  <jirka@5z.com>

	* eval.[ch]: fix some evalnode/evaltree brokenness, and start on
	  implementing a stack based evaluation engine instead of a recursive
	  one

Wed Sep 08 19:28:04 1999  George Lebl  <jirka@5z.com>

	* *.c: use GSList instead of GList everywhere

	* dict.[ch],eval.c,structs.h: store the current highest function
	  on the token itself to avoid another dereference and thus speed
	  things up by a very tiny fraction

Wed Sep 08 18:48:25 1999  George Lebl  <jirka@5z.com>

	* eval.c,calc.c,mpwrap.c: fixed bugs and quibbles reported by
	  Squeak <squeak@xirr.com> and applied his patch

The following is from the original dr genius dist:

Mon Sep 06 14:38:44 1999  George Lebl  <jirka@5z.com>

	* Release 0.4.6: last Genius before integration with Dr.Geo

Mon Sep 06 09:43:16 1999  George Lebl  <jirka@5z.com>

	* src/lexer.l: accept E+ for floats as well

Sun Sep 05 17:06:23 1999  George Lebl  <jirka@5z.com>

	* src/gnome-genius.c,src/funclib.c: rework the info/error dialogs
	  and make them display in a textbox if there is too much text,
	  also rework how info's and errors are printed to screen so that
	  we don't hang (for example on 'help')

Sun Sep 05 14:16:20 1999  George Lebl  <jirka@5z.com>

	* src/lexer.l: read E as well for exponents in floats

Thu Sep 02 14:05:50 1999  George Lebl  <jirka@5z.com>

	* Release 0.4.5

Thu Sep 02 14:00:19 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: don't check/free values after mpw_clear again

1999-09-03  Zbigniew Chyla  <chyla@alice.ci.pwr.wroc.pl>

        * configure.in (ALL_LINGUAS): Added pl.

Wed Sep 01 20:36:01 1999  George Lebl  <jirka@5z.com>

	* src/calc.h,src/eval.c,src/genius.c,src/gnome-genius.c: add an
	  option for limitting the number of errors printed out

	* README: document the above option and full_expressions

Wed Sep 01 19:50:41 1999  George Lebl  <jirka@5z.com>

	* src/eval.[ch],src/parse.y: backdivision for matrices

	* src/funclib.c: don't allow trying exp of non-square matrices

Fri Aug 20 22:06:43 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: get around a gmp bug with converting negative
	  rationals to floats

	* src/calc.c,configure.in,aclocal.h: if wordexp is not present
	  use an ugly shell popen hack to try to do the same, but it's
	  not 100% working

Tue Aug 17 22:25:44 1999  George Lebl  <jirka@5z.com>

	* src/eval.c,src/calc.[ch],src/util.[ch],funclib.c: made the thing
	  not print out huge expressions by default

	* src/genius.c,src/gnome-genius.c: added options for the maximum
	  size thing

	* src/funclib.c: fixed getting some arguments

1999-08-09  Tomas Ogren  <stric@ing.umu.se>

	* configure.in (ALL_LINGUAS): 'de' does exist (it's revived).

1999-08-08  Anders Carlsson  <anders.carlsson@tordata.se>

	* configure.in (ALL_LINGUAS): Removed 'de' since no .po file exists
	for that language.

1999-08-08  Tomas Ogren  <stric@ing.umu.se>

	* configure.in: Removed 'ga', it was removed from cvs (and
	  contained 1 translated message)

Mon Aug 02 08:08:41 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c,src/testplugin.c: fix coshbug and testplugin not
	  including config.h reported by
	  Jeroen Nijhof <J.H.B.Nijhof@aston.ac.uk>

Wed Jul 28 02:09:51 1999  George Lebl  <jirka@5z.com>

	* src/*: removed unused variables

	* src/{test.plugin.in,plugin.[ch],plugread*.c,genius.c,gnome-genius.c}:
	  added a GUI parameter to plugin description to specify if this
	  plugin is GUI only, and don't even add it to the list on the
	  command line version

	* src/{calc.c,eval.[ch],funclib.c}: change parameter setting getting
	  routines and do a preprocessing run on the tree to set and get
	  the parameters as vars

	* README,NEWS: updated

Tue Jul 27 05:33:47 1999  George Lebl  <jirka@5z.com>

	* src/{parse.y,lexer.l,eval.c}: added mod evaluation

	* src/{lib.gel,funclib.c}: added some more help strings

	* src/{eval.[ch],funclib.c}: added way to call gel functions
	  internally and implemented a simple exp for matrixes that has
	  the correct result

Thu Jul 15 05:13:35 1999  George Lebl  <jirka@5z.com>

	* src/lib.gel: much nicer/faster way of computing fibbonachi numbers
	  from njh@cs.monash.edu.au

Fri Jul 02 06:50:54 1999  George Lebl  <jirka@5z.com>

	* src/{lexer.l,parse.y,calc.c,plugread*.c,plugin.h}: added a plugin
	  toplevel command to load in plugins, and for loading files I use
	  wordexp call since that actually does the right thing instead of
	  splitting at spaces and glob

Tue Jun 22 06:51:08 1999  George Lebl  <jirka@5z.com>

	* Release 0.4.4

Fri Jun 18 05:25:27 1999  George Lebl  <jirka@5z.com>

	* configure.in: added check for glib 1.2+, and for gmodule

	* src/Makefile.am: add building of test.plugin, building of a test
	  plugin shared lib, installing some headers etc ...

	* src/plugin.[ch]: the plugin loading "interface" using gmodule

	* src/gnome-genius.c: add a menu for loading plugins

	* src/plug_api.h: a very simple beginning plugin API

Tue Jun 15 02:26:19 1999  George Lebl  <jirka@5z.com>

	* src/lexer.l: apply fix from Squeak <squeak@xirr.com>

Mon Jun 14 07:04:44 1999  George Lebl  <jirka@5z.com>

	* src/eval.c: fix memleak 

1999-06-05  Tomas Ogren  <stric@ing.umu.se>

	* src/genius.c: Fixed some i18n and a grammatical error
	* configure.in: Added sv to ALL_LINGUAS

Tue Jun 01 10:18:17 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: fix problems with negative exponents in mpw_pow_z

Mon May 31 13:05:26 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: fixed a bug with negative small integer exponents 

	* src/geniustests.txt: added tests for the above

Fri May 28 11:19:40 1999  George Lebl  <jirka@5z.com>

	* src/*.c: include config.h in all the files, there were some which
	  didn't have this (whoops)

Thu May 27 09:02:28 1999  George Lebl  <jirka@5z.com>

	* src/eval.c: apply fix from Squeak <squeak@xirr.com> to fix segfault

Wed May 26 19:37:15 1999  George Lebl  <jirka@5z.com>

	* Release 0.4.3

Mon May 24 16:35:51 1999  George Lebl  <jirka@5z.com>

	* src/{lexer.l,parser.y}: fixed up a bit the new syntax and took out
	  the define keyword

	* src/{inter.c,calc.c}: fixed problems with the test parser

	* src/{structs.h,parser.y,eval.c,funclib.c,calc.c,compil.c}:
	  implemented quoted matrixes

Mon May 17 23:55:50 1999  George Lebl  <jirka@5z.com>

	* src/parse.y: took out the old way (bc) of writing function as we
	  will need the "{}" for sets, added some set rules, but no
	  functionality

	* src/strucs.h,src/*.c: changed ETree to be a union of structs to
	  do the polymorphism in a nicer manner and to allow more future
	  extention, this requires some changes to any code using ETree's
	  (if anybody has done anything like that)

	* src/*.c: fixed miscellaneous bugs

	* configure.in: raised version

1999-05-18 03:27 1999  Tomas Ögren  <stric@ing.umu.se>

	* src/*.c: Fixed i18n support

Thu May 13 00:50:33 1999  George Lebl  <jirka@5z.com>

	* src/plugread*.[ch]: new routine that has a gnome and a dumb
	  non-gnome implementation so it's separated into two files

	* src/calc.[ch]: add ability to read a list of .plugin files
	  (no plugin functionality yet!)

	* src/{genius.c,gnome-genius.c,Makefile.am}: move lib.cgel into
	  a /gel/ subdirectory when installed and add a plugins directory
	  as well to add .plugin files into

	* src/test.plugin: just a simple test file

Wed May 12 01:34:04 1999  George Lebl  <jirka@5z.com>

	* src/{calc.[ch],inter.[ch],genius.c,gnome-genius.c}: instead of
	  the ugly interactive mode hack, I now do test parses, which is
	  not extremely efficent, but it's only in interactive mode and
	  it works perfectly and more cleanly

Tue May 11 23:57:41 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: small optimization and minor correction on mpwl_move

	* src/{eval.[ch],dict.[ch]}: minor optimizations wrt to removing
	  redundunt node copying

Tue May 11 01:10:45 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: fix reduction of fractions on small integer
	  division

Mon May 10 21:01:42 1999  George Lebl  <jirka@5z.com>

	* Release 0.4.2

Mon May 10 20:52:18 1999  George Lebl  <jirka@5z.com>

	* src/*,po/*: try to get NLS to work but I just can't get it
	  working

Mon May 10 18:45:53 1999  George Lebl  <jirka@5z.com>

	* src/calc.[ch]: separated evalexp into more logical functions,
	  removed do_interrupts from state

	* src/{genius.c,gnome-genius.c,inter.c,calc.c}: handle interrupts
	  in input as well and handle SIGINT in genius.c

Mon May 10 02:11:03 1999  George Lebl  <jirka@5z.com>

	* src/inter.[ch]: this file contains the readline stuff now as
	  it is separated from the rest of the code. It contains a HACK
	  however to figure out the bounds of a single expression in the
	  same way that the lexer/parser do. This is of course not
	  possible without a parser, but it should be ok for normal use
	  and only differs in functionality in cases of errors (or should)

	* src/{genius.c,gnome-genius.c,calc.c,lexer.l}: get rid of readline
	  stuff that is now in inter

	* src/gnome-genius.c: add a Load file menu item which is the same
	  as the load command

	* src/Makefile.am: add inter.[ch]

	* src/parse.y: accept unary '+' as well as a no op

	* src/geniustests.txt: add some simple tests

Sat May 08 15:15:50 1999  George Lebl  <jirka@5z.com>

	* src/matrixw.c: don't use padding of 10 but 0.1 of the size to a
	  maximum of 10 for allocation of new space, this improves the
	  performance by about 15% in calculations heavy on allocation of
	  new small matrices. Also fixed a segfault in reallocating matrix
	  to a larger size

	* configure.in: raise version number

Sat May 08 14:09:21 1999  George Lebl  <jirka@5z.com>

	* src/dict.c: Make "ans" be a synomym for "Ans" to make matlab
	  people happy

	* src/funclib.c: is_rational,is_integer,is_complex and is_float, now
	  never fail, they just return 0, also added is_real as well

	* src/lib.gel: updated to use the above fact to make the argument
	  tests nicer and faster

	* README: updated for the above

Fri May 07 20:25:04 1999  George Lebl  <jirka@5z.com>

	* src/{eval.[ch],calc.c}: add a vector element operator

	* src/lib.gel: fix the delrowcol function and add a pascal
	  function

	* README: update

Fri May 07 14:50:54 1999  George Lebl  <jirka@5z.com>

	* src/eval.c: correct check for matrix dimensions on multiplication

Thu May 06 21:20:01 1999  George Lebl  <jirka@5z.com>

	* src/{dict.[ch],eval.c}: don't look up the dereference in the
	  immediate context when assigning to a function argument

	* src/geniustests.txt: add test for the above

Thu May 06 17:48:02 1999  George Lebl  <jirka@5z.com>

	* src/matrixw.c: fix a segfault on matrix size setting

Thu May 06 00:26:37 1999  George Lebl  <jirka@5z.com>

	* Release 0.4.1

Tue May 04 02:05:00 1999  George Lebl  <jirka@5z.com>

	* src/gnome-genius.c: add some terminal options and make ^C do
	  interrupt of calculations

1999-05-03  Havoc Pennington  <hp@pobox.com>

	* configure.in: Check for termcap, then use -ltermcap in the
	readline check only if termcap was found (some readlines don't 
	require -ltermcap apparently)

Mon May 03 00:46:15 1999  George Lebl  <jirka@5z.com>

	* src/gnome-genius.c: minor cleanup and maybe fix a segfault

Sun May 02 23:43:31 1999  George Lebl  <jirka@5z.com>

	* src/gnome-genius.c: add new options for max digits and precision

	* src/genius.c: set calcstate_hook

	* src/mpwrap.c: nicer pi calculation and some sanity checks plus
	  removing of caches if precision changed

	* src/funclib.c: add functions for changing calcstate and dumping
	  cached vars when precision changes

	* src/calc.c: add the abitily to change precision and some fixes
	  to initialization

	* README: updated with new functions

Sun May 02 20:10:38 1999  George Lebl  <jirka@5z.com>

	* src/gnome-genius.c: more work on the ui, don't start new processes
	  anymore, just set the fd for the terminal so that the terminal
	  writes everything into readline directly without a need for
	  an external process

	* src/calc.[ch]: added infoout function for information messages,
	  changed evalexp interface to be more sane, load and save the
	  help documentation database for the functions that are being
	  stored (and only those)

	* src/funclib.c: use infoout for warranty and such

	* configure.in: raise version and fix readline check to work with
	  readline 4.0

Sun May 02 12:56:12 1999  George Lebl  <jirka@5z.com>

	* src/{genius.c,gnome-genius.c}: add a missing \n and put colors
	  inside gnome-genius and add an option on where to write errors

Sun May 02 02:18:09 1999  George Lebl  <jirka@5z.com>

	* src/gnome-genius.c: the start of the promised overhaul
	  of the gui version, now uses zvt and so behaves somewhat
	  like the command line version but with gui config

	* src/calc.[ch]: hooks for checking for events inside evalnode,
	  way to set parameters while in evaluation, online function
	  documentation stuff

	* src/funclib.c: document a bunch of routines with the new
	  descriptions, and add help and sethelp functions

	* src/calc.c: do tilde expansion using readline's functions

	* configure.in,src/{lexer.l,calc.c,genius.c}: readline is now
	  required to compile genius

	* README: updated for the help functions

Sat May 01 04:13:42 1999  George Lebl  <jirka@5z.com>

	* Release 0.4.0

Sat May 01 04:08:05 1999  George Lebl  <jirka@5z.com>

	* src/lib.gel: added abs,adj and delrowcol functions

	* src/eval.c: implement integer powers for matricies, absolute
	  value and division

	* src/geniustests.txt: added some tests

	* README: updated for new functions

Fri Apr 30 17:09:14 1999  George Lebl  <jirka@5z.com>

	* src/{lexer.l,parse.y,eval.[ch],calc.c}: add a 'for in do' for
	  loop, for iterating over the elements of a matrix

	* src/lib.gel: added a whole bunch of statistical functions and
	  use the above construct more over the whole library

	* src/{calc.[ch],genius.c,gnome-genius.c,lexer.l}: at least for
	  parsing errors, display line numbers and file information

	* src/geniustests.txt: added a bit of tests

	* README: added description of the new construct and of the new
	  functions

Fri Apr 30 01:51:49 1999  George Lebl  <jirka@5z.com>

	* src/lexer.l: add <> as an alternative !=

	* src/{eval.[ch],parse.y}: make new node type, SPACER, and
	  push it for parenthesised nodes

	* src/{eval.[ch],calc.c}: add new node type, COMPARISON_NODE,
	  and just before evaluation, replace all comparison operators
	  by comparison nodes, using spacers as stops so that parenthesis
	  are still honored, then remove the spacers, also add evaluation
	  and prining of the COMPARISON_NODE, with this change, ambiguous
	  comparison expressions are now handled better in terms of math
	  (e.g. 3<x<=7 is possible), also added evaluation of strings for
	  all the comparison operators

	* src/geniustests.txt: added a bunch of tests

	* TODO: removed the comparison item

	* README: updated about the comparison operator changes

Thu Apr 29 15:38:55 1999  George Lebl  <jirka@5z.com>

	* src/{eval.[ch],dict.[ch],calc.c}: pass functions by value, and
	  differentiate between functions and variables, when evaluating a
	  function without (...) return a function node with the function.
	  this breaks compatibility a bit

	* src/lib.gel: use functions by value everywhere

	* src/geniustests.txt: update

	* README: change stuff relating to function calling and references

	* TODO: remove what was done

Thu Apr 29 13:55:54 1999  George Lebl  <jirka@5z.com>

	* src/{lexer.l,parse.y}: a much much nicer syntax for writing
	  functions the old one is still there but is depreceated

	* src/geniustests.txt: updated for the new stuff above

	* src/lib.gel: updated for the new stuff

	* README: updated

	* TODO: add entries for 0.4.0

	* configure.in: raise version to distinguish cvs from released

Thu Apr 29 09:00:36 1999  George Lebl  <jirka@5z.com>

	* src/lib.gel: changed catallan to catalan

	* src/eval.c: a !,- operators for matrixes, <=> operator for strings

	* src/{compil.[ch],eval.c,dict.c,calc.[ch],genius.c,gnome-genius.c}:
	  created "compiled" GEL files, to make startup much faster,
	  functions are not actually even parsed until they are needed

	* src/Makefile.am: compile and install lib.cgel

	* src/geniustests.txt: small update

	* README: updates

Wed Apr 28 21:51:48 1999  George Lebl  <jirka@5z.com>

	* src/eval.c: add == and != to matrix support and != for strings

Wed Apr 28 18:03:19 1999  George Lebl  <jirka@5z.com>

	* src/matop.[ch]: implemented an internal version of the
	  gauss algorithm and put some matrix operations in this file 
	  and added a determinant function

	* src/eval.c: take out the matrix multiplication from here

	* src/matrixw.c: fix a problem with matrix refcounting

	* src/funclib.c: added the det,ref and rref functions

	* src/lib.gel: added rad2deg,deg2rad,minimize,diagonal and
	  swaprow functions, and took out the ref and rref functions

	* README: updated

Wed Apr 28 00:35:29 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.[ch]: add_ui sub_ui and ui_sub routines added

	* src/{eval.[ch],calc.c,parse.y,lexer.l}: added an iterative for
	  loop

	* src/lexer.l: added null to be '.' so that printouts are legal GEL

	* src/lib.gel: added catallan, adjoint and string functions and
	  avoided new reserved words

	* src/geniustests.txt: added a couple new tests

	* README: updated

Mon Apr 26 02:27:24 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: complete complex number support (hopefully) and
	  a whole bunch of fixes

Sat Apr 24 18:24:53 1999  George Lebl  <jirka@5z.com>

	* Release 0.3.2

Sat Apr 24 18:20:00 1999  George Lebl  <jirka@5z.com>

	* src/funclib.c: fix prime function to return correct values

	* src/{funclib.c,lib.gel}: added functionality to call scalar
	  type functions with matrixes to work on node by node basis

	* src/geniustests.txt: added a couple of tests

	* README: updated

Sat Apr 24 16:49:22 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: use a trick from bc for calculating atan close to 1

Thu Apr 22 22:51:15 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: added a somewhat working arctan and implement
	  ln for complex numbers, also fix some errors with errors :)

	* src/lib.gel: implement a whole bunch of trigonometric functions
	  and a bunch of other functions

	* README: updated

Thu Apr 22 19:02:52 1999  George Lebl  <jirka@5z.com>

	* src/{calc.c,genius.c,gnome-genius.c,eval.c}: ignore SIGINT, and
	  in calculations halt calculations on SIGINT

Thu Apr 22 15:49:37 1999  George Lebl  <jirka@5z.com>

	* src/{mpwrap.[ch],funclib.c}: added jacobi,legendre and
	  perfect_square functions from gmp

	* src/lib.gel: add infsum,infsum2,convol,convol_vec,matsum and
	  matprod functions

	* src/geniustests.txt: add some tests

	* README: updated

Thu Apr 22 02:39:19 1999  George Lebl  <jirka@5z.com>

	* src/lib.gel: test for complexness of arguments

	* src/{mpwrap.[ch],funclib.c}: move reduction of sin/cos arguments
	  to the sin cos functions in mpwrap, added sinh/cosh variety and
	  added handeling of complex numbers for sin/cos/sinh/cosh/abs/exp,
	  also added float function to make things floating

	* src/{mpwrap.[ch],genius.c,calc.c,gnome-genius.c}: remove the
	  ugly make_floats_ints hack since it is just not a correct
	  thing to do

	* src/mpwrap.c: when printing out complex numbers with imaginary
	  part negative, don't print '+'

	* README: add the sinh/cosh/float functions

Tue Apr 20 15:30:07 1999  Erik Walthinsen <omega@cse.ogi.edu>

	* added spec.in file and changed Makefile.am/configure.in to match

Fri Apr 16 23:11:54 1999  George Lebl  <jirka@5z.com>

	* src/funclib.c: added a set_size function which returns a new
	  matrix of a specified size with the old one in it as it fit

	* src/geniustests.txt: update

	* README: update

Fri Apr 16 22:58:01 1999  George Lebl  <jirka@5z.com>

	* src/{parse.y,lexer.l,eval.c,calc.c}: added the range operator
	  for matrix indexes, and this adds a lot more flexibility to
	  manipulating matrixes.

	* src/parse.y: added an implicit null node if ';' is at the end
	  of a parenthesis or a block, so that it can act somewhat
	  like a terminator instead of just a separator

	* src/geniustests.txt: added a whole bunch of new tests for new
	  things

	* README: updated for the above changes

	* src/lexer.l: always display secondary prompt from the lexer as
	  this is the correct behaviour

Fri Apr 16 20:38:37 1999  George Lebl  <jirka@5z.com>

	* src/eval.c: fix segfault on errors of matrix index evaluating

	* src/matrixw.c: fix set_region for matrixes of different ->tr
	  value

	* src/geniustests.txt: add tests for the above

Fri Apr 16 20:03:03 1999  George Lebl  <jirka@5z.com>

	* src/{matrix.[ch],matrixw.[ch],eval.c,calc.c,funclib.c,structs.h}:
	  implement wrappers around matrices, to not store 0 nodes, to
	  do a copy-on-write kind of allocation, which increases memory
	  efficency and speed by an order of magnitude

	* src/eval.c: don't reevaluate variables, unless they are called
	  as functions with ()

	* src/geniustests.txt: updated with a couple of new tests

Fri Apr 16 01:14:22 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c,src/funclib.c,src/mymath.[ch]: remove mymath.[ch],
	  rewrite functions in native gmp and moved them to mpwrap

Thu Apr 15 20:26:46 1999  George Lebl  <jirka@5z.com>

	* Release 0.3.1

Thu Apr 15 20:24:47 1999  George Lebl  <jirka@5z.com>

	* src/{eval.c,dict.c,parse.y,lexer.l,calc.c}: fix many memory
	  leaks

	* src/genius.c: added a switch to run in non-readline mode although
	  that doesn't work too well

	* configure.in,src/*.c: added the standard gnome compile warnings
	  and corrected the ones I could

	* src/{parse.y,lexer.l}: add syntax for future replacement of the
	  GET_ROW and GET_COLUMN by GET_RANGE which will be far more
	  flexible (and won't change current syntax)

	* src/lib.gel: (rref) corrected out of bounds problem for some
	  matrixes

Thu Apr 15 16:40:47 1999  George Lebl  <jirka@5z.com>

	* src/lexer.l,src/calc.c,src/util.[ch]: accept escaped characters
	  inside strings, print escaped strings

	* src/lexer.l,src/calc.c: add a load command that loads files with
	  gel code

	* README: update

Thu Apr 15 04:08:58 1999  George Lebl  <jirka@5z.com>

	* src/matrix.c: fix segfault problem with setting a matrix size

Wed Apr 14 12:22:30 1999  George Lebl  <jirka@5z.com>

	* src/lib.gel: got rid of the gauss function and replaced it with
	  more general ref and rref functions, and added a trace function

	* src/mpwrap.c: fixed an integer division bug with negative
	  denominators

	* src/geniustests.txt: added more tests

	* README: updated for the above changes

Wed Apr 14 04:13:42 1999  George Lebl  <jirka@5z.com>

	* src/eval.c: 'or' and 'and' now evaluate their arguments as they
	  go instead of all of them upfront, so that the conditial
	  evaluation tricks works as well.

	* src/{lexer.l,parse.y,eval.[ch],calc.c}: added break and continue
	  statements for loops

	* src/lib.gel: implemented gauss, a function to solve systems of
	  equations using the gauss method

	* src/geniustests.txt: added some new tests for new things

	* src/funclib.c: added is_value_only function to test matrixes
	  for being all value matrixes

	* README: updated

Tue Apr 13 23:56:08 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: fix a segfault bug with multiplication

	* src/funclib.c: add derpoly and der2poly functions that take
	  derivatives of polynomials

	* src/eval.[ch],src/funclib.c: add a new function to speed up some
	  operations when making new value nodes

	* README: update for the above functions

Tue Apr 13 21:04:54 1999  George Lebl  <jirka@5z.com>

	* src/funclib.c: add two new functions is_function and
	  is_function_ref, usefull for checking arguments

	* src/lib.gel: check arguments better for library functions

	* src/eval.c: keep a fake token around when evaluating a reference
	  to an anonymous function so that we can retrieve the function
	  later

	* src/funclib.c: add rows and columns function for checking sizes
	  of matrixes

	* README: update for new functions

Tue Apr 13 19:44:47 1999  George Lebl  <jirka@5z.com>

	* src/funclib.c: added a whole bunch of polynomial manipulation
	  functions, now that we can do vectors

	* src/geniustests.txt: added tests for the above

	* README: updated for polynomials

	* configure.in: raise to 0.3.1 so that it doesn't get confused with
	  the released version

	* po/*: updates from release 0.3.0

	* src/Makefile.am: updates from release 0.3.0

Tue Apr 13 01:16:35 1999  George Lebl  <jirka@5z.com>

	* src/{parse.y,eval.c}: add new transpose "'" operator

	* src/funclib.c: add is_value,is_matrix,is_string functions

	* src/eval.c: implemented matrix +,- and *

	* README: update

	* NEWS: move stuff from Changes-0.2 and add new changes for this
	  relese (0.3)

	* configure.in: raise version to 0.3.0

Mon Apr 12 16:32:14 1999  George Lebl  <jirka@5z.com>

	* src/funclib.c,README: added some documentation of the built in
	  functions and change isnull to is_null for consistency

Mon Apr 12 16:06:05 1999  George Lebl  <jirka@5z.com>

	* src/eval.c: add string concatenation, and added error handeling
	  to primitives, and unified the macros for primitives and
	  logical operations

Mon Apr 12 04:23:35 1999  George Lebl  <jirka@5z.com>

	* src/eval.c: switched around the order of the indicies for
	  matricies, to be mathematically correct (row,column) not
	  (column,row), and implemented all the @(...,...) operations,
	  including with the equals sign. Plus fixed some error checking
	  for undefined references all over the place and references on
	  setting are not global anymore to be consistent

	* src/geniustests.txt: added tests for new operations

	* src/mymath.c,src/funclib.c: implemented "e" using exp(1)

Sun Apr 11 15:46:05 1999  George Lebl  <jirka@5z.com>

	* src/calc.c: small fixes and some sanitizing, the thing still leaks
	  like hell

Sun Apr 11 15:21:11 1999  George Lebl  <jirka@5z.com>

	* src/{parse.y,eval.[ch],mpwrap.c}: fix outrageous memory leaks

Sun Apr 11 03:05:52 1999  George Lebl  <jirka@5z.com>

	* src/{geniustests.txt,mpwrap.c}: add a couple of tests, and fix
	  division of integers

Sun Apr 11 02:54:16 1999  George Lebl  <jirka@5z.com>

	* src/funclib.c: new functions: prime (for experiments with smaller
	  primes, returns the nth prime for n<=100000), and lcm

Sun Apr 11 02:52:36 1999  George Lebl  <jirka@5z.com>

	* src/{eval.c,calc.c,parse.y,lexer.l}: add bailout and exception
	  operators so that we may do nice errors from gel functions

	* src/lib.gel: implement argument checking

	* src/{eval.c,calc.c,funclib.c,util.c,Makefile.am},configure.in:
	  make a define when using gnome ... and when not using it don't
	  include gnome.h and define _() to be a no-op

Fri Apr 09 17:26:55 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: sped up exp and ln and implemented floating point
	  pow function using those, exp might be off in precision bits,
	  someone with more clue then I has to look at that I guess

Fri Apr 09 01:55:07 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: very minor improvements and changes ... these
	  algorithms really do suck

Thu Apr 08 20:25:18 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.[ch],src/funclib.c: add exp and ln functions

	* src/mpwrap.c: fix small leak

Mon Apr 05 03:54:10 1999  George Lebl  <jirka@5z.com>

	* src/lexer.l: allow _'s in function names

	* src/funclib.c: implement is_rational,is_float,is_integer and
	  error (which prints an error) functions

	* src/geniustests.txt: added new tests for new features

Mon Apr 05 03:30:28 1999  George Lebl  <jirka@5z.com>

	* src/{parse.y,lexer.l}: change matrix index syntax

	* src/eval.c: implement evaluation of simple matrix index, This
	  doesn't yet do setting of matrix values, which will become a bit
	  tricky

	* src/funclib.c: implement I function (identity matrix)

	* src/mpwrap.c: implement mpw_get_long function

Mon Apr 05 01:21:01 1999  George Lebl  <jirka@5z.com>

	* src/calc.c: set Ans to the last answer

	* README: updated a bit and added a section on matrix entry

Fri Apr 02 15:50:45 1999  George Lebl  <jirka@5z.com>

	* src/matrix.h: add parenth for the matrix_index macro to avoid
	  weird problems

	* src/geniustests.txt: added a test for previously non-working
	  matrix expansion

	* src/{funclib.c,calc.[ch],genius.c,gnome-genius.c}: made the
	  pretty printing done only when in command line interactive
	  mode

Fri Apr 02 02:20:01 1999  George Lebl  <jirka@5z.com>

	* src/eval.c: hopefully finished the correct expanding/evaluating of
	  matrices, and the basic matrix handeling

	* src/calc.c: printing of matricies

	* src/lexer.l: added alternative way of entering matricies

	* src/structs.h,src/matrix.c: small fixes

	* src/parse.y: get rid of debug info

	* src/geniustests.txt: added tests for matrix expansion

	* configure.in: raise version to 0.2.2

Thu Apr 01 02:36:39 1999  George Lebl  <jirka@5z.com>

	* src/genius.c,src/gnome-genius.c: look for the library file in the
	  current directory as well

	* src/parse.y,src/matrix.[ch]: more work on the matrix stuff,
	  hopefully finished the matrix ADT, and finished parsing and
	  reading of a matrix

Thu Mar 25 01:11:32 1999  George Lebl  <jirka@5z.com>

	* src/lib.gel: added nCr, nPr and fib(for fibonacci numbers), dumb
	  and simple functions

	* src/lexer.l: accept string longer then one character

	* src/funclib.c: print functions don't print "'s around strings

Thu Feb 18 23:50:19 1999  George Lebl  <jirka@5z.com>

	* src/genius.c,src/gnome-genius.c: read <prefix>/share/genius/lib.gel
	  and ~/.gnomeinit on startup as gel programs

	* src/funclib.c: set error_num=0 on error to keep the expression

	* src/lib.gel,Makefile.am: new library file, now has prod and sum
	  functions

Thu Feb 18 01:39:52 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.[ch]: implemented floor,ceil,trunc,abs and corrected
	  round

	* src/parse.y,eval.c: added |<expr>| absoulte operator

	* src/funclib.c: added floor,ceil,trunc,min and max functions

Thu Feb 11 02:29:17 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.[ch],src/funclib.c: added a gcd function and fixed a
	  couple of errors

Thu Feb 11 02:03:48 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.[ch]: _move function to speed up working with
	  temporaries, and on the fly allocation of gmp structs
	  for more speed and less memory usage

Thu Feb 11 00:51:12 1999  George Lebl  <jirka@5z.com>

	* src/mpwrap.[ch]: add native int type for faster calculation,
	  but gains are fairly minimal, corrected errors with negative
	  exponentiation on integers

	* src/{eval.c,calc.c,dict.[ch],parer.y,lexer.l}: fixed a whole
	  bunch of errors, segfaults and memory leaks, and implemented
	  a token system somewhat like the x atoms to avoid hash table
	  lookups. This can speed up execution quite a bit.

Sat Jan 09 06:56:31 1999  George Lebl  <jirka@5z.com>

        * gnome-genius.c: standardize menus and use appbar for menu hints

1999-01-02  Christopher Blizzard  <blizzard@appliedtheory.com>

	* src/Makefile.am: Add rules to generate the parse.h file.

Wed Dec  2 22:23:40 PST 1998 Manish Singh <yosh@gimp.org>

	* lexer.l: fix small typo

Mon Nov 30 02:29:55 1998  George Lebl  <jirka@5z.com>

	* src/*: merge in the GEL2 language stuff, the old GEL is dead,
	  long live the new GEL

Thu Nov 26 21:55:59 EST 1998 Gregory McLean <gregm@comstar.net>

	* gnome-genius.c : gtk_clist changes to sync with new gtk.

Thu Nov  19 16:20:16 CST 1998 Richard Hestilow <hestgray@ionet.net>

	* gnome-genius.c, gnome-genius-ide.c: Added underscore accelerators, no
	longer right justify "Help" menu either.

Sat Nov  7 22:10:05 PST 1998 Manish Singh <yosh@gimp.org>

	* gnome-genius.c
	* gnome-genius-ide.c: commented out bogus GNOME_APP_UI_HELP entry.
	Updated for new gnome-init params

Mon Sep 28 22:05:19 1998  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: fixed a couple of bugs

Sat Sep 19 15:05:42 1998  George Lebl  <jirka@5z.com>

	* src/mpwrap.c: optimized use of gmp vars with a copy-on-write
	  type alg, and got rid of a few temp gmp vars for common special
	  cases, this makes genius about twice as fast on my tests

Fri Sep 18 20:31:29 1998  George Lebl  <jirka@5z.com>

	* src/eval.c: profiling, I will need to make a copy-on-write
	  type varibales for the gmp variables, in large computations,
	  genius goes nuts with gmp calls

Fri Sep 18 18:22:39 1998  George Lebl  <jirka@5z.com>

	* src/genius.c: fix bug to allow processing of more then one
	  expression per file

	* src/{calc.[ch],genius.c,gnome-genius.c,funclib.c}: made the
	  output function utilize file handles as well for saner use with
	  the command line

	* src/{lexer.l,parser.y}: add possibility of changing the ntoation
	  within an expression (this was just too cool not to add, but I
	  doubt it's all that usefull)

Fri Sep 18 01:22:06 1998  George Lebl  <jirka@5z.com>

	* src/{eval.c,calc.c,structs.h,mpwrap.[ch]}: cleanups in structures
	  and memory handling

Thu Sep 17 01:17:54 1998  George Lebl  <jirka@5z.com>

	* src/matrix.[ch]: more matrix lowlevel work

	* src/{eval.c,dict.c}: keep a free list of tree_t/func_t nodes and
	  fix a memory leak

Sun Sep 13 23:45:11 1998  George Lebl  <jirka@5z.com>

	* src/lexer.l: better prompt, comments

        * src/{parse.y,calc.c,eval.c}: NULL command '.', it makes the
	  expression return empty string (null)

        * src/funclib.c: print function

	* src/genius.c: act like a real unix interpretor, so one can now
	  write genius scripts

1998-09-14  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>

	* po/pt.po: Updated.

Sun Sep 13 19:21:49 PDT 1998 Manish Singh <yosh@gimp.org>

	* configure.in: correct test for -lgmp2 case

Sun Sep 13 03:26:50 1998  George Lebl  <jirka@5z.com>

	* configure.in,src/{lexer.l,calc.c,genius.c}: make it possible to
	  build even if readline isn't found

Sun Sep 13 01:21:46 1998  George Lebl  <jirka@5z.com>

	* genius.c: now fully functional command line version

	* funclib.c: couple of administrative functions

	* parse.y,lexer.l: add some matrix reading code (far from done)

	* parse.y,lexer.l,calc.[ch]: make it work with the command line
	  version and readline

Thu Sep 10 21:32:10 1998  George Lebl  <jirka@5z.com>

	* src/parse.y: added grammar for matrixes, now to just fill in
	  the code:)

	* src/geniustest.pl: made it print out the number of errors encountered

Thu Sep 10 15:56:58 1998  George Lebl  <jirka@5z.com>

	* src/parse.y: more general index grammar

Thu Sep 10 15:43:07 1998  George Lebl  <jirka@5z.com>

	* src/parse.y: start on the grammar for matrix support

Wed Sep 09 23:39:49 1998  George Lebl  <jirka@5z.com>

	* Restructuring, there will be 3 programs in the future,
	  gnome (the command line script like interface), gnome-genius
	  which will basically be the current one, and gnome-genius-ide
	  which will be the IDE style interface

Wed Sep 09 23:10:51 1998  George Lebl  <jirka@5z.com>

	* src/dict.[ch],src/structs.h: made a dictinary hash, plus made
	  stacks into glists, should be faster and less memory hungry now

Sat Aug 08 23:38:43 1998  George Lebl  <jirka@5z.com>

	* genius.c: added a dumb scientific frame, it's dumb and ugly,
	  the interface really does need to be reworked

1998-07-01  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>

	* genius.desktop: Added Portuguese translation.

1998-06-10  Chris Lahey  <clahey@umich.edu>

	* geniustest.c: #included <stdio.h> for std{err,in}.

Thu May 14 07:52:40 1998  George Lebl  <jirka@5z.com>

	* mpwrap.c: convert imaginary to integer if it's 0
	  when uncomplexifying, complex support in mod most
	  likely makes no sense

Thu May 14 07:23:48 1998  George Lebl  <jirka@5z.com>

	* mpwrap.c: hunted down a sigfpe, and added complex
	  division (all that is missing now is pow and mod)

	* genius.c: cleanups, fixed bug where the properties
	  could only be shown once.

Thu May 14 04:57:34 1998  George Lebl  <jirka@5z.com>

	* genius.c: fixup the errorbox show code

Sat Apr 25 21:28:38 1998  Havoc Pennington  <hp@pobox.com>

	* genius.c: Use GnomePropertyBox. This basically involved
	reversing tmpstate and curstate in setup_calc; before we 
	saved original in tmpstate while changing curstate, now
	we change tmpstate and copy back to curstate on apply.
	Also declare tmpstate static, since it's used after the
	function returns.

Tue Apr 21 14:45:41 1998  George Lebl  <jirka@5z.com>

	* genius.c: get sane defaults when config file is
	  not found

Tue Apr 14 01:04:46 1998  George Lebl  <jirka@5z.com>

	* *.[chly], README: copyright notice updates,
	  README updates

Wed Apr 08 02:13:23 1998  George Lebl  <jirka@5z.com>

	* mpwrap.c: fixed a bug in mpwl_pow_ui, and made
	  functions to do powers of mpz's instead of ui, to
	  eliminate a stupid limit.

Wed Mar 27 13:19:00 CST 1998 Arturo Espinosa <arturo@nuclecu.unam.mx>

        * genius.c: Final touches for the properties dialog by arturo & aspuru.
	
Wed Mar 27 12:41:00 CST 1998 Alan Aspuru Guzik <aspuru@eros.pquim.unam.mx>

        * genius.c: The thing now saves and loads its properties.

Wed Mar 27 12:00:00 CST 1998 Arturo Espinosa <arturo@nuclecu.unam.mx>

        * genius.c: Modal dialog for properties (used to be options).
	
Wed Mar 25 22:15:18 CST 1998 Arturo Espinosa <arturo@nuclecu.unam.mx>

        * genius.c: Clean-up. gnome_config & gnome_stock stuff.
	
Tue Mar 24 20:28:32 1998  George Lebl  <jirka@5z.com>

	* lexer.l: generate an error on base >36 integers
	  (parse error)

	* mpwrap.c: radically faster power function for
	  float^ui, but this improves everything except
	  rat^int and int^int, thx to Havoc Pennington
	  for pointing that out.

Sat Mar 21 15:31:20 1998  Tom Tromey  <tromey@cygnus.com>

	* genius.c: Use gnome_message_box_*, not gnome_messagebox_*.

Sun Mar  8 16:37:50 1998  Tom Tromey  <tromey@cygnus.com>

	* calc.h: Renamed error_t to calc_error_t.

	* Makefile.am (INCLUDES): Added GNOME_INCLUDEDIR.

	* genius.c (main): Use new gnome_init.

Mon Mar 02 14:25:47 1998  George Lebl  <jirka@5z.com>

	* mpwrap.[ch]: partial support for complex numbers

	* funclib.c: a few new functions

	* parse.y,lexer.l: cleanup imaginary numbers

1998-03-01  Raja R Harinath  <harinath@cs.umn.edu>

	* genius.c (addkey): `current_pos' is now part of GtkEditable, not
	GtkEntry. 

Thu Feb 26 22:57:39 1998  Tom Tromey  <tromey@cygnus.com>

	* Makefile.am (BUILT_SOURCES): New macro.

1998-02-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* genius.c (main): Added app_id "genius".

1998-02-19  Carsten Schaar  <nhadcasc@fs-maphy.uni-hannover.de>

	* Makefile.am (genius_LDADD): Added '$(INTLLIBS)'
	(geniustest_LDADD): Added '$(INTLLIBS)'

Tue Feb 17 21:32:43 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* Internationalization.

Tue Feb 17 21:24:17 KST 1998  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>

	* genius.c (geniuserrorbox): Fixed gnome_messagebox use.

Thu Feb 05 01:21:44 1998  George Lebl  <jirka@5z.com>

	* genius.c: clist now expands the column according to the
	  largest entry, result has white background, and the
	  clist has two columns so that expresison and result
	  line up

Fri Jan 30 12:33:04 1998  Tom Tromey  <tromey@cygnus.com>

	* Makefile.am (EXTRA_DIST): Include genius.desktop.
	(geniustest_LDADD): Include $(INTLLIBS).
	(genius_LDADD): Likewise.

Thu Jan 29 03:45:15 1998  George Lebl  <jirka@5z.com>

	* util.c: fixed stack pop (this was an ugly bug)

Thu Jan 29 02:07:37 1998  George Lebl  <jirka@5z.com>

	* util.[ch],calc.c,eval.[ch]: using GList for stacks now
	  which makes some parts better, can't really use them
	  for context stacks though

1998-01-28  Raja R Harinath  <harinath@cs.umn.edu>

	* Makefile.am: Don't install geniustest.  Misc fixes.

Tue Jan 27 20:52:56 1998  George Lebl  <jirka@5z.com>

	* eval.c: fixed unitialized variable use

Mon Jan 26 00:35:15 1998  George Lebl  <jirka@5z.com>

	* genius.c: chage Quit to Exit, use CList, when row
	  is selected it is put into the entrybox

Tue Jan 13 22:21:25 1998  George Lebl  <jirka@5z.com>

	* mpwrap.c: if the result would be complex, an error is
	  returned for now

Tue Jan 13 21:24:10 1998  George Lebl  <jirka@5z.com>

	* parse.y: UMINUS and NEG bind more closely then ^

	* mpwrap.c: fixed a cosmetic error in format_float with 0.0
	  displaying 0. instead of 0

Tue Jan 13 19:49:29 1998  George Lebl  <jirka@5z.com>

	* mymath.c: e is calculated as a float not rational :)

	* mpwrap.[ch]: new function, mpw_make_float

Mon Jan 12 02:54:50 1998  George Lebl  <jirka@5z.com>

	* Makefile.am,geniustest.c,geniustest.pl,geniustests.txt: simple
	  files for testing may be a base for a command line
	  implementation of genius (geniustests.txt are some tests)

	* eval.c: fixed YET ANOTHER BUG in copynode (didn't set new
	  args to NULL when the old ones were NULL, STUPID!)

	* mymath.c: fixed a small memory leak in getpi

	* mpwrap.c: fixed pow_ui, fixed pow_q

Sun Jan 11 19:03:13 1998  George Lebl  <jirka@5z.com>

	* funclib.[ch]: ported to mp wrappers

	* util.c: a minor bug fixed in my_realloc

Sun Jan 11 19:00:12 1998  George Lebl  <jirka@5z.com>

	* mpwrap.c,mpwrap.h,Makefile.am: added the MP wrapper functions.

	* mymath.[ch]: ported to the new mp wrappers

	* calc.[ch]: ported to mp wrappers

	* eval.[ch],structs.h,lexer.l,parse.y: ported to the new wrappers

	* eval.c: fixed a bug in copynode

Sat Jan 10 15:41:27 1998  George Lebl  <jirka@5z.com>

	* eval.c: "while" now works right

	* README: examples updated to work

	* eval.[ch],calc.c: took out primstr, and reimplemented a
	  better function in calc.c, this one now has the right output
	  (only spits out infix notation)

	* calc.h: added all prototypes

	* calc.c: got rid of some unused vars, added #include "dict.h"

	* eval.c: got rid of some unused vars

	* dict.[ch]: d_initcontext is now void not int

	* struct.h,dict.[ch],calc.c,eval.c,lexer.l: slight changes in naming
	  to be more consistent

	* calc.[ch],genius.c: added function to add missing parentheses
	  on the end of expression to calc, and made it do just that
	  in genius.c

	* genius.c: the entrybox is cleared after an expression is evaluated

Sat Jan 10 00:45:07 1998  George Lebl  <jirka@5z.com>

	* lexer.l,parse.y,eval.[ch]: added logical and,or,xor and not
	  operators. ! was not touched and still means factorial

	* README: updated

	* Makefile.am: using YACCFLAGS for arguments instead fo YACC

	* eval.c,calc.c: messed with the expression printing to at
	  least print something debuggable before making it right

	* eval.c: secondright is now copied, this fixes ifelse

	* lexer.l: fixed a bug in argument references during parse

	* eval.c: while doesn't check for a number (it does it's
	  own evaluation), but it still seems broken

Fri Jan 09 21:05:18 1998  George Lebl  <jirka@5z.com>

	* genius.c: couple of minor changes, Ctrl-Q now also quits

	* eval.[ch]: added if,while and ifelse construct operations, also
	  reversed how branches returns the argument (it was wrong) and
	  made a function for telling which ones should get evaluated during
	  calculations (evalnode)

	* structs.h, eval.[ch]: added a secondright argument to primitives
	  since ifelse needs it

	* parse.y: added the parsing info for while,if,ifelse. lexer already
	  included it

	* eval.c: split up evalnode to several functions

	* README: updated

	* eval.h: took out an obscolete prototype

	* eval.[ch],parse.y,lexer.l: added comparison operators,
	  ==,!=,<=>,>,<,>=,<=

	* genius.c: ! taken out of the numpad, % put in

Fri Jan 09 16:17:38 1998  George Lebl  <jirka@5z.com>

	* eval.c: fixed another bug in copynode, this fixes some segfaults,
	  and makes global functions work, local ones still segfault

	* eval.c: fixed a bug in evaluation, first evaluate left THEN
	  the right side. this caused trouble with separators and
	  function declarations

	* calc.c: the parse error message now says "before" instead of
	  "at" since it makes more sense

Fri Jan 09 02:08:11 1998  George Lebl  <jirka@5z.com>

	* eval.[ch],parse.y,lexer.l,dict.c: took function declaration from
	  parse time to execution time. Still segfaults all over the place

	* eval.c: fixed copynode, added function for adding fake function
	  nodes for declarations

Thu Jan 08 00:11:22 1998  George Lebl  <jirka@5z.com>

	* README: updated to reflect the changes

	* COPYING: added

	* genius.c: make floats ints is now disabled by default as
	  it is not too intuitive, meaning it might not do what a user
	  expects

Wed Jan 07 23:44:13 1998  George Lebl  <jirka@5z.com>

	* dict.[ch]: addfunc now returns a pointer to the actual created
	  record

	* eval.[ch],parse.y,lexer.y: added a separator primitive, all it does is
	  right side. meaning you can have more expressions after each other
	  and taht will return the value of the last one

	* dict.[ch]: created dictionary contexts so that local
	  variables/functions are possible

	* eval.[ch],parse.y,lexer.y,funclib.c: added user function support, not
	  yet completely finished, but it is working quite nicely already,
	  recursion does not yet work and I know what's the problem and will
	  fix it, though there are not yet any structures for programming,
	  there are many MANY small changes around these files to support this

Tue Jan 06 18:38:17 1998  George Lebl  <jirka@5z.com>

	* eval.[ch],parse.y: added mod ('%') operator

Tue Jan 06 15:38:49 1998  George Lebl  <jirka@5z.com>

	* genius.c: Make use of the app widget, get rid of buttons in favor of
	  menus, use gnome_init instead of gtk_init, add #include <gnome.h>

Mon Jan 05 23:14:56 1998  George Lebl  <jirka@5z.com>

	* eval.c,calc.c,structs.h: changed some tree_t internals to
	  match the new constant names

	* eval.c,struct.c: it should be now possible to evaluate user
	  which are just compiled into evaluation trees

	* util.[ch]: took out makelc

	* dict.[ch]: made searches case sensitive and added support for
	  user functions

	* lexer.l,parser.y: added support for no-argument user functions
	  (variables) setting

	* calc.c: fixed a bug so that the builtin functions don't get
	  added again and again

	* eval.[ch]: added the '=' operation and changed evalexp to be able
	  to set variables

Sun Jan 04 23:50:25 1998  George Lebl  <jirka@5z.com>

	* genius.c: accelerator stuff revamped, and all is done through
	  the keypress event, nothing will happen on empty string

Sun Jan 04 22:59:28 1998  George Lebl  <jirka@5z.com>

	* genius.c: Got the keybindings to work, so it can be completely
	  keyboard driven. ^C quits \n runs calculations.

Sun Jan 04 20:57:01 1998  George Lebl  <jirka@5z.com>

	* calc.[ch],eval.c,genius.c: implemented calcstate structure,
	  instead of separate variables

	* genius.c: added some options for the new calcstate structure
	  these are the make results floats and scientific notation

	* calc.c: if the number of digits is reduced the number is now
	  rounded, implemented scientific notation, implemented conversion
	  to floats, some cleanup, a typo fixed

	* lexer.l: can now read integers in scientific notation as
	  floats

	* structs.h,calc.c,eval.c: changed some enum constants' names to
	  be more meaningful

	* dict.c: small typo to make builtin functions

	* eval.c: some cleanup, reduced the number of temporaries used in
	  some operations, put switch statements in the code instead of
	  some if/else structures

	* mymath.c: mympf_pow_ui now safely works when rop and op are one
	  and the same number (it will still not use a temp when the numbers
	  are in fact different)

Sat Jan 03 16:57:17 1998  George Lebl  <jirka@5z.com>

	* calc.c, eval.c: it's possible to have functions in uncomputed
	  expressions, they will display properly

	* funclib.[ch]: deleted test_op ("test" function), added functions
	  "cos", "tan", "pi", "e"

	* mymath.[ch]: created these files for some helper gmp functions

	* eval.c: taken out mympf_pow_ui and put it into mymath.[ch]
	  added an ugly ans slow temporary way to do exponentials of
	  floats, it converts it to a rational first

Sat Jan 03 12:48:31 1998  George Lebl  <jirka@5z.com>

	* genius.[ch]: deleted old unused functions, added prototypes
	  to genius.h, added errorreporting functions

	* calc.c, eval.c: now use the error reporting function

Sat Jan 03 02:18:55 1998  George Lebl  <jirka@5z.com>

	* eval.[ch], calc.c, parse.y: the stack is now a structure of type
	  evalstack_t, it's a dynamic array now

	* eval.c: added #include "util.h"

	* util.c: made my_realloc safer

	* funclib.c: added #include <gmp.h>

	* funclib.[ch]: sine function added ("sin"), works only for -pi<x<pi

Sat Jan 03 00:37:52 1998  George Lebl  <jirka@5z.com>

	* util.c: proper casting in makelc

	* dict.c: makebifunc now doesn't segfault.

	* dict.c: d_addfunc fixed, it adds dictinary entries now

	* eval.c: added NULL checking to freetree and freetree now does
	  freeargs, not freenode and makefuncd sets n->left and right to
	  NULL ... that made ugly segfaults

	* eval.c: evalnode now evaluates function args correctly

Fri Jan 02 21:21:27 1998  George Lebl  <jirka@5z.com>

	* calc.h: removed FACTORIAL_ERROR since it's not a fatal error

	* eval.c: Should be able to run functions from funclib

	* funclib.[ch]: removed funclib_exec function since that's
	  obscolete, added addall and test_op functions and there's a
	  "test" function returns sum of three arguments (no typechecking
	  is done and they have to be integers! it's just a testroutine)

	* calc.c: added #include "funclib.h", and it will add all the
	  funclib functions the first time evalexpr is run.

