Skip to content

Latest commit

 

History

History
103 lines (93 loc) · 13 KB

errors.md

File metadata and controls

103 lines (93 loc) · 13 KB

TECO-64 - Command Errors

<style> span { white-space: nowrap; } </style>

If TECO is unable to execute a command, either because of a syntax, system, or other error, it aborts execution of the command, prints an error message, ignores all following commands, resets its state, and prints its prompt to indicate that the user can enter new commands.

All error messages are of the form:

?XXX message

where XXX is an error code and message is a description of the error. Depending on the setting of the EH flag, more information may also be printed.

Some messages mention a specific character or string of characters associated with the error. In these error messages, TECO represents any non-printing special characters as described here.

The following error messages are listed alphabetically by their three-letter code.

Error Message Description
?ARG Improper arguments Three or more numeric arguments are given (e.g., 1,2,3D or H,cT).
?ATS Invalid or extraneous at-sign At sign not allowed for command, or more than one at sign specified.
?BAT Bad tag '!foo!' An O command was specified with an invalid tag. Tags may only contain graphic ASCII characters (excluding commas which are reserved for computed GOTOs). Leading and trailing spaces are ignored, but embedded spaces are not allowed.
?BNI Right angle bracket not in iteration A right angle bracket was not matched by a left angle bracket (Note: a loop in a Q-register macro must be complete within the macro.)
?CHR Invalid character for command The numeric argument to an EE command was not an ASCII character.
?CMD An EG or EZ command is too long An EG or EZ command was longer than 4095 characters.
?COL Invalid or extraneous colon A colon preceded a command that does not allow colons, or there were too many colons specified for the command.
?CPQ Can't pop into Q-register A ] command has been executed and there is nothing saved on the Q-register push down list.
?DET (error message) An error occurred when attempting to detach TECO from the user's terminal with a 0,64 ET command (or equivalent command), or if the detach feature is not supported in the current operating environment.
?DIV Division by zero An expression tried to divide a number by zero.
?DPY Display mode error Display mode support is either missing or disabled.
?DTB Delete too big A D command attempted to delete text outside the current page.
?DUP Duplicate tag '!foo!' An O command found a duplicate tag within the command string.
?ERR (error message) A system call failed. The error message text explains the error.
?EXT Extended feature not enabled A command attempted to use an extended feature which is not currently enabled.
?FIL Invalid file 'foo' An attempt was made to open a directory, FIFO, socket, or similar file specification instead of a regular file.
?FNF File not found 'foo' The requested input file could not be located. If this occurred within a macro, the colon-modified command may be necessary.
?IAA Invalid A argument The argument preceding a :A command is negative or zero.
?ICE Invalid ^E command in search argument A search argument contains a ^E command that is either not defined or incomplete.
?IEC Invalid character 'x' after E An invalid E command has been executed.
?IFC Invalid character 'x' after F An invalid F command has been executed.
?IFE Ill-formed numeric expression The numeric expression preceding a command doesn't make sense. For example, 5+ isn't a complete expression.
?IFN Invalid character 'x' in filename A file name contained one or more invalid characters. Check your operating system documentation to determine what characters are valid for file names.
?IIA Invalid insert argument A command of the form "nItext`" was attempted. This combination of character and text insertion is not allowed.
?ILL Invalid command 'x' An attempt has been made to execute an invalid TECO command.
?ILN Invalid number An 8 or 9 was used in a digit string for an octal number, or a 0x or 0X prefix was not followed by a hexadecimal number.
?IMA Invalid m argument An m argument was provided to a command which does not allow it.
?INA Invalid n argument An n argument was provided to a command which does not allow it.
?IPA Invalid P argument The argument preceding a P or PW command is negative or zero.
?IQC Invalid quote character One of the valid " qualifiers did not follow the quote character.
?IQN Invalid Q-register name 'x' An invalid Q-register name was specified in one of the Q-register commands.
?IRA Invalid radix argument to ^R The argument to a ^R radix command must be 8, 10 or 16.
?ISA Invalid search argument The argument preceding a search command is 0. This argument must not be 0.
?ISS Invalid search string One of the search string special characters (^Q, ^V, ^W, etc.) would have modified the search string delimiter (usually ).
?IUC Invalid character 'x' following ^ The character following a ^ must have an ASCII value between 64 and 95 inclusive, or between 141 and 172 inclusive.
?KEY Keyword 'foo' not found An invalid keyword was specified for an F1, F2, F3, F4, FM, or FQ command.
?LOC Invalid location for tag '!foo!' An O command inside a loop or nested loop cannot jump backward before the start of the outermost loop. It also cannot jump into the middle of any loop it is not currently inside of.
?MAP Missing apostrophe Every conditional (started with the " command) must be closed with the ' command.
?MAX Internal program limit reached Loops and conditionals are limited to a maximum of 32 levels, macros are limited to a depth of 64 levels, and file names are limited to 4095 characters.
?MEM Memory overflow Insufficient memory available to complete the current command.
?MLP Missing left parenthesis There is a right parenthesis trhat is not matched by a corresponding left parenthesis.
?MQN Missing Q-register name A command or match control construct did not include a required Q-register name.
?MRA Missing right angle bracket There is a left angle bracket that has no matching right angle bracket. A loop must be complete within a macro or command string.
?MRP Missing right parenthesis There is a left parenthesis that is not matched by a corresponding right parenthesis.
?MSC Missing start of conditional A ' command (end of conditional) was encountered. Every ' command must be matched by a preceding " (start of a conditional) command.
?NAB No argument before 1's complement operator The ^_ command must be preceded by either a specific numeric argument or a command that returns a numeric value.
?NAC No argument before comma A command has been executed in which a , is not preceded by a numeric argument.
?NAE No argument before equals sign The =, ==, or === command must be preceded by either a specific numeric argument or a command that returns a numeric value.
?NAP No argument before right parenthesis A right parenthesis has been encountered and is not properly preceded by a specific numeric argument or a command that returns a numeric value.
?NAQ No argument before quote The " commands must be preceded by a single numeric argument on which the decision to execute the following commands or skip to the matching ' is based.
?NAS No argument before semi-colon The ; command must be preceded by a single numeric argument on which the decision to execute the following commands or skip to the matching > is based.
?NAU No argument before U command The U command must be preceded by either a specific numeric argument or a command that returns a numeric value.
?NCA Negative argument to comma A comma was preceded by a negative number.
?NFI No file for input Before issuing an input command, such as Y, it is necessary to open an input file by use of a command such as ER or EB.
?NFO No file for output Before issuing an output command, such as N or or P, it is necessary to open an output file with a command such as EW or EB.
?NON No n argument after m argument An m argument was not followed by an n argument.
?NOT O command has no tag No tag was found for an O command.
?NPA Negative or 0 argument to P A P command was preceded by a negative or 0 argument.
?NYA Numeric argument with Y The Y command must not be preceded by either a numeric argument or a command that returns a numeric value.
?NYI Not yet implemented A command was issued that is not yet implemented in this version of TECO, or not enabled in this build.
?OFO Output file already open A command has been executed which tried to create an output file, but an output file currently is open. It is typically appropriate to use the EC or EK command as the situation calls for to close the output file.
?PDO Push-down list overflow The command string has become too complex. Simplify it.
?POP Attempt to move pointer off page with 'x' A J, C or R command has been executed which attempted to move the pointer off the page. The result of executing one of these commands must leave the pointer between 0 and Z, The characters referenced by a D or nA command must also be within the buffer limits.
?SNI Semi-colon not in iteration A ; command has been executed outside of a loop.
?SRH Search failure: 'foo' A search command not preceded by a colon modifier and not within an iteration has failed to find the specified " command. After an S search fails the pointer is left at the beginning of the buffer. After an N or _ search fails the last page of the input file has been input and, in the case of N, output, and the buffer is cleared. In the case of an N search it is usually necessary to close the output file and reopen it.
?TAG Missing tag: '!foo!' The tag specified by an O command cannot be found. This tag must be in the same macro level as the O command referencing it.
?TXT Invalid text delimiter 'x' Text delimiters must be graphic ASCII characters in the range of [33,126], or control characters in the range of [1,26]. Characters such as spaces or ESCapes may not be used for delimiters.
?UTC Unterminated command string This is a general error which is usually caused by an unterminated insert, search, or filename argument, an unterminated ^A message, an unterminated tag or comment (i.e., unterminated ! construct), or a missing ' character which closes a conditional execution command.
?UTM Unterminated macro This error is that same as the ?UTC error except that the unterminated command was executing from a Q-register (i.e., it was a macro). (Note: An entire command sequence stored in a Q-register must be complete within the Q-register.)
?XAB Execution aborted Execution of TECO was aborted. This is usually due to the typing of <CTRL/C>.
?YCA Y command aborted An attempt has been made to execute a Y or _ search command with an output file open, that would cause text in the edit buffer to be erased without outputting it to the output file. The ED command controls this check.