home *** CD-ROM | disk | FTP | other *** search
- \ SAVEREST.HLP Save and restore words for variables or values.
-
- These words allow you to quickly save the contents of a
- variable of value on the return stack, and set it to some other
- value temporarily with SAVE!>. The previous contents may then
- be restored with RESTORE>.
-
- Here is an example, first the old way:
-
- VARIABLE MYSTUFF
-
- : DEF ( --- )
- 32 MYSTUFF DUP @ >R !
- ... Do something with the new MYSTUFF ...
- R> MYSTUFF ! ;
-
- Here is an example of how to use SAVE!> and RESTORE>:
-
- : DEF ( --- )
- 32 SAVE!> MYSTUFF
- ... Do something with the new MYSTUFF ...
- RESTORE> MYSTUFF ;
-
- %SAVE!> ( n1 --- )
- Save the BODY contents of the following definition on the return
- stack and set its BODY to n1.
-
- %SAVE> ( --- )
- Save the BODY contents of the following definition on the return
- stack.
-
- %RESTORE> ( --- )
- Restore the BODY of the following definition from the return stack.
-
- %USAVE!> ( n1 --- )
- Save the USER data area for the following definition on the return
- stack and set it to n1.
-
- %USAVE> ( --- )
- Save the USER data area for the following definition on the return
- stack.
-
- %URESTORE> ( --- )
- Restore the USER data area of the following definition from the
- return stack.
-
- ?COMP ( --- )
- Abort if we are not in compiling.
-
- SAVE!> ( n1 | <name> --- )
- Leaves value in <name> on return stack and sets body of <name> to
- n1, the equivalent of "VARIABLE-NAME DUP @ >R !".
-
- SAVE> ( | <name> --- )
- Saves value in <name> body on the return stack. Equivelant to
- "VARIABLE-NAME @ >R" but faster
-
- RESTORE> ( | <name> --- )
- Restore body of <name> from the return stack. Equivelant to
- "R> VARIABLE-NAME !" but faster.
-
-