From:	SMTP%"RELAY-INFO-VAX@CRVAX.SRI.COM" 12-DEC-1993 14:41:40.10
To:	EVERHART
CC:	
Subj:	RE: re: $ SET COMMAND vs Foreign command. A final note

Message-Id: <9312051239.AA25798@uu3.psi.com>
Date: Sun,  5 Dec 93 07:38:20 EDT
From: Jerry Leichter <leichter@lrw.com>
To: INFO-VAX@SRI.COM
Subject: RE: re: $ SET COMMAND vs Foreign command. A final note
X-Vms-Mail-To: UUCP%"engelhardt@AL0VSD.CERN.CH"

	[Discussing CLI options]
	>  Another bizarre one is "impcat".

	Other undocumented ones are (we allready mentioned
	`cliflags(foreign)'):

	    1.  cliflags(abbreviate)
	    2.  cliflags(immediate)
	    3.  cliflags(nostatus)
	    4.  cliflags(mcrignore)
	    5.  cliflags(mcroptdelim)

	Number 1 to 4 I can guess (and 1-3 are only used by cliroutines), but
	what the h*ll does `cliflags(mcroptdelim)' (used by SET) ??????????

	...Undocumented types include

        $device         (Yup! It is a device)
        $directory      (Guess..)
        $infile
        $inlog          (Logical names)
        $insym          (Symbol)
        $outfile
        $outlog         (Logical names)
        $process        ([node::]processname ??)
        $uic            (Didn't this use to be documented??)

	No verb seems to use a $outsym type.  [See below; it does exist -- J]

	Documentation doesn't seem to be DECs strongest side..... :-6

Well, they've made a deliberate choice to document some things and not others.

Rather than keep guessing, I just had a look at the VERB.H file from Joe
Meadows's VERB program, which we are probably all using to find examples of
these things anyway.  When Mr. Meadows extracted the definitions from the VMS
listings, he extracted the comments as well:

   This file was converted (by hand) from the microfiche CLITABDEF.SDL
   in the DCL facility.

   Command flags:
      unsigned cmd_v_abbrev:1;	/* verb may be abbreviated non-uniquely */
      unsigned cmd_v_nostat:1;	/* command does not return a status */
      unsigned cmd_v_foreign:1;	/* command requests unparsed line */
      unsigned cmd_v_immed:1;	/* immediate command, uses internal parsing */
      unsigned cmd_v_mcrparse:1;/* MCR style (output = input) */
      unsigned cmd_v_parms:1;	/* parameter info is relevent */
      unsigned cmd_v_quals:1;	/* qualifier info is relevent */
      unsigned cmd_v_disallows:1;/* Disallow info is relevent */

   Entity flags:
      unsigned ent_v_val:1;	/* can take a value */
      unsigned ent_v_neg:1;	/* can be negated with NO */
      unsigned ent_v_deftrue:1;	/* present by default */
      unsigned ent_v_batdef:1;	/* present by default if batch */
      unsigned ent_v_valreq:1;	/* a value is required */
      unsigned ent_v_list:1;	/* can be a list of values */
      unsigned ent_v_concat:1;	/* can be concatenated list */
      unsigned ent_v_impcat:1;	/* implicit concatenated list (old CLI only)*/
      unsigned ent_v_verb:1;	/* global placement */
      unsigned ent_v_parm:1;	/* local placement; both means positional */
      unsigned ent_v_mcroptdelim:1;	/* MCR SET UIC Kludge */
      unsigned ent_v_mcrignore:1;	/* MCR Ignores this entity */

   Types (not, unfortunately, commented):
      #define ENT_K_USER_DEFINED	0
      #define ENT_K_INFILE            1
      #define ENT_K_OUTFILE           2
      #define ENT_K_NUMBER            3
      #define ENT_K_PRIVILEGE         4
      #define ENT_K_DATETIME          5
      #define ENT_K_PROTECTION        6
      #define ENT_K_PROCESS           7
      #define ENT_K_INLOG             8
      #define ENT_K_OUTLOG            9
      #define ENT_K_INSYM             10
      #define ENT_K_OUTSYM            11
      #define ENT_K_NODE              12
      #define ENT_K_DEVICE            13
      #define ENT_K_DIR               14
      #define ENT_K_UIC               15
      #define ENT_K_RESTOFLINE        16
      #define ENT_K_PARENVALUE        17
      #define ENT_K_DELTATIME         18
      #define ENT_K_QUOTEDSTRING      19
      #define ENT_K_FILE              20
      #define ENT_K_EXPRESSION        21
      #define ENT_K_TEST1             22
      #define ENT_K_TEST2             23
      #define ENT_K_TEST3             24
      #define ENT_K_ACL               25
      #define ENT_K_MAX_VALTYPE	25

							-- Jerry