Documentation texts (wiki)

Online help
Report a script containing all commands required to specify the ringed custom block. The result may be used and modified to create a new custom block that is a variation of an existing block.
Reference manual
(Like above + example:)
… [to be completed]

Online help
Report all custom blocks whose definition contains a call to the ringed block.
Caution: will only work if all input parameters of the ringed block are empty!
Reference Manual
…

Online help
Report a list of: 1. the currently executed script; 2. the block calling this script (1); 3. (if applicable:) the block calling the script that block (2) is part of; 4. (i/a:) the block calling the script that block (3) is part of, and so on. The final item is the current sprite.
Caution: the 1st item (i.e. the currently executed script) is the definition of the call stack
block itself! the 2nd item is always
. If you require the script in which you’re using call stack
, that would be
.
Reference Manual
…

Online help
Report the value of a variable as visible to the caller of the current script.
Input: enter the name of the variable in the input slot.
Reference Manual
[These blocks (incl. `set _of caller to _”) are typically used in macro-like functions, like currently discussed in Ref. Man. 8.0, Ch. 11, section C]

Set the value of a variable as visible to the caller of the current script.
Input: enter the name of the variable in the 1st slot; the new value in the 2nd.
Reference Manual
[to be discussed together with get var () of caller
]

Online help
Report a readable version of a nested list.
Use it for inspection of complicated data structures, such as a script that was split into blocks.

Online help
Insert a command, or a series of commands (input slot 1), into a script (slot 2), either before or after (3rd slot) each instance of an existing command within the script (slot 4).
Caution: will only work if the command in slot 4 is a single command, and its parameters are empty.
Reference Manual:
[To be discussed in what’s currently Ch. 11, section B of Ref. Manual 8.0. Together with obvious companion blocks (yet to be developed) for replacing and deleting a command, and another block for replacing a reporter)

Online help
Create a new custom block.
The 1st parameter is an upvar; use it to identify the block when subsequently adding or changing attributes (using SET _ OF BLOCK _ TO _ ). The 2nd (input) parameter is the label of the new block. The 3rd (input) parameter is the block definition, any parameter names may be specified by pressing the ring’s arrow.
The initial type of the new block will be 1 (= “command”), and category 10 (= “other”).
Any parameters within the label are to be specified with a single-character word: “_”; their initial type will be 0 (= “any”). If a block with the specified label already exists, the new block will be labeled “… (2)”.

Online help
Delete a custom block. Caution: all explicit calls to the block in code will be deleted.
If the specified block doesn’t exist, nothing will happen. If it does exist as a primitive block, an error will be raised.

Online help
Set (or change) an attribute of a custom block, to be used preferably immediately after creating it (using DEFINE).

Online help
Report an attribute of any block (either primitive or custom).
Reference manual
[The RM currently does not discuss: primitive, comment, custom?, global?, selector (all from the 1st group), replacables (2nd group), plus all of the attributes of the 3rd group (separators … translators). Besides there should be an appendix with conversion tables from numeric values to meaning, analogue to current Ch. VII, par. G]

Online help
Report a script including its (hidden) environment, that is to say its variables and their values. THIS SCRIPT reports the current script, i.e. the script containing the THIS SCRIPT block. THIS CALLER reports the expression that called the current script (or, if the current script was not called by any other, the current sprite). Finally, THIS CONTINUATION reports the remainder of the script the calling expression is part of, i.e. the part of that script after the calling expression.
Reference Manual
[Ch. X (Continuations) needs to be rewritten (except perhaps par. A) to explain the function and applications of THIS CONTINUATION. Ch. XI, par. C (macros) needs to be rewritten to explain THIS CALLER.]
General topics to be included in the Ref. Manual
- Data structure of code as split by blocks
- The variable scope mechanism