“Com” Interface Procedure

  logical procedure qedit'usercommand     (string,len,userspace,procspace);     byte array string;     integer len;     array userspace,procspace;     option external;  

The USERCOMMAND procedure allows the user to scan command input lines and change commands within the line. This procedure is called each time a command input line is read from the terminal, from a usefile, or from the Init procedure.

Parameters of “Com”

STRING is a byte array containing up to 256 characters of a command input line. If the line contains multiple commands, they must be separated by semicolons. Upshifting has not yet occurred, nor is there a terminating carriage return. Auto-modify (special character at the end of the line) and Before have been processed, trailing blanks have been eliminated, the command line has been echoed, and the line has been saved as the “last command”. MPE commands have not been intercepted yet. They are passed to the interface. A few special commands from usefiles such as COMPPRI are never sent to the interface command. The user interface procedure is also allowed to use two more bytes (i.e., a total of 258) beyond the length of the STRING for internal purposes, such as inserting a terminating carriage return.

LEN is the number of characters in STRING. If the user procedure changes the length of the command line, it must ensure that LEN is updated. In no case can LEN exceed 256 characters (Qedit abort #113).

USERSPACE and PROCSPACE: same as above (Init).

Return value: FALSE rejects the command line; TRUE causes it to be processed by Qedit.

"Com" Interface Procedure