History

1: Introduction
2: Invoking Gre
3: Gre Grammar
4: Commands
5: Cookbook
6: Hints
7: History
8: Plans
9: Concept Index

7: History of Gre

Note: the following table is provided mainly for the author and for former Gri users, so that they can monitor the insertion of Gri commands into `gre'.

Version 0.1.33 1999-???-??

  • UNDER DEVELOPMENT -- NOT RELEASED YET. Trying to get 'skip' working.
  • Remove `log()' subroutine, added in version 0.1.31, because it was confusing even me! Stick to `ln()' and `log10()', which make sense to everybody.

Version 0.1.32 1999-Jul-27

  • Relax requirement for parentheses surrounding the expression in `if' statements, `while' loops, etc. However, the `for' loop still needs it!

Version 0.1.31 1999-Jul-20

Version 0.1.30 1999-jul-14

Version 0.1.29

  • Add `=~' operator for modifying text-valued scalar variables see Modifying Strings.

Version 0.1.28 1999-jun-26

  • Add
  • If clipping is on, ensure that contours extend to edges of clipping box. NOTE: this introduces a new bug: labels may be messed up this way though (since they may be drawn, invisibly, outside the box); another version will get rid of this bug.

Version 0.1.27 1999-jun-16

  • Add `draw grid' see Draw grid.
  • Fix bug in `read grid x|y' that made it think non-empty files were empty.
  • Tweak manual so that it compiles in the version of `texinfo' that comes with redhat-linux version 6.0.
  • Remove bug in which post-increment and post-decrement operators yield the values from after the opertion, not before.

Version 0.1.26

  • Add `draw filled contour'. This is a TEST VERSION ONLY, and may not work properly. It is also NOT documented yet. Finally, I am not sure the syntax will remain as it is; I may make it be `draw contour filled' instead.

    At any rate, the below is a demo file:

        set x grid 0 1 0.1;
        set y grid 1 2 0.25;
        open(IN, "test.dat-2") or die;
        read grid data IN;
        draw axes;
        set color red;   draw filled contour 1.5;
        #set color black;draw contour 1.5;
        set color green; draw filled contour 2;
        #set color black;draw contour 2;
        set color brown; draw filled contour 2.5;
        #draw contour 1.5 2.5 0.5;
    
    for datafile, `test.dat-2', that is:
       2 1 0 0 0 1 2 1 0 0 1
       3 2 0 0 0 2 3 2 0 0 2
       2 1 0 0 0 1 2 1 0 0 1
       0 0 0 0 0 0 0 0 0 0 0
       0 0 0 0 0 0 0 0 0 0 0
    
    Note that this example tests: (1) multiple peaks; (2) peaks that interesect one side; (3) peaks that intersect two sides.

Version 0.1.25

  • Add skeleton for filled contours. The new command may be called `draw filled contour', or something like that, but in any case it is not working yet.
  • In Postscript driver, prevent needless repetition of commands to set the pen color. For a text-intensive, text-only application, this reduces file size by a factor of 3.

Version 0.1.24

  • Add `set image colorscale' see Set image colorscale.
  • Add `draw image' see Draw.
  • Add `print image' see Print.
  • Add `convert grid to image' see Convert grid to image.
  • Speed up `glob' by using POSIX.2 `glob' library call, if it is installed see Glob. Also, fix bug that occured for globs that returned no matches.

Version 0.1.23

  • Fix bug in `glob' see Glob. At the same time, lay groundwork for proper perl-style lists.

Version 0.1.22

  • Add ability to assign to variables in `my' commands see My. Remove ability to give `my' lists of variables ... this ability will be added back later.

Version 0.1.21

  • Add `set flag'.
  • Make `open' recognize filenames ending in `.Z', and first uncompress them with the unix `uncompress' program.
  • Make `open' recognize filenames ending in `.gz', and first uncompress them with the GNU `gunzip' program.
  • Ensure that any temporary files are removed no matter how `gre' exits (except for a core-dump).

Version 0.1.20

  • Fix bug in which `set dash' (without keyword `on') didn't set to dashed lines.

Version 0.1.19

  • Change so that `0' is written with same format as other numbers, on the y axis. (This removes a remnant from Gri, which had to do with rounding artifacts, artifacts which seem to have disappeared in recent versions.)

  • Fix bug in which various `draw' commands didn't obey clipping exactly near the edges of the clipping domain.
  • Fix bug in which `draw polygon' and `draw line' that caused automatic drawing of axes even for centimeter-based coordinates.

Version 0.1.18

  • While drawing strings, insert a thinspace (1/6-th width of character `m') after math-mode italicized strings, if next item is a closing-parenthis or a non-mathmode character.
  • Move axes autoscaling from `read columns' into the `draw' commands. This removes a bug that prevented autoscaling for columns created (or modified) by loops.
  • Add `set clip to curve' see Set clip.
  • Add `pscomment' see Pscomment.

Version 0.1.17

Version 0.1.16

  • Add `new page' see New Page.
  • Add matching for regular expressions see Comparing Textual Items With Regular Expressions.
  • Recognize `package' keyword ... but don't obey it yet see Package.
  • Planned: make `package' localization work on `$'-style variables. Note: must not localize `$ARGV', `$_', and all variables beginning with `$_').
  • Planned: make `package' localization work on `@'-style variables.
  • Add `use' command see Use, allowing incorporation of modules.

Version 0.1.15

  • Port to the `egcs' compiler.
  • Add linux-style processing of commandline options, including long-names and aliasing see Commandline options.
  • Add `ROWS' option to `read columns' see Read columns.
  • Add web-delivered files for use in the `open' command see Open.

Version 0.1.14

Version 0.1.13

  • Add `read grid' commands see Read.
  • Add `erf()' and `erfc()' mathematical functions.

Version 0.1.12

  • Speed up `set map projection' by making it internal instead of a system-call see Set map projection. This also reduced requirement to have `set map projection' on the system.
  • Add `set clip rectangle'
  • Allow embedded newlines in strings, and handle in `print' (but not in drawing commands ... yet).
  • Add unix-like back-tick capability to strings see System.
  • Add `set missing value' see Set missing value.
  • Add `set page' command see Set page.

Version 0.1.11

  • Add `set map projection' support to `draw curve', `draw symbol', and `draw line from'.
  • Add `$ARGV' vector to hold command-line arguments.
  • Add `-p' command-line option.

Version 0.1.10

  • Add `set map projection' command and related subroutines -- but not support in the various drawing commands.

Version 0.1.9

  • add `?' and `:' operator pair
  • add `rewind' subroutine
  • add `printf'
  • add `$_time'

Version 0.1.8

  • add `regress'
  • add `draw arrows'
  • add `set arrow size'
  • add `set u scale'
  • add `set u scale'
  • add `set symbol size'
  • add `draw curve filled'
  • add `draw curve overlying'
  • add beginnings of `draw contour'
  • use English, rather than numeric, codes in `set line cap' and `set line join'
  • add all `draw x/y box plot'
  • add `set image range'
  • prepare for `delete' command (NOT DONE YET!!)
  • add `axis|symbol|all' option to `set line width'

Version 0.1.7

  • add all gri-like `draw axis' styles
  • change `draw arrow' to match gri syntax
  • rename `draw line connecting' as `draw line from' to match gri
  • add `text_ascent', `text_descent', and `text_width'
  • add `draw box'
  • extend `draw label' to match gri
  • add `draw x axis' and `draw y axis'
  • allow `default' in `set font size'
  • allow `default' in `set line width'

Version 0.1.6

  • prevent redefinition of existing cmds
  • add `sw_alpha()' function
  • add `sw_beta()' function
  • add `sw_spice()' function

Version 0.1.5

  • add `sw_lapse_rate()' function
  • add `sw_salinity()' function
  • rename all `eos_' functions as `sw_' functions
  • add `set contour format'
  • add `set contour label position'

Version 0.1.4

  • new method for variable interpolation
  • add `sw_freezing_temperature' function

Version 0.1.3

  • switch from gri-like string mathmode, $...$, to \(...\), to not collide with variable interpolation syntax.
  • add `set line join'.
  • add `draw isopycnal'.
  • add `reorder columns randomly'.
  • add `set clip on' and `set clip off'
  • add `glob' (not understood outside `foreach', yet)
  • add sw_density and eos_potential_temperature functions
  • allow `open' filenames to be pipe commands
  • add `print columns'
  • add `print grid'
  • add `draw arrow'
  • add `draw label'
  • rationalize code to speed compilation
  • warn if filehandle not in upper-case
  • improve accuracy of PostScript bounding-box
  • add `set x|y grid'

Version 0.1.2

  • allow e.g. `$#vname' as an lvalue (not documented yet)
  • make many commands coerce strings to numeric and vice-versa
  • add `set x|y format'
  • make `split' attach proper symbol-table item (bug fix)

Version 0.1.1 - add enough to allow crude x-y plots

  • add e.g. `$vector[$index]++'
  • add e.g. `$vector[$index]--'
  • add `draw line connecting'
  • add `draw symbol'
  • add `draw title'
  • add `set line width rapidograph'
  • add `draw curve filled'
  • add `set symbol size'
  • add `draw symbol'
  • add `draw symbol "name"'
  • add `set graylevel'
  • add `set tic size'
  • add `set tics in|out'
  • add `ls' and `cd'

Version 0.1.0

  • add `chomp'
  • allow `chop' and `chomp' to take variable_name as arg
  • add `set x|y type'
  • make `set dash' work (all forms)
  • add `set font to $name'
  • make `chop()' be a subroutine
  • add `set font size'
  • add `set color "name"'
  • add `set color hsv'
  • add `set color rgb'
  • make ps filename be correct

(c) 1997-1999 Dan E. Kelley, email Dan.Kelley@Dal.Ca