Glen Whitney
7b794f90b9
Prior to this change, when a cell was clocked, it was always computed with prior values of referred-to cells. This had the effect, for example, of making cells defined only with a base expression as a total of a column, for example, to be out-of-date in that they would take on the value of the total of the prior values of the column, not the total of new current values of the column. This behavior was very counterintuitive. With this change, updates of cells that have no clocked expression are delayed until after clocked expressions have been recomputed based on prior values and their cells' current values have been updated. Then the computations of those base-only cells use all of the new current values, leaving the spreadsheet in a (maximally) self-consistent state. Resolves #90. Co-authored-by: Glen Whitney <glen@studioinfinity.org> Reviewed-on: #91
128 lines
5.4 KiB
Plaintext
128 lines
5.4 KiB
Plaintext
This is development version 2.3.0devel of teapot (Table Editor And Planner, Or: Teapot),
|
|
a spread sheet program for UNIX.
|
|
|
|
The changes compared to 2.3.0 are:
|
|
|
|
o Added examples updating the life simulation to illustrate the color and
|
|
computed style features.
|
|
o You can compute the styles for cells, with an additional expression per cell.
|
|
o Computation of current values for cells without clocked expressions now
|
|
always depends on contemporaneous current values rather than prior values,
|
|
even when the sheet is clocked. This means, for example, an entry whose base
|
|
value is the sum of a column and which has no will always resolve to the
|
|
current sum of that column, even if the column contains clocked values.
|
|
(This is a breaking change in that prior to this modification, such a cell
|
|
when clocked would contain the sum of the prior values in that column.)
|
|
o New token types: style and bool.
|
|
o Comparison operators return bool rather than int (Note this can be a breaking
|
|
change; you may need to wrap comparisons in int() if you are using the result
|
|
in a numerical computation.)
|
|
o Foreground and background color style attributes for cells.
|
|
o Variable row height for cells.
|
|
o Addition of a find() macro to search for a cell satisfying a condition.
|
|
o Addition of an is(VALUE, TYPE, TYPE,...) predicate
|
|
o Addition of functions for unit displacements in the six cardinal directions
|
|
(left, right, up, down, above, below)
|
|
o TPA is now the default file format
|
|
o Addition of hexact float format, which allows for exact round trips to ASCII
|
|
o New token type: funcall (which basically amounts to an expression). This
|
|
allows parsed rather than unparsed expressions to be stored in cells, and
|
|
allows macros which receive their arguments unevaluated.
|
|
o New region/accumulator operation count() that counts truthy cells (rather
|
|
that just nonempty cells as n() does) added.
|
|
o All region/accumulator operations including sum(), min(), and max() can
|
|
now operate over their list of arguments as well as over a block.
|
|
o All region/accumulator operations can take an optional expression when
|
|
operating over a block that generates the values to be accumulated (rather
|
|
than just taking the values directly from the block).
|
|
o Added floor(), ceil(), trunc(), and round() functions for finding integers
|
|
associated with doubles, eliminating (note possible breaking change) the
|
|
int conversion with two rounding directions.
|
|
o Precedence of unary "-" made lower than exponentiation "^" to match Python;
|
|
note possible breaking change.
|
|
o Evened out the depth of the attribute menu in console teapot.
|
|
o Relative and "Excel-style" addressing as well as absolute addressing.
|
|
o Bitwise logical functions on integers.
|
|
o Fill With operation for quickly filling the selected block with a single cell.
|
|
o Additional arithmetic operations on locations.
|
|
o Documentation better aligned with current behavior.
|
|
o Additional key commands for clocking/resetting the sheet.
|
|
o New -F command line argument to set the overall font size for fteapot.
|
|
|
|
Bug fixes:
|
|
o Occasional early coredumps of teapot have been eliminated.
|
|
o Phantom values resulting from clocking, resetting, and clocking again
|
|
have been eliminated.
|
|
|
|
Internal changes:
|
|
o Added pretty-printer for Token values in gdb.
|
|
o Compilation warnings with reasonably strict settings eliminated.
|
|
o tabouteq() should scale better with respect to the magnitude of the compared
|
|
values.
|
|
o Funcall tokens print in infix notation.
|
|
o All operators are also available as built-in functions, to allow for
|
|
use in parsed expressions/funcall tokens.
|
|
o Function identifiers are now values in an enum, for easier use and debugging.
|
|
o style, cell, and token definitions moved into their own source files.
|
|
o Source code arranged into subdirectories.
|
|
|
|
The changes compared to 2.2.1 are:
|
|
|
|
o visual garbage fixed (curses version)
|
|
o made unquoted strings default, added "-q" flag to turn quotes back on
|
|
o made attributes menu more user friendly: no more question when changing a single cell, one menu option optimized away
|
|
o added "-H" command line flag to hide row/column headers; in FLTK, this means you can only change sheets via Ctrl-Shift-PgUp/PgDn
|
|
o expanded command line help
|
|
|
|
The changes compared to 2.2.0 are:
|
|
|
|
o Help system improved
|
|
o Compile fix for MacOS
|
|
o Link shared by default. Set option ENABLE_STATIC to statically link FLTK.
|
|
o Bugfixes for CSV export
|
|
o Bugfixes for console mode
|
|
o Added font styles bold and underline
|
|
|
|
The changes compared to 2.1.0 are:
|
|
|
|
o UTF-8 support for curses frontend
|
|
o various bug fixes
|
|
|
|
The changes compared to 2.0.2 are:
|
|
|
|
o switched to CMake as build system
|
|
o Win32 compatibility
|
|
o usage improvements in the GUI version
|
|
o various bug fixes
|
|
|
|
The changes compared to 2.0.1 are:
|
|
|
|
o Low-resource builds (leaving out the help system)
|
|
o various bug fixes
|
|
|
|
The changes compared to 2.0 are:
|
|
|
|
o Fix a possible crash and some minor bugs
|
|
o improve FLTK navigation and cell editing (moving around and
|
|
selecting cells now works while editing a formula)
|
|
o automatically start a string value when typing a letter
|
|
o fix build system
|
|
|
|
The changes compared to 1.09 are:
|
|
|
|
o Several bug fixes and changes how files are handled
|
|
o FLTK user interface
|
|
o Built-in Help and About screen (currently only in FLTK)
|
|
o License changed to GPL (see mbox file in doc folder for permission)
|
|
|
|
The changes compared to 1.07 are:
|
|
|
|
o Use KEY_HOME additional to KEY_BEG to move to the beginning of
|
|
the line in the line editor
|
|
|
|
A GNU zipped tar file is available from:
|
|
|
|
http://www.syntax-k.de/projekte/teapot/
|
|
|
|
Michael
|