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
Wrap
Text File
|
1992-01-10
|
21KB
|
467 lines
ZFILER HISTORY
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.