136
Chapter 13: Memory Management
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
The system variables and reserved function names is a finite list that is defined in
Appendix B of the TI
-
89 / TI
-
92 Plus Guidebook and cannot be used for anything
else. The system commands and functions are also reserved; but an application
localizer can redefine their spelling for a particular language. Thus, the list of
system commands and functions is open-ended. In order to allow for redefined
system command and function names, an app can append a digit to each name
it uses which will insure that the name does not conflict with any reserved names
(as long as it does not conflict with a system variable or reserved function name).
As an example: In English, an app can create a variable called EXAKT and store
any value to it. If the same app is run in German, storing to the variable EXAKT
will cause an error because that is the redefined system function for “exact(”. But
the app could store to EXAKT0 instead and not worry about a name conflict.
13.3.1. Normal Symbol Routines
In general, an app should use the file system to store any permanent data. The
low-level symbol table routines assume the caller knows precisely which
variables are being worked on. Thus, these routines do limited checking for
things like locked, in-use or invalid variable names as well as no type checking.
The TI
-
BASIC variable routines are available to call and, unlike the low-level
routines, they do extensive checking. Their parameters are passed on the estack
and all errors cause exceptions. These routines are:
cmd_archive
— Archive one or more variables.
cmd_copyvar
— Copy one variable to another.
cmd_delfold
— Delete one or more empty folders.
cmd_delvar
— Delete one or more variables.
cmd_lock
— Lock one or more variables.
cmd_movevar
— Move a variable from one folder to another.
cmd_newfold
— Create a new folder.
cmd_rename
— Rename a variable or folder.
cmd_unarchiv
— Unarchive one or more variables.
cmd_unlock
— Unlock one or more variables.
DerefSym
— Dereference an HSYM, returning a pointer to a
SYM_ENTRY.
FolderCur
— Set current default folder.
FolderGetCur
— Get current default folder.
push_getfold
— Get current default folder (TI
-
BASIC version of
FolderGetCur
).