home *** CD-ROM | disk | FTP | other *** search
- ZFILER HISTORY
-
- Version 1.1 Jan 9, 1993 Jay Sage
-
- 1. Text messages were gathered into a block in order to support
- language overlays as explained in my article in The Computer
- Journal. English and German versions are supplied with the
- initial release.
-
- 2. The CFG configuration file for use with ZCNFG was extensively
- overhauled.
-
- 3. The source code is now being released.
-
- Version 1.0q Jan 9, 1992 Rob Friefeld & Jay Sage
-
- 1. Added option to filter VIEW and PRINT output. If ON, the
- filter removes the high bit, then prints only alphanumerics,
- CR, and LF. If assembly option EXPTAB if false, TABS are also
- output. The filter setting may be toggled from the Options
- command.
-
- 2. ZFILER can remember all the file tags when it returns
- after a Z command or macro run. The file list is written to a
- temporary disk file (ZFILER.TAG, in a configurable directory),
- and automatically read back. This feature can be turned off,
- if desired, from the Options command.
-
- 3. Group Tag/Untag and Wild Tag/Untag may be separately set to work
- on the entire ring, or just from the file pointer. Group Reverse
- always works on the entire ring. Toggles are on Options list.
- List macros now soft tag files just like regular group macros.
-
- 4. The Options list is now 15 items long. These flags were
- previously saved with the file mask, so only 11 items could be
- reliably saved. They are now bit-encoded in the last two
- bytes of the shell stack entry. (The NOT USESTK assembly option
- has not been recoded to reflect this change. Its limits were long
- ago exceeded.)
-
- 5. Z33OPT are flag bytes copied from ZCPR to a local buffer, used for
- controlling password checking. Previous version was checking the
- wrong bits. Since the local buffer is loaded at runtime, it was
- moved to DSEG.
-
-
- Version 1.0p May 16, 1991 Rob Friefeld
-
- --- BUGS FIXED:
- 1. Copy to existing r/o file failed. The destination attributes
- were never checked if "Set Dest Att" option was false.
- 2. On disk full, partially copied file is closed before deletion
- so that disk space report is now correct.
- 3. If the ZEX batch file is located in a specific DU not on the
- path, ZEX won't find it. Although the MACROCMD: patch point
- could be altered to "ZEX DU:ZFILER", ZF will now do this
- automatically after creating the .ZEX file. As a result,
- the MACROCMD entry MUST use a 3 letter command name if you
- patch it to run something other than 'ZEX'.
-
- --- ALTERATIONS:
- 1. DINIT called on exit.
- 2. Installation option available to erase finished ZFILER.ZEX on
- shell run. You may want to set this flag after debugging your
- macro command file.
- 3. Clear screen on exit (EXITCLS) is config option now.
- 4. Group Tag and Group Untag operate from the file pointer to the
- end of the list, rather than on the entire list. (This is
- a restoration of something ZF used to do.)
-
- --- NEW:
- 1. ZF10P.CFG configuration file for use with ZCNFG.COM. Handles all
- the configuration except macro string installation.
-
- 2. Group Macro puts tagged file count into (configurable) user
- register
- #5 before running. The macro can then down count and take some
- additional action after it has run on each tagged file. The
- intended
- use for this is to create libraries of crunched files with one
- macro command. For example, the script
-
- 1 ! $d$u:;$!crunch $f M1:;reg m5;if reg 5= 0;$"Library DU ":;
- lput $"Library Name: " M1:*.* +1;era M1:*.?Z?;fi;$h:
-
- crunches tagged files to a fixed directory M1: (on the RAM disk),
- makes a library out of them (leaving room for 1 more file) with
- input for library name and location, then erases all the
- crunchettes.
-
- For consistency, single macros put a "1" count in the user reg.
- There is no code to enforce the 0..9 user register range, in case
- you want to use 18..31. (10-15 are reserved, 16-17 are
- used by other programs.)
-
- REG must be a Type3 or Type4 (or RCP) for the ZEX GO "$!" to
- run CRUNCH repeatedly.
-
-
-
- Version 1.0o September 21, 1989 Carson Wilson
-
- --- Implemented list capability for group macros. If a ZFILER.CMD
- script
- begins with a comma (before or after the leading "!" shell pause
- parameter), ZFILER will always expand the macro directly to ZCPR's
- multiple command line. In the case of a group macro, $P, $F, and
- $T
- parameters are expanded to a list of all tagged files, separated by
- the character following the leading comma. For example, the script
-
- 1 , !echo the tagged files are $F
-
- displays "THE TAGGED FILES ARE ", followed by a list of the tagged
- files separated by " " on the console (assuming ECHO is a valid
- ZCPR
- command). ZFILER then prompts for a keypress before returning.
- Please note that this macro buffers the entire list of tagged files
- to
- CP/M's command line buffer, which is only 125 bytes in length. The
- above command therefore normally causes a "Command too long" error
- if
- more than about 8 files are tagged, depending on the lengths of the
- tagged names.
-
- --- Made the escape character and the characters to quote with it when
- writing a group macro command to ZEX or SUBMIT files installable
- (see
- ZFCNFN.Z80 for details). Escape character is currently "$", and
- quoted characters are currently "$", "|", and "<", as required by
- ZEX
- version 5.
-
- --- It is now possible to answer ZFILER's "Login [DIR][:MASK] " prompt
- with ".<cr>" (same as ":<cr>") to log in all files in the current
- directory. Previously this logged in all files at user zero of the
- current drive. The Login command now also seems to accept ".afn"
- instead of ":afn".
-
- --- Shell bit set while waiting for user commands, then immediately
- reset
- when a command key is received. This should allow Bridger
- Mitchell's
- AT command scheduler RSX to interrupt ZFILER as it would the CCP
- while
- ZFILER is prompting for commands.
-
- --- Fixed bug which prevented any Group commands from operating when
- the
- configuration byte MACFLAG was patched to false.
-
- --- Removed code which attempted to use the ZCPR Environment to
- determine
- how many lines of text to display with the V command, as this was
- only
- partially implemented, resulting in difficulty on terminals with
- over
- 24 rows. Text lines now hard-coded to 22, so ZFILER should work on
- any terminal with 24 or more screen rows.
-
- --- Fixed small bug which caused "Public File Error" message to
- disappear.
-
- --- Control-I is now an alias for control-J (jump to file again), for
- use
- with terminal definitions (TCAPs) which define control-J as an
- arrow
- key.
-
- --- Idea for future versions: it would be very difficult to allow file
- ring sorting based on file dates (would need to store date stamps
- with
- ring, requiring major rewrite). It would be relatively simple to
- allow the Login and startup commands to accept and match files to a
- datespec, though...
-
- Version 1.0n March 20, 1989 Carson Wilson
-
- --- Added $* script parameter to clear the screen during, and rebuild
- it after a script prompt. Usage is $"$*..text.." Prompt text
- appears at the top of a cleared screen.
- --- In anticipation of the ZEX 4.0x, '$' and '|' are now the only
- characters which are quoted when ZFILER builds the ZFILER.ZEX file.
- If they appear in a ZFILER.CMD script these characters are quoted
- with a leading dollar sign when ZFILER.ZEX is built. All other
- characters are passed "as is" to the ZEX file. This means that you
- cannot use ZEX directives such as $1, |crlf|, etc. dynamically, but
- this was never the intention of the interface between ZFILER and
- ZEX - the idea was simply to provide multiple executions of a
- ZFILER command script.
- --- For efficiency ZFILER no longer resets disks under Z3PLUS.
-
-
- Version 1.0m January 24, 1989 Carson Wilson
-
- --- Copy and Move commands now work properly with Z3PLUS, and the
- current
- 12-hour time shows at the top of the screen under Z3PLUS.
- --- Path files conflicts are no longer reported under ZSDOS. This
- produced problems when users tried to backup directories along the
- path. ZSDOS public conflicts are still reported.
- --- Group Move and Group Copy error messages are now sustained until the
- user strikes a key, rather than disappearing immediately.
- --- Prompts in scripts may now contain control characters as "^x" where
- x is any character from @ to z.
- --- The dollar sign is now an "escape character" for script prompts,
- and
- can be used to include the $, ^, ", and ' characters in prompts.
- Examples:
- Script Result
- $"Enter name or $^C: " Enter name or ^C:
- $"Type $"//$" for help: " Type "//" for help:
-
- --- Move and Group Move now use the option menu selections when moving
- files instead of always copying file attributes.
- --- Cleaned up help screen.
- --- To save debugging time I have changed the default option menu
- settings
- to my preferences.
-
-
- Version 1.0l September 13, 1988 Carson Wilson
-
- --- Bugs in the Group Copy, Group Move, and Group Delete commands which
- occurred when the user aborted certain prompts with a control-C
- have
- been corrected.
- --- A bug which resulted in erratic behavior if ZFILER.CMD was not found
- was fixed.
- --- The unsQueeze command was removed to reduce program size. Since few
- new files are squeezed and UNCRUNCH now supports unsqueezing it
- seems
- preferable to export this function by calling UNCRUNCH with a
- ZFILER
- macro. An additional benefit of this technique is that a single
- command now may be used for both uncrunching and unsqueezing.
- ZFILER
- will still display and print squeezed files.
- --- ZFILER now performs consistently when invoked with ZCPR's GO or JUMP
- commands. Previous versions failed when more than one Z or macro
- command was used after invoking ZFILER with GO/JUMP.
- --- (DateStamper versions only). If a DateStamper (BDOS function 12)
- real-
- time clock is available, the current 12-hour time is printed to the
- left of the "ZFILER" name at the top of the screen.
- --- If running under ZSDOS or ZDDOS, disk resets are skipped for all
- commands except Space. This considerably increases performance on
- floppy disk systems.
- --- The environment address is loaded from location 109 at run time for
- compatibility with ZCPR 3.0 systems.
- --- The performance of the Delete, Copy, Move, Archive, and Rename
- commands has been improved by minimizing disk accesses.
- --- The Space command now resets individual drives. This is more
- efficient and makes the S command practical with virtual drives.
- --- The Space and Filesize commands now work properly after printing
- files.
- --- ZFILER now checks for and reports Public or Path conflicts when
- Copying, Renaming, Moving, and Archiving files under ZSDOS. In
- addition, files created with Copy/Move/Archive are always set to
- Private (high bit of f2=0) to avoid possible ZSDOS Public
- conflicts.
- --- Single file View no longer affects file tags.
- --- Single file Copy or Move no longer skip to the next file afterwards.
- --- (DateStamper versions only). If available, Copy/Move/Archive use
- ZSDOS's more efficient Get Stamp and Set Stamp function calls to
- preserve file datestamps across copies. The older method of
- datestamping is retained for non-ZSDOS systems.
- --- Rename error messages no longer disappear before they can be read.
-
-
- Version 1.0k May 3, 1988 Jay Sage
-
- --- Fixed some minor bugs in the code (slipup of using a DB where
- I intended a DS to allocate space for longer strings to be
- patchable)
-
-
- Version 1.0j May 1, 1988 Jay Sage
-
- --- Improved flexibility of group macro operation by putting three items
- in the configuration page. The string MACROCMD is a null-
- terminated
- string with the group macro command line. The string MACLEADSTR is
- a null-terminated string of characters to be written at the
- beginning
- of the group macro batch file (ZEX or SUBMIT). The string MACROFCB
- marks the file control block for the file with the group macro
- commands.
- --- Fixed a bug in the expansion of file names in macro parameters.
- The code was not masking out file attributes. It happened that
- this did not matter except for blanks with attributes set, but now
- the code is correct.
- --- There is an additional configuration option (last byte in CONFIG
- section just before OPT string) that allows file names to be shown
- in lower case. Set the byte to FF for upper case, 0 for lower
- case.
-
-
- Version 1.0i April 14, 1988 Jay Sage
-
- --- The source code to 1.0h was lost in a disk crash. The features have
- been recreated. The operation with GO or JUMP has been improved.
- --- The shell stack entry now includes the explicit directory where the
- file was found if Z33 or later is running.
-
-
- Version 1.0h September 16, 1987 Jay Sage
-
- --- Fixed bug in the code for logging in the displayed directory when
- the
- Z command is executed. It was not working correctly under standard
- ZCPR30 or backgrounder.
- --- Added options to control how the ZFILER.CMD macro file is located.
- A
- choice on the option menu allows one to turn on or off searching of
- the entire path (including current directory). If that option is
- off,
- either the root directory or a specified directory will be used,
- depending on the configuration of the program.
- --- ZFILER can now be reexecuted using the GO command. I borrowed a
- trick
- from Al Hawley. When invoked originally, ZFILER checks the name
- used
- to invoke it. If the name is 'GO', then a default name stored in
- an
- internal buffer is used. Otherwise, if the name is copied to that
- buffer from the external FCB. I believe this change will allow
- ZFILER
- to be reconfigured using the 'O' command and then cloned using
- SAVE.
- --- A more extensive user configuration file has been provided which
- comprises sections of ZFHDR.Z80 (the definitions file) and
- ZFMAIN.Z80
- (the beginning of the main code). As before, reconfiguration can
- be
- carried out by editing ZFCNFH.Z80 and assembling it to a HEX file.
- Then "MLOAD ZFNEW=ZF0LD.COM,ZFCNFH" will install the changes.
-
-
- Version 1.0g August 23, 1987 Carson Wilson
-
- --- Reverse video, dim, or '_' are now used on the status line to
- display
- all current file attributes. 'r' read-only tags were interfering
- with
- the tagging commands and are no longer used.
- --- Corrected bug preventing view/unsqueeze of squeezed system files.
- --- Corrected bug causing squeezed read-only files to be unsqueezed as
- system files when copying attributes.
- --- Made invalid command display show actual command.
- --- Removed ZFILER command prompt on exit to avoid confusion between
- system and ZFILER's 'Z' command.
- --- Fixed initial help screen from command line.
- --- Added space before 'OK' after copy/unsqueeze.
-
- Version 1.0f June 12, 1987 Jay Sage
-
- --- Added rudimentary group macro capability by having ZFILER construct
- and invoke a ZEX script.
-
- Version 1.0c April 27, 1987 Jay Sage
-
- --- Made changes for compatibility with ZCPR33. Now on manual
- invocation
- ZFILER returns to the command processor if ZEX is running so that
- ZEX
- can continue to supply commands even if there are no more commands
- on
- the current command line.
-
- Version 1.0b January 13, 1987 Jay Sage
-
- --- Added DateStamper support. Now on file copies and moves, the
- time and date stamp of the source file is carried to the
- destination.
-
- --- Modified handling of directories with 'L' (or 'N') command. The
- code now respects the DUOK flag in the environment. If it is set,
- then any attempt to log in a directory is checked against the
- maxdrive
- and maxuser values in the environment. If the request passes that
- test, then the directory is logged in even if it had been specified
- using a DIR form and even if a password is associated with it. If
- the
- requested directory is beyond the maxdrive/maxuser range or if DUOK
- is
- not set, then the named directory register is checked. Passwords
- are
- checked as needed using improved code (shorter and more accurate).
-
- --- Added small bit of code to the ZFILER initialization to change the
- JP
- opcode at 100H to RET so that ZFILER cannot be rerun using the "GO"
- command (this has bad consequences, since the shell stack entry
- then
- would have the command "GO" stored in it!).
-
-
- Version 1.0a January 1, 1987 Jay Sage
-
- --- IMPORTANT CHANGE: To make ZFILER consistent with other script
- processing programs, the default parameter designation character
- has been changed from '%' to '$'. The parameter '$', an alternate
- for 'P' (completed Pointed-to-file spec: du:name.typ) was therefore
- eliminated. These changes will require editing of any VFILER.CMD
- file when converting to ZFILER.CMD (the macro file used by ZFILER).
- --- Modified the way the shell stack entry is used. It now keeps
- both the original directory and the requested directory on the
- stack. This has two major advantages. By keeping the original
- directory on the stack, on exit with the 'X' command ZFILER can
- return to the directory from which it was originally invoked no
- matter how many other directories have been logged in by use of
- the 'Z' command or a macro. Keeping the requested (displayed)
- directory on the shell stack avoids the problem with a passworded
- directory of having to reenter the password every time ZFILER
- returned from a macro or 'Z' operation.
- --- Added feature with 'Z' command to allow avoidance of the "Strike
- any Key" message on return to ZFILER. If the command line entered
- with the 'Z' command begins with a space, then shell waiting will
- be disabled.
- --- Fixed a bug caused by the GA command. Once that command was used,
- an archiving flag was set and never cleared. A later GC command
- then used the group-archive prompting options instead of the
- group-copy options. This flag is now reset before all group
- operations.
- --- Added option on file copy and unsqueeze functions to allow
- the destination file attributes to be set to those of a file
- that is being overwritten. If there is no such file and the
- attribute setting option is engaged, then the source file
- attributes will be used.
- --- Changed code for file viewing so that scrolling will stop
- at the end of a file (carriage return and space will not
- cause the next file to start). Only control-X or control-C
- will be effective at the end of file. Also added control-Z
- option to go straight to the end of file without paging.
- --- Changed the code that allows interruption of group operations
- so that a carriage return will not cause an abort (many users
- answer some prompts that require no return with a return and
- found that group operations worked only on the first file).
- Any character other than carriage return will abort mass
- operations.
- --- Made it possible to get the macro help screen by pressing
- the leadin character a second time in response to the 'Macro'
- prompt (this is much easier and more natural than entering
- the '#' command).
- --- Fixed a bug in the macro help display that was echoing control
- characters to the screen. These are now filtered. One can now
- enter ESC ESC to see the macro help screen and a third ESC to
- return to the file display.
- --- Added ^J command to jump to next file that matches the last
- mask specified in a "J" command. This allows one to jump
- easily to the second or third file that matches a simple
- file spec.
- --- Fixed bug in "M" and "GM" commands that allowed source file
- to be deleted even when copy had not been performed.
- --- Added "GR" group reverse function to reverse file tags.
- Tagged files become untagged; untagged files become tagged;
- and soft-tagged files remain soft-tagged.
- --- Cleaned up log command ("L" or "N"). Removed special
- handling of answer "x" for directory name (no longer needed)
- and changed error handling code.
- --- Added a configuration option to automatically log in the
- displayed directory for the "Z" command if the user number is
- less than 16. If this option is configured in, then the disk
- system is reset before the command line is run (this is the
- disadvantage of using this option).
- --- Made rename command preserve all file attributes.
- --- Added options to copy attributes with files and to always set
- the archive attribute in the destination file. If the file
- is being moved, the attributes are always copied and the
- archive bit is left as it was; if the file is being
- unsqueezed, the attributes are not copied and the archive bit
- is set according to its option setting.
-
- -----------------------------------------------------------------------------
-
- See the VFHIST.DOC file in VFILER Version 4.1 for the history of the
- development of VFILER.
-