home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / UTILS / S / ZF10Q.LBR / ZFHIST.DZC / ZFHIST.DOC
Text File  |  1992-01-10  |  21KB  |  467 lines

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