Go to the first, previous, next, last section, table of contents.
- *
-
Fixed unix version of SM to accept redirected input.
Who knows for VMS?
- *
-
Command line is read differently. The old
behaviour (read one argument, treat it as a macro file, read
macro file, strip path/suffix and attempt to execute) is
preserved as the -m option. Otherwise, simply execute
command line after the startup macro
- *
-
Added logfile option to command line (-l logfile),
mostly for debugging
- *
-
Allowed
FOREACH var { list1 } { list2 }, to allow keywords to
appear in list1
- *
-
Fixed Interrupt handler to return control to user if requested
- *
-
Made spaces (and tabs) within quotes non-special, so they can
appear as parts of single words
- *
-
New utility get_grammar written in C to extract grammar from
yacc files
- *
-
Added support for
~ in CHDIR
- *
-
Made default verbosity 1 not 0
- *
-
Made
PRINT page if printing to terminal
- *
-
The header lines written by
PRINT now start with a #, so
they can be read without using the LINES command
- *
-
Added commands
SAVE and RESTORE
to save and restore a complete session
- *
-
Replaced
SHOW by a macro
- *
-
Fixed
READ OLD to change ERRORBAR and WINDOW
to new formats
- *
-
Allowed the use of \ to continue long lines
- *
-
Columns of data may now be separated by commas as well as white space
- *
-
Removed all restrictions on the number of columns in a data file
- *
-
HELP gives the values of variables and vectors, as well as macros
- *
-
In the unlikely event of SM detecting an internal error (e.g. a
segmentation violation) a
SAVE file called `panic.dmp' is now
written to your current temporary directory
- *
-
Strings in double quotes are now treated as words (e.g.
"2.80 ", note space following 0)
- *
-
TERMCAP variable is treated as the actual termcap
- *
-
Added explicit copyright statements to the code, to clarify
its status as not being public domain, but the property of its authors
- *
-
Added
WHATIS builtin function, to determine type of a string
- *
-
Added
OVERLOAD to allow overloading of keywords,
also added
set_overload macro to set some of them up. "compatible" also
makes use of this facility to redefine commands such as points
- *
-
Made
do i=1,10 { if($?$i) { ... } } as expected
- *
-
Allowed TeX-style labels (if
$TeX_strings is defined)
- *
-
Allowed points (of specified angle and ptype) and lines (of
specified ltype) to appear in strings, if you are using TeX labels
- *
-
Allowed you to declare an error handling macro (called
error_handler) that is called after ^C interrupts
- *
-
RESTORE can be used to read history files
- *
-
You can now specify lists of file/graph/termcap files to be
searched in order, allowing private modifications
string if it can't be opened as a file
Changes to do with history and the editor:
- *
-
Made
TERMTYPE with a negative number of lines turn off
cursor motion
- *
-
Changed default bindings to make ESC-q quote_next (in addition
to ^Q), and ^} an emergency ^M
- *
-
Changed editor to use termcap
- *
-
Changed editor to follow columns past a blank line
- *
-
Made history ignore consecutive identical commands
- *
-
You can now repeat a search to look for a command further back
in the history list (use ^TAB)
- *
-
Changed paging of history list to allow you to search (use ?
while paging to find out how)
- *
-
Changed terminal read routine, so ^S/^Q and typeahead
should now work at least under Unix.
(`A la unix: characters appear as you type. Refresh the screen
(^L) if it gets scribbled on)
- *
-
The history system was deleting commands when the difference
between the top and bottom numbers in use exceeded 80, rather
than when there were more than 80 commands on the buffer.
Fixed this, and took the opportunity to take the
size of the history buffer from the `.sm' variable `history'
(default : 80)
- *
-
Added command
HISTORY - to list history in backwards order
- *
-
allowed you to move deleted words from line to line
(^[h/^[u etc.)
- *
-
made a
TERMCAP environment (logical) variable override a
termcap in `.sm'
- *
-
Renumbered lines with every
HISTORY command. Insert
should now work
- *
-
ESC-y will successively restore recently deleted lines, up to a
current limit of 5.
Changes to do with macros:
- *
-
Macros beginning ## are not listed if
VERBOSE is 0.
- *
-
Added command
RETURN to return from a macro, or to the prompt
if encountered outside a macro. (Useful when fiddling with
command scripts)
- *
-
We now document that lines beginning # in macro files are comments,
and are output for verbose > 0. Lines beginning # in data files
now also comments, printed for verbose > 1, lines starting
! are always printed.
Note also that lines ending \ are logically continued to next line in
data files, as well as to the command language.
- *
-
Macros may be declared to have variable numbers of arguments
- *
-
When editing macros, RET in the middle of a line
splits the line at that point. The behaviour of the history editor is
unchanged. We now delete blank lines as we go, so typing many
RET's will just get the 1 line, and it'll go away if you
^P or ^N without typing something
- *
-
If a macro has a -ve number of args in
MACRO EDIT, it is deleted
- *
-
If
VERBOSE is 3 only trace macros as they are executed,
VERBOSE 4 is the full trace
- *
-
Added command
KEY to define keyboard macros. The keys PF1
- PF4 may be specified in a terminal independent way.
- *
-
Allowed you to redefine macro arguments inside macros, including
ones that weren't declared. This allows you to use numbered
variables as temporaries.
- *
-
Allowed
MACRO name { DELETE } to delete macros with an
uppercase "DELETE"
- *
-
Empty macros are deleted upon leaving the macro editor
Changes to do with variables:
- *
-
Added more macros to utils, for instance
arrow, wilcoxon, and smirnov
- *
-
Changed
DEFINE var ? to allow prompt string
The value of the variable now consists of the complete line typed,
rather than just one word. You are now offered as a default value the
old value, if it is defined
- *
-
Added
uxp and uyp for user plot position to DEFINE var | rule.
- *
-
Made variable names being defined appear on error traces
- *
-
Added variable $date with value of the current date and time
- *
-
Allowed you to redefine macro arguments inside macros, including
ones that weren't declared. This allows you to use numbered
variables as temporaries.
Changes to do with vectors:
- *
-
allowed < ... > as well as { ... } for
PRINT and
SORT
- *
-
Added
SET DIMEN(WORD) = expr to declare WORD, and
initialise it to zero. Also a macro declare to do this for you
- *
-
{ list } is now an expression
- *
-
Allowed
READ < list > as well as READ { list }
- *
-
Changed verbosity in vector arithmetic to report first error
in a call for
VERBOSE > 0, but only report further errors
for VERBOSE > 1
- *
-
Added new operator
INT(expr) to take integral part of an
expression, can be used for rounding.
- *
-
Changed precedence of
CONCAT to just below `+' and `-'
- *
-
allowed < list > as an expression
- *
-
Allowed v1 and v2 to both be scalars in ?: statement
Changes to how plotting is done are as follows:
- *
-
Stopped SM changing between graph and alpha modes so often,
flashing the screen
- *
-
Changed behaviour of
CTYPE commands, and treatment of
colour in graphcap. It is now possible to specify a private set of colours
for use in drawing lines
- *
-
Added support for plotting to terminals other than the one that your are
logged onto
- *
-
Changes to prevent plotting at above device resolution
- *
-
Added command
PTYPE { list } to plot
a user defined symbol at points
- *
-
Wherever the name of a vector is expected you can now use an
expression in parentheses
- *
-
Added support for aspect ratios in drawing characters
- *
-
Allowed
DRAW ( num num ) by analogy to RELOCATE ( num, num )
- *
-
Fixed
ERRORBAR to accept scalars for size of errors
- *
-
Redefined
IDENTIFICATION as a macro
- *
-
Added
ILABEL 3 to BOX, to omit both ticks and
labels, useful in conjunction with AXIS
- *
-
Added test in
BOX for arguments to logarithmic axes out of range
- *
-
If
ANGLE is non-zero, it is used for XLABEL and
YLABEL (e.g. ANGLE 360 YLABEL N)
- *
-
Added axis(), curs(), gflush(), plotsym(), and shade() to interface.c
- *
-
Changed ticksize in interface.c to take real arguments, not integer
- *
-
WINDOW now ignores initial value of location and attempts to fill
(almost) entire screen with little windows
- *
-
WINDOW can be used to draw boxes that touch
- *
-
Changed playback to allow you to optionally specify the line or
range of lines to be played back, and similar changes to hcopy.
- *
-
If the two limits given for an axis in the
LIMITS command
are the same, the limits for that axis are not changed.
- *
-
When using the
RANGE command, LIMITS now attempts to
centre the axes on the median of the data.
- *
-
Can now shade inside a region, or shade a histogram (see SHADE).
- *
-
Changed fonts somewhat. Old characters in old order available
as old_fonts.bin (in `.sm' file), added Old English font (\o),
changing font sizes inside strings (\digit), and a number of new characters.
- *
-
Modified filecap to understand FITS data files for contouring.
- *
-
In a label, (e.g. PUTLABEL), @\ is printed as a real \.
- *
-
Added
ASPECT command, to allow you to override SM's
choice of aspect ratio (e.g. to position labels for a plot that will
finally appear on a laser printer)
- *
-
Fixed
WINDOW to allow boxes to touch. The macros wind and bo take touching into account when labelling axes.
- *
-
made histograms draw `flanges' at ends (as had been done historically)
Changes to stdgraph:
- *
-
Changed stdgraph to accept
%T for 12-bit encoded Tektronix
(Also changed graphcap to reflect this: xr, yr, XY, TB, SC)
- *
-
Removed RT capability from graphcap, and changed stdgraph to
use
ch and cw (the height and width of the hardware characters)
- *
-
Added DT to graphcap to deal with funny requirements of devices
- *
-
added support for raster devices (e.g. printronix). These
actually use a combination of graphcap and a stand-alone rasteriser
- *
-
Added support for area fill in graphcap for
PTYPE n 3
Changes to drivers
- *
-
The postscript drivers are now available landscape, postscript,
or square (and work over a network for Unix users)
- *
-
The sunwindows driver now supports a cursor
- *
-
^C interrupts now work even if you are using sunwindows
- *
-
Mouse buttons work with the X10 cursor
- *
-
There is a new SunView driver (device sunview) that creates its
own graphics window.
Bug fixes: (only the ones most visible to users are noted)
- *
-
Fixed bug with
PTYPE n 3 for angle != 0
- *
-
Fixed bug in
CONTOUR, to do with 2 lines in one plot cell;
previously always assumed lines SW-NE
- *
-
Fixed bug in
CONTOUR, that could lose
last row/column of contour plot
- *
-
Fixed occasional bad axis labels
- *
-
Fixed rounding error in drawing ticks
- *
-
Fixed contouring fortran files
- *
-
Fixed precedences of logical and and or
- *
-
Fixed bug in
CONTOUR to do with point at (or beyond) right
hand size of image
- *
-
Miscellaneous postscript problems fixed
Go to the first, previous, next, last section, table of contents.