home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / kl.zip / kl.doc < prev    next >
Text File  |  1997-03-18  |  29KB  |  589 lines

  1. ******************************************************************************
  2. * (c) Copyright International Business Machines Corporation 1994, 1997.      *
  3. *                  All rights Reserved.                                      *
  4. *                                                                            *
  5. *        User's Guide of KL (KEDIT FileList) macro            (Ver 2.10)     *
  6. *                                                                            *
  7. *                                                                            *
  8. *        Author: Shintaroh Hori                   (Yamato Lab, IBM Japan)    *
  9. ******************************************************************************
  10.  
  11. List of files extracted from KL.ZIP
  12. -----------------------------------
  13.    LICENSE.TXT   IBM License Agreement
  14.    KL.ABS        Abstract of this program
  15.    KL.DOC        User's Guide   (this file)
  16.    KL.NEW        Change History
  17.    KL.KEX        KL macro
  18.    KLDIR.KEX     Subroutine macro of KL.KEX
  19.    KLUTIL.DLL    REXX functions used by KLDIR.KEX
  20.    KLPROF.SMP    Sample KL profile. Rename to KLPROF.KL to use.
  21.  
  22.    KL.CMD        Sample CMD to invoke KL.KEX from OS/2 command line.
  23.    ProfileQ.KEX  (To be used with KL.CMD)
  24.    KLRing.KEX    KEDIT Ring List macro for KL.
  25.    KLMouse.KEX   KL Mouse macro for KL
  26.    KLMouse.DOC   Guide to KL Mouse macro
  27.  
  28.    KL140L.ZIP    KL macro programs for users of KEDIT v5.00P1 or earlier.
  29.                  If your KEDIT is older than V5.00P2, use KL.KEX, KLDIR.KEX,
  30.                  and KLPROF.SMP in this ZIP file.
  31.  
  32. Introduction
  33. ------------
  34.    KL macro is designed to provide functions similar to what are given by
  35.    FILELIST EXEC in CMS environment and by OS2FL program on OS2TOOLS disk.
  36.  
  37.    KL macro displays a list of information about files that meet file specifier
  38.    given to the macro as an argument. The list is displayed in a KEDIT file
  39.    called "KL list", so you can use KEDIT subcommands to manipulate the list
  40.    itself.
  41.  
  42.    Like FL.EXE of OS2FL package, you can issue an OS/2 command typed in Cmd_Area
  43.    of KL list against the file by pressing an 'Execute' key. You can also issue
  44.    KL unique commands from the list to sort the list, to refresh the list, and
  45.    so on.
  46.  
  47.    Unlike the FILELIST EXEC, a KL list is added to a current KEDIT ring
  48.    whenever KL macro is invoked to list files.  You can have multiple KL list
  49.    files on the ring.
  50.  
  51.    Default length of filename field and extension field in a KL list is 20 and
  52.    8, respectively. They can be customized by an KL profile.
  53.    You can also change length of the fields locally by executing "/C" command
  54.    from the KL list or "KL /C" command from KEDIT command line.
  55.    You can use "/CG" KL command or "KL /CG" command to make a global change
  56.    in the current KEDIT session.
  57.    See "Valid KL commands" for more detail.
  58.  
  59.    File date is either in yyyy-mm-dd or in yy-mm-dd formats, and File time is
  60.    either in hh:mm:ss or in hh:mm formats. They can be customized by the KL
  61.    profile.
  62.  
  63.    If an user exit macro is specified by INITEXIT record of KL Profile, KL
  64.    calls the exit macro just after a list of files are presented or refreshed.
  65.    (See KL Profile section of this file.)
  66.  
  67.  
  68. Advantages of KL macro over KEDIT's DIR command
  69. -----------------------------------------------
  70.    1. You can type any OS/2 command string or KEDIT subcommand and execute
  71.       against a file displayed in KL list.  In case of DIR command, you need
  72.       to DEFINE the command *globally*.
  73.  
  74.       You can use "=" to repeat the command against some other files on KL list,
  75.       which cannot be done from dir.dir file in DIR command.
  76.  
  77.    2. You can assign a key to issue a command against a file in KL list by
  78.       KEDIT's DEFINE command. By checking a return code from KL macro, you can
  79.       define the key to act only in KL list. (See #3 of "Installation" section
  80.       for detail.)
  81.  
  82.    3. You can have multiple KL lists on a KEDIT ring. DIR command can open
  83.       ONLY ONE list file on the KEDIT ring.
  84.  
  85.    4. KL macro can list files that have Hidden and/or System attributes set on,
  86.       but DIR command cannot. KL macro also displays file attributes, but DIR
  87.       command does not.
  88.  
  89.    5. KL macro can list files and subdirectories under a given path by /D
  90.       option, but DIR command cannot.
  91.  
  92.    6. KL macro supports for file specification of UNC format used in IBM LAN
  93.       Server.
  94.  
  95.    7. Path information on listed files is displayed on top of KL list, while
  96.       DIR command lists the one on the right side in dir.dir file, thus it does
  97.       not fit in screen width when path of the files get deeper.
  98.  
  99.  
  100. Installation
  101. ------------
  102.    1. Copy KL.KEX and KLDIR.KEX macros under any directory that KEDIT can
  103.       search for.
  104.       Copy KLUTIL.DLL to a directory that is listed in LIBPATH statement of
  105.       your CONFIG.SYS file.
  106.  
  107.    2. (Optional, but strongly recommended)
  108.       Define an 'Execute' key in your KEDIT profile. It is defined as follows:
  109.  
  110.          DEFINE  key_name 'macro KL /ENTER'
  111.  
  112.       If you have a KML file to define key assignment while in your profile
  113.       and want the key_name to work as both the Execute key in KL's session
  114.       and your original key in non-KL session, insert following line on top of
  115.       definitions for the key:
  116.  
  117.          'macro KL /ENTER'; if rc \=0 then Exit (rc-1)
  118.  
  119.       'KL /ENTER' does *NOTHING*, but sets Return Code 0 when it is invoked
  120.       from a non-KL session, and sets Return Code 1 when it is invoked from
  121.       a KL session, thus behavior of the key in a non-KL list is not modified.
  122.  
  123.    3. (Optional)
  124.       If you want a key to cause a OS/2 command executed against a file where
  125.       a cursor is placed on a KL list file, and want the same key to work as
  126.       usual when in non-KL session, insert following line on top of definitions
  127.       for the key in your KML file:
  128.  
  129.          'macro KL /EX  your_command_string '; if rc \=0 then Exit (rc-1)
  130.  
  131.       Example:
  132.          To define F4 key to upload the file to A-disk of host session A,
  133.          a part of your KML file for F4  should look as follows;
  134.  
  135.          :F4
  136.             'macro KL /EX  ALMCOPY / HA:= = A'; if rc \=0 then Exit (rc-1)
  137.             /* your original F4 definitions follow after this ... */
  138.  
  139.  
  140.    4. (Optional)
  141.       You can define keys to retrieve KL commands from a KL command buffer
  142.       backward or forward when the keys are pressed on a line of KL list, and
  143.       to retrieve commands from a KEDIT command buffer backward or forward
  144.       when the keys are pressed on a KEDIT command line.
  145.  
  146.       Example:  Define C-CURU and C-CURD macros in your KML file as follows;
  147.          :C-CURU
  148.            'macro KL /getcmd -' /*Get KL Cmd BkWrd*/;if rc \=0 then Exit (rc-1)
  149.            'sos retrieveB' /* Retrieve cmd from KEDIT cmd line */
  150.            Exit
  151.  
  152.          :C-CURD
  153.            'macro KL /getcmd +' /*Get KL Cmd ForWrd*/;if rc \=0 then Exit (rc-1)
  154.            'sos retrieveF' /* Retrieve cmd from KEDIT cmd line */
  155.            Exit
  156.  
  157.       Note: Though you can use "?n" command on a line of KL list alternatively,
  158.             these setting are more useful than ?n KL command.
  159.  
  160.    5. (Optional)
  161.       Create KL profile "KLPROF.KL" on the path specified by DEFPROFILE option
  162.       of KEDIT, if you want to customize KL macro. See "KL Profile" section
  163.       for more detail.
  164.       By setting KLTMP value in your KL profile to a directory on your VDISK,
  165.       you could make a performance up of KL macro.
  166.  
  167.    6. (Optional)
  168.       There are some usefull macros and a CMD file included in KL.ZIP file.
  169.       They are not required for KL macro function, but usability of KL macro
  170.       will be enhanced by them. For detail, see the last section of this file.
  171.  
  172.  
  173. Notice on KEDIT profile
  174. -----------------------
  175.   To use KL macro, it is recommended to issue 'SET REPROFILE ON' in your KEDIT
  176.   profile.
  177.  
  178.   KL macro turns off ID LINE and makes Reserved lines on top of screen by KEDIT
  179.   SET commands after it opens a list file using your KEDIT profile.
  180.   If your KEDIT profile does not issue 'SET REPROFILE ON' explicitly, an edit
  181.   session for a listed file has the same Reserved lines as in the KL list and
  182.   no ID LINE is displayed when the file is opened from the KL list.
  183.  
  184.   This is because KEDIT copies over the values of most SET options from a
  185.   current file, the KL list file in this case, to a newly opened file.
  186.  
  187.  
  188. Functions and Command syntax of KL macro
  189. ----------------------------------------
  190.  
  191.                                     ┌──────────────┐
  192.                    (a)                            │
  193.    ────KL─────┬───────file_spec──────┬────────┬──┴────────────┬──────
  194.                 │                      ├──/Dn───┤               │
  195.                 │                      └──/ADD-─┘               │
  196.                 │  (b)                                          │
  197.                 ├────────slash_cmd──────────────────────────────┤
  198.                 │                                               │
  199.                 │  (c)                                          │
  200.                 ├────────/ENTER-────────────────────────────────┤
  201.                 │                                               │
  202.                 │  (d)                                          │
  203.                 ├────────/EX───cmd_string-──────────────────────┤
  204.                 │                                               │
  205.                 │  (e)                                          │
  206.                 └────────/GETCMD───sign─────────────────────────┘
  207.  
  208.    Syntax (a):
  209.      Used to list files that meat a file specification, file_spec.
  210.      file_spec is a file specifier that is used in OS/2 DIR command's argument.
  211.      When /Dn, where n should be a number, is specified,  search for files
  212.      and sub-directories is applied to directory tree of n-level under
  213.      path of the file specifier. If n is omitted, it is default to 256. That
  214.      is, /D searches all the subdirectories in effect.
  215.  
  216.      file_spec may be UNC format like "\\serverid\netname\path" that is used
  217.      in IBM LAN Server. Note that KEDIT for OS/2 V5.00P3 does not support for
  218.      editing a file of UNC format. So you need another Editor like TEDIT to
  219.      edit such file from KL list.
  220.  
  221.      If /ADD is used from an existing KL list file, then a list of files is
  222.      appended to the last line of the KL list file instead of opening a new
  223.      KL list file on a KEDIT ring.
  224.  
  225.    Syntax (b):
  226.      Used to operate on KL list itself. An example is sorting of the list.
  227.      slash_cmd is a slash command that is described in the section 'Valid KL
  228.      command'.  Though this command syntax is used from KEDIT command line,
  229.      slash_cmd itself can be entered in Cmd Area of KL list file and is
  230.      executed by pressing an Execute key.
  231.  
  232.    Syntax (c):
  233.      It causes 'Execute Action' so that any KL commands typed from Cmd Area
  234.      of the KL list be executed from top to bottom of the list.
  235.      It's better to define an Execute key in processing KEDIT profile as
  236.      as described in the section 'Installation'.
  237.      For detail on 'Execute Action', see 'Issuing KL commands from a KL List'
  238.      section.)
  239.  
  240.    Syntax (d):
  241.      Used to assign a key a pre-defined KL command and to invoke the command
  242.      by pressing the key.
  243.      When the key is pressed on a line of the list,  cmd_string is executed as
  244.      if cmd_string is typed on the line and an Execute key is pressed.
  245.      It's useful to assign some keys commands that you use frequently.
  246.      (See also the step 3 of the section 'Installation'.)
  247.  
  248.      KL macro of this syntax does NOTHING when invoked from KEDIT command line.
  249.  
  250.    Syntax (e):
  251.      Used to assign a key to retrieve previous KL command backward or forward
  252.      from a KL command buffer when the key is pressed on a line of KL list.
  253.      sign should be "+" to retrieve forward, and anything else to do backward.
  254.  
  255.  
  256.    Note: KL macro of syntax (b), (c), (d), and (e) does NOTHING but sets return
  257.          code 0 if it is NOT invoked from a KL list file, and sets 1 if it is.
  258.                 ----------------------------------------
  259.          When KL macro of syntax (d) and (e) is invoked from a KEDIT command
  260.          line, it also  sets return code 0 without anything.
  261.          You can use RC from KL macro to get around KEDIT's global definition
  262.          of keys. (See step 2, 3, and 4 in the section 'Installation'.)
  263.  
  264.  
  265. Layout of a KL list file
  266. ------------------------
  267.    (a) File Specifier line:
  268.     File Specifier line is displayed on top of screen of the list file as
  269.     KEDIT reserved line(s). The line starts with '#N=' followed by the file
  270.     specifier given to the KL macro.  N is a one-digit number starting from
  271.     1 through 9. When KL is invoked with /ADD option from a list file of KL,
  272.     a list of files for the specifier is appended to the last line of the KL
  273.     list instead of opening a new list file, and another File Specifier line
  274.     is added below the last File Specifier Line.  (Refer to Syntax (a) of KL
  275.     macro.)
  276.  
  277.    (b) Field description line:
  278.     Field description line is also displayed below the last File Specifier line
  279.     as a KEDIT reserved line to show items of information about listed files.
  280.  
  281.    (c) Information lines:
  282.     Information lines are put in a file area, and each line consists of a
  283.     command space('Cmd Area') and information fields of the listed files.
  284.     The fields are FileName, Extension, Attribute, Size, DateTime, Specifier_ID,
  285.     and Relative_Path, from left to right.
  286.  
  287.     Default length of FileName and Extension fields are 20 and 8, respectively
  288.     (It can be changed by a KL Profile.)
  289.     If length of name of a file is longer than the FileName length, it is
  290.     truncated to fit in its space with the last character replaced with an
  291.     asterisk('*'). The same is true for extension of a file.
  292.     When your OS/2 is DBCS version, the truncation may also occurs at the
  293.     second last character. Therefore the truncation sring looks like '*',
  294.     '**', or '  *'.
  295.  
  296.     Date format of DateTime field is yyyy-mm-dd by default. It can be changed
  297.     to yy-mm-dd format by the KL profile.
  298.     Time format of DateTime field is hh:mm:ss by default. It can be changed
  299.     to hh:mm format by the KL profile.
  300.  
  301.     Specifier_ID for a file points to a File Specifier line, which indicates
  302.     a home path of the file, that is, a drive and subdirectory part of the
  303.     file specifier.  (Home path is a terminology used in this DOC.)
  304.  
  305.     Relative_Path indicates path of the file under the home path. This field
  306.     is blank when the KL list is shown without /D option.
  307.  
  308.     Path of a file in the list can be identified by home path and Relative_Path.
  309.  
  310.    (d) KEDIT command line:
  311.     KEDIT command line is given at bottom of the list file.
  312.  
  313.  
  314. Issuing KL commands from KL List
  315. --------------------------------
  316.    You can issue KL command, that is, DOS command, OS/2 command, and/or
  317.    KL specific command, directly from an information line of the list. You do
  318.    this by typing the command from Cmd Area of the line, and then pressing an
  319.    Execute key.  (Instead of the Execute key, you may issue "KL /ENTER" from
  320.    KEDIT's command line.)
  321.  
  322.    Even if the command is longer than Cmd Area field, you can just continue
  323.    typing over the information on the line. Maximum command length that you can
  324.    type is twice of physical screen width. (When the width is 80, the maximum
  325.    is 160.)
  326.  
  327.    Note, however, that you *MUST NOT* make such modifications of the
  328.    information in the line as follows:
  329.  
  330.      1) To delete all the characters right to the end of the command string.
  331.         In default KEDIT setting, it can be done by Ctrl-END key.
  332.      2) To change field position of the information in the line by DEL key or
  333.         INSERT key, for example.
  334.  
  335.    This is because the KL macro maintains the same information also at column
  336.    position starting at (2*physical_screen_width +1).
  337.  
  338.    A command string may contain slash character sequence to represent a drive
  339.    letter, file name, file extension, and so on, just like FILELIST EXEC or
  340.    FL.EXE. (See the section 'Slash Substitution' for more detail.)
  341.  
  342.    If a KEDIT command line includes a command when an Execute key is pressed,
  343.    the command is executed(after execution of prefix commands if existed in a
  344.    prefix command area, which is turned off by KL default,)  and any KL
  345.    commands are NOT executed even if they are typed in the list. To execute the
  346.    KL commands, press the Execute key again.
  347.  
  348.    If there is no KL commands typed in the list, pressing the Execute key moves
  349.    a cursor to a KEDIT command line. (If a prefix command existed in a prefx
  350.    command area, then it is executed.)
  351.  
  352.    When a KL command other than '=' and '?n' is executed, the KL command is put
  353.    into a retrieve buffer for a current KL list. Up to 20, KL default, of the
  354.    latest commands are kept in each KL session. The default value can be
  355.    changed by KL profile.
  356.  
  357.    When a command other than KL slash commands is executed from an information
  358.    line, a current drive and directory are changed to ones for the file in the
  359.    line before its execution. After the execution, they are restored to the
  360.    original drive and directory.
  361.  
  362.    You can type multiple commands and execute them by pressing an Execute key.
  363.    In this case they are processed from top to bottom of the list, though it
  364.    ignores all the commands after a KL slash command, if it is included. (For
  365.    a KL slash command, See 'Valid KL commands' section.)
  366.  
  367.    Note:
  368.      If a full specification of a file on KL list includes blank characters,
  369.      be careful to pass the file id to a KL command other than X, KL, and DEL.
  370.      You will need to enclose the file id with two double-quotes. (For example,
  371.      type "/" instead of /.)
  372.      For X, KL, and DEL, the enclosure by two double-quotes is done internally,
  373.      so you must not type the double-quotes for the KL commands.
  374.  
  375.  
  376. Valid KL commands
  377. -----------------
  378.    There are two types of KL commands to be entered in Cmd Area for execution:
  379.      (a) Slash commands
  380.      (b) Non-slash commands
  381.    The first ones operate for KL list file itself, and the second for a file
  382.    that a KL command is entered for. They are executed by pressing Execute key.
  383.    Note that they are NOT case sensitive except KL commands which are defined
  384.    in the KL profile by a user.
  385.  
  386.    (a) Slash commands
  387.        /R           ; Refresh a KL list.
  388.        /RG          ; Refresh a KL list with using length of filename and
  389.                       extension fields that have been change by recent /CG
  390.                       command.
  391.  
  392.        /C  <nl <el>>; Change locally field length of filename and/or extension.
  393.        /CG <nl <el>>; Change globally field length of filename and/or extension.
  394.                       "/C" changes locally length of filename and/or extension
  395.                       fields in a current KL list to nl and el, respectively.
  396.                       "/CG" makes this change permanent while in the current
  397.                       KEDIT session.
  398.  
  399.                       If nl and el is not specified, length of both fields get
  400.                       the ones that are set in KL profile.
  401.  
  402.                       If nl is a whole-number of REXX, a new length is set. If
  403.                       nl is prefixed by a sign(+ or -), the new length is the
  404.                       current length added by the signed nl.   When nl is not
  405.                       a whole number, the length is not changed.
  406.  
  407.                       As for el, it is the same as for nl except that it applies
  408.                       to extension field length.  If el is set to 0, filename
  409.                       and extension is *not* splitted in the current KL list.
  410.  
  411.        /S<+|->opts ;  Sort a KL list by fields specified opts, which is string
  412.                       of characters representing the fields. Valid characters
  413.                       are as follows:
  414.                         N -- Name of the file
  415.                         E -- Extension of the file
  416.                         A -- Attribute of the file
  417.                         S -- Size of the file
  418.                         D -- Date of the file
  419.                         I -- Specifier_ID of the file
  420.                         R -- Relative Path of the file
  421.                       If opts is prefixed by either + or -, sort order is
  422.                       Ascending or Descending, respectively. Default is Ascending.
  423.                       Note: If FELEN is 0 in a KL profile or el is 0 in "/R"
  424.                             command, 'N' specifies both filename and extension,
  425.                             and 'E' gets meaningless.
  426.  
  427.        /F<+|->      ; Move to a normal file on the Ring.
  428.                       Option '+', default, indicates Forward, and '-' Backward.
  429.        /L<+|->      ; Move to a KL list file on the Ring.
  430.                       Option '+', default, indicates Forward, and '-' Backward.
  431.        /Q           ; Quit from KL List session
  432.  
  433.    (b) Non-Slash commands
  434.         =           ; Execute a last command for the file
  435.         ?           ; Retrieve a last command string
  436.         ?n          ; Retrieve a command string n times before.  ( ?1 = ? )
  437.         X   dirfile ; Open the file that is added to a KEDIT Ring if dirfile is
  438.                       not a directory. If so, a new KL list is created for
  439.                       the directory.
  440.                       (XEDIT, K, or KEDIT can also be used instead of X.)
  441.         KL  dirfile ; Open a new KL list file with dirfile as an argument of
  442.                       the KL macro, even if dirfile indicates a file.
  443.         MAC macstr  ; Character string of macstr after slash substitution is
  444.                       executed as a KEDIT macro from the KL list file.
  445.                       (MACRO can also be used instead of MAC.)
  446.                       Example:
  447.                         mac msg /d/p
  448.                           will display character string after slash substitution
  449.                           is made for /d/p in KEDIT message area. Useful to
  450.                           check if the substitution is what you expect or not.
  451.                         mac cmsg /d/p/n
  452.                           will put character string into KEDIT command line
  453.                           after slash substitution is made for /d/p/n.
  454.         R           ; Rename the file or the directory. (REN can also be used.)
  455.         DEL         ; Delete the file or Remove the directory.
  456.                       (DELETE can also be used.)
  457.         DOS  cmdstr ; Execute cmd for the file via Kedit's DOS command
  458.         DOSN cmdstr ; Execute cmd for the file via Kedit's DOSNowait command
  459.         DOSQ cmdstr ; Execute cmd for the file via Kedit's DOSQuiet command
  460.  
  461.         Any other character string that are not defined above or in KLCMD
  462.         records of the KL profile are executed through Kedit's DOSNowait
  463.         command, which is a default of KL.KEX and can be changed by the profile.
  464.  
  465.  
  466. Slash Substitution
  467. ------------------
  468.    If a command string typed from Cmd Area of KL list include following slash
  469.    character sequence and an Execute key is pressed, a Slash Substitution is
  470.    made in the strings and then the substituted strings will be executed.
  471.    The slash character sequence and its definition is as follows.
  472.  
  473.    /N   ; file name of the file
  474.    /E   ; file extension of the file
  475.    /F   ; file name of the file with extension
  476.    /D   ; drive letter of the file or "\\" for UNC specification
  477.    /H   ; home path specification of the file        (*1)
  478.    /P   ; path specification of the file             (*1)
  479.    /R   ; RelDir specification of the file           (*1)
  480.    /O   ; escape substitution sequence
  481.    //   ; substitute a slash character(/)
  482.    /    ; full specification of the file             (*2)
  483.  
  484.  
  485.    Note: *1 It always ends with '\'.
  486.          *2 No blank after a single slash is required. When a slash is followed
  487.             by character string that does not begin with N, E, F, D, H, P, R,
  488.             O, or another slash(/), then the string is concatenated to the
  489.             full specification of the file.
  490.  
  491.    When there is no slash characters in the command string, a blank and a slash
  492.    character are appended to the end of the string before the substitution.
  493.    If you do not want the blank and the slash to be appended to the command
  494.    string, place /O anywhere in the command string.
  495.  
  496.  
  497. KL Profile
  498. ----------
  499.    You can change some of KL default settings by creating your KL profile
  500.    "KLPROF.KL" on the path specified by DEFPROFILE option of KEDIT command or
  501.    of KEDIT environment variable. Unless the profile exist on the path, it is
  502.    not processed by KL macro.
  503.  
  504.    Format of the profile is;
  505.     . Comment line must begin with a semicolon(;).
  506.     . Non-comment line must take following form:
  507.           keyword   parameter
  508.  
  509.    Valid keywords, which is case-insensitive, are as follows:
  510.  
  511.       FNLEN    ; Sets length of file name field in KL list
  512.       FELEN    ; Sets length of extension field in KL list
  513.       YEAR2000 ; Date format. 0 for yy-mm-dd. Any others for yyyy-mm-dd.
  514.       TIMESEC  ; Time format. 0 for hh:mm format. Any others for hh:mm:ss.
  515.       BUFLEN   ; Sets number of entries in a retrieve buffer for each KL session.
  516.       XMODE    ; Changes a default shell command DOSNowait for non-slash KL
  517.                  commands to whatever you specified. It would be DOS, DOSNowait,
  518.                  DOSQuiet, or your KEDIT macro name that acts as a shell like
  519.                  DOS/DOSN/DOSQ commands.
  520.       INITEXIT ; Specifies an User's Exit that KL macro calls after a list of
  521.                  files is displayed. Parameter should be a valid KEDIT command
  522.                  or macro. The User Exit is also called when /R KL command is
  523.                  executed.
  524.       KLCMD    ; Defines a new KL command that can be invoked from KL list.
  525.                  Parameter for KLCMD keyword is a new KL command name followed
  526.                  by blank(s) and a real command string which will be executed
  527.                  as a KEDIT command.
  528.  
  529.                  If you append a semi-colon(;) to the end of the command string
  530.                  and an another string follows after the semi-colon, the string
  531.                  is treated as a 'trailing option' for the KL command.
  532.                  The trailing option is dynamically appended to arguments to the
  533.                  KL command when it is executed from KL list.
  534.                  Typical example of its use is a re-direct of output from the KL
  535.                  command to NUL device. (See 'cp' KL command in KLprof.smp file
  536.                  in the package.)
  537.  
  538.                  Note that the new KL command is Case-Sensitive.
  539.  
  540.       RSVLINE  ; Displays an additional reserved line in a KL list file.
  541.                 The Value must be valid operand of 'SET RESERVED' command.
  542.                 Useful to display information of your key assignment in KL list.
  543.                 (There may be multiple RSVLINE lines.)
  544.  
  545.       KLTMP    ; Specifies a directory of a temporary file that KLDIR macro
  546.                  creates. Path of the directory must be fully specified with
  547.                  starting a drive letter.
  548.                  Otherwise it is assumed to be an environment variable name
  549.                  that specifies the path.
  550.  
  551.                  If KLTMP is not specified, or KL macro cannot create a
  552.                  temporary file in a directory specified by KLTMP keyword,
  553.                  it tries to use root directory of boot drive and then other
  554.                  local drives.
  555.  
  556.  
  557.    Notes:
  558.       1) KL macro does not check validity of parameter for each keyword.
  559.       2) If sum of FNLEN and FELEN values exceeds 28, a Field description line
  560.          would be truncated when screen width is 80 and when year2000=1 and
  561.          timesec=0 are specified.
  562.  
  563.  
  564. Other useful staffs for KL macro
  565. --------------------------------
  566.    1. KL.CMD (with ProfileQ.kex)
  567.  
  568.       These are front-end programs to list files and directories from OS/2
  569.       command line. In ProfileQ.kex, "profile.kex" is assumed to be your
  570.       KEDIT profile macro. If it is not yours, modify it.
  571.  
  572.    2. KLRing.kex
  573.  
  574.       This is a KEDIT Ring List macro that lists normal files and KL list files
  575.       in a newly opened Ring List file. Each line of the file represents a file
  576.       on the KEDIT ring. A line that has "<KL>" string is for a KL list file on
  577.       the ring.
  578.  
  579.       With this macro you can list files in the ring and switch to a file
  580.       directly. Operational keys are predefined in the macro, and you do not
  581.       need modify your KEDIT KML file. Peek header part of the macro for
  582.       more detail.
  583.  
  584.    3. KLMouse.kex and KLMouse.doc
  585.  
  586.       With KLMouse.kex macro installed, you can go through the KEDIT ring
  587.       backward and forward with clicking on a File Specifier line of KL list
  588.       by Mouse buttons. See KLMouse.doc for the installation.
  589.