© Copyright Clive E. Chapman 2003. All rights reserved.

Changes in FL Tools 4.07

Version 4.07 (2003-11-29)


Contents

This page Other pages
Summary of Changes Main Page
General Changes Licence
Changes in FL Summary of History
Problems Fixed Changes in 4.04 - 4.06
Other Points Changes in 4.08
  User Guides


Summary of Changes

General

  1. Name of package changed
  2. BookMaster source for user guide omitted

FL

  1. New version for 32-bit Windows (95/98/98SE/ME/NT/2000/XP)
  2. Revised wildcard matching
  3. Automatic blanking of command line
  4. Stricter validation of FL commands
  5. Revised default screen mode when multiple file patterns specified
  6. Revised position of current line for up-directory function
  7. Elimination of need to define environment variable FL_EXIT_FILE

Problems Fixed

  1. (FL) Two problems related to wildcard matching
  2. (FL) Redirection of file list to standard output
  3. (FL) Internal error when space available for path too small
  4. (FL) #C command processed wrongly when auto quoting enabled

Other Points

  1. User guide not updated for this release

[Back to Contents]


General Changes

  1. The name of the package has been changed from "OS2FL" to "FL". The new name is more in keeping with the support for multiple operating systems.

    [Back to Summary of Changes]

  2. The BookMaster source for the user guide has been omitted, as few people are able to process it. Instead, the user guide is included as HTML, which can be both viewed on screen and printed on paper (using a suitable web browser).

    [Back to Summary of Changes]


Changes in FL

  1. FL is now available in a version that supports long file names on the Windows 95 family of operating systems (Windows 95/98/98SE/ME). This new version also supports long file names on Windows XP, but with some quirks. Please note the following points:

    1. The Windows 95 version is an interim implementation that is actually based on the DOS version of FL. However, the Windows 95 version is not recommended for use on native DOS. (Use the DOS version of FL on native DOS.)

    2. Because the Windows 95 version is based on the DOS version, the maximum number of files that can be listed is limited. The precise limit depends on the amount of memory available to a DOS program running on Windows, but is likely to be around 1000-1500 files.

    3. Directories that are very-deeply nested cannot be accessed by the Windows 95 version. This occurs when the short-name equivalent of a directory path is still too long for a DOS-mode program.

    4. On Windows 95/98/98SE/ME, error returns from commands issued to the operating system cannot be detected by FL – all commands appear to complete with a return code of zero. This is a restriction of the command interpreter (COMMAND.COM) used by the Windows 95 family. Sadly, this restriction applies also to native Win32 applications when running on the Windows 95 family, so a native Win32 version of FL will not solve this problem.

      On Windows XP, the Windows 95 version of FL does receive error returns, and these are displayed in the usual way.

    5. On Windows XP, when you change directories within FL, FL uses the long name of the new directory, but Windows XP changes this to the short name. As a result, if you enter the command "#O CD" to see what Windows XP thinks the current directory is, Windows XP displays the current directory using the short name.

    6. On Windows XP, the FL keyboard response may appear unusually slow, and the typamatic action erratic. This is believed to be due to the overhead of the DOS emulation performed by Windows XP.

    7. On Windows NT/2000, the 16-bit OS/2 version of FL should be used. This version supports long file names, supports error returns from commands, has a large limit on the number of files that can be listed (circa 16K files), and has a "normal" keyboard response. (Note: the OS/2 sub-system that is present in Windows NT/2000 has been removed from Windows XP, so the 16-bit OS/2 version of FL does not work on Windows XP.)

    8. FLCUST is also available in a version for Windows 95, but the other tools in the package have not been changed in this release – the versions in "FLW95.ZIP" are identical to the ones in "FLDOS.ZIP".

    [Back to Summary of Changes]

  2. The wildcard-matching algorithm has been revised. FL was written originally for 8.3 file names, and consequently its wildcard-matching code was not expecting files with more than one dot in the name+extension. Starting with version 4.00, FL defined the extension as being that part of the fully-resolved filespec that is to the right of the rightmost dot that is to the right of the rightmost "\". However, the wildcard matching code was not changed at that time.

    In the new release, FL matches the name and extension separately. If the filespec and the pattern each contain no more than one dot in the name+extension, the new matching algorithm produces identical results to previous releases. But if two or more dots are present in the name+extension in either the filespec or the pattern, the new algorithm can produce different results to previous releases.

    [Back to Summary of Changes]

  3. In version 4.03, the checking of the "=" command was tightened up, but this subsequently revealed an interesting usability problem, caused by the command just executed being redisplayed on the command line. The new release addresses this by implementing the following algorithm:

    • If a character is typed when the first character in the field is the "*" character, and the keyboard is in replace mode (not insert mode), the entire field is blanked before the character just typed is placed in the field.

    In most cases this should eliminate the need to clear the field explicitly before typing the next command. Use of this algorithm is controlled by an option in the FL profile. In FLCUST, go to the "Other Settings" panel and set the "Overtyped commands blanked" option as required. The default for new profiles is YES; the value for existing profiles is NO.

    [Back to Summary of Changes]

  4. The validation of the "=" command that was introduced in version 4.03 has been extended to other FL commands. As with the "=" command, the reason for this is to make it possible to introduce new commands in the future, without affecting the behaviour of any existing commands that are used validly.

    If an FL command is not valid, an error message is displayed in the command field. (For the "=" command, this is different from 4.06 and earlier releases, where the command would be passed to the operating system if not recognised as a valid "=" command.)

    [Back to Summary of Changes]

  5. In previous releases, when more than one file pattern was specified, FL displayed the paths on the righthand side of the mode-0 screen, and not the file dates. When the files are from different directories (for example, the command "FL A: C:"), displaying the paths is appropriate; but when the files are from the same directory (for example, the command "FL *.C *.H"), the file dates would be more useful. In the new release, FL displays the paths if the list contains files from more than one directory (or FL is operating in tree mode), and displays the file dates otherwise. Note that you can switch the display between dates and paths by using the #MC (Mode Columns) command.

    [Back to Summary of Changes]

  6. The behaviour of the intelligent up-directory function ("#R ..") has been revised. In previous releases, FL made the parent directory the current line in the new list, but the positioning of this line was inconsistent. If the parent directory was on the first page of the new list, FL placed the first line of the list at the top of the screen, with the result that the current line could appear anywhere on the screen; in all other cases, the current line was placed in the middle of the screen. This algorithm lead to the following usability quirk: down-directory from the top line of page two of the list would result in a return to the bottom line of page one of the list when up-directory was used.

    In the new release, up-directory places the current line in the middle of the screen. The only exceptions are when the current line is near the beginning or the end of the list, when the current line can appear above or below the middle of the screen (FL auto-scrolls to show as much of the list as possible).

    [Back to Summary of Changes]

  7. For the #C command to work properly (that is, exit to the directory on display), FL must be invoked via the batch file F.BAT on Windows and DOS, and via F.CMD on OS/2. In addition, the environment variable FL_EXIT_FILE must already be set to an appropriate value. In previous releases, the user had to remember to define this environment variable using the appropriate panel in Windows, or CONFIG.SYS in OS/2 and DOS. In the new release, the setting of this environment variable is added to F.BAT and F.CMD; this eliminates the need for the user to define this environment variable.

    FL uses the value "C:\FLEXIT.BAT" for the environment variable. Most modern operating systems use disk cacheing for both reads and writes, so the FL default should be suitable for most users. In rare circumstances, a different value might be appropriate (for example, on DOS where a disk cache is not being used, but a RAM disk is available). A value other than the FL default can be used simply by defining the environment variable prior to invoking F.BAT or F.CMD. However, the value must not be enclosed in double quotes, and must not contain any characters that would require the value to be enclosed in double quotes (for example, the blank).

    [Back to Summary of Changes]


Problems Fixed

  1. (FL) Two errors relating to wildcard matching on the FL command, and on the #A, #L, #R, and #W commands, have been fixed, as follows:

    1. If the filespec specified did not contain an extension (no dot in the name+extension part of the filespec), the string ".*" was appended. This is considered to be the most useful behaviour, and is not changed. Example: "FL XXX" is changed to "FL XXX.*".

      However, in 4.06 and earlier releases the command "FL XXX" or "FL XXX.*" listed only files with non-null extensions; files with null extensions were omitted from the list. This is considered to be incorrect behaviour and has been changed – in the new release the command lists ALL files with name "XXX", regardless of whether they have extensions. (Aside: the command "FL *" or "FL *.*" already listed all files regardless of extension; this is not changed.)

      To list only files that have null extensions, end the filespec with a dot. Examples: "FL XXX." or "FL *.".

      To list only files that have non-null extensions, use the "?" and "*" wildcard characters. Examples: "FL XXX.?*" or "FL *.?*".

    2. If the file "A-A-MM" existed in the current directory, the command "FL *MM*" would list it, but the command "FL *A-MM*" would not. The behaviour of the latter was in error and has been corrected; both commands now list the file.

    [Back to Summary of Changes]

  2. (FL) The changes to the FL profile introduced in version 4.03 resulted in redirection of the file list to a file becoming inoperative (for example, the command "FL >LIST.TXT"). This has been corrected.

    [Back to Summary of Changes]

  3. (FL) On the mode-1 screen, FL diagnosed an internal error for entries in the root directory if the space available for the path was two characters or less. This has been corrected.

    [Back to Summary of Changes]

  4. (FL) The command "#C" causes FL to exit to the directory on display. But it is also possible to specify a different directory to exit to; for example, "#C \" would exit to the root directory of the current drive. However, when the directory specified was constructed from substitutions (for example, the command "#C #"), the directory specified was ignored. This happened because FL was not handling auto quoting correctly for this case (the command "#OQ #C #" did work correctly). This error has been corrected.

    Tip: if you are in tree mode and wish to exit to the directory that contains a particular file in the list, use the command "#C #D#P" entered on the line for that file.

    [Back to Summary of Changes]


Other Points

  1. The "FL User Guide" (the file "FLGUIDE.HTM") has not been changed for this release. There may therefore be some errors, omissions, or contradictions in the manual.

    Note: the manual does not include any of the changes made in the various version 4 releases, and hence is quite out of date. To understand the changes that have been made in version 4, read the change file ("FLnnn.HTM") for each release.

    [Back to Summary of Changes]


Valid HTML 4.01 Page last changed: 2008-07-25 Valid CSS