THE

The following lists the valid variables that can be queried and also shows what values are returned. For both QUERY and STATUS , the values are concatenated together and displayed as a single line. For EXTRACT the REXX variables that are set are defined. The capitalised portion of the variable is the minimum abbreviation recognised.

The bracketed text at the end of the description indicates from which commands a valid response will be supplied.
(Q-Query, E-Extract, M-Modify and S-Status).

ALT
The number of alterations to the current file since the last SAVE or automatic save via SET AUTOSAVE . Can be set by SET ALT
(QES)

alt.0- 2
alt.1- Number of alterations since last SAVE or autosave
alt.2- Number of alterations since last SAVE

ARBchar
The status of SET ARBCHAR and the ARBCHAR characters.
(QEMS)

arbchar.0- 3
arbchar.1- ON|OFF
arbchar.2- multiple match character
arbchar.3- single match character

AUTOCOLOR [*|mask]
AUTOCOLOUR [*|mask]
The status of auto colouring for the supplied file mask or "magic number". Set by SET AUTOCOLOR or SET AUTOCOLOUR . The variable name is spelt the save way that the option is specified.
(QES)

autocolor.0- 3
autocolor.1- filemask or "magic number"
autocolor.2- name of parser associated or "NULL"
autocolor.3- MAGIC (if "magic number") or empty

If no file mask or "magic number" is supplied as a parameter or * is passed, details of all parser mappings are set as follows:

autocolor.0- number of parser mappings
autocolor.1- first mapping (mask parser [MAGIC])
autocolor.n- nth mapping

AUtosave
The status of SET AUTOSAVE and/or the frequency setting.
(QEMS)

autosave.0- 1
autosave.1- OFF|n

AUTOSCroll
The status of SET AUTOSCROLL and/or the frequency setting.
(QEMS)

autoscroll.0- 1
autoscroll.1- OFF|HALF|n

BACKup
Indicates if a .bak file is kept after editing.
(QEMS)

backup.0- 1
backup.1- ON|OFF|TEMP|KEEP|INPLACE

BEEP
Indicates if the bell is sounded on display of error messages. Set by SET BEEP
(QEMS)

beep.0- 1
beep.1- ON|OFF

BLOCK
Returns information about the marked block , if any.
(QE)

block.0- 6 if a marked block exists, or 1 for NONE
block.1- type of marked block (LINE|BOX|NONE|WORD|COLUMN|CUA)
block.2- line number of start of block
block.3- column number of start of block
block.4- line number of end of block
block.5- column number of end of block
block.6- file name containing marked block

CASE
The settings related to the CASE of characters entered, searched for, changed and sorted. Set by SET CASE
(QEMS)

case.0- 6
case.1- MIXED|UPPER|LOWER
case.2- RESPECT|IGNORE
case.3- RESPECT|IGNORE
case.4- RESPECT|IGNORE
case.5- MIXED|UPPER|LOWER
case.6- MIXED|UPPER|LOWER

CLEARErrorkey
Returns the key that clears the message line . If no specific key is defined, ie ALL keys perform a reset, then * is returned. Set by SET CLEARERRORKEY .
(QEMS)

clearerrorkey.0- 1
clearerrorkey.1- keyname|*

CLEARScreen
Indicates if the screen is cleared on exit from THE. Set by SET CLEARSCREEN .
(QEMS)

clearscreen.0- 1
clearscreen.1- ON|OFF

CLOCK
Indicates if the time is displayed on the status line. Set by SET CLOCK .
(QEMS)

clock.0- 1
clock.1- ON|OFF

CMDArrows
Returns the settings for arrow key behaviour on command line . Set by SET CMDARROWS .
(QEMS)

cmdarrows.0- 1
cmdarrows.1- RETRIEVE|TAB

CMDline
The settings for the command line . Set by SET CMDLINE .
(QEMS)

If CMDLINE OFF

cmdline.0- 1
cmdline.1- OFF

If CMDLINE ON, BOTTOM or TOP

cmdline.0- 3
cmdline.1- ON|TOP|BOTTOM
cmdline.2 *- line number within window of command line
cmdline.3 *- contents of command line

* these values are only returned with EXTRACT

COLOR [*|area]
COLOUR [*|area]
Displays the current color settings for the file. Set by SET COLOR or SET COLOUR . The variable name is spelt the save way that the option is specified.

With the [ * ] option, (or no option), returns color settings for all areas of the screen.
(QE)

color.0- 32
color.1- FILEAREA followed by its color
color.2- CURLINE followed by its color
color.3- BLOCK followed by its color
color.4- CBLOCK followed by its color
color.5- CMDLINE followed by its color
color.6- IDLINE followed by its color
color.7- MSGLINE followed by its color
color.8- ARROW followed by its color
color.9- PREFIX followed by its color
color.10- CPREFIX followed by its color
color.11- PENDING followed by its color
color.12- SCALE followed by its color
color.13- TOFEOF followed by its color
color.14- CTOFEOF followed by its color
color.15- TABLINE followed by its color
color.16- SHADOW followed by its color
color.17- STATAREA followed by its color
color.18- DIVIDER followed by its color
color.19- RESERVED followed by its color
color.20- NONDISP followed by its color
color.21- HIGHLIGHT followed by its color
color.22- CHIGHLIGHT followed by its color
color.23- THIGHLIGHT followed by its color
color.24- SLK followed by its color
color.25- GAP followed by its color
color.26- CGAP followed by its color
color.27- ALERT followed by its color
color.28- DIALOG followed by its color
color.29- BOUNDMARKER followed by its color
color.30- FILETABS followed by its color
color.31- FILETABSDIV followed by its color
color.32- CURSORLINE followed by its color

With the [ area ] option, returns color settings for the specified area of the screen.
(QE)

color.0- 1
color.1- area followed by its color

COLORING
COLOURING
Displays the current color settings for the file. The variable name is spelt the same way that the option is specified. Set by SET COLORING or SET COLOURING .
(QEMS)

coloring.0- 3
coloring.1- ON|OFF
coloring.2- AUTO|parser (if coloring.1 is ON)
coloring.3- parser (if coloring.1 is ON)

COLUMN
Displays the current value of the focus column.
(QE)

column.0- 1
column.1- Column number of focus column

COMPAT
The settings for the compatibility mode. Set by SET COMPAT .
(QEMS)

compat.0- 3
compat.1- THE|XEDIT|KEDIT|KEDITW|ISPF (compatibility LOOK)
compat.2- THE|XEDIT|KEDIT|KEDITW|ISPF (compatibility FEEL)
compat.3- THE|XEDIT|KEDIT|KEDITW|ISPF (compatibility KEYS)

CTLchar [*|char]
The definitions of control characters that affect the display of reserved line s. Set by SET CTLCHAR .
(QES)

With the [ * ] option, (or no option), returns a list of all control characters that have been defined.

ctlchar.0- 3
ctlchar.1- ON|OFF
ctlchar.2- The character defined as the escape character.
ctlchar.3- List of defined control characters, if any.

With the [ char ] option, returns color settings for the specified control character.

ctlchar.0- 1 if ctlchar.1 is OFF, otherwise 2
ctlchar.1- PROTECT|NOPROTECT|OFF
ctlchar.2- The color defined for this control character.

CURline
The value and position of the current line within the current file. Set by SET CURLINE . Also provides the contents of the focus line and an indication of the status of the focus line for the current session.
(QEMS)

With EXTRACT command:

curline.0- 6
curline.1- curline setting
curline.2- line number within window of current line
curline.3- contents of focus line
curline.4- ON|OFF (ON if line has changed or been added this session)
curline.5- OLD|OLD CHANGED|NEW|NEW CHANGED
curline.6- selection level of focus line (same as select.1)

Note: If SET COMPAT (feel) is set to XEDIT, curline.3 will always return the contents of the current line .

The setting of curline.5 is as follows: OLD: The line existed in its current form in the file before THE began. OLD CHANGED: The line was in the file before THE started, but has been changed during the current editing session. NEW: The line has been added to the file during the current edit session and not been changed. NEW CHANGED: The line has been added to the file during the current editing session and has been changed.

With QUERY , MODIFY and STATUS commands:

curline.0- 1
curline.1- curline setting

CURSor
The position of the cursor within the displayed screen and file at the time the EXTRACT /CURSOR/ is issued and the position of the cursor at the time the macro was issued. If the cursor is not in the filearea , then line and column values will be set to -1.
(QE)

cursor.0- 8
cursor.1- line number of cursor in screen (current)
cursor.2- column number of cursor in screen (current)
cursor.3- line number of cursor in file (current)
cursor.4- column number of cursor in file (current)
cursor.5- line number of cursor in screen (original)
cursor.6- column number of cursor in screen (original)
cursor.7- line number of cursor in file (original)
cursor.8- column number of cursor in file (original)

CURSORSTay
The setting for the behaviour of the cursor after a file scroll. Set by SET CURSORSTAY .
(QEMS)

cursorstay.0- 1
cursorstay.1- ON|OFF

DEFINE [key|*]
Returns details about the commands associated with a keyboard key or mouse key. The details returned are the same as those displayed by the SHOWKEY command. Set by DEFINE .

Three forms are available:

With no parameter or * , all details about all key and mouse definitions are returned. (Similar to SHOWKEY ALL)
(E)

define.0- number of all definitions
define.1- command assigned to the 1st key or mouse
define.n- command assigned to the nth key or mouse

With a key mnemonic specified, details about this one key are returned. The displayed output from a QUERY DEFINE is in the same format as for the DEFINE command.
(QE)

define.0- 1
define.1- command assigned to the key

DEFSORT
Specifies the order in which files are sorted in the DIR.DIR file. Set by SET DEFSORT .
(QEMS)

defsort.0- 2
defsort.1- DIRECTORY|NAME|SIZE|TIME|DATE|OFF
defsort.2- ASCENDING|DESCENDING

DIRFILEID
The value of the path and filename of the focus line in a DIR.DIR file.
(E)

dirfileid.0- 2
dirfileid.1- full path of directory
dirfileid.2- file name at focus line

DIRInclude
The value of the file type masks currently in place for display in DIR.DIR file. Set by SET DIRINCLUDE .
(QEMS)

dirinclude.0- 1
dirinclude.1- list of file types shown in DIR.DIR file

DISPlay
Indicates the range of selection levels current. Set by SET DISPLAY .
(QEMS)

display.0- 2
display.1- display low value
display.2- display high value

ECOLOR [*|category]
ECOLOUR [*|category]
Displays the current color settings for syntax highlighting. Set by SET ECOLOR or SET ECOLOUR . The variable name is spelt the save way that the option is specified.

With the [ * ] option, (or no option), returns color settings for all categories.
(QE)

ecolor.0- 35
ecolor.1- A followed by its color
ecolor.2- B followed by its color
ecolor.3- C followed by its color
ecolor.4- D followed by its color
ecolor.5- E followed by its color
ecolor.6- F followed by its color
ecolor.7- G followed by its color
ecolor.8- H followed by its color
ecolor.9- I followed by its color
ecolor.10- J followed by its color
ecolor.11- K followed by its color
ecolor.12- L followed by its color
ecolor.13- M followed by its color
ecolor.14- N followed by its color
ecolor.15- O followed by its color
ecolor.16- P followed by its color
ecolor.17- Q followed by its color
ecolor.18- R followed by its color
ecolor.19- S followed by its color
ecolor.20- T followed by its color
ecolor.21- U followed by its color
ecolor.22- V followed by its color
ecolor.23- W followed by its color
ecolor.24- X followed by its color
ecolor.25- Y followed by its color
ecolor.26- Z followed by its color
ecolor.27- 1 followed by its color
ecolor.28- 2 followed by its color
ecolor.29- 3 followed by its color
ecolor.30- 4 followed by its color
ecolor.31- 5 followed by its color
ecolor.32- 6 followed by its color
ecolor.33- 7 followed by its color
ecolor.34- 8 followed by its color
ecolor.35- 9 followed by its color

With the [ category ] option, returns color settings for the specified syntax highlighting category.
(E)

color.0- 1
color.1- [ category ] followed by its color

EFILEId
The original full filename of the current file. See SET FILENAME for a full description of the components of a file name. EFILEID.2 differs from the value returned by KEDIT.
(QE)

efileid.0- 2
efileid.1- Original full file name.
efileid.2- Original file name used to edit the file.

EOF
Indicates if the current line is on the Bottom-of-File line .
(QES)

eof.0- 1
eof.1- ON|OFF

EOLout
Returns the value of the end-of-line character(s).
(QEMS)

eolout.0- 1
eolout.1- LF|CRLF|CR|NONE

EQUIVChar
Returns the equivalence character. Set by SET EQUIVCHAR .
(QEMS)

equivchar.0- 2
equivchar.1- equivalence character

ETMODE
Indicates if extended display mode is set. Set by SET ETMODE .
(QEMS)

etmode.0- 2
etmode.1- ON|OFF
etmode.2- character ranges if not all ON or OFF

FExt
The extension of the current file. The characters following the trailing . character. Same as FType.
(QEM)

fext.0- 1
fext.1- File extension.

FIELD
Details about the current cursor field.
(QE)

field.0- 4
field.1- contents of the cursor field
field.2- character under the cursor
field.3- column position in the cursor field
field.4- COMMAND|TEXT|PREFIX

FIELDWORD
Details about the word closest to the cursor in the current cursor field.
(E)

fieldword.0- 2
fieldword.1- word as defined by SET WORD ALPHANUM
fieldword.2- word as defined by SET WORD NONBLANK

FILEName
The full filename of the current file, including any file extension.
(QEM)

filename.0- 1
filename.1- Full file name.

FILESTATUS
Details about the status of the file being edited.
(QEM)

filestatus.0- 3
filestatus.1- sharing mode - NONE
filestatus.2- access type - READONLY|READWRITE
filestatus.3- end of line - CR/LF/CRLF/NONE

FMode
The file mode of the current file. Under Un*x, this will always return an empty string. Other platforms returns the first character of the file s path. ie the disk drive.
(QEM)

fmode.0- 1
fmode.1- File mode.

FName
The fname portion of the current file. See SET FILENAME for a full description of the components of a file name.
(QEM)

fname.0- 1
fname.1- File name.

FPath
The path name of the current file. This includes a trailing directory separator.
(QEM)

fpath.0- 1
fpath.1- File path.

FType
The extension of the current file. The characters following the trailing . character.
(QEM)

ftype.0- 1
ftype.1- File extension.

FULLFName
Indicates if the fully qualified filename is displayed on the idline .
(QEMS)

fullfname.0- 1
fullfname.1- ON|OFF

GETENV variable
The value of the supplied environment variable or ***invalid*** if the variable does not exist. On platforms other than Unix the supplied variable name is uppercased before obtaining the environment variable value.
(E)

getenv.0- 1
getenv.1- value of variable

HEX
Indicates if hexadecimal values in commands are interpreted as hexadecimal values or not. Set by SET HEX .
(QEMS)

hex.0- 1
hex.1- ON|OFF

HEADer
Returns details about which sections of a TLD file are to be applied to the current view. Do not rely on the position of a particular header in the returned stem. Set by SET HEADER .
(QE)

header.0- 11
header.1- section ON|OFF
header.2- section ON|OFF
header.3- section ON|OFF
header.4- section ON|OFF
header.5- section ON|OFF
header.6- section ON|OFF
header.7- section ON|OFF
header.8- section ON|OFF
header.9- section ON|OFF
header.10- section ON|OFF
header.11- section ON|OFF

HEXDISPlay
Indicates if the current character is displayed on the status line . Set by SET HEXDISPLAY .
(QEMS)

hexdisplay.0- 1
hexdisplay.1- ON|OFF

HEXShow
Returns details of HEXSHOW placement. Set by SET HEXSHOW .
(QEMS)

hexshow.0- 2
hexshow.1- ON|OFF
hexshow.2- line displaying first hexshow line

HIGHlight
Returns details of HIGHLIGHT settings. Set by SET HIGHLIGHT .
(QEMS)

highlight.0- 1 or 3 (if highlight.1 = SELECT)
highlight.1- OFF|ALTERED|TAGGED|SELECT
highlight.2- minimum (or only) selection level for SELECT
highlight.3- maximum selection level for SELECT

IDline
Indicates if the idline is displayed for a file. Set by SET IDLINE .
(QEMS)

idline.0- 1
idline.1- ON|OFF

IMPMACro
Indicates if implied macro processing is on or off. Set by SET IMPMACRO .
(QEMS)

impmacro.0- 1
impmacro.1- ON|OFF

IMPOS
Indicates if implied operating system command processing is on or off. Set by SET IMPOS or SET IMPCMSCP .
(QEMS)

impos.0- 1
impos.1- ON|OFF

INPUTMode
Indicates the inputmode for the current view. Set by SET INPUTMODE .
(QEMS)

inputmode.0- 1
inputmode.1- OFF|FULL|LINE

INSERTmode
Indicates if currently in insert mode or overstrike mode. Set by SET INSERTMODE .
(QEMS)

insertmode.1- 1
insertmode.1- ON|OFF

LASTmsg
Return the text of the last error message generated.
(E)

lastmsg.0- 1
lastmsg.1- text of last message.

LASTKEY [n]
Return information about the last key, or the nth last key pressed.
(E)

lastkey.0- 4
lastkey.1- name of the key.
lastkey.2- character associated with the key (if applicable)
lastkey.3- curses mnemonic code
lastkey.4- shift status. see READV for details

LASTOP [command|*]
Returns the last operand from selected commands. command can be one of ALter, Change, CLocate COUnt, Find, Locate SCHange or TFind.
(QE)

EXTract /LASTOP command/ sets:

lastop.0- 1
lastop.1- command and its last operand

If no command is supplied as a parameter or * is passed, details of all last operands are set as follows:

lastop.0- 9
lastop.1- "alter" and its last operand (not implemented)
lastop.2- "change" and its last operand
lastop.3- "clocate" and its last operand (not implemented)
lastop.4- "count" and its last operand (not implemented)
lastop.5- "find" and its last operand
lastop.6- "locate" and its last operand
lastop.7- "schange" and its last operand
lastop.8- "tfind" and its last operand (not implemented)
lastop.9- "search" and its last operand

LASTRC
Returns the return code from last command issued from command line .
(QES)

lastrc.0- 1
lastrc.1- Last return code.

LENgth
Length of the current line.
(QES)

length.0- 1
length.1- Length of current line.

LIne
Line number of focus line in current file; or current line if SET COMPAT (feel) is set to XEDIT.
(QES)

line.0- 1
line.1- Line number

LINEFLAG
Returns information about the flags set on the focus line , or current line if SET COMPAT (feel) is set to XEDIT.
(QEMS)

lineflag.0- 3
lineflag.1- NEW|NONEW
lineflag.2- CHANGE|NOCHANGE
lineflag.3- TAG|NOTAG

LINENd
Indicates if multiple commands allowed on command line and the delimiter. Set by SET LINEND .
(QEMS)

linend.0- 2
linend.1- ON|OFF
linend.2- delimiter

LScreen
Displays the size of the current screen and window. Also shows the upper left corner of the window.
(QE)

lscreen.0- 6
lscreen.1- height of current screen
lscreen.2- width of current screen
lscreen.3- screen line of upper left corner of screen
lscreen.4- screen column of upper left corner of screen
lscreen.5- height of display
lscreen.6- width of display

MACRO
Indicates if macros are executed before commands. Set by SET MACRO .
(QEMS)

macro.0- 1
macro.1- ON|OFF

MACROExt
The current setting for a macro s file extension. Set by SET MACROEXT .
(QEMS)

macroext.0- 1
macroext.1- Default file extension

MACROPath
The path that THE looks for by default for macro files. Set by SET MACROPATH .
(QEMS)

macropath.0- 1
macropath.1- Path for macro files.

MARgins
The settings for left and right margins and paragraph indent. Set by SET MARGINS .
(QEMS)

margins.0- 3
margins.1- left column
margins.2- right column
margins.3- indent value (column or offset from left margin)

MONITOR
Indicates if the combination of monitor and the curses package supports colour. If the curses package supports colour, then monitor.1 is set to COLOR and monitor.2 can be COLOR or MONO depending on whether the monitor supports colour. If monitor.1 is MONO then monitor.2 will also be set to MONO.
(QE)

monitor.0- 2
monitor.1- COLOR|MONO
monitor.2- COLOR|MONO

MOUSE
Indicates if the mouse is suppoted as an input device. Set by SET MOUSE .
(QEMS)

mouse.0- 1
mouse.1- ON|OFF

MSGLine
Returns details of where the message line is displayed. Set by SET MSGLINE .
(QEMS)

msgline.0- 4
msgline.1- ON
msgline.2- line position of message line
msgline.3- number of message lines available
msgline.4- OVERLAY (returned for compatibility reasons)

MSGMode
Indicates if messages are suppressed. Set by SET MSGMODE .
(QEMS)

msgmode.0- 1
msgmode.1- ON|OFF

NBFile
Returns with the number of files currently in the ring .
(QES)

nbfile.0- 1
nbfile.1- Number of files in ring

NBScope
Returns with the number of lines currently in scope. If SCOPE ALL is in effect, this will be the same number as SIZE.
(QE)

nbscope.0- 1
nbscope.1- Number of lines in scope
nbscope.2- Line number of focus line in scope

NEWLines
Indicates if NEWLINES variable is set to LEFT or ALIGNED. Set by SET NEWLINES .
(QEMS)

newlines.0- 1
newlines.1- ALIGNED|LEFT

NONDisp
Returns the character that is displayed for extended characters that are not displayed. Set by SET NONDISP .
(QEMS)

nondisp.0- 1
nondisp.1- char

NUMber
Indicates if line numbers are displayed in the prefix area. Set by SET NUMBER .
(QEMS)

number.0- 1
number.1- ON|OFF

PAGEWRAP
Indicates if the scrolling the file view using the FORWARD and BACKWARD commands will wrap if the cursor is at the Bottom-of-File line or Top-of-File line respectively. Set by SET PAGEWRAP .
(QEMS)

pagewrap.0- 1
pagewrap.1- ON|OFF

PARSER [*|parser]
Displays the filename of the THE Language Defintion file from which a syntax highlighting parser was loaded. Set by SET PARSER .
(QES)

parser.0- 2
parser.1- Name of parser
parser.2- Filename of TLD file

If no parser is supplied as a parameter or * is passed, details of all parsers are set as follows:

parser.0- number of parsers currently defined
parser.1- name and filename of first parser
parser.i- name and filename of ith parser

PENDing [BLOCK] [OLDNAME] name|* [target1 [target2]
Returns information about pending prefix commands.
(E)

pending.0- 7
pending.1- line number in file
pending.2- newname - actual name entered in prefix area
pending.3- oldname - original name of macro after synonym resolution
pending.4- BLOCK or null
pending.5- value of first operand
pending.6- value of second operand
pending.7- value of third operand

Point [*]
Returns the name and line number of the focus line , or names and line numbers of all lines in a file if * is specified. If SET COMPAT (feel) is set to XEDIT, then the name and line number of the current line is returned, rather than the name and line number of the focus line .

(QE)

With no arguments:

point.0- 0 or 1 (0 if focus line not named)
point.1- line number and name of line (if line is named)

With [ * ] argument:
(E)

point.0- number of named lines in the file
point.1- line number and name for first named line
point.n- line number and name for nth named line

Only point.0 and point.1 are available using implied extract functions.

POSition
Indicates if LINE/COL is displayed on idline . Set by SET POSITION .
(QMS)

position.0- 1
position.1- ON|OFF

The current/focus line/column is also returned via EXTRACT .
(E)

position.0- 3
position.1- ON|OFF
position.2- current or focus line
position.3- current or focus column

PREfix [Synonym *|name]
Indicates if prefix is displayed for the view and if displayed where is is displayed. See SET PREFIX .
(QEMS)

prefix.0- 1 or 2 (1 if prefix.1 is OFF, 2 otherwise)
prefix.1- ON|OFF|NULLS
prefix.2- LEFT|RIGHT (if prefix.1 is ON or NULLS)
prefix.3- width of prefix area
prefix.4- width of prefix gap

With [ Synonym name ] option, the macroname associated with the synonym name is returned. If name is not a synonym then name is returned as the macroname.
(QE)

prefix.0- 1
prefix.1- synonym macroname

With [ Synonym * ] option, all prefix synonyms are returned.
(QE)

prefix.0- number of prefix synonyms
prefix.1- synonym macroname
prefix.n- synonym macroname

PRINTER
Returns the value of the printer port or spooler. Set by SET PRINTER
(QEMS)

printer.0- 1
printer.1- port or spooler name

READONLY
Indicates if the file being edited is allowed to be alterered. Set by SET READONLY .
(QEMS)

readonly.0- 1
readonly.1- ON|OFF|FORCE

REGEXP
Return the type of regular expression syntax currently used for targets. Set by SET REGEXP .
(QEMS)

regexp.0- 1
regexp.1- EMACS|AWK|POSIX_AWK|GREP|EGREP|POSIX_EGREP|SED|POSIX_BASIC
- |POSIX_MINIMAL_BASIC|POSIX_EXTENDED|POSIX_MINIMAL_EXTENDED

REPROFile
Indicates if the specified (or implied) profile file is re-executed each time a file is added to the ring. Set by SET REPROFILE .
(QEMS)

reprofle.0- 1
reprofle.1- ON|OFF

RESERved [*]
Return with list of the screen rows that have been reserved. Set by SET RESERVED .
(QES)

reserved.0- 0 if no reserved lines; 1 otherwise
reserved.1- list of screen row numbers reserved

With [ * ] option, the line number, followed by the colour specification and reserved line contents are returned; one variable for each reserved line.
(E)

reserved.0- the number of reserved lines
reserved.1- first reserved line
reserved.2- second reserved line
reserved.n- nth reserved line

REXX
Returns the version details of the Rexx interpreter (if any) in the same format as PARSE VERSION.
(QE)

rexx.0- 1
rexx.1- Version strings

REXXOUTput
Indicates if Rexx output is captured to a file or not and the line number limit of lines to be displayed. Set by SET REXXOUTPUT .
(QEMS)

rexxoutput.0- 2
rexxoutput.1- FILE|DISPLAY
rexxoutput.2- line number limit

RING
Returns details of each file being edited.
(QE)

With SET COMPAT (feel) set to XEDIT, the values set are:

ring.0- number of variables returned (ring.1 + 1)
ring.1- number of files in the ring
ring.2- IDLINE of first file in the ring
ring.3- IDLINE of second file in the ring
ring.n- IDLINE of nth file in the ring

With SET COMPAT (feel) set to THE or KEDIT, the values set are:

ring.0- number of files in the ring
ring.1- IDLINE of first file in the ring
ring.2- IDLINE of second file in the ring
ring.n- IDLINE of nth file in the ring

Only ring.0 and ring.1 are available using implied extract functions.

SCALe
Returns details of scale line . Set by SET SCALE .
(QEMS)

scale.0- 2
scale.1- ON|OFF
scale.2- line displaying scale line

SCOPE
Returns information about whether shadow line s will be affected by commands or not. Set by SET SCOPE .
(QEMS)

scope.0- 1
scope.1- ALL|DISPLAY

SCReen
Returns the number and orientation of THE screens. Set by SET SCREEN .
(QEMS)

screen.0- 2
screen.1- Number of screens displayed
screen.2- HORIZONTAL|VERTICAL

SELect
Returns the selection level of the focus line and the maximum selection level for the file. Set by SET SELECT and ALL commands. If SET COMPAT (feel) XEDIT is set, then the selection level of the current line is returned instead of the selection level of the focus line .
(QES)

select.0- 2
select.1- selection level of focus line
select.2- maximum selection level for file

SHADow
Returns the status of the display of shadow lines. Set by SET SHADOW .
(QEMS)

shadow.0- 1
shadow.1- ON|OFF

SHOWkey key
Returns the commands and parameters assigned to the key passed as an argument. This keyvalue is returned as READV.3 from a call to READV KEY.
(E)

showkey.0- the number of commands assigned
showkey.1- first command/parameter assigned
showkey.n- last command/parameter assigned

If no key supplied as a parameter:

showkey.0- 1
showkey.1- INVALID KEY

This item is not available as an implied extract function.

SIze
Returns the number of lines in the current file.
(QES)

size.0- 1
size.1- Lines in current file.

STATUSLine
Indicates if the status line is displayed and if so, where. Set by SET STATUSLINE .
(QEMS)

statusline.0- 1
statusline.1- TOP|BOTTOM|OFF

STAY
Indicates if the focus line stays where it is after a successful THE command or an unsuccessful LOCATE command. Set by SET STAY .
(QEMS)

stay.0- 1
stay.1- ON|OFF

SYNELEM [Cursor|row col|File line column]
Returns the syntax highlighting element at the indicated position in the file area . UNKNOWN will be returned if syntax highlighting is not active for the current file. With [ Cursor ], the default, the syntax highlighting element at the position of the cursor in the file area will be returned. NONE will be returned if the cursor is not in the file area , or if there is no syntax highlighting element at the cursor position. With [ row col ], the syntax highlighting element at the position specified by [ row ] and [ col ] (relative to the top left of the file area , (1,1), will be returned. With [ File line column ], the syntax highlighting element at the position specified by [ line ] and [ column ] (relative to the line and column in the file will be returned. If the specified file location is not in view, UNKNOWN will be returned. NONE will be returned if there is no syntax highlighting element at the specified position.

(QE)

synelem.0- 1
synelem.1- NONE|COMMENT|FUNCTION|HEADER|INCOMPLETESTRING|KEYWORD|LABEL|MARKUP|MATCH|NUMBER|POSTCOMPARE|PREPROCESSOR|STRING|UNKNOWN

SYNonym [*|name]
Indicates if synonym processing is on or off. Set by SET SYNONYM command.
(QEMS)

synonym.0- 1
synonym.1- ON|OFF

With [ name ] option, details about the defined synonym are returned.
(QE)

synonym.0- 4
synonym.1- synonym name
synonym.2- length of minimum abbreviation
synonym.3- definition
synonym.4- linend character (if specified)

With [ * ] option, details about all defined synonyms are returned.
(QE)

synonym.0- number of synonyms defined
synonym.1- synonym definition of first synonym
synonym.n- synonym definition of nth synonym

TABKey
Returns settings about behaviour of TAB key. tabkey.1 indicates behaviour while not in insert mode tabkey.2 indicates behaviour while in insert mode Set by SET TABKEY .
(QEMS)

tabkey.0- 2
tabkey.1- TAB|CHARACTER
tabkey.2- TAB|CHARACTER

TABLine
Returns details of if and where the tab line is displayed. Set by SET TABLINE .
(QEMS)

tabline.0- 2
tabline.1- ON|OFF
tabline.2- line displaying tab line

TABS
Returns settings about tab columns. Set by SET TABS .
(QEMS)

tabs.0- 1
tabs.1- actual tab columns or "INCR n"

TABSIn
Indicates if TABSIN processing is on or off and the size of the tabs setting. Set by SET TABSIN .
(QEMS)

tabsin.0- 2
tabsin.1- ON|OFF
tabsin.2- size of tabs

TABSOut
Indicates if TABSOUT processing is on or off and the size of the tabs setting. Set by SET TABSOUT .
(QEMS)

tabsout.0- 2
tabsout.1- ON|OFF
tabsout.2- size of tabs

TARGETSAVE
Indicates the type of targets saved for subsequent LOCATE commands. Set by SET TARGETSAVE .
(QEMS)

targetsave.0- 1
targetsave.1- ALL|NONE|list of target types

TERMinal
Identifies the terminal type currently being used.
(QES)

terminal.0- 1
terminal.1- DOS|OS2|X11|WIN32|$TERM value under Unix

THIGHlight
Indicates if text highlighting is on. ie a found string target is highlighted. Set by SET THIGHLIGHT
(QEMS)

thighlight.0- 1
thighlight.1- ON|OFF

TIMECHECK
Indicates the status of TIMECHECK for the current file.
(QEMS)

timecheck.0- 1
timecheck.1- ON|OFF

TOF
Indicates if the current line is on the Top-of-File line .
(QES)

tof.0- 1
tof.1- ON|OFF

TOFEOF
Indicates if the Top-of-File line and the Bottom-of-File line are displayed.
(QEMS)

tofeof.0- 1
tofeof.1- ON|OFF

TRAILING
Indicates how trailing blanks on lines are handled when the file is saved. Set by SET TRAILING
(QEMS)

trailing.0- 1
trailing.1- ON|OFF|EMPTY|SINGLE

TYPEAhead
Indicates if THE will wait until all keyboard input has been processed before updating the screen display. Set by SET TYPEAHEAD .
(QEMS)

typeahead.0- 1
typeahead.1- ON|OFF

UNDOING
Indicates if the undo facility is available or not. Set by SET UNDOING
(QEMS)

undoing.0- 1
undoing.1- ON|OFF

UNTAA
Indicates if "unsigned numbers are absolute". Set by SET UNTAA
(QEMS)

untaa.0- 1
untaa.1- ON|OFF

Verify
Returns verify column settings. Set by SET VERIFY .
(QEMS)

verify.0- 1
verify.1- Column pair of verify start and end columns.

VERShift
Returns the value of the vershift internal variable.
(QES)

vershift.0- 1
vershift.1- VERSHIFT value

VERSION
Returns information about name of application (THE) and version information.
(QES)

version.0- 4
version.1- THE
version.2- version string eg. 1.5
version.3- platform version (DOS,OS2,UNIX,X11,WIN32)
version.4- version status information eg. release date, beta

Width
Returns maximum line width setting. Set by -w command line switch on starting THE.
(QEMS)

width.0- 1
width.1- Maximum line width value.

WORD
Specifies how THE defines a word. Set by SET WORD .
(QEMS)

word.0- 1
word.1- ALPHANUM|NONBLANK

WORDWrap
Indicates if WORDWRAP is on or off. Set by SET WORDWRAP .
(QEMS)

wordwrap.0- 1
wordwrap.1- ON|OFF

WRap
Indicates if WRAP is on or off. Set by SET WRAP .
(QEMS)

wrap.0- 1
wrap.1- ON|OFF

XTERMinal
Returns the current value of the X11 terminal program. Only applicable in X version. Set by SET XTERMINAL .
(QEMS)

xterminal.0- 1
xterminal.1- X11 terminal program

Zone
Returns zone column settings. Set by SET ZONE .
(QEMS)

zone.0- 2
zone.1- Zone start column
zone.2- Zone end column


The above Rexx variables set by the EXTRACT command may also be obtained by a REXX macro as an implied EXTRACT. Each variable above that may be set by an explicit EXTRACT command may also be eg. The REXX commands:

----------
'EXTRACT /SIZE/CURLINE/'
Say size.1 curline.1
----------

may be substituted with:

----------
Say size.1() curline.1()
----------

THE also provides other information to the REXX interpreter via boolean functions. These functions return either 1 or 0 depending on the information queried.

after()
Returns 1 if the cursor is currently after the last non-blank character on the line, or if the line is blank.

altkey()
Returns 1 if at the time the last key was pressed, the ALT key was also being held down.

alt()
Returns 1 if the file being edited has changed since the last SAVE. ie. if the value of alt.2 is non zero.

blank()
Returns 1 if the line the cursor field is completely blank.

batch()
Returns 1 if THE is being run in batch mode. ie THE was started with the -b switch.

block()
Returns 1 if the marked block is within the current view.

before()
Returns 1 if the cursor is currently before the first non-blank character on the line, or if the line is blank.

bottomedge()
Returns 1 if the cursor is on the bottom edge of the filearea or prefix area .

command()
Returns 1 if the command line is on. This is different to the definition in KEDIT; "Returns 1 if the cursor is on the command line." To get the equivalent KEDIT functionality use incommand();

ctrl()
Returns 1 if at the time the last key was pressed, the CTRL key was also being held down.

current()
Returns 1 if the cursor is on the current line .

dir()
Returns 1 if the current file is the special DIR.DIR file.

end()
Returns 1 if the cursor is on the last non-blank character on the line.

eof()
Returns 1 if the cursor is on the Bottom-of-File line and the cursor is not on the command line .

first()
Returns 1 if the cursor is in column 1 of the current window.

focuseof()
Returns 1 if the focus line is the Bottom-of-File line whether the cursor is on it or not.

focustof()
Returns 1 if the focus line is the Top-of-File line whether the cursor is on it or not.

inblock()
Returns 1 if the cursor is in the marked block .

incommand()
Returns 1 if the cursor is on the command line .

initial()
Returns 1 if the function is called from the profile .

inprefix()
Returns 1 if the cursor is located in the prefix area .

insertmode()
Returns 1 if THE is in INSERT mode.

leftedge()
Returns 1 if the cursor is on the left edge of the filearea .

modifiable()
Returns 1 if the cursor is located in an area that can be changed. ie. not on Top-of-File line or Bottom-of-File line nor on a shadow line .

rightedge()
Returns 1 if the cursor is on the right edge of the filearea .

shadow()
Returns 1 if the cursor is on a shadow line .

shift()
Returns 1 if at the time the last key was pressed, the SHIFT key was also being held down.

spacechar()
Returns 1 if the cursor is on a space character.

tof()
Returns 1 if the cursor is on the Top-of-File line and the cursor is not on the command line .

topedge()
Returns 1 if the cursor is on the top edge of the filearea .

verone()
Returns 1 if the column 1 of the file is being displayed in column 1.

The following functions provide features to simplify THE macros written in REXX.

valid_target(target[,anything])
The first argument is the target to be validated. If a second, optional argument is supplied, the target to be validated can consist of a target followed by any optional characters. This can be useful if the arguments to a macro consist of a target followed by another argument. If a valid target is supplied, the remainder of the string passed to valid_target() is returned following the first line affected and the number of lines to the target.

Returns ERROR if the supplied target is invalid. Returns NOTFOUND if the supplied target is valid, but not found.

If a valid target, returns the first line affected by the target followed by the number of lines to the target, and optionally the remainder of the argument. eg.

if the focus line is 12 and valid_target() is called as

----------
result = valid_target(":7") ===> result = "12 -5"
----------

if the focus line is 12 and valid_target is called as

----------
result = valid_target(":7 /fred/",junk), ===> result = "12 -5 /fred/"
----------

run_os(command[,stdin_stem[,stdout_stem[,stderr_stem]]])
This function allows the macro writer to call an operating system command and have the standard streams; stdin , stdout and stderr redirected to or from REXX arrays.

The first argument is the operating system command to execute. The command can include any command line switches appropriate to the command.

All other arguments comprise a stem name (including a trailing . ) which refers to the REXX arrays where stdin , stdout and stderr are to be redirected.

As with all REXX arrays, the value of the 0th element (stem.0) contains the number of elements in the array.

The only restriction with the names of the stem variables is that the stem name for the stdin stem cannot be the same as the stem for stdout or stderr .

The stem name for stdout and stderr can be the same; the contents of the resulting output stems will consist of stdout and stderr in the order that the command generates this output.

Return values:

0 - successful
1005 - invalid argument or syntax
1012 - problems with system redirection of streams
1094 - out of memory
1099 - error interfacing to REXX interpreter
all other numbers, return code from operating system command

eg. to spell check the words "The Hessling Editr" with ispell

----------
in.0 = 3
in.1 = "The"
in.2 = "Hessling"
in.3 = "Editr"
rc = run_os("ispell -a","in.","out.")
----------

sets:

out.0 --> 3
out.1 --> "*"
out.2 --> "#"
out.3 --> "& edits edit editor"

The Hessling Editor is Copyright © Mark Hessling, 1990-2006 <mark@rexx.org>
Generated on: 30 Jan 2006

Return to Table of Contents