home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / jsage / znode3 / uploads / zf11.lbr / ZFHIST.DZC / ZFHIST.DOC
Encoding:
Text File  |  1993-01-10  |  21.0 KB  |  479 lines

  1.  ZFILER HISTORY
  2.  
  3.  Version 1.1        Jan 9, 1993          Jay Sage
  4.  
  5.      1. Text messages were gathered into a block in order to support
  6.         language overlays as explained in my article in The Computer
  7.         Journal.  English and German versions are supplied with the
  8.         initial release.
  9.  
  10.      2. The CFG configuration file for use with ZCNFG was extensively
  11.         overhauled.
  12.  
  13.      3. The source code is now being released.
  14.  
  15.  Version 1.0q           Jan 9, 1992           Rob Friefeld & Jay Sage
  16.  
  17.      1. Added option to filter VIEW and PRINT output.  If ON, the
  18.         filter removes the high bit, then prints only alphanumerics,
  19.         CR, and LF.  If assembly option EXPTAB if false, TABS are also
  20.         output.  The filter setting may be toggled from the Options
  21.         command.
  22.  
  23.      2. ZFILER can remember all the file tags when it returns 
  24.         after a Z command or macro run.  The file list is written to a 
  25.         temporary disk file (ZFILER.TAG, in a configurable directory),
  26.         and automatically read back.  This feature can be turned off,
  27.         if desired, from the Options command.
  28.  
  29.      3. Group Tag/Untag and Wild Tag/Untag may be separately set to work
  30.         on the entire ring, or just from the file pointer.  Group Reverse
  31.         always works on the entire ring.  Toggles are on Options list.
  32.         List macros now soft tag files just like regular group macros.
  33.  
  34.      4. The Options list is now 15 items long.  These flags were 
  35.         previously saved with the file mask, so only 11 items could be 
  36.         reliably saved.  They are now bit-encoded in the last two 
  37.         bytes of the shell stack entry.  (The NOT USESTK assembly option  
  38.     has not been recoded to reflect this change.  Its limits were long 
  39.         ago exceeded.)
  40.  
  41.      5.    Z33OPT are flag bytes copied from ZCPR to a local buffer, used for
  42.     controlling password checking.  Previous version was checking the 
  43.     wrong bits.  Since the local buffer is loaded at runtime, it was 
  44.     moved to DSEG.
  45.  
  46.  
  47.  Version 1.0p           May 16, 1991                    Rob Friefeld
  48.  
  49.   ---   BUGS FIXED:
  50.      1.    Copy to existing r/o file failed.  The destination attributes
  51.     were never checked if "Set Dest Att" option was false.
  52.      2.    On disk full, partially copied file is closed before deletion
  53.     so that disk space report is now correct.
  54.      3.    If the ZEX batch file is located in a specific DU not on the
  55.     path, ZEX won't find it.  Although the MACROCMD: patch point
  56.     could be altered to "ZEX DU:ZFILER", ZF will now do this
  57.     automatically after creating the .ZEX file.  As a result,
  58.     the MACROCMD entry MUST use a 3 letter command name if you
  59.     patch it to run something other than 'ZEX'.
  60.  
  61.  ---    ALTERATIONS:
  62.      1.    DINIT called on exit.
  63.      2.    Installation option available to erase finished ZFILER.ZEX on
  64.     shell run.  You may want to set this flag after debugging your
  65.     macro command file.
  66.      3.    Clear screen on exit (EXITCLS) is config option now.
  67.      4.    Group Tag and Group Untag operate from the file pointer to the
  68.     end of the list, rather than on the entire list.  (This is
  69.     a restoration of something ZF used to do.)
  70.     
  71.  ---    NEW:
  72.      1.    ZF10P.CFG configuration file for use with ZCNFG.COM.  Handles all
  73.     the configuration except macro string installation.
  74.  
  75.      2.    Group Macro puts tagged file count into (configurable) user
  76. register
  77.     #5 before running.  The macro can then down count and take some
  78.         additional action after it has run on each tagged file.  The
  79. intended
  80.     use for this is to create libraries of crunched files with one
  81.     macro command.  For example, the script
  82.  
  83.     1 ! $d$u:;$!crunch $f M1:;reg m5;if reg 5= 0;$"Library DU ":;
  84.             lput $"Library Name: " M1:*.* +1;era M1:*.?Z?;fi;$h:
  85.  
  86.     crunches tagged files to a fixed directory M1: (on the RAM disk),
  87.     makes a library out of them (leaving room for 1 more file) with
  88.     input for library name and location, then erases all the
  89. crunchettes.
  90.  
  91.     For consistency, single macros put a "1" count in the user reg.
  92.     There is no code to enforce the 0..9 user register range, in case
  93.     you want to use 18..31.  (10-15 are reserved, 16-17 are 
  94.         used by other programs.)
  95.  
  96.     REG must be a Type3 or Type4 (or RCP) for the ZEX GO "$!" to
  97.     run CRUNCH repeatedly.
  98.  
  99.  
  100.  
  101.  Version 1.0o        September 21, 1989        Carson Wilson
  102.  
  103.    ---    Implemented list capability for group macros.  If a ZFILER.CMD
  104. script 
  105.     begins with a comma (before or after the leading "!" shell pause 
  106.     parameter), ZFILER will always expand the macro directly to ZCPR's 
  107.     multiple command line.  In the case of a group macro, $P, $F, and
  108. $T 
  109.     parameters are expanded to a list of all tagged files, separated by 
  110.     the character following the leading comma.  For example, the script
  111.  
  112.         1 , !echo the tagged files are $F
  113.  
  114.     displays "THE TAGGED FILES ARE ", followed by a list of the tagged 
  115.     files separated by " " on the console (assuming ECHO is a valid
  116. ZCPR 
  117.     command).  ZFILER then prompts for a keypress before returning.  
  118.     Please note that this macro buffers the entire list of tagged files
  119. to 
  120.     CP/M's command line buffer, which is only 125 bytes in length.  The 
  121.     above command therefore normally causes a "Command too long" error
  122. if 
  123.     more than about 8 files are tagged, depending on the lengths of the 
  124.     tagged names.
  125.  
  126.    ---    Made the escape character and the characters to quote with it when 
  127.     writing a group macro command to ZEX or SUBMIT files installable
  128. (see 
  129.     ZFCNFN.Z80 for details).  Escape character is currently "$", and 
  130.     quoted characters are currently "$", "|", and "<", as required by
  131. ZEX 
  132.     version 5.
  133.  
  134.    ---    It is now possible to answer ZFILER's "Login [DIR][:MASK] " prompt 
  135.     with ".<cr>" (same as ":<cr>") to log in all files in the current 
  136.     directory.  Previously this logged in all files at user zero of the 
  137.     current drive.  The Login command now also seems to accept ".afn" 
  138.     instead of ":afn".
  139.  
  140.    ---    Shell bit set while waiting for user commands, then immediately
  141. reset
  142.     when a command key is received.  This should allow Bridger
  143. Mitchell's 
  144.     AT command scheduler RSX to interrupt ZFILER as it would the CCP
  145. while
  146.     ZFILER is prompting for commands.
  147.  
  148.    ---    Fixed bug which prevented any Group commands from operating when
  149. the 
  150.         configuration byte MACFLAG was patched to false.
  151.  
  152.    ---    Removed code which attempted to use the ZCPR Environment to
  153. determine 
  154.     how many lines of text to display with the V command, as this was
  155. only 
  156.     partially implemented, resulting in difficulty on terminals with
  157. over 
  158.     24 rows.  Text lines now hard-coded to 22, so ZFILER should work on 
  159.     any terminal with 24 or more screen rows.
  160.  
  161.    ---    Fixed small bug which caused "Public File Error" message to
  162. disappear.
  163.  
  164.    ---    Control-I is now an alias for control-J (jump to file again), for
  165. use 
  166.     with terminal definitions (TCAPs) which define control-J as an
  167. arrow 
  168.     key.
  169.  
  170.    ---    Idea for future versions: it would be very difficult to allow file 
  171.     ring sorting based on file dates (would need to store date stamps
  172. with 
  173.     ring, requiring major rewrite).  It would be relatively simple to 
  174.     allow the Login and startup commands to accept and match files to a 
  175.     datespec, though...
  176.  
  177.  Version 1.0n        March 20, 1989        Carson Wilson
  178.  
  179.    ---    Added $* script parameter to clear the screen during, and rebuild 
  180.     it after a script prompt.  Usage is $"$*..text.."  Prompt text 
  181.     appears at the top of a cleared screen.
  182.    ---    In anticipation of the ZEX 4.0x, '$' and '|' are now the only 
  183.     characters which are quoted when ZFILER builds the ZFILER.ZEX file. 
  184.     If they appear in a ZFILER.CMD script these characters are quoted 
  185.     with a leading dollar sign when ZFILER.ZEX is built.  All other 
  186.     characters are passed "as is" to the ZEX file.  This means that you 
  187.     cannot use ZEX directives such as $1, |crlf|, etc. dynamically, but 
  188.     this was never the intention of the interface between ZFILER and 
  189.     ZEX - the idea was simply to provide multiple executions of a 
  190.     ZFILER command script.
  191.    ---    For efficiency ZFILER no longer resets disks under Z3PLUS.
  192.  
  193.  
  194.  Version 1.0m        January 24, 1989    Carson Wilson
  195.  
  196.    --- Copy and Move commands now work properly with Z3PLUS, and the
  197. current
  198.     12-hour time shows at the top of the screen under Z3PLUS.
  199.    --- Path files conflicts are no longer reported under ZSDOS.  This 
  200.     produced problems when users tried to backup directories along the
  201.     path.  ZSDOS public conflicts are still reported.
  202.    --- Group Move and Group Copy error messages are now sustained until the
  203.     user strikes a key, rather than disappearing immediately.
  204.    --- Prompts in scripts may now contain control characters as "^x" where
  205.     x is any character from @ to z.
  206.    ---    The dollar sign is now an "escape character" for script prompts,
  207. and
  208.     can be used to include the $, ^, ", and ' characters in prompts.
  209.     Examples:
  210.         Script                Result
  211.         $"Enter name or $^C: "         Enter name or ^C: 
  212.         $"Type $"//$" for help: "    Type "//" for help: 
  213.  
  214.    ---    Move and Group Move now use the option menu selections when moving 
  215.     files instead of always copying file attributes.
  216.    --- Cleaned up help screen.
  217.    --- To save debugging time I have changed the default option menu
  218. settings 
  219.     to my preferences.
  220.  
  221.  
  222.  Version 1.0l        September 13, 1988    Carson Wilson
  223.  
  224.    --- Bugs in the Group Copy, Group Move, and Group Delete commands which
  225.     occurred when the user aborted certain prompts with a control-C
  226. have
  227.     been corrected.
  228.    --- A bug which resulted in erratic behavior if ZFILER.CMD was not found
  229.     was fixed.
  230.    --- The unsQueeze command was removed to reduce program size.  Since few
  231.     new files are squeezed and UNCRUNCH now supports unsqueezing it
  232. seems
  233.     preferable to export this function by calling UNCRUNCH with a
  234. ZFILER
  235.     macro.    An additional benefit of this technique is that a single
  236.     command now may be used for both uncrunching and unsqueezing. 
  237. ZFILER
  238.     will still display and print squeezed files.
  239.    --- ZFILER now performs consistently when invoked with ZCPR's GO or JUMP
  240.     commands.  Previous versions failed when more than one Z or macro
  241.     command was used after invoking ZFILER with GO/JUMP.
  242.    --- (DateStamper versions only).  If a DateStamper (BDOS function 12)
  243. real- 
  244.     time clock is available, the current 12-hour time is printed to the 
  245.     left of the "ZFILER" name at the top of the screen.
  246.    --- If running under ZSDOS or ZDDOS, disk resets are skipped for all
  247.     commands except Space.    This considerably increases performance on
  248.     floppy disk systems.
  249.    --- The environment address is loaded from location 109 at run time for
  250.     compatibility with ZCPR 3.0 systems.
  251.    --- The performance of the Delete, Copy, Move, Archive, and Rename
  252.     commands has been improved by minimizing disk accesses.
  253.    --- The Space command now resets individual drives.  This is more
  254.     efficient and makes the S command practical with virtual drives.
  255.    --- The Space and Filesize commands now work properly after printing
  256.     files.
  257.    --- ZFILER now checks for and reports Public or Path conflicts when
  258.     Copying, Renaming, Moving, and Archiving files under ZSDOS.  In
  259.     addition, files created with Copy/Move/Archive are always set to
  260.     Private (high bit of f2=0) to avoid possible ZSDOS Public
  261. conflicts.
  262.    --- Single file View no longer affects file tags.
  263.    --- Single file Copy or Move no longer skip to the next file afterwards.
  264.    --- (DateStamper versions only).  If available, Copy/Move/Archive use
  265.     ZSDOS's more efficient Get Stamp and Set Stamp function calls to
  266.     preserve file datestamps across copies.  The older method of
  267.     datestamping is retained for non-ZSDOS systems.
  268.    --- Rename error messages no longer disappear before they can be read.
  269.  
  270.  
  271.  Version 1.0k        May 3, 1988        Jay Sage
  272.  
  273.    --- Fixed some minor bugs in the code (slipup of using a DB where
  274.     I intended a DS to allocate space for longer strings to be
  275. patchable)
  276.  
  277.  
  278.  Version 1.0j        May 1, 1988        Jay Sage
  279.  
  280.    --- Improved flexibility of group macro operation by putting three items
  281.     in the configuration page.  The string MACROCMD is a null-
  282. terminated
  283.     string with the group macro command line.  The string MACLEADSTR is
  284.     a null-terminated string of characters to be written at the
  285. beginning
  286.     of the group macro batch file (ZEX or SUBMIT).    The string MACROFCB
  287.     marks the file control block for the file with the group macro
  288.     commands.
  289.    --- Fixed a bug in the expansion of file names in macro parameters.
  290.     The code was not masking out file attributes.  It happened that
  291.     this did not matter except for blanks with attributes set, but now
  292.     the code is correct.
  293.    --- There is an additional configuration option (last byte in CONFIG
  294.     section just before OPT string) that allows file names to be shown
  295.     in lower case.    Set the byte to FF for upper case, 0 for lower
  296. case.
  297.  
  298.  
  299.  Version 1.0i        April 14, 1988        Jay Sage
  300.  
  301.    --- The source code to 1.0h was lost in a disk crash.  The features have
  302.     been recreated.  The operation with GO or JUMP has been improved.
  303.    --- The shell stack entry now includes the explicit directory where the
  304.     file was found if Z33 or later is running.
  305.  
  306.  
  307.  Version 1.0h        September 16, 1987    Jay Sage
  308.  
  309.    --- Fixed bug in the code for logging in the displayed directory when
  310. the
  311.     Z command is executed.    It was not working correctly under standard
  312.     ZCPR30 or backgrounder.
  313.    --- Added options to control how the ZFILER.CMD macro file is located. 
  314. A
  315.     choice on the option menu allows one to turn on or off searching of
  316.     the entire path (including current directory).    If that option is
  317. off,
  318.     either the root directory or a specified directory will be used,
  319.     depending on the configuration of the program.
  320.    --- ZFILER can now be reexecuted using the GO command.  I borrowed a
  321. trick
  322.     from Al Hawley.  When invoked originally, ZFILER checks the name
  323. used
  324.     to invoke it.  If the name is 'GO', then a default name stored in
  325. an
  326.     internal buffer is used.  Otherwise, if the name is copied to that
  327.     buffer from the external FCB.  I believe this change will allow
  328. ZFILER
  329.     to be reconfigured using the 'O' command and then cloned using
  330. SAVE.
  331.    --- A more extensive user configuration file has been provided which
  332.     comprises sections of ZFHDR.Z80 (the definitions file) and
  333. ZFMAIN.Z80
  334.     (the beginning of the main code).  As before, reconfiguration can
  335. be
  336.     carried out by editing ZFCNFH.Z80 and assembling it to a HEX file.
  337.     Then "MLOAD ZFNEW=ZF0LD.COM,ZFCNFH" will install the changes.
  338.  
  339.  
  340.  Version 1.0g        August 23, 1987     Carson Wilson
  341.  
  342.    --- Reverse video, dim, or '_' are now used on the status line to
  343. display
  344.     all current file attributes.  'r' read-only tags were interfering
  345. with
  346.     the tagging commands and are no longer used.
  347.    --- Corrected bug preventing view/unsqueeze of squeezed system files.
  348.    --- Corrected bug causing squeezed read-only files to be unsqueezed as
  349.     system files when copying attributes.
  350.    --- Made invalid command display show actual command.
  351.    --- Removed ZFILER command prompt on exit to avoid confusion between
  352.     system and ZFILER's 'Z' command.
  353.    --- Fixed initial help screen from command line.
  354.    --- Added space before 'OK' after copy/unsqueeze.
  355.  
  356.  Version 1.0f        June 12, 1987        Jay Sage
  357.  
  358.    --- Added rudimentary group macro capability by having ZFILER construct
  359.     and invoke a ZEX script.
  360.  
  361.  Version 1.0c        April 27, 1987        Jay Sage
  362.  
  363.    --- Made changes for compatibility with ZCPR33.  Now on manual
  364. invocation
  365.     ZFILER returns to the command processor if ZEX is running so that
  366. ZEX
  367.     can continue to supply commands even if there are no more commands
  368. on
  369.     the current command line.
  370.  
  371.  Version 1.0b        January 13, 1987    Jay Sage
  372.  
  373.    --- Added DateStamper support.  Now on file copies and moves, the
  374.     time and date stamp of the source file is carried to the
  375. destination.
  376.  
  377.    --- Modified handling of directories with 'L' (or 'N') command.  The
  378.     code now respects the DUOK flag in the environment.  If it is set,
  379.     then any attempt to log in a directory is checked against the
  380. maxdrive
  381.     and maxuser values in the environment.    If the request passes that
  382.     test, then the directory is logged in even if it had been specified
  383.     using a DIR form and even if a password is associated with it.    If
  384. the
  385.     requested directory is beyond the maxdrive/maxuser range or if DUOK
  386. is
  387.     not set, then the named directory register is checked.    Passwords
  388. are
  389.     checked as needed using improved code (shorter and more accurate).
  390.  
  391.    --- Added small bit of code to the ZFILER initialization to change the
  392. JP
  393.     opcode at 100H to RET so that ZFILER cannot be rerun using the "GO"
  394.     command (this has bad consequences, since the shell stack entry
  395. then
  396.     would have the command "GO" stored in it!).
  397.  
  398.  
  399.  Version 1.0a        January 1, 1987     Jay Sage
  400.  
  401.    --- IMPORTANT CHANGE: To make ZFILER consistent with other script
  402.     processing programs, the default parameter designation character
  403.     has been changed from '%' to '$'.  The parameter '$', an alternate
  404.     for 'P' (completed Pointed-to-file spec: du:name.typ) was therefore
  405.     eliminated.  These changes will require editing of any VFILER.CMD
  406.     file when converting to ZFILER.CMD (the macro file used by ZFILER).
  407.    --- Modified the way the shell stack entry is used.  It now keeps
  408.     both the original directory and the requested directory on the
  409.     stack.    This has two major advantages.    By keeping the original
  410.     directory on the stack, on exit with the 'X' command ZFILER can
  411.     return to the directory from which it was originally invoked no
  412.     matter how many other directories have been logged in by use of
  413.     the 'Z' command or a macro.  Keeping the requested (displayed)
  414.     directory on the shell stack avoids the problem with a passworded
  415.     directory of having to reenter the password every time ZFILER
  416.     returned from a macro or 'Z' operation.
  417.    --- Added feature with 'Z' command to allow avoidance of the "Strike
  418.     any Key" message on return to ZFILER.  If the command line entered
  419.     with the 'Z' command begins with a space, then shell waiting will
  420.     be disabled.
  421.    --- Fixed a bug caused by the GA command.  Once that command was used,
  422.     an archiving flag was set and never cleared.  A later GC command
  423.     then used the group-archive prompting options instead of the
  424.     group-copy options.  This flag is now reset before all group
  425.     operations.
  426.    --- Added option on file copy and unsqueeze functions to allow
  427.     the destination file attributes to be set to those of a file
  428.     that is being overwritten.  If there is no such file and the
  429.     attribute setting option is engaged, then the source file
  430.     attributes will be used.
  431.    --- Changed code for file viewing so that scrolling will stop
  432.     at the end of a file (carriage return and space will not
  433.     cause the next file to start).    Only control-X or control-C
  434.     will be effective at the end of file.  Also added control-Z
  435.     option to go straight to the end of file without paging.
  436.    --- Changed the code that allows interruption of group operations
  437.     so that a carriage return will not cause an abort (many users
  438.     answer some prompts that require no return with a return and
  439.     found that group operations worked only on the first file).
  440.     Any character other than carriage return will abort mass
  441.     operations.
  442.    --- Made it possible to get the macro help screen by pressing
  443.     the leadin character a second time in response to the 'Macro'
  444.     prompt (this is much easier and more natural than entering
  445.     the '#' command).
  446.    --- Fixed a bug in the macro help display that was echoing control
  447.     characters to the screen.  These are now filtered.  One can now
  448.     enter ESC ESC to see the macro help screen and a third ESC to
  449.     return to the file display.
  450.    --- Added ^J command to jump to next file that matches the last
  451.     mask specified in a "J" command.  This allows one to jump
  452.     easily to the second or third file that matches a simple
  453.     file spec.
  454.    --- Fixed bug in "M" and "GM" commands that allowed source file
  455.         to be deleted even when copy had not been performed.
  456.    --- Added "GR" group reverse function to reverse file tags.
  457.     Tagged files become untagged; untagged files become tagged;
  458.     and soft-tagged files remain soft-tagged.
  459.    --- Cleaned up log command ("L" or "N").  Removed special
  460.     handling of answer "x" for directory name (no longer needed)
  461.     and changed error handling code.
  462.    --- Added a configuration option to automatically log in the
  463.     displayed directory for the "Z" command if the user number is
  464.     less than 16.  If this option is configured in, then the disk
  465.     system is reset before the command line is run (this is the
  466.     disadvantage of using this option).
  467.    --- Made rename command preserve all file attributes.
  468.    --- Added options to copy attributes with files and to always set
  469.     the archive attribute in the destination file.    If the file
  470.     is being moved, the attributes are always copied and the
  471.     archive bit is left as it was; if the file is being
  472.     unsqueezed, the attributes are not copied and the archive bit
  473.     is set according to its option setting.
  474.  
  475. -----------------------------------------------------------------------------
  476.  
  477.  See the VFHIST.DOC file in VFILER Version 4.1 for the history of the
  478.  development of VFILER.
  479.