version 1.58, 2025/05/18 18:15:38
|
version 1.61, 2025/05/19 12:45:01
|
Line 2106 Identical to @ref{$TRANSLATE()}, except
|
Line 2106 Identical to @ref{$TRANSLATE()}, except
|
* ZASSERT:: Raise error when a conditional expression evaluates @emph{false}. |
* ZASSERT:: Raise error when a conditional expression evaluates @emph{false}. |
* ZBREAK:: Enable/disable ZBREAK mode. |
* ZBREAK:: Enable/disable ZBREAK mode. |
* ZCONST:: Define a constant that cannot be altered after initial definition. |
* ZCONST:: Define a constant that cannot be altered after initial definition. |
|
* ZEDIT:: Edit a routine using an external editor. |
* ZGOTO:: @code{GOTO} with @code{BREAK} control. |
* ZGOTO:: @code{GOTO} with @code{BREAK} control. |
* ZHALT:: Exit FreeM job with return value. |
* ZHALT:: Exit FreeM job with return value. |
* ZINSERT:: Insert code into routine buffer. |
* ZINSERT:: Insert code into routine buffer. |
Line 3449 Constants must only be locals, and globa
|
Line 3450 Constants must only be locals, and globa
|
@code{ZCONST@emph{:postcondition} @emph{mref1}=@emph{initial-value1},...,@emph{mrefN}=@emph{initial-valueN}} |
@code{ZCONST@emph{:postcondition} @emph{mref1}=@emph{initial-value1},...,@emph{mrefN}=@emph{initial-valueN}} |
@end example |
@end example |
|
|
|
@node ZEDIT |
|
@section ZEDIT |
|
@cindex ZEDIT |
|
@cindex commands, ZEDIT |
|
@cindex commands, non-standard |
|
@emph{FreeM Extension} |
|
|
|
Edits a routine using an external editor. Uses environment variable @code{$EDITOR} if defined; otherwise, uses @code{vi}. |
|
|
|
@emph{Syntax} |
|
|
|
@example |
|
ZEDIT@emph{[:postcondition]} |
|
@end example |
|
|
|
In its argumentless form, edits the currently-active routine, provided the optional @emph{postcondition} is @emph{true} or omitted. |
|
|
|
@emph{Syntax} |
|
|
|
@example |
|
ZEDIT@emph{[:postcondition]} @emph{<routine-name>} |
|
@end example |
|
|
|
In its single-argument form, edits @emph{<routine-name>}, provided the optional @emph{postcondition} is @emph{true} or omitted. |
|
|
|
Routine names must not be quoted, and must not included a leading caret (@code{^}). |
|
|
|
@emph{Errors} |
|
|
|
@code{ZEDIT} will raise @code{ZNOPGM} if the routine cannot be found, or there is no routine currently loaded in argumentless form. |
|
|
@node ZGOTO |
@node ZGOTO |
@section ZGOTO |
@section ZGOTO |
@cindex ZGOTO |
@cindex ZGOTO |
Line 3457 Constants must only be locals, and globa
|
Line 3489 Constants must only be locals, and globa
|
@cindex commands, non-standard |
@cindex commands, non-standard |
@emph{FreeM Extension} |
@emph{FreeM Extension} |
|
|
In its argumented form, enables @code{BREAK} mode and branches unconditionally to @emph{entryref}. |
In its single-argument form, enables @code{BREAK} mode and branches unconditionally to @emph{entryref}. |
|
|
@emph{Syntax} |
@emph{Syntax} |
|
|
Line 3465 In its argumented form, enables @code{BR
|
Line 3497 In its argumented form, enables @code{BR
|
ZGOTO @emph{entryref} |
ZGOTO @emph{entryref} |
@end example |
@end example |
|
|
In its argumented form, resumes execution after a @code{BREAK}. |
In its argumentless form, resumes execution after a @code{BREAK}. |
|
|
@emph{Syntax} |
@emph{Syntax} |
|
|
Line 3505 ZHALT
|
Line 3537 ZHALT
|
@cindex commands, non-standard |
@cindex commands, non-standard |
@emph{FreeM Extension} |
@emph{FreeM Extension} |
|
|
|
Inserts a line of M code into the currently-active routine buffer, provided the optional @emph{postcondition} is @emph{true} or omitted. |
|
|
|
@emph{Syntax} |
|
|
|
@example |
|
ZINSERT@emph{:postcondition} @emph{expr V mcode}[:@emph{label}] |
|
@end example |
|
|
|
Above, @emph{expr V mcode} is an expression returning a string giving M code. If @emph{label} is omitted, the code will be inserted at the insertion point, which is typically the end of the routine. Otherwise, the code will be inserted at the line immediately following @emph{label}. |
|
|
@node ZJOB |
@node ZJOB |
@section ZJOB |
@section ZJOB |
@cindex ZJOB |
@cindex ZJOB |
Line 3565 ZMAP[@emph{:postcondition}] GLOBAL @emph
|
Line 3607 ZMAP[@emph{:postcondition}] GLOBAL @emph
|
@cindex commands, non-standard |
@cindex commands, non-standard |
@emph{FreeM Extension} |
@emph{FreeM Extension} |
|
|
Prints the contents of the current routine buffer, provided the optional @emph{postcondition} is @emph{true} or omitted. |
In argumentless form, prints the contents of the current routine buffer, provided the optional @emph{postcondition} is @emph{true} or omitted. |
|
|
@emph{Syntax} |
@emph{Syntax} |
|
|
Line 3573 Prints the contents of the current routi
|
Line 3615 Prints the contents of the current routi
|
ZPRINT@emph{:postcondition} |
ZPRINT@emph{:postcondition} |
@end example |
@end example |
|
|
|
In argumented form, prints a subset of the current routine buffer, provided the optional @emph{postcondition} is @emph{true} or omitted. |
|
|
|
@emph{Syntax} |
|
|
|
@example |
|
ZPRINT@emph{:postcondition} @emph{start}[:@emph{end}] |
|
@end example |
|
|
|
In the above syntax, @emph{start} and @emph{end} can be a tag in the current routine, or @code{*} to indicate the routine buffer insertion point (typically the end of the routine). |
|
|
@node ZQUIT |
@node ZQUIT |
@section ZQUIT |
@section ZQUIT |
@cindex ZQUIT |
@cindex ZQUIT |
Line 3599 In its argumentless form, quits from @co
|
Line 3651 In its argumentless form, quits from @co
|
@cindex commands, non-standard |
@cindex commands, non-standard |
@emph{FreeM Extension} |
@emph{FreeM Extension} |
|
|
|
In argumentless form, removes all M code from the current routine buffer, provided the optional @emph{postcondition} is @emph{true} or omitted. |
|
|
|
@emph{Syntax} |
|
|
|
@example |
|
ZREMOVE@emph{:postcondition} |
|
@end example |
|
|
|
In argumented form, removes a subset of the current routine buffer, provided the optional @emph{postcondition} is @emph{true} or omitted. |
|
|
|
@emph{Syntax} |
|
|
|
@example |
|
ZREMOVE@emph{:postcondition} @emph{start}[:@emph{end}] |
|
@end example |
|
|
|
In the above syntax, @emph{start} and @emph{end} can be a tag in the current routine, or @code{*} to indicate the routine buffer insertion point (typically the end of the routine). |
|
|
@node ZSAVE |
@node ZSAVE |
@section ZSAVE |
@section ZSAVE |
@cindex ZSAVE |
@cindex ZSAVE |