- Version 1 of FL supported only 8.3 file names,
and displayed the files with the file extensions aligned.
When support for long file names on HPFS disks was added in FL version 3, the
8.3 compatibility mode was also added.
With this mode active, files whose names satisfied 8.3 rules were displayed in
upper case with file extensions aligned; all other files were displayed in
whatever case was stored by the file system, with file extensions unaligned.
Preferences vary, but generally the FL screen is easier to read if file
extensions are aligned.
The new release extends support for aligned file extensions to all files.
The 8.3 compatibility mode has been withdrawn; it is replaced by the
"Align file extensions" option, which affects only alignment, and not use of
upper/lower case.
This option can be set in FLCUST on the "Other Settings" panel.
[Back to Summary of Changes]
- In the new release,
when displaying a list of files FL will adjusts the width of the file-name and
file-extension columns automatically, according to the files present in the
list.
There are column width limits, but these can be customised using three
controls.
These controls belong in the FL profile, but for this release they can be set
using environment variables:
- SET FL_MIN_FILE_WIDTH=nn
- This specifies the minimum width of the file column.
FL will not make the file column narrower than this.
The value must be in the range 1 to 25.
The default is 8.
(The file column is the combination of the file-name column and file-extension
column.
A list that contained files with one-character file names and no file
extensions could fit within a file column that was one character wide.)
- SET FL_MAX_FILE_WIDTH=nn
- This specifies the maximum width of the file column.
FL will not make the file column wider than this.
The value must be in the range 5 to 25, and not less than FL_MIN_FILE_WIDTH.
The default is 25.
- SET FL_MIN_EXTN_WIDTH=nn
- This specifies the minimum width of the file-extension column.
This width applies ONLY when the longest file name combined with the longest
file extension is too big to fit within FL_MAX_FILE_WIDTH.
When this happens, FL starts discarding trailing characters in the file
extension until the file fits.
If the extension reaches FL_MIN_EXTN_WIDTH before the file fits, FL stops
discarding characters from the file extension and starts discarding characters
from the file name, until the file fits.
FL_MIN_EXTN_WIDTH is the number of characters excluding the dot, and must be in
the range 2 to FL_MAX_FILE_WIDTH-3.
The default is 3.
When FL discards characters, it replaces the last displayed character with
"+", to indicate that there are more characters than can be displayed.
The "+" can occur at the end of the file name, or the end of the file
extension, or both.
Note: it is quite possible for the file extension column to be narrower than
the value given by FL_MIN_EXTN_WIDTH, or not be present at all.
If you want to experiment to see how you like different settings, issue the
relevant SET commands from the FL screen; on return to the FL screen, use the
#R command to refresh the screen.
FL will reconstruct the screen using the new settings (but note that these
settings will persist only for that FL session; you must set the environment
variables outside FL if you want them to have permanent effect).
[Back to Summary of Changes]
- Mixed-case file names
are now commonplace although many legacy applications still create only
upper-case file names.
This tends to lead to FL screens with some file names in mixed case, and others
completely in upper case.
The new release of FL now allows control over the case used for file specs.
This control belongs in the FL profile, but for this release file-spec case
can be set using an environment variable, as follows:
SET FL_FILE_CASE=dpne
where:
- d
- The case used for drive letters
- p
- The case used for paths
- n
- The case used for names
- e
- The case used for extensions
For each of the above, one code-letter from the set AULMCW can be specified,
although not all of them produce different results in all cases.
The code letters can be specified in upper or lower case, and have the
following meanings:
- A
- (ASIS) Within FL, the relevant part of the file spec is used in whatever
mixture of upper and lower case is stored by the file system.
- U
- (UPPER) Within FL, the relevant part of the file spec is converted entirely
to upper case.
- L
- (LOWER) Within FL, the relevant part of the file spec is converted entirely
to lower case.
- M
- (MIXED) If the relevant part of the file spec contains at least one
lower-case character, MIXED is the same as ASIS; otherwise it is the same as
LOWER.
- C
- (COMPONENT) This is the same as MIXED, but with the initial letter of each
component capitalised.
A component is any part of the file spec that is preceded and followed by the
component delimiter characters; these characters are backslash and dot.
- W
- (WORD) This is the same as MIXED, but with the initial letter of each word
capitalised.
A word is any part of the file spec that is preceded and followed by the word
delimiter characters; these characters are backslash, dot, dash, underscore,
and blank.
- *
- (any other character) This is the same as ASIS.
Notes:
- The default setting is equivalent to the command:
SET FL_FILE_CASE=AAAA
- The conversions to upper, lower, or initialised mixed case do not affect
the files on disk.
However, the conversions do affect the file specs passed to commands entered on
the FL command line (i.e. what you see is what you get).
- The old "8.3 compatibility" mode specified in the FL profile no longer
affects the case used for file specs within FL.
Its replacement (the "Align file extensions" option) affects only the alignment
of file extensions.
- Quirks in the Watcom compiler and/or Windows NT/2000's emulation of the
16-bit OS/2 environment mean that FL sees only upper-case for the current
directory on each drive on Windows NT/2000.
Consequently, ASIS is the same as UPPER for that part of the file path that
corresponds to the current directory.
If you want to experiment to see how you like different settings, issue the
SET command from the FL screen; on return to the FL screen, use the /R command
to refresh the screen.
FL will reconstruct the screen using the new settings (but note that these
settings will persist only for that FL session; you must set the environment
variables outside FL if you want them to have permanent effect).
Preferences vary, but it is more restful on the eye if file specs are
displayed with consistent use of letter case.
The following settings provide this consistency: UUUU, LLLL, CCCC, WWWW (but
not AAAA or MMMM).
[Back to Summary of Changes]
- FL has traditionally displayed
for each file only one of the five possible file attributes.
The attribute displayed was selected according to an order of precedence that
was fixed by FL.
In the new release, the order of precedence can be controlled by the user.
This control belongs in the FL profile, but for this release the order of
precedence can be set using an environment variable.
The default order of precedence is equivalent to the following SET command:
SET FL_ATTR_PRECEDENCE=DHSRA
The value specified for FL_ATTR_PRECEDENCE must contain one occurrence of
each of the letters ADHRS, in upper or lower case, coded in the order of
precedence required (highest precedence first, lowest precedence last).
[Back to Summary of Changes]
- The display of a command
on the FL command line after the command has been executed has been
revised to avoid the command being overwritten by the "*" character, or by
the "*rc=nn" string if the command failed.
[Back to Summary of Changes]
- In version 4.00, the #A, #L, and #R
commands were changed so that the file patterns could be
enclosed in double quotes (to allow the file patterns to contain blanks).
This change applied also to the #W command,
although this was not documented.
[Back to Summary of Changes]
- In previous releases,
when a command modified the file on the line where the command was entered,
the file properties (size, date, time, and standard attributes) were not
updated on the FL screen until a #R (refresh) command was issued.
In the new release, these properties can be updated immediately, by specifying
the "auto update" option.
This option belongs in the FL profile, but for this release it can be set using
an environment variable with the value YES or NO in upper or lower case (only
the first letter is significant).
The default for auto update is equivalent to the following SET command:
SET FL_AUTO_UPDATE=NO
[Back to Summary of Changes]
- The "F.BAT" file for Windows NT/2000
has been modified to remove the restriction of a maximum of 8 file
patterns/options on the invocation of the BAT file.
This change does not apply to the PC DOS version of "F.BAT", as PC DOS and
Windows 95/98 do not support the necessary BAT-language extensions.
Note: this means that the BAT file in "FLDOS.ZIP" now differs from the BAT file
in "FLOS1.ZIP" (used for Windows NT/2000).
[Back to Summary of Changes]
- In version 4.00, the file limits were relaxed.
For 32-bit OS/2, the limit was raised to 99999 files, although at the time this
was tested only to circa 40K files.
However, FL does not attempt to eliminate duplicate entries, and is quite happy
for the same directory tree to occur multiple times in the list.
Using this technique it was possible verify that 100K files can be listed
successfully using the 32-bit OS/2 version of FL.
Note: the 16-bit OS/2 version is limited to 16K files, and the DOS version
is even more restrictive – about 5K files, depending on memory available.
[Back to Summary of Changes]
- (FL) In version 4.00,
the #A, #L, and #R commands were changed so that they were
remembered in the command recall stack if entered on the FL command line.
Unfortunately the #W command was overlooked.
In the new version, this change applies to the #W command too.
[Back to Summary of Changes]
- (FL) Version 4.00 re-instated
the intelligent up-directory function that had inadvertently been disabled in
an earlier release.
However, the fix was not complete; although it worked for file names that were
entirely upper case (as found on FAT16 disks), it did not work for file names
that contained lower case characters (as found on HPFS, NTFS, and VFAT disks).
This has been corrected.
[Back to Summary of Changes]
- (FL) Windows NT/2000 support
the FTYPE and ASSOC commands that allow REXX programs to be invoked by typing
only the name of the REXX program (for example, by typing "MYCMD PARMS" instead
of "REXX MYCMD PARMS").
This worked correctly for the FL command line in version 3.02, but an erroneous
bug fix for 4.00 disabled this capability.
This has been corrected.
[Back to Summary of Changes]
- (FL) FL performs special processing
to allow environment variables to be set for the duration of the FL session.
Although the forms "SET" and "SET ABC=XYZ" worked correctly, the form "SET ABC"
did not.
This has been corrected.
[Back to Summary of Changes]
- (FL) When certain programs were invoked
from the FL command line using the 16-bit OS/2 version on Windows NT/2000, the
program invoked would sometimes exhibit strange errors.
EOS2 for example would sometimes attempt to edit multiple files, while other
programs would receive imaginary parameters that had values related to previous
commands issued on the FL command line.
The precise cause of this is not known, but it is believed to be due to a
coding error in the Watcom compiler's implementation of the C "system()"
function.
The underlying operating-system call used by "system()" is probably
"DosExecPgm", and this call is notorious for requiring one of its string
parameters to be terminated by TWO consecutive nulls.
If the Watcom library were specifying only one null, this could explain the
appearance of imaginary parameters.
This problem has been circumvented by using for the 16-bit OS/2 version the
"DosExecPgm" call itself, in place of "system()".
So far, the strange errors have not recurred.
[Back to Summary of Changes]
- (FL) After a command has been executed,
FL checks the file or directory on the line where the command was entered to
see if the file or directory still exists.
If it no longer exists, FL displays the "deleted, moved, or renamed" string in
the size/date/time columns.
When the "=" command was used to repeat the previous command, and the
previous file no longer existed, FL did not bother to check any of the files
for which the command was repeated – it just assumed that those files
also no longer existed.
Consequently, the "deleted, moved, or renamed" string could be displayed for
files which still existed.
This could happen for example:
- With the DEL command, when the first file was R/W but the later file was
R/O.
- With the MOVE command, when the later file already existed in the target
directory.
- With the RENAME command, when the new name of the later file was already
in use in the target directory.
- With user-written BAT or CMD files, which dispose of files according to
some criterion that is opaque to FL.
This behaviour of FL was deliberate design, and probably originated as a
performance optimisation from 10 years ago when processors and disks were much
slower than they are today.
This is no longer necessary, and FL now correctly displays the "deleted, moved,
or renamed" string when commands are repeated.
[Back to Summary of Changes]
- (FL) Version 4.00 introduced
the "(empty list)" line that allowed empty drives and directories to be
displayed.
However, experience showed that it appeared on more occasions than one would
expect.
Partly this was due to an incorrect implementation for the /T (tree)
invocation option, but it was also due to the original definition of the
circumstances under which the line should appear.
The definition has been revised and the implementation corrected.
The "(empty list)" line now appears only when there are no files in the list.
[Back to Summary of Changes]
- (FL) When the #A (add) command was used
to add files in the parent directory to the current list ("#A .."), the
command was wrongly treated as "#R ..", resulting in the listing of the
parent directory replacing the current list.
This has been corrected – the listing of the parent directory is now
added to the current list.
[Back to Summary of Changes]
- (FL) When the #A (add) command was used
to add files in a different directory to the current list, the result depended
on whether the line on which the command was entered was a file line or a
directory line.
If it was a file line the command worked correctly, but if it was a directory
line the new list replaced the existing list.
This has been corrected.
[Back to Summary of Changes]
- (FL) When the #A (add) command was used
to add files in a different directory to the current list, the #SP
(sort-on-path) command sorted the paths into the order in which the different
directories had been added to the list, instead of sorting the paths into
alphanumeric order.
This has been corrected.
[Back to Summary of Changes]
- (FL) FL's keyboard handling
was not quite correct, with the result that certain keys on a keyboard might
appear as dead keys, or might invoke the functions assigned to particular F
keys.
The precise manifestation of this problem varied according to the NLS keyboard
layout.
For example, on the UK keyboard the split-vertical bar key invoked SHIFT-F3;
on the Danish keyboard, the ">" key invoked SHIFT-F3, preventing use of
redirection on the FL command line.
It is believed that this problem is now fixed, but be alert to the
possibility of incorrect keyboard behaviour.
[Back to Summary of Changes]
- (FL) FL did not honour the setting
of the NUMLOCK key – the keys on the numeric keypad were always treated
as though numlock were off.
This has been corrected.
[Back to Summary of Changes]
- (FL) When running the 16-bit OS/2 version
of FL on Windows NT/2000, the RIGHT-ALT key behaved erratically.
This has been traced to a difference in behaviour between native OS/2 and
Windows emulation of the 16-bit OS/2 environment.
Whether this difference was deliberate or a mistake is unknown.
When the RIGHT-ALT key is pressed, Windows indicates that the LEFT-CTRL key is
also depressed.
When the RIGHT-ALT key is released, Windows continues to signal that the
LEFT-CTRL key is depressed, even though it is not.
EOS2 on Windows NT/2000 exhibits this problem.
Special code has been added to the 16-bit OS/2 version to circumvent this
quirk.
This extra code should have no effect at all on OS/2 (which returns the
keyboard data correctly).
On Windows NT/2000, the keys should always work correctly whatever shift key is
pressed (ALT, CTRL, or SHIFT), but the F-key line will not always change
correspondingly.
When this happens, pressing and releasing the LEFT-CTRL key will restore the
normal behaviour of the F-key line.
[Back to Summary of Changes]
- (FL) In previous releases,
FL had no clear definition of what should happen when two or three of the
different shift keys were pressed simultaneously (that is, ALT+CTRL,
CTRL+SHIFT, ALT+SHIFT, or ALT+CTRL+SHIFT).
This was apparent on the mode 1 and 2 screens, when pressing ALT and CTRL
together caused the F-key line for SHIFT to be displayed.
This behaviour was simply an accident of the implementation.
FL does not allocate meanings to F keys with multiple shifts, and multiple
shifts are now diagnosed rather than ignored.
An error message is displayed on the bottom line of the screen.
[Back to Summary of Changes]
- (FL, FLCUST) When FL or FLCUST was started
with no FL profile available, an optimisation bug in the Watcom compiler caused
the top line of the FL screen to be displayed as black characters on a black
background, making the text invisible!
This has been corrected.
[Back to Summary of Changes]