[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Logo takes special action if any of the following variable names exists.
They follow the normal scoping rules, so a procedure can locally set one
of them to limit the scope of its effect. Initially, no variables exist
except for ALLOWGETSET
, CASEIGNOREDP
, and
UNBURYONEDIT
, which are TRUE
and buried.
allowgetset | ||
buttonact | ||
caseignoredp | ||
commandline | ||
erract | ||
fullprintp | ||
keyact | ||
loadnoisily | ||
printdepthlimit | ||
printwidthlimit | ||
redefp | ||
startup | ||
unburyonedit | ||
usealternatenames | ||
logoversion | ||
logoplatform |
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ALLOWGETSET (variable)
if TRUE
, indicates that an attempt to use a procedure that doesn’t exist
should be taken as an implicit getter or setter procedure (setter if the
first three letters of the name are SET
) for a variable of the same name
(without the SET
if appropriate).
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
BUTTONACT (variable)
if nonempty, should be an instruction list that will be evaluated
whenever a mouse button is pressed. Note that the user may have
released the button before the instructions are evaluated. BUTTON
will still output which button was most recently pressed. CLICKPOS
will output the position of the mouse cursor at the moment the
button was pressed; this may be different from MOUSEPOS
if the
user moves the mouse after clicking.
Note that it’s possible for the user to press a button during the
evaluation of the instruction list. If this would confuse your
program, prevent it by temporarily setting BUTTONACT
to the empty
list. One easy way to do that is the following:
make "buttonact [button.action] to button.action [:buttonact []] ... ; whatever you want the button to do end
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
CASEIGNOREDP (variable)
if TRUE
, indicates that lower case and upper case letters should be
considered equal by EQUALP
, BEFOREP
, MEMBERP
, etc. Logo
initially makes this variable TRUE
, and buries it.
See section equalp , beforep , memberp .
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
COMMANDLINE (variable)
contains any text appearing after a hyphen on the command line used to start Logo.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ERRACT (variable)
an instructionlist that will be run in the event of an error. Typically
has the value [PAUSE]
to allow interactive debugging.
See section pause .
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
FULLPRINTP (variable)
if TRUE
, then words that were created using backslash or vertical bar
(to include characters that would otherwise not be treated as part of a
word) are printed with the backslashes or vertical bars shown, so that
the printed result could be re-read by Logo to produce the same value.
If FULLPRINTP is TRUE
then the empty word (however it was created)
prints as ||
. (Otherwise it prints as nothing at all.)
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
KEYACT (variable)
if nonempty, should be an instruction list that will be evaluated
whenever a key is pressed on the keyboard. The instruction list
can use READCHAR
to find out what key was pressed. Note that only
keys that produce characters qualify; pressing SHIFT
or CONTROL
alone will not cause KEYACT
to be evaluated.
Note that it’s possible for the user to press a key during the
evaluation of the instruction list. If this would confuse your
program, prevent it by temporarily setting KEYACT
to the empty
list. One easy way to do that is the following:
make "keyact [key.action] to key.action [:keyact []] ... ; whatever you want the key to do end
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LOADNOISILY (variable)
if TRUE
, prints the names of procedures defined when loading from a file
(including the temporary file made by EDIT
).
See section edit .
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
PRINTDEPTHLIMIT (variable)
if a nonnegative integer, indicates the maximum depth of sublist
structure that will be printed by PRINT
, etc.
See section print .
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
PRINTWIDTHLIMIT (variable)
if a nonnegative integer, indicates the maximum number of members in any
one list that will be printed by PRINT
, etc.
See section print .
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
REDEFP (variable)
if TRUE
, allows primitives to be erased (ERASE
) or redefined
(COPYDEF
).
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
STARTUP (variable)
if assigned a list value in a file loaded by LOAD
, that value is run as
an instructionlist after the loading.
See section load .
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
UNBURYONEDIT (variable)
if TRUE
, causes any procedure defined during EDIT
or LOAD
to be unburied, so that it will be saved by a later SAVE
. Files that
want to define and bury procedures must do it in that order.
See section edit , See section load , See section save .
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
USEALTERNATENAMES (variable)
if TRUE
, causes Logo to generate non-English words (from the
‘Messages’ file) instead of TRUE
, FALSE
, END
, etc.
Logo provides the following buried variables that can be used by programs:
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LOGOVERSION (variable)
a real number indicating the Logo version number, e.g., 5.5
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
LOGOPLATFORM (variable)
one of the following words: wxWidgets
, X11
, Windows
,
or Unix-nographics
.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on December 27, 2019 using texi2html 5.0.