Go to the first, previous, next, last section, table of contents.
Note that the programme's name has been changed to SM,
that the default directory name is now `sm', and that the
`.smongo' file is now called `.sm'.
Changes to do with making SM:
- *
-
Compilation options are now in a file src/options.h rather than
in the Makefiles.
- *
-
The compiled graphcap entry format has been changed;
you must rerun `compile_g'.
Changes to do with history and the editor:
- *
-
Syntax errors now report the macro in which they occur. Beware that this
may be incorrect, if the macro has already been fully scanned.
- *
-
If VERBOSE is 1 or more, report the line that arithmetical errors
occur on (e.g. mismatched dimensions, lg(0)).
- *
-
You can now choose your history character (default: ^). This
may be useful for TeX strings, I use `.
- *
-
You can go to the start or end of a macro/the history list
with ESC-< and ESC->. Use ESC-g to go to a line number.
- *
-
You can no longer type a space after the history character to
insert it into a line -- use quote_next instead (e.g.
ESCq^).
- *
-
Lines starting with a # in READ EDIT files are comments
- *
-
In `.sm' files comments run from a # to the end of the line.
- *
-
The various DELETE HISTORY commands now have siblings that omit
the HISTORY and do not themselves appear on the history list.
- *
-
The way that DO, FOREACH, IF, and MACRO command lists are
treated has been fixed. If VERBOSE is 5 or more such lists will be
printed as they are scanned.
Changes to do with macros:
- *
-
The command APROPOS lists all macros whose names or initial
comments match a given pattern.
Changes to do with variables:
- *
-
Variables given in <> or {} are no longer tokenised, so spaces will
no longer appear in funny places.
Changes to do with vectors:
- *
-
You can now specify a printf-style format string to PRINT
- *
-
The command SET
name = macro(vector) has been changed.
Previously only one argument was
permitted, but it could be an expression, and the result was returned
by assigning to $1 in a rather confusing way. Now many arguments
are permitted (but they can't be expressions), and the result is
returned as $0. See SET in the manual for more details.
- *
-
It's possible to FFT vectors (actually pairs of vectors for the real
and complex parts).
- *
-
String valued vectors have been added to SM. They may
be read from files (either by the row or by the column), printed,
assigned to, tested for (in-)equality, and used to set the PTYPE. In
the latter case the strings are used to label the points.
- *
-
the SET DIMEN(
vec) = expr statement has been altered, so
the right-hand expression must be a number (with an optional suffix to
denote a string-valued vector).
- *
-
You can now define variables from IMAGE files (currently only
supported for FITS), using DEFINE variable IMAGE
- *
-
The expression
vector[expr] has been generalised to
allow expr to be a vector, so the result is now a vector
of the same dimension as expr.
- *
-
You can convert an expression into a string using
STRING(expr).
- *
-
It is now possible to specify that IMAGE files have no header,
in which case you'll be prompted for the values of nx and ny (file_type
no_header).
Changes to how plotting is done are as follows:
- *
-
The values of
TICKSIZE now make a difference for logarithmic axes.
- *
-
The way you specify limits for logarithmic axes to AXIS is now
consistent with the way you specify them to BOX. This Is A Change!
- *
-
GRID now takes an optional second argument, specifying only an
x or y grid
- *
-
LTYPE ERASE allows you to erase some lines in a plot without erasing
everything. This is only supported by some devices
- *
-
ANGLE and EXPAND can now be given as vectors, to specify
different angles and expansions for each point plotted
- *
-
DOT will now work with user-defined ptypes
- *
-
You can specify a PTYPE of a vector of strings.
- *
-
The order of the default CTYPEs has been changed; you can now restore
the default using the macro
reset_ctype.
Changes to labels:
- *
-
TeX strings now makes
A_a^b put both sub- and super-
scripts on the same symbol (use A_a{}^b if that isn't what
you want)
- *
-
A new bold (over-struck)
\bf font is available.
- *
-
If you define the variable
default_font it will be used
as your default font for labels (including for axes). You can define
it in your `.sm' file if you so desire.
- *
-
The position of the symbol for the constellation Taurus has
been moved; this will not affect TeX_strings users. An Old English
full stop is now a full stop.
- *
-
`TeX definitions' are now specified in a file (and put into
fonts.bin). This will not affect users, but does allow a SM
administrator to add new definitions.
- *
-
You can use
\def to define your own TeX definitions.
- *
-
You can specify more than 9 sides in TeX `point' or `apoint'
- *
-
The `TeX' commands
\raise and \kern are now
available to move parts of strings about.
- *
-
TeX-labels can now be put into variables without difficulty.
Changes to stdgraph:
- *
-
A new encoder command
`str` prompts you, then reads
a character from the keyboard.
- *
-
You can specify graphcap entries (or parts of graphcap
entries) on the command line.
- *
-
The 8th bit of graphcap entries is no longer stripped. To
include an ascii null (
\000) in an entry specify \377, a \377 may be written \377\377.
Changes to drivers
- *
-
You can now specify options like
-Ws to the sunview driver,
use -WH for a list.
- *
-
There is a new driver for a Unix-PC.
- *
-
There is a new X11 driver (try DEVICE x11 -help for a list of options).
- *
-
If you write your own drivers, the declarations of some functions
have been changed to return void.
Changes to Callable SM
- *
-
You must now include the library utils.a in addition to plotsub.a
and devices.a when linking to SM as a graphics library.
- *
-
The library names have been changed by pre-pending a `lib', so
you can now say either `libdevices.a' or `-ldevices'. This allows the
-L option to ld to work (under Unix).
- *
-
If you compiled SM with an ANSI compiler, you should include the
file
"sm_declare.h" at the top of any C code that calls SM functions.
Bug fixes: (only the ones most visible to users are noted)
- *
-
You can now define arbitrarily big vectors with the cursor.
- *
-
LOCATION now works with non-touching WINDOWs.
Go to the first, previous, next, last section, table of contents.