A small but comfortable hiding manager for the HP49
Many applications produce new files (IOPAR, PRTPAR etc) which may bother the user. Hiding files is possible in any directory and based on adding a nullname (denoted by '' below) to the directory if not already present. You may even hide the CAS directory in HOME if you don't use it permanently. Hidden files (including nullnames) are known to each command except VARS. A main advantage of hiding files is that hiddens are more safe against unintended overwriting or other mistakes. Hidden files are still visible in filers and one may also use the hiding tools of the latest edition of Filers or Filer6 (on this site). But Hide has the advantage that you can also operate with the so-called Hidden directory, recall from it, store therein and visit it.
What is new?
Version 2.2003: Command HEVL added (Eval a file from the Hidden directory). Full compatibility with hiding tools in my filers.
Version 1.2003: Menu expanded to cover the Hidden directory management.
Version 9.2002: Command menu reorganized, with a second page. OT49 has no hiding commands anymore. If such a command occurs in your program, you have to modify your program.
Version 4.2001: Library number has been changed from 263 to 273.
Here the description of the Library commands (in RPN mode). Below the command in some cases its stack diagram is added. Therein ob denotes any object, {}a list, and id a global name.
Page 1 - hiding, unhiding and the nullname
Hide Wait for entry of variables from the current directory into a list for hiding these with ENTER. Hide never hides all variables of a directory, to avoid the creation of empty looking non-empty directories. Hide creates s nullname '' which contains a smallest dummy, character H (not a string). Only this dummy is purged when unhiding with UnCov, see below.In HOME, Hide creates an extra nullname in HOME since also the Hidden directory lives in a Nullname. Hide never hides in the Hidden directory. HiV Get the list of hiddens of the current directory, nullnamed inclusive. This list may look empty but is never empty in HOME since '' holds here the Hidden dir. If a second nullname is created in HOME by Hide or "STO for hiding purpose, only this one is executed, recalled or purged. "RCL Recall the first nullname in the current directory provided there is any. If not then "RCL errors, in contrast to the RCL-key which is searching up the whole path and will certainly find a nullname in HOME, in the worst case the name of the Hidden directory (which is invisible in the filer). Clearly, using "RCL in HOME having nothing hidden there just puts the Hidden directory on the stack. "STO
ob →Store the stack object in a nullname or overwrites it, in any directory. In HOME, an extra nullname is created or overwritten - the other one ontains the Hidden directory. Only a user-created nullname is recalled, executed or purged and remains safe in a directory even after unhiding provided it stores an object other then the dummy H. One can create own nullnamed hidden directories, but it is not obvious how to manipulate them properly and is therefore not recommended. Attention: Use "STO for storing in a nullname '', not the STO-key because this would hide all files! If this happens unintensionally, use UnCov below for unhiding the directory files or use a filer to purge the nullname at the top.. " Push a nullname on the stack. Be carefully and never apply PGDIR on '' if you aren't sure that it is not the Hidden directory - apply "RCL before to see what it contains if you are unsure. UnCov Uncover all hiddens (not the Hidden directory, of course). If " has some relevant stuff in it which is not the dummy H, it is shifted to end of the current directory and remains there safe (unless a crash occurs). Page 2 - Hidden directory management
ALLV Recall list of all file names of a directory, including the possibly hidden ones. In user stack display you'll see the nullnames which possibly occur in the list only if you explode the list. HRCL
id → obRecall a variable from the Hidden directory if the name given to HRCL exist there. Otherwise the command will error. HSTO
ob id →Store or overwrites in the Hidden directory You may convince yourself on the success of this operation by setting the Hiddendirectory with SetHD below HEVL
id → ?
Eval the name id from the Hidden directory. If not existent or if the argument of HEVL is not a name the command errors. SetHD Set the Hidden directory menu and suspends. You may purge your own files, but never reorder in this directory and never purge any of the system files UserKeys etc! You return precisely to the start directory by pressing CONT.
Remark 1. A nullname '' can be stored into itself (a bug in the OS). This is not dangerous but '' then runs an infinite loop which can be stopped only by a warmstart (ON hold F3)
Remark 2. If your CAS directory is hidden, you may still visit it and modify some of its variables without unhiding it, with the help of a filer, e.g. store 't' in VX instead of the default 'X'.
.Wolfgang Rautenberg - raut@math.fu-berlin.de - www.math.fu-berlin.de/~raut