%%HP:T(3);
DIR
  HIDE
  \<< VARS "" # 05B15h SYSEVAL PURGE VARS \-> hideobj dirobj allobj 
      \<< hideobj allobj dirobj SIZE 1 + allobj SIZE SUB + 'hideobj' STO
          \<< \>> "" # 05B15h SYSEVAL STO dirobj SIZE 
          IF DUP THEN 
            1 
            FOR x
              'dirobj' x GET DUP hideobj SWAP POS 
              IF NOT THEN 
                {} + ORDER
              ELSE 
                DROP 
              END      
              -1
            STEP
          ELSE 
            DROP
          END
      \>>
  \>>

  UNHIDE
  \<< VARS SWAP + ORDER \>>

  WAKEUP
  \<< "" # 05B15h SYSEVAL PURGE \>>
END
