X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ckermit70.txt;h=a796cfd0be24b48fa59c18abd1dc6024af66f26a;hb=ac474f1b8a669fcca9757cc53cf48146f08f9828;hp=4661a51628350a64233fe7b6e3722efa42ddd2d9;hpb=d67a876428f8c6dec71b4fe76d75f3994abc031c;p=ckermit.git diff --git a/ckermit70.txt b/ckermit70.txt index 4661a51..a796cfd 100644 --- a/ckermit70.txt +++ b/ckermit70.txt @@ -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 @@ -1566,7 +1566,7 @@ II. NEW FEATURES with a message, but without changing the exit status from what it normally would have been, use the \v(exitstatus) variable, e.g.: - exit \v(existatus) Goodbye from \v(cmdfile). + exit \v(exitstatus) Goodbye from \v(cmdfile). The EXIT status is returned to the system shell or whatever other process invoked C-Kermit, e.g. in UNIX: @@ -3973,7 +3973,7 @@ define HSDIAL { ; High Speed DIAL first PDIAL command in a PDIAL sequence. Values are: -2: Unknown because TAPI handled the phone number translation. - -1: Unknown because some kind of error occured. + -1: Unknown because some kind of error occurred. 0: Internal within PBX. 1: Toll-free. 2: Local within calling area. @@ -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 @@ -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 @@ -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. @@ -7625,7 +7625,7 @@ SET HOST /PTY {sh -c "grep somestring *.txt"} However, we can use some fairly-well established file naming conventions for this purpose. C-Kermit 7.0 lets you provide lists of filename patterns that are used to separately determine the file type - for each individual file being transfered. A pattern is a string, + for each individual file being transferred. A pattern is a string, possibly containing the special characters "*" (asterisk, which matches any string of zero of more characters) and/or "?" (question mark, which matches any single character). For example "a*b" matches all files @@ -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 @@ -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 @@ -12946,7 +12946,7 @@ e break characters unless you put them in the include list. Suppose, for example, you have a file in which each line is a Tab-separated list of words, numbers, or phrases that might - contain puncuation, special characters like $ and @, 8-bit bit + contain punctuation, special characters like $ and @, 8-bit bit characters, etc (like something that might have been exported from a spreadsheet or database), and you want to split only on Tab; here is a way (\m(line) is a line read from the file): @@ -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! @@ -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: @@ -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}". @@ -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 @@ -16821,7 +16847,7 @@ APPENDIX V. ADDITIONAL COPYRIGHT NOTICES /* */ /* Copyright (c) 1995 by Oy Online Solutions Ltd. */ /* */ -/* Distribution of this source code is strictly forbbidden. Use of this */ +/* Distribution of this source code is strictly forbidden. Use of this */ /* source code is granted to the University of Columbia C-Kermit project */ /* to be distributed in binary format only. Please familiarize yourself */ /* with the accompanying LICENSE.P file. */ @@ -16962,7 +16988,7 @@ APPENDIX V. ADDITIONAL COPYRIGHT NOTICES The license and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot - simply be copied and put under another distrubution license [including + simply be copied and put under another distribution license [including the GNU Public License.] The reason behind this being stated in this direct manner is past @@ -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