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
The `gre ' version-numbering scheme is quite standard, borrowing from
the Linux methodology. It is worth a moment of explanation. `gre '
version numbers comprise three integers separated by decimal points
(e.g. `0.2.2 ').
The first digit (`0 ' in the present example) represents the
major version number. This number changes infrequently, perhaps once in
a couple of years, and indicates very significant changes to `gre '.
The second digit (`1 ' in the present example) plays two
roles. The first role is natural: higher values indicate more recent
releases. The second role, borrowed from Linux, is more clever:
odd-numbered values indicate that the version is undergoing rapid
development. New features may be added and then modified or even
deleted. In the Linux parlance, the version is said to be ``unstable.''
Such odd-numbered versions should only be used by those who feel
comfortable being on the bleeding edge of software development.
However, if the second digit is an even number, the version is said to
be ``stable.'' This means that the features are frozen, with the only
changes occuring being bug fixes.
The third digit is updated for each and every release within a
so-called ``stream.'' Thus, versions `0.1.1 ', `0.1.2 ', etc.,
are said to be within the unstable stream numbered `0.1 '. It is
common for unstable streams to have many releases, often several a week,
so that the last digit can get up to high numbers (50 or more). By
contrast, the the stable streams have many fewer updates (usually fewer
than 5 or so).
7.1: Unstable (developmental) stream 0.3.x
No versions yet.
7.2: Stable stream 0.2.x
Version 0.2.2 2000-jun-29
- Fix bug in interpolation of synonyms into strings.
Version 0.2.1 2000-may-8
- Clean up installation scripts.
- Make user-written textual subroutines work correctly.
Version 0.2.0 2000-may-6
- Identical to version 0.1.45, except for the version number. One
of the main things that this version lacks, compared to what is
envisioned as the final `
gre ' version, is decent and stable support
for images. Since adding image support may be a slow process, this
0.2.x stream is intended as a sort of landing on a staircase.
7.3: Unstable (developmental) stream 0.1.x
Version 0.1.45 2000-may-4
- Add `
set x axis unknown ' and same for y axis.
Version 0.1.44 2000-may-3
- Add `
set y axis decreasing ' and `set y axis increasing ', and
analogously for the x-axis; see Set x axis.
- Change so that the numbers on axes all have same number of digits
after the decimal point.
- Clean a bug in regular expression matching, which prevented recognition
of the `
^ ' character as a flag denoting the beginning of a string;
see Comparing Textual Items With Regular Expressions.
Version 0.1.43 2000-apr-30
- Change copyright date to 2000 ... a few months late!
- Improve discussion of version-numbering scheme in the manual.
- Fix bug that made `
make test ' (invocation of the test suite,
normally done only by power users) fail, due to directory renaming in
recent version.
Version 0.1.42 2000-apr-29
- Change the Makefile in the `proj' directory (which creates map
projections) to remove a mysterious bug that occurs on some Solaris
computers.
Version 0.1.41 2000-apr-26
- Add ability to use any punctuation character in string-edit
constructs, e.g. `
$name =~ s:foo:bar: ' can be used instead of
`$name =~ s/foo/bar/ '. The advantage is that this permits editing
of the `/ ' character. see Modifying Strings.
Version 0.1.40 2000-apr-18
- Change location of files from the `/opt/...' directory
to more standard locations. For an example, what used to be
`/opt/gre/bin/gre' is now `/usr/bin/gre'. This is more
consistent with the linux OS.
- Use OS-installed subroutines to check for NaN and Inf, if
these subroutines are available.
Version 0.1.39 2000-apr-15
- Fix bug in memory allocation of image colormaps.
- Change placement of titles so that less space is wasted
(Draw title).
Version 0.1.38 2000-mar-14
- Add assignment of lists to vectors, e.g. `
@v = (1,2); '.
Version 0.1.37 2000-mar-10
- Make `
draw grid ' obey `set color '.
Version 0.1.36 2000-feb-17
-
Add `
my $x,$y; ' and `my ($x,$y); ' styles.
-
Trying to get `
skip ' working.
Version 0.1.35 2000-feb-15
-
Fixed two sample files that were broken (`sound_speed.gre' and
`TS.gre') because they used a version of `
my ' that isn't
supported right now.
-
Remove bug in `subs.cpp' that was revealed in version 2.95.2 of the
gcc compile; the changed source still compiles fine in the author's
version 2.91.66 of this compiler.
Version 0.1.34 2000-feb-12
-
Add iso-latin-1 font support for European languages which have accents
over/under letters. Selection of font ``encoding'' is now available
with the `
set font encoding ' command Set font encoding.
Version 0.1.34 1999-oct-25
-
Fix bug in `
set image range ' that didn't record the top end of the range.
Version 0.1.33 1999-sep-24
-
Fix bug in `
draw x box plot ' and `draw y box plot ' that made
it not realize that data existed.
-
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
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
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-2000 Dan E. Kelley, email
Dan.Kelley@Dal.Ca
|