Metropoli BBS
VIEWER: up.s MODE: TEXT (ASCII)
**********************************************************************
* Name:		UP
* Stack:	( --> )
* Desc:		Replacement to internal UPDIR
* Notes:	This one sets the page so that the old directory
*		is visible in the menu.
**********************************************************************
ASSEMBLE
	CON(1)	8
RPL
xNAME UP
::
  CK0
  CONTEXT@			( rrp )
  UPDIR CONTEXT@		( rrp newrrp )
  2DUPEQ case2DROP		( * Exit if was already at home * )
  LastNonNull NOTcaseDROP	( * Where's the moon? * )
  MINUSONE UNROT		( #pos rrp ob )
  BEGIN
	ROT#1+UNROT		( #pos+1 rrp ob )
	2DUPEQ ITE
	   DROPFALSE		( #pos+1 rrp FALSE )
	   PrevNonNull		( #pos+1 rrp ob' )
  NOT_UNTIL (UNTIL)
  DROP				( #pos )
  SIX #/ SWAPDROP		( #page )
  UNCOERCE %1 %OF		( %page )
  % 2.01 %+			( %menu+page )
  InitMenu%
;

**********************************************************************

  
[ RETURN TO DIRECTORY ]