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

Changes in FL Tools 4.02

Version 4.02 (2001-01-01)


Contents

This page Other pages
Summary of Changes Main Page
Changes in FL Licence
Changes in FLCUST Summary of History
Problems Fixed Changes in 4.01
  Changes in 4.03
  User Guides


Summary of Changes

FL

  1. Width of file-size column made auto adjusting
  2. Numeric punctuation of file sizes and the line counter introduced
  3. "Gone" string for deleted/moved/renamed files made user definable
  4. "Dir" string for directories made user definable
  5. Auto quoting for filespecs introduced
  6. #OQ (Omit Quoting) command introduced to suppress auto quoting
  7. Size of files in list displayed on top line of screen
  8. Action of DEL key enhanced

FLCUST

  1. Action of DEL key enhanced

Problems Fixed

  1. (FL) CTRL-E and CTRL-RETURN keys acted incorrectly
  2. (FL) Responses from OS commands overwrote second line of long commands
  3. (FL) #|| command joiner not checked correctly
  4. (FL) Displayed free space not updated when auto-update in effect
  5. (FLCUST) BACKSPACE key inoperative on the Alt-Alphabetic panel

[Back to Contents]


Changes in FL

  1. In version 4.00, the width of the file-size column was increased to the full 10 digits needed to accommodate the largest-possible files on FAT16, FAT32, and HPFS drives (2GB). This resulted in a corresponding reduction in the width of the command field. However, most files are much smaller than 2GB, so the extra space in the file-size column serves no purpose in most cases. In the new release the width of the file-size column has been made dynamic – FL adjusts the width of the column to accommodate the sizes of the files present in the list.

    [Back to Summary of Changes]

  2. When numbers are large, they become difficult to read if the number does not contain "punctuation" in the form of the thousands separator. With the dynamic sizing of the file-size column, it is now feasible to support the punctuation of file sizes. Control of punctuation belongs in the FL profile, but for this release punctuation can be controlled using an environment variable set to YES or NO in upper or lower case (only the first letter is significant). The default for punctuation is equivalent to the following SET command:

    SET FL_PUNCTUATE=NO

    The character used for the thousands separator is derived from the NLS settings for the system being used. Punctuation is also applied to the line counter field ("Line x of y").

    [Back to Summary of Changes]

  3. In previous releases, when a file or directory was deleted, moved, or renamed, FL replaced the size/date/time columns with the string "deleted, moved, or renamed". However, the presence of this string makes it more difficult to scan visually the data in the size/date/time columns. In the new release, the size/date/time columns are blanked when a file or directory is deleted, moved, or renamed.

    Preferences vary, however, so if you prefer a non-blank indication that the file or directory has gone, you can set the environment variable FL_GONE_STRING to whatever string you prefer. The maximum length for this string is 33 characters; characters in excess of this are ignored. If the string is shorter than 33 characters, the string is right-aligned (that is, the last non-blank character in the string abuts the right-hand edge of the time column). Be aware that the length of the "gone" string affects the minimum width of the size column that FL will use; if you want FL to be able to use a minimum width of one for the size column, the "gone" string must not exceed 21 characters in length. The setting used in previous releases is equivalent to the command:

    SET FL_GONE_STRING=deleted, moved, or renamed

    [Back to Summary of Changes]

  4. The minimum width of the size column is also affected by the length of the string used to identify directories; this string is "<DIR>" by default, which imposes a minimum width of 5 for the size column. In the new release you can specify the string to be used for directories, by setting the environment variable FL_DIR_STRING to the string required. The maximum length for this string is 13 characters; characters in excess of this are ignored. If the string is shorter than 13 characters, the string is right-aligned (that is, the last non-blank character in the string abuts the right-hand edge of the size column). The default is equivalent to the command:

    SET "FL_DIR_STRING=<DIR>"

    Note that in order to stop the "<" and ">" characters being interpreted as redirection characters, the parameter of the SET command must be enclosed in double quotes (this may not be supported in all environments).

    Preferences vary, but setting the DIR string to a single dot results in a display that is distinctive but not obtrusive.

    [Back to Summary of Changes]

  5. Windows makes common use of files and directories that contain blanks in the name. Filespecs containing blanks must be enclosed in double quotes when used on commands, and this applies to commands entered on the FL command line too. In addition, even though the name and extension might not contain blanks, when the directory path contains blanks it is necessary to type some commands with double quotes, for example:

    COPY "#" #N.OLD

    The new release of FL provides a solution to this, in the form of auto quoting. Control of auto quoting belongs in the FL profile, but for this release auto quoting can be controlled using an environment variable set to YES or NO in upper or lower case (only the first letter is significant). The default for auto quoting is equivalent to the following SET command:

    SET FL_AUTO_QUOTE=NO

    When auto quoting is enabled, FL adds double quotes around each blank-delimited token into which a substitution is made and which is not already quoted. FL does not add double quotes around blank-delimited tokens into which substitutions are not made. This means that in certain cases you must still type the quotes yourself (see third example in the table below). The following are all valid and all work correctly:

    What you type What FL generates
    COPY # MYFILE.KEEP COPY "#" MYFILE.KEEP
    COPY # #N.OLD COPY "#" "#N.OLD"
    COPY # "# OLD" COPY "#" "# OLD"

    Notes:

    1. Auto quoting makes it possible to use the same FL profile for DOS, OS/2, and Windows, as it is no longer necessary to use double-quote characters in the commands assigned to F-keys in the profile.

    2. If you generally avoid using filespecs containing blanks for files that you create, you may find that your REXX programs do not parse filespecs correctly when auto quoting is enabled. (Many of the author's own REXX programs had this problem!) Therefore you should anticipate needing to modify some of your REXX programs when auto quoting is enabled. This is the kind of code that you need to use:
      parse arg args
      args=strip(args)
      if left(args,1)=='"'
      then parse var args '"' infile '"' args
      else parse var args infile args
      args=strip(args)
      if left(args,1)=='"'
      then parse var args '"' outfile '"' args
      else parse var args outfile args
      /* process rest of args... */
      

    [Back to Summary of Changes]

  6. If you decide to use FL with auto quoting enabled, you may nevertheless occasionally come across a program that will not accept quoted filespecs. You can disable auto quoting for a single command by prefixing the command with the new FL command #OQ (omit quoting):

    #OQ OLDPROG.REX #N.IN #N.OUT

    The effect of the #OQ command is to omit quoting; filespec substituting and filespec appending are performed as usual. In contrast, the #O command omits everything: filespec substituting, filespec appending, and quoting.

    [Back to Summary of Changes]

  7. It is often useful to know the total size of the files in the list. In the new release the total size is displayed on the top line of the screen, to the left of the line counter. The size is displayed with three significant digits, with a decimal point if necessary. If the value is greater than 999, it is suffixed with a string indicating the units (KB, MB, GB, TB, PB, or EB, representing kilobytes, megabytes, gigabytes, terabytes, petabytes, or exabytes). The units are multiples of 1000, not multiples of 1024. The size does not include the contents of any sub-directories in the list (unless FL is operating in tree mode and the files in the sub-directories are themselves in the list).

    If a command is entered on an FL command line when auto-update is enabled, any change in the size of the file on that line updates the displayed list-size immediately. If auto-update is disabled, the list size is updated only when the list is refreshed. Be aware that if a command entered on one line affects a file displayed on another line, changes to that second file are not reflected in the list size (FL checks only the file on whose line the command was entered).

    [Back to Summary of Changes]

  8. The functions assigned to the DEL key have been revised. In previous releases, only unshifted DEL did anything useful. In the new release, SHIFT-DEL is the same as DEL, and CTRL-DEL is the same as CTRL-E (erase to end of field). This makes FL more consistent with EOS2.

    [Back to Summary of Changes]


Changes in FLCUST

  1. The functions assigned to the DEL key have been revised. In previous releases, only unshifted DEL did anything useful. In the new release, SHIFT-DEL is the same as DEL, and CTRL-DEL and CTRL-E perform the erase to end of field function (previously this function was not available in FLCUST).

    [Back to Summary of Changes]


Problems Fixed

  1. (FL) In version 4.01, the keyboard handling was revised to correct certain errors and fix the quirky behaviour of the right ALT key on Windows. Unfortunately these modifications resulted in CTRL-RETURN becoming inoperative, and CTRL-E typing a spurious character instead of erasing to end of field. This has been corrected.

    [Back to Summary of Changes]

  2. (FL) When a very long command was executed, the logic which displayed the command on the line-mode screen prior to execution did not allow for the command wrapping onto subsequent lines, with the result that the response from the command could overlay the second and later lines of the command. This has been corrected.

    [Back to Summary of Changes]

  3. (FL) The #|| command joiner can be used on the FL command line to indicate that the command following the joiner should be executed only if the command preceding the joiner failed (that is, returned a non-zero return code). However, FL checked incorrectly for this command joiner, and would accept any character in place of the second "|" character. This has been corrected.

    [Back to Summary of Changes]

  4. (FL) When the auto-update function was enabled, the properties of the file changed were updated immediately, but the "free space" size at the bottom of the list was not – it was updated only when the list was refreshed. This has been corrected.

    [Back to Summary of Changes]

  5. (FLCUST) On the function-key panels the BACKSPACE key performed the backspace-erase function, but on the Alt-Alphabetic panel the backspace key was inoperative. This has been corrected.

    [Back to Summary of Changes]


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