Imported Upstream version 302
[ckermit.git] / ckermit70.txt
index 795db1c..a796cfd 100644 (file)
@@ -12,7 +12,7 @@ For C-Kermit 7.0
 As of C-Kermit version:  7.0.196
 This file created:  8 February 2000
 This file last updated:
-Mon Sep 13 08:52:41 2010
+Mon Aug  8 10:39:18 2011
 
 
 Authors: Frank da Cruz and Christine M. Gianone
@@ -650,9 +650,9 @@ II. NEW FEATURES
        command or program. The built-in command might not behave the way
        the platform-specific external one did, but many options are
        available for customization. Of course the underlying
-       platform-specific command can still be accesssed with "!", "@", or
+       platform-specific command can still be accessed with "!", "@", or
        "RUN" wherever the installation does not forbid. In UNIX, the "ls"
-       command can be accesssed directly as "ls" in C-Kermit. See
+       command can be accessed directly as "ls" in C-Kermit. See
        [352]Section 4.5.1 for details.
     7. SEND ? prints a list of switches rather than a list of filenames.
        If you want to see a list of filenames, use a (system-dependent)
@@ -2289,11 +2289,11 @@ II. NEW FEATURES
    As of C-Kermit 7.0, in the UNIX version only, the COPY and RENAME
    commands are built in and do not call the underlying platform's COPY or
    RENAME command. This allows them to work in "NOPUSH" versions and other
-   circumstances where it can't accesss system commands, and it allows
-   file copying and renaming to be done portably in scripts. The
+   circumstances where it can't access system commands, and it allows file
+   copying and renaming to be done portably in scripts. The
    characteristics of the built-in COPY or RENAME include:
      * It fails if the source file is a directory or is wild or lacks read
-       accesss.
+       access.
      * It fails if the source file is the destination file.
      * It allows the destination file to be a directory, in which case the
        source file is copied (or renamed) into it with the same name.
@@ -2332,12 +2332,12 @@ II. NEW FEATURES
 
 1.18. The MANUAL Command
 
-   The MANUAL command can be used to accesss the appropriate Kermit manual
+   The MANUAL command can be used to access the appropriate Kermit manual
    or other manual. The general syntax is:
 
    MANUAL [ string ]
           If the string is omitted, C-Kermit asks the underlying system to
-          accesss the C-Kermit manual using whatever method is appropriate
+          access the C-Kermit manual using whatever method is appropriate
           for the system.
 
    The specific action depends on the system. In UNIX, a "man" command is
@@ -2516,13 +2516,13 @@ Compiled Dec 31 1999 10:38:54, options:
     1. Only one READ file and one WRITE file can be open at a time.
     2. The READ and WRITE commands are strictly line oriented.
     3. These commands can not be used with binary files.
-    4. They do not support read/write accesss or random accesss.
+    4. They do not support read/write access or random access.
     5. The syntax is a bit counterintuitive for programmers.
 
    The new file i/o system allows multiple files to be open at once, in
    any desired combination of modes (read/write/append) supported by the
    operating system, for line, block (record), or character i/o, for
-   sequential or random accesss, using consistent syntax and conventions.
+   sequential or random access, using consistent syntax and conventions.
 
    The new system, however, does not replace the old one, since the old
    system still must be used for:
@@ -2582,8 +2582,8 @@ Compiled Dec 31 1999 10:38:54, options:
    The command to open a file is:
 
    FILE OPEN [ switches ] variable filename
-          Opens a file for the type of accesss specified by the switches,
-          or for read-only accesss if no switches are given. Upon success,
+          Opens a file for the type of access specified by the switches,
+          or for read-only access if no switches are given. Upon success,
           a channel number is assigned to this file and stored in the
           given variable so you can refer to the open file in subsequent
           i/o commands. If the file can not be opened, the FILE OPEN
@@ -2592,9 +2592,9 @@ Compiled Dec 31 1999 10:38:54, options:
    The FILE OPEN switches are:
 
    /READ
-          Open the file for read accesss. If no switches are given, /READ
+          Open the file for read access. If no switches are given, /READ
           is assumed. If the file does not exist or can't be opened for
-          read accesss, the FILE OPEN command fails.
+          read access, the FILE OPEN command fails.
 
    /WRITE
           Allow writing. If a file of the same name already exists, it is
@@ -2614,7 +2614,7 @@ Compiled Dec 31 1999 10:38:54, options:
           switch is meaningless (but still can be used) in UNIX. In VMS,
           Windows, and OS/2, it inhibits end-of-line processing and
           conversion, and so should be used for binary files and/or files
-          that are to be accesssed in record or character mode rather than
+          that are to be accessed in record or character mode rather than
           line by line.
 
    The variable for the channel number can be any kind of variable: the
@@ -3046,10 +3046,10 @@ Compiled Dec 31 1999 10:38:54, options:
 
    The loop works because a relative SEEK outside the file fails.
 
-   It is also possible to use block i/o to manage random-accesss files
-   with fixed-length records (as long as they don't contain NUL
-   characters). Suppose, for example, you have a file of "card image"
-   records with fixed-field information about customers, such as:
+   It is also possible to use block i/o to manage random-access files with
+   fixed-length records (as long as they don't contain NUL characters).
+   Suppose, for example, you have a file of "card image" records with
+   fixed-field information about customers, such as:
 
   Name:     Columns  1-32  (column numbers are 1-based)
   Address:  Columns 33-72
@@ -4106,7 +4106,7 @@ define HSDIAL {                ; High Speed DIAL
   set dial macro xxx
   dial xyzcorp
 
-   This defines a DIAL MACRO called xxx, which puts an accesss code on the
+   This defines a DIAL MACRO called xxx, which puts an access code on the
    front of the number. Another example might be:
 
   def xxx if equal "\v(modem)" "hayes-1200" return \freplace(\%1,$,{,,,,,})
@@ -4143,11 +4143,11 @@ define HSDIAL {                ; High Speed DIAL
        be busy.
 
    To illustrate the final item, suppose you have a choice among many
-   phone service providers; the provider is chosen by dialing an accesss
+   phone service providers; the provider is chosen by dialing an access
    code before the number. Different providers might be better (e.g.
    cheaper) for certain times of day or days of the week, or for dialing
-   certain locations; you can use the DIAL macro to add the accesss for
-   the most desirable provider.
+   certain locations; you can use the DIAL macro to add the access for the
+   most desirable provider.
 
    Similarly, when the same number might be reached through multiple
    providers, it's possible that one provider might not be able to
@@ -4646,7 +4646,7 @@ define HSDIAL {                ; High Speed DIAL
    disabled.
 
    SET TELNET ENVIRONMENT DISPLAY is used to set the DISPLAY variable that
-   is sent to the host, as well as the the XDISPLAY location.
+   is sent to the host, as well as the XDISPLAY location.
 
 2.3.5. Connecting to Raw TCP Sockets
 
@@ -4968,7 +4968,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
 
    Although C-Kermit includes its own Telnet implementation, you might
    need to use an external Telnet program to make certain connections;
-   perhaps because it has accesss or security features not available in
+   perhaps because it has access or security features not available in
    C-Kermit itself. As noted above, the only precautions necessary are
    usually:
 
@@ -5238,7 +5238,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
   set host /server *
   if fail stop 1 X.25 "set host *" failed
 
-   And then accesss it from the client as follows:
+   And then access it from the client as follows:
 
   set network type x.25
   if fail stop 1 Sorry - no X.25 support
@@ -5459,7 +5459,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
    open any dialout device when its open count indicates that another
    process has it open. SHOW COMM (in QNX only) displays the setting, and
    if you have a port open, it also shows the current open count (with
-   C-Kermit's own accesss always counting as 1).
+   C-Kermit's own access always counting as 1).
 
 2.12. The Connection Log
 
@@ -5552,10 +5552,10 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
 
    On multiuser systems, it is possible to keep a single, shared,
    system-wide connection log, but this is not recommended since (a) it
-   requires you keep a publicly write-accesssible logfile (a glaring
-   target for mischief), and (b) it would require each user to log to that
-   file and not disable logging. A better method for logging connections,
-   in UNIX at least, is syslogging (see [429]ckuins.txt Section 15 and
+   requires you keep a publicly write-accessible logfile (a glaring target
+   for mischief), and (b) it would require each user to log to that file
+   and not disable logging. A better method for logging connections, in
+   UNIX at least, is syslogging (see [429]ckuins.txt Section 15 and
    [430]Section 4.2 of the [431]IKSD Administration Guide for details).
 
 2.13. Automatic Connection-Specific Flow Control Selection
@@ -5792,7 +5792,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
           Make an secure private connection with SSL (only if SSL support
           is included in your version of Kermit). In this case the port
           name might need to be https rather than http, e.g. "set host
-          secureserver.xyxcorp.com https /ssl".
+          secureserver.xyzcorp.com https /ssl".
 
    /TLS
           Make an secure private connection with TLS (only if TLS support
@@ -5830,10 +5830,10 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
           eight headers may be specified.
 
    /USER:name
-          In case a page requires a username for accesss.
+          In case a page requires a username for access.
 
    /PASSWORD:password
-          In case a page requires a password for accesss.
+          In case a page requires a password for access.
 
    /ARRAY:arrayname
           Tells Kermit to store the response headers in the given array,
@@ -5943,7 +5943,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
 
    As noted in the manual, C-Kermit's CONNECT command on UNIX is not a
    terminal emulator, but rather a "semitransparent pipe" between the
-   terminal or emulator you are using to accesss C-Kermit, and the remote
+   terminal or emulator you are using to access C-Kermit, and the remote
    host to which C-Kermit is connected. The "semitransparent" qualifier is
    because of character-set translation as well as several actions taken
    by the emulator in response to the characters or strings that pass
@@ -5953,7 +5953,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
    printing, also called Controller printing (as distinct from Autoprint
    or line or screen print). It is intended mainly for use on UNIX
    workstation consoles (as opposed to remote logins), but with some care
-   can also be used when accesssing C-Kermit remotely.
+   can also be used when accessing C-Kermit remotely.
 
    Transparent printing is related to APC by sharing C-Kermit's built-in
    ANSI escape-sequence parser to detect "printer on" and "printer off"
@@ -6010,7 +6010,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
     2. Only the 7-bit forms of the escape sequences are supported. The
        8-bit CSI C1 control is not recognized.
     3. Autoprint is not supported, since this requires a full-fledged
-       terminal emulator with direct accesss to the screen.
+       terminal emulator with direct access to the screen.
     4. The start-print and stop-print sequences pass through to the screen
        (there is no way to avoid this without causing unacceptable delays
        or deadlocks in CONNECT mode). Thus if your terminal or emulator
@@ -6615,8 +6615,8 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
 
 4.2.1.3. SECURITY
 
-   Some sites might not wish to allow accesss to system commands or
-   external programs from within Kermit. Such accesss, including all the
+   Some sites might not wish to allow access to system commands or
+   external programs from within Kermit. Such access, including all the
    features described here, can be disabled in various ways:
 
     1. When building from source code, include -DNOPUSH among the CFLAGS.
@@ -7480,7 +7480,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
    mailed or printed and then deleted. This has the advantages of (a) not
    requiring a temporary file, and (b) allowing mail to have a proper
    subject in place of the filename. Temporary files were bad not only
-   because they required (a) space, and (b) writeability of the current
+   because they required (a) space, and (b) writability of the current
    directory, but also because using them could result in wiping out an
    existing file. See [467]Section 4.7 for more about SEND /MAIL and SEND
    /PRINT.
@@ -7791,10 +7791,10 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
 4.4. File Permissions
 
    "Permissions" refers to a code associated with a file that specifies
-   who is allowed to accesss it, and in what manner. For example, the
+   who is allowed to access it, and in what manner. For example, the
    owner, the members of one or more groups, the system administrator, and
    everybody else, might be allowed various combinations of Read, Write,
-   Append, Execute, or Listing accesss.
+   Append, Execute, or Listing access.
 
    The permission code goes by different names on different platforms. In
    UNIX, it might be called the filemode. In VMS, it is called the file
@@ -7879,7 +7879,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
 4.4.2.1.1. UNIX
 
    UNIX supports three categories of users, File Owner, Group, and World,
-   and three types of file accesss permission: Read, Write, and Execute.
+   and three types of file access permission: Read, Write, and Execute.
    Thus, a UNIX file's permissions are expressed in 9 bits.
 
    The system-dependent permission string for UNIX is a 3-digit octal
@@ -7891,7 +7891,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
 4.4.2.1.2. VMS
 
    VMS supports four categories of users, System, File Owner, Group, and
-   World, and four types of file accesss permission: Read, Write, Execute,
+   World, and four types of file access permission: Read, Write, Execute,
    and Delete. Thus, a VMS file's permissions are expressed in 16 bits.
 
    The system-dependent protection string for VMS is a 4-digit hexadecimal
@@ -7961,7 +7961,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
    whether the file "foo" exists; and it runs an inferior process, which
    might be a problem in some environments for resource and/or security
    reasons, and won't work at all in a "nopush" environment (e.g. one in
-   which C-Kermit is configured to forbid accesss to exterior commands and
+   which C-Kermit is configured to forbid access to exterior commands and
    programs, e.g. in a VMS "captive account").
 
    In C-Kermit 7.0 on VMS and UNIX, and in K95 1.1.19 and later, the
@@ -8154,7 +8154,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
        shows the "/tmp/foo" file. If you want to see all "foo" files in
        the /tmp tree, do "cd /tmp" and then "dir /recursive foo".
      * If a file size of -1 is shown, or date-time of 0000-00-00 00:00:00,
-       this means the file was located, but accesss to information about
+       this means the file was located, but access to information about
        the file was denied to C-Kermit.
      * In VMS, if FOO.DIR;1 is a directory within your current directory,
        "directory foo" and "directory [.foo]" list the files in the [.FOO]
@@ -8184,7 +8184,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
 
   wd /headings *.txt
 
-   Of course you can still accesss your external directory listing program
+   Of course you can still access your external directory listing program
    by using RUN or "!", e.g. in VMS:
 
   run directory /size/date/protection/except=*.obj oofa.*;0
@@ -8597,7 +8597,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
 
    /DOTFILES
           (UNIX and OS-9 only) Normally files whose names begin with "."
-          are skipped when matching wildcards that do not also beging with
+          are skipped when matching wildcards that do not also begin with
           ".". Include /DOTFILES to force these files to be included too.
 
    /RECURSIVE
@@ -9907,8 +9907,8 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
           Chooses buffered file output; this is the default. UNIX does its
           normal sort of disk buffering. The optional size specifies
           Kermit's own file output buffer size, and therefore the
-          frequency of disk accessses (write() system calls) -- the bigger
-          the size, the fewer the disk accessses.
+          frequency of disk accesses (write() system calls) -- the bigger
+          the size, the fewer the disk accesses.
 
    SET FILE OUTPUT UNBUFFERED [ size ]
           This forces each file output write() call to actually commit the
@@ -10548,7 +10548,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
 
 4.20.2.5. Streaming on X.25 Connections
 
-   We have only limited accesss to X.25 networks. One trial was performed
+   We have only limited access to X.25 networks. One trial was performed
    in which the 1MB Solaris 2.4 Sparc executable was transferred over a
    SunLink X.25 connection; nothing is known about the actual physical
    connection. With a packet length of 8000 and a window size of 30, the
@@ -10901,8 +10901,8 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
    visual aspect of the packet that would be seen by the terminal (or,
    more to the point, the emulator, such as K95). This way, only C-Kermit
    goes into RECEIVE mode, and not also the terminal emulator through
-   which C-Kermit is accesssed. And therefore, it is no longer necessary
-   to SET TERMINAL AUTODOWNLOAD OFF to prevent multiple Kermits from going
+   which C-Kermit is accessed. And therefore, it is no longer necessary to
+   SET TERMINAL AUTODOWNLOAD OFF to prevent multiple Kermits from going
    into receive mode at once, but of course it is still necessary to
    ensure that, when you have multiple Kermits in a chain, that the
    desired one receives the autodownload.
@@ -10949,7 +10949,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
           started in interactive mode, and would cause it to exit if it
           entered server mode via command-line option.) When C-Kermit is
           to be the server, you can use { ENABLE, DISABLE } EXIT to
-          control the client's accesss to this feature.
+          control the client's access to this feature.
 
    REMOTE MKDIR directory-name
           Tells the client to ask the server to create a directory with
@@ -11119,8 +11119,8 @@ SET HOST /PTY {sh -c "grep somestring *.txt"}
    When attempting to execute a REMOTE RMDIR, the server can remove only a
    single directory, not an entire sequence or tree. The system service
    that is called to remove the directory generally requires not only that
-   the server process has write delete accesss, but also that the
-   directory contain no files.
+   the server process has write delete access, but also that the directory
+   contain no files.
 
    In the future, a REMOTE RMDIR /RECURSIVE command (and the accompanying
    protocol) might be added. For now, use the equivalent REMOTE HOST
@@ -11389,7 +11389,7 @@ C-Kermit> remote directory | sort +0.22 -0.40
    CP855
           This PC Code Page contains all the Cyrillic letters that are
           also in ISO 8859-5, and is therefore useful for non-Russian
-          Cyrillic text (Ukrainian, Belorussian, etc), unlike CP866, which
+          Cyrillic text (Ukrainian, Belarusian, etc), unlike CP866, which
           has a smaller repertoire of Cyrillic letters.
 
    CP1251
@@ -11530,7 +11530,7 @@ C-Kermit> remote directory | sort +0.22 -0.40
 
   [547]http://www.unicode.org/
 
-   and accesss the various online introductions, FAQs, technical reports,
+   and access the various online introductions, FAQs, technical reports,
    and other information. For greater depth, order the latest version of
    the published Unicode Standard. The following overview contains a great
    many oversimplifications and perhaps an opinion or two.
@@ -11598,7 +11598,7 @@ C-Kermit> remote directory | sort +0.22 -0.40
    bytes in UCS-2 text pose problems for current applications and
    transmission methods. And to make matters worse, different hardware
    platforms store UCS-2 characters in different byte order. Thus a UCS-2
-   file transferred by FTP (or accesssed via NFS, etc) between two
+   file transferred by FTP (or accessed via NFS, etc) between two
    computers with different architecture might have its bytes in the wrong
    order (or worse; see [549]Section 6.6.5.1 ).
 
@@ -11676,7 +11676,7 @@ C-Kermit> remote directory | sort +0.22 -0.40
    storage. Any officially sanctioned method of doing this is called a UCS
    Transformation Format, or UTF. One such method, called UTF-16, is
    essentially identical with UCS-2 except that it designates certain code
-   values as "escape sequences" (called surrogate pairs) to accesss
+   values as "escape sequences" (called surrogate pairs) to access
    characters in other planes without having to use full UCS-4. We won't
    discuss UTF-16 further here, since at the moment there are no other
    planes. Several other UTF's (such as UTF-1, UTF-2, and UTF-7) have
@@ -11691,7 +11691,7 @@ C-Kermit> remote directory | sort +0.22 -0.40
    conversion between ASCII and UTF-8 is no conversion at all, and
    applications or platforms (such as Plan 9 from Bell Labs) that use
    UTF-8 "for everything" can still run traditional ASCII-only
-   applications and be accesssed from them. In particular, unlike UCS-2,
+   applications and be accessed from them. In particular, unlike UCS-2,
    ASCII characters are not padded with NUL bytes. But also unlike UCS-2,
    there is no transparency for Latin-1 or any other non-ASCII character
    set. Every non-ASCII UCS-2 character is represented by a sequence of 2
@@ -12092,7 +12092,7 @@ C-Kermit> remote directory | sort +0.22 -0.40
 
    UTF-8 was first used in Plan 9 and soon will be available in Linux. It
    will probably spread from there (Unicode in some form is, of course,
-   also used in Windows NT, but only internally -- not for accesss from
+   also used in Windows NT, but only internally -- not for access from
    outside).
 
    To use UTF-8 or any other character set that uses 8-bit bytes in your
@@ -12137,7 +12137,7 @@ C-Kermit> remote directory | sort +0.22 -0.40
    stated without doubt that C-Kermit's key mapping will not work for
    UTF-8 values, since (a) the key map is indexed by 8-bit byte values and
    (b) C-Kermit reads keystrokes a byte at a time (these comments do not
-   apply to K95, which has direct accesss to the keyboard and can read
+   apply to K95, which has direct access to the keyboard and can read
    "wide" keycodes and uses them to index a "wide" keymap).
 
    Restrictions: As noted, the CONNECT command does not support UCS-2 as a
@@ -13236,7 +13236,7 @@ while true {
 
    IF WRITEABLE name
           Succeeds if name is the name of an existing file or directory
-          that is writeable, e.g.:
+          that is writable, e.g.:
 
   if not writeable \v(lockdir) echo Please read installation instructions!
 
@@ -13319,7 +13319,7 @@ while true {
   [a b c d e f g h i j k l m n o p q r s t u v w x y z]
 
    Note that \%* can not be used at top level, since Kermit does not have
-   accesss to the raw command line (only to its elements separately, after
+   access to the raw command line (only to its elements separately, after
    they have been processed by the shell and the C library).
 
    C-Kermit 7.0 also adds a SHIFT command:
@@ -13974,11 +13974,31 @@ while true {
                 creating \&b[] if necessary or, if \&b[] is already
                 declared, stopping early if its size is less than 14.
 
-        ARRAY COPY \&a[17] \&b
+        ARRAY COPY \&a[17:] \&b
                 This copies all the elements of \&a[] starting with 17
                 until the last to \&b[], creating \&b[] if necessary or,
                 if \&b[] is already declared, stopping early if \&b[] is
-                not big enough.
+                not big enough. Suppose, for example, you have a script
+                whose arguments are string1, string2, and a list of files,
+                whose job is to change all occurrences of string1 to
+                string2 in each of the files. But if the list of files is
+                omitted, then "*" (all files in the current directory) is
+                assumed:
+
+if < \v(argc) 3 exit 1 "Usage: \%0 string1 string2 [ files ]"
+if not def \%3 {
+    .n := \ffiles(*,&a)
+} else {
+    array copy &_[3:] &a
+    .n := \fdim(&a)
+}
+for i 1 n 1 {
+    ! cat \&a[i] | sed -e "s|\%1|\%2|g" > /tmp/_x
+    rename /tmp/_x \&a[i]
+}
+
+        ARRAY COPY \&a[17] \&b
+                Same as previous example.
 
    ARRAY CLEAR arrayname
           Sets all the elements of the array to the empty value. You may
@@ -14142,10 +14162,10 @@ while true {
      * An attempt to set the value of an array element that is out of
        bounds or that has not been declared simply fails.
 
-   C programmers expect an array of size nto have elements 0 through n-1.
+   C programmers expect an array of size n to have elements 0 through n-1.
    Fortran programmers expect the same array to have elements 1 through n.
    C-Kermit accommodates both styles; when you declare an array of size n,
-   it has n=1 elements, 0 through n, and you can use the array in your
+   it has n+1 elements, 0 through n, and you can use the array in your
    accustomed manner, 0-based or 1-based.
 
    However, note that C-Kermit has certain biases towards 1-based arrays:
@@ -14383,7 +14403,7 @@ while true {
    "file:index", or "file.index", and the code above would have worked
    just as well (with the corresponding syntax adjustments). But to be
    able to use an associative array in a program after the array is built,
-   we need a method of accesssing all its elements without knowing in
+   we need a method of accessing all its elements without knowing in
    advance what they are. That's where the chosen notation comes in.
 
    First of all, any macro name that ends with "<xxx>" (where "xxx" is any
@@ -14427,7 +14447,7 @@ while true {
           .max  := \&b[\%i]
       }
   }
-  echo Most popular file: \m(name), accessses: \m(max)
+  echo Most popular file: \m(name), accesses: \m(max)
 
    This lists the files and counts and then announces which file has the
    highest count.
@@ -14871,7 +14891,7 @@ while true {
    contain the command-line arguments, if any, that appear after "--" or
    "=", if any. This array is saved and restored around macro calls;
    recall that inside macros it contains the macro argument vector
-   (allowing you to accesss arguments programmatically, and to have more
+   (allowing you to access arguments programmatically, and to have more
    than 9 of them).
 
    At top level, notice the difference between the \&@[] and \&_[] arrays.
@@ -15046,7 +15066,7 @@ while true {
    shell. In VMS and other non-UNIX platforms, the Kerbang line has no
    effect and can be omitted.
 
-   It might be desireable for a script to know whether it has been invoked
+   It might be desirable for a script to know whether it has been invoked
    directly from the shell (as a Kerbang script) or by a TAKE command
    given to the Kermit prompt or in a Kermit command file or macro. This
    can be done as in this example:
@@ -15330,11 +15350,13 @@ ELSE command-list
        the rules of precedence. All Boolean assertions are always
        evaluated; there is no "early stopping" property and therefore no
        question about when or if side effects will occur -- if any Boolean
-       assertion has side effects, they will always occur.
+       assertion has side effects, they will always occur. (Early stopping
+       is, however, possible with the [631]S-Expression IF introduced in
+       C-Kermit 8.0.)
 
    Constructions of arbitrary complexity are possible, within reason.
 
-   Also see [631]Section 7.4 for new IF / WHILE conditions.
+   Also see [632]Section 7.4 for new IF / WHILE conditions.
 
   7.21. Screen Formatting and Cursor Control
 
@@ -15502,6 +15524,10 @@ ELSE command-list
 
   7.23. Floating-Point Arithmetic
 
+     For a more convenient way of dealing with floating-point numbers
+     than the one described here, see the [633]C-Kermit 8.0 update notes,
+     the section on [634]S-Expressions.
+
    C-Kermit 7.0 adds limited support for floating-point numbers (numbers
    that have fractional parts, like 3.141592653). This support is provided
    through a small repertoire of functions and in Boolean expressions that
@@ -15693,7 +15719,7 @@ ELSE command-list
    result to \ffpround(xxx,0) (to round).
 
    Floating-point numbers (or variables or functions that return them) can
-   be used in Boolean expressions (see [632]Section 7.20.2) that compare
+   be used in Boolean expressions (see [635]Section 7.20.2) that compare
    numbers:
 
   = x y
@@ -15724,7 +15750,7 @@ ELSE command-list
    and is executed otherwise.
 
    Floating-point numbers can be sorted using ARRAY SORT /NUMERIC (see
-   [633]Section 7.10.5 ).
+   [636]Section 7.10.5 ).
 
    Two floating-point constants are provided:
 
@@ -15867,7 +15893,7 @@ ELSE command-list
    Syntactically, \m(name) and \s(name) differ only in that the sequence
    [*] at the end of the name (where * is any sequence of 0 or more
    characters) is treated as substring notation in \s(name), but is
-   considered part of the name in \m(name) (to see why, see [634]Section
+   considered part of the name in \m(name) (to see why, see [637]Section
    7.10.9).
 
   7.26. New WAIT Command Options
@@ -15936,7 +15962,7 @@ ELSE command-list
    heading is the time of the most recent event (including when the
    program started).
 
-   See [635]Section 1.10, where the \v(kbchar) variable is explained. This
+   See [638]Section 1.10, where the \v(kbchar) variable is explained. This
    lets you modify a loop like the one above to also accept
    single-character commands, which interrupt the WAIT, and dispatch
    accordingly. For example:
@@ -15978,8 +16004,8 @@ ELSE command-list
   8. USING OTHER FILE TRANSFER PROTOCOLS
 
    In C-Kermit 7.0, alternative protocols can be selected using switches.
-   Switches are described in [636]Section 1.5; the use of
-   protocol-selection switches is described in [637]Section 4.7.1.
+   Switches are described in [639]Section 1.5; the use of
+   protocol-selection switches is described in [640]Section 4.7.1.
    Example:
 
   send /binary /protocol:zmodem x.tar.gz
@@ -16025,7 +16051,7 @@ ELSE command-list
    where a keyword (rather than a single letter) specifies the function,
    and if an argument is to be included, it is separated by a colon (or
    equal sign). Most of the new extended-format command-line options are
-   only for use with the Internet Kermit Service Daemon; see the [638]IKSD
+   only for use with the Internet Kermit Service Daemon; see the [641]IKSD
    Administration Guide for details. However, several of them are also
    general in nature:
 
@@ -16150,7 +16176,7 @@ ELSE command-list
           become the name of the script file, rather than the pathname of
           the C-Kermit program, which is its normal value. Primarily for
           use in the top line of "Kerbang" scripts in UNIX (see
-          [639]Section 7.19). Example from UNIX command line:
+          [642]Section 7.19). Example from UNIX command line:
 
   $ kermit [ regular kermit args ] + filename
 
@@ -16190,11 +16216,11 @@ ELSE command-list
   kermit -L -s "*.c"
 
           In UNIX only, "kermit -L -s ." means to send the current
-          directory tree. See [640]Sections 4.10 and [641]4.11 about
+          directory tree. See [643]Sections 4.10 and [644]4.11 about
           recursive file transfer.
 
    -V
-          Equivalent to SET FILE PATTERNS OFF ([642]Section 4.3) and SET
+          Equivalent to SET FILE PATTERNS OFF ([645]Section 4.3) and SET
           TRANSFER MODE MANUAL. In other words, take the FILE TYPE setting
           literally. For example, "kermit -VT oofa.bin" means send the
           file in Text mode, no matter what its name is and no matter
@@ -16226,7 +16252,7 @@ ELSE command-list
    thus it is called G-Kermit (for GNU Kermit). All it does is send and
    receive files, period. You can find it at:
 
-  [643]http://www.columbia.edu/kermit/gkermit.html
+  [646]http://www.columbia.edu/kermit/gkermit.html
 
    Where the C-Kermit 7.0 binary might be anywhere from 1 to 3 million
    bytes in size, the G-Kermit binary ranges from 30K to 100K, depending
@@ -16245,7 +16271,7 @@ ELSE command-list
    In such cases G-Kermit might be preferred since it generally starts up
    faster, and yet transfers files just as fast on most (but not
    necessarily all) kinds of connections; for example, it supports
-   streaming ([644]Section 4.20).
+   streaming ([647]Section 4.20).
 
    G-Kermit is also handy for bootstrapping. It is easier to load on a new
    computer than C-Kermit -- it fits on a floppy diskette with plenty of
@@ -16255,7 +16281,7 @@ ELSE command-list
    diskette on Xenix with "dosread", and then use G-Kermit to receive
    C-Kermit (which does not fit on a diskette). If diskettes aren't an
    option, other bootstrapping methods are possible too -- see the
-   [645]G-Kermit web page for details.
+   [648]G-Kermit web page for details.
 
 III. APPENDICES
 
@@ -16632,7 +16658,7 @@ CC  Nation            Effective     Mandatory    Notes
 
 IV. ERRATA & CORRIGENDA
 
-   The following errors in [646]Using C-Kermit, Second Edition, first
+   The following errors in [649]Using C-Kermit, Second Edition, first
    printing, have been noted.
 
    First, some missing acknowledgements for C-Kermit 6.0: JE Jones of
@@ -16700,7 +16726,7 @@ COVER   "COS" is a misprint.  There is no COS.  Pretend it says "SCO" or "VOS".
 393     \Fverify() description.  The 3rd sentence could be stated more clearly
         as "If all characters in string2 are also in string1, 0 is returned."
 398     Copying \ffiles() results to an array before is not required as of
-        C-Kermit 7.0 (see [647]Section 7.3).
+        C-Kermit 7.0 (see [650]Section 7.3).
 403     In "(\%a + 3) * (\%b  5)", a minus sign is missing between b and 5.
 407     C-Kermit 7.0 no longer supports multiline GET.  Change
         "get, \%1, \%2" to "get {\%1} {\%2}" or "get /as:{\%2} {\%1}".
@@ -16721,7 +16747,7 @@ COVER   "COS" is a misprint.  There is no COS.  Pretend it says "SCO" or "VOS".
 
 440     Change "set terminal byteszie" to "set terminal bytesize".
         Change "input Password:" to "input 10 Password".
-448     Franchise script: "accesss line" should be "accesss \m(line)".
+448     Franchise script: "access line" should be "access \m(line)".
 453     There are two incorrectly coded IF statements in the DELIVER macro
         definition.  Replace both occurrences of "if > \%1 \%3 {" with
         "xif > \%i \%3 {" (replace "if" by "xif" and "\%1" with "\%i").
@@ -16810,7 +16836,7 @@ Index:  Missing entries: SET { SEND, RECEIVE } PATHNAMES, Call waiting, ...
    suggestions for improvements, additional index entries, and any other
    comments:
 
-   [648]kermit@columbia.edu
+   [651]kermit@columbia.edu
 
 APPENDIX V. ADDITIONAL COPYRIGHT NOTICES
 
@@ -17000,11 +17026,11 @@ APPENDIX V. ADDITIONAL COPYRIGHT NOTICES
 
    Used for Big Number library in Kermit 95 (k95crypt.dll, k2crypt.dll).
 
-   [ [649]Top ] [ [650]C-Kermit ] [ [651]Kermit Home ]
-     __________________________________________________________________
+   [ [652]Top ] [ [653]C-Kermit ] [ [654]Kermit Home ]
      __________________________________________________________________
 
-   CKERMIT70.HTM / The Kermit Project / Columbia University / 8 Feb 2000
+   CKERMIT70.HTM / The Kermit Project / Columbia University / 8 Feb 2000 /
+   Last update: 8 Aug 2011
 
 References
 
@@ -17638,24 +17664,27 @@ References
  628. http://www.columbia.edu/kermit/ckermit70.html#x7.5
  629. http://www.columbia.edu/kermit/ckb2.htm
  630. http://www.columbia.edu/kermit/ckermit80.html
- 631. http://www.columbia.edu/kermit/ckermit70.html#x7.4
- 632. http://www.columbia.edu/kermit/ckermit70.html#x7.20.2
- 633. http://www.columbia.edu/kermit/ckermit70.html#x7.10.5
- 634. http://www.columbia.edu/kermit/ckermit70.html#x7.10.9
- 635. http://www.columbia.edu/kermit/ckermit70.html#x1.10
- 636. http://www.columbia.edu/kermit/ckermit70.html#x1.5
- 637. http://www.columbia.edu/kermit/ckermit70.html#x4.7.1
- 638. http://www.columbia.edu/kermit/iksd.html
- 639. http://www.columbia.edu/kermit/ckermit70.html#x7.19
- 640. http://www.columbia.edu/kermit/ckermit70.html#x4.10
- 641. http://www.columbia.edu/kermit/ckermit70.html#x4.11
- 642. http://www.columbia.edu/kermit/ckermit70.html#x4.3
- 643. http://www.columbia.edu/kermit/gkermit.html
- 644. http://www.columbia.edu/kermit/ckermit70.html#x4.20
- 645. http://www.columbia.edu/kermit/gkermit.html
- 646. http://www.columbia.edu/kermit/ckb2.htm
- 647. http://www.columbia.edu/kermit/ckermit70.html#x7.3
- 648. mailto:kermit@columbia.edu
- 649. http://www.columbia.edu/kermit/ckermit70.html#top
- 650. http://www.columbia.edu/kermit/ckermit.html
- 651. http://www.columbia.edu/kermit/index.html
+ 631. http://www.columbia.edu/kermit/ckermit80.html#x9
+ 632. http://www.columbia.edu/kermit/ckermit70.html#x7.4
+ 633. http://www.columbia.edu/kermit/ckermit80.html
+ 634. http://www.columbia.edu/kermit/ckermit80.html#x9
+ 635. http://www.columbia.edu/kermit/ckermit70.html#x7.20.2
+ 636. http://www.columbia.edu/kermit/ckermit70.html#x7.10.5
+ 637. http://www.columbia.edu/kermit/ckermit70.html#x7.10.9
+ 638. http://www.columbia.edu/kermit/ckermit70.html#x1.10
+ 639. http://www.columbia.edu/kermit/ckermit70.html#x1.5
+ 640. http://www.columbia.edu/kermit/ckermit70.html#x4.7.1
+ 641. http://www.columbia.edu/kermit/iksd.html
+ 642. http://www.columbia.edu/kermit/ckermit70.html#x7.19
+ 643. http://www.columbia.edu/kermit/ckermit70.html#x4.10
+ 644. http://www.columbia.edu/kermit/ckermit70.html#x4.11
+ 645. http://www.columbia.edu/kermit/ckermit70.html#x4.3
+ 646. http://www.columbia.edu/kermit/gkermit.html
+ 647. http://www.columbia.edu/kermit/ckermit70.html#x4.20
+ 648. http://www.columbia.edu/kermit/gkermit.html
+ 649. http://www.columbia.edu/kermit/ckb2.htm
+ 650. http://www.columbia.edu/kermit/ckermit70.html#x7.3
+ 651. mailto:kermit@columbia.edu
+ 652. http://www.columbia.edu/kermit/ckermit70.html#top
+ 653. http://www.columbia.edu/kermit/ckermit.html
+ 654. http://www.columbia.edu/kermit/index.html