jthornto@fs1.ee.ubc.ca (THORNTON JOHAN A) (11/19/90)
Here are PUSHD and POPD, two utilities that I find often come in handy. PUSHD
of course saves your current directory in a directory stack, and POPD pulls
off the last place where you were. The directory paths are stored as lists
in a list called DPATH, which you must create in the root directory.
( HOME {} 'DPATH' STO )
I hope you are using the HOME-MAIN utility management method; put the programs
in the HOME directory. If you're stingy with memory, kill the error message
from POPD - remove everything between DROP and END.
@ PUSHD - push current directory
%%HP: T(3)A(D)F(.);
\<< PATH DUP 1 \->LIST
HOME 'DPATH' STO+
EVAL
\>>
@ POPD - pop directory
%%HP: T(3)A(D)F(.);
\<< HOME DPATH OBJ\-> DUP
IF
THEN 1 - \->LIST
'DPATH' STO EVAL
ELSE DROP
"POPD Error:" 1
"Directory Stack Empty"
2 DISP DISP 1
FREEZE
END
\>>
------- _/__/ -----------------------------------------------------
_| ___| E l e c t r i c a l | Johan Thornton, Esq.
| | |_/ E n g i n E E r i n g |-------------------------
|/| __| U n i v e r s i t y | jthornto@fs1.ee.ubc.ca
|-| |/__ o f B r i t i s h |-------------------------
| |_____| C o l u m b i a | This space for rent
---- |__|/_| ------------------------------------------------------akcs.matty@hpcvbbs.UUCP (_/. Matthew Huyck) (01/29/91)
I have another program to do the same thing as the above one, but uses less memory because it's shorter. It also doesn't require a variable in my otherwise stuffed HOME directory. I'll just type it in 'cause it's so short... << PATH -> p << HALT p EVAL 2 MENU >> >> To go back to your old directory, just CONT (orange-shift ON). I hope this is of use to someone.