The OPTION command sets, clears or displays configurable options.
To ease application portability, options that are not meaningful on a particular QM platform are ignored.
Format
OPTION {option.name {ON | OFF | DISPLAY | LPTR {unit}} }
OPTION ALL OFF
The OPTION command, normally only used in the LOGIN or MASTER.LOGIN paragraphs, sets options that determine how the system behaves for that user session.
The ON keyword is used to set an option and is the default action if no keyword is present. The OFF keyword is used to clear an option. The DISPLAY keyword is used to display the current setting of an option.
The OPTION command with no qualifying information displays the settings of all options. The LPTR keyword directs this report to the specified print unit, printer zero if unit is omitted.
The OPTION ALL OFF syntax turns off all options. It is useful in LOGIN paragraphs to ensure that all options are off before turning on those that are required in applications that may use LOGTO to move between accounts.
Option settings are not automatically inherited by phantom processes.
The available options are:
AMPM.UPCASE | Causes the am/pm suffix displayed by some time conversions to appear in uppercase instead of the default lowercase. |
ASSOC.UNASSOC.MV | Treats all multivalued fields for which no association is defined in the dictionary as being associated together. This provides close compatibility with Pick style systems but may lead to unintentional association of unrelated fields. |
CHAIN.KEEP.COMMON | Retains the unnamed common block and command processor level on use of CHAIN. |
CRDB.UPCASE | Causes the cr/db suffix displayed by some decimal conversions to appear in uppercase instead of the default lowercase. |
DEBUG.REBIND.KEYS | Causes the QMBasic debugger to rebind the function keys on entry, replacing any user defined bindings with those specified in the terminfo entry for the current terminal type. |
DIV.ZERO.WARNING | Attempts to divide by zero in QMBasic programs should report a warning rather than a fatal error. The division will return a zero result. This option should only be used during application development as it may cause faulty applications to appear to work correctly. |
DUMP.ON.ERROR | Causes generation of a process dump file at a process abort such as a run time fatal error. |
ED.NO.QUERY.FD | Suppresses the confirmation prompt in the ED editor when using the FD command or its synonym DELETE. |
INHERIT | Phantom processes will inherit the option settings of the parent process. Use of an OPTION command in the MASTER.LOGIN or LOGIN paragraphs of the phantom process may modify these settings. |
LOCK.BEEP | Emits a beep at the terminal once per second while waiting for a record or file lock. |
NO.DATE.WRAPPING | Suppresses rolling of dates with overlarge day numbers into the following month on input conversion. |
NO.SEL.LIST.QUERY | Suppresses display of the confirmation prompt in commands that take an optional select list of records to process. This is equivalent to use of the NO.QUERY option to those commands. |
NO.USER.ABORTS | Suppresses all options that allow a user to generate an abort event. These are: the "Press return to continue" prompt, the pagination prompt when using the SCROLL keyword of the query processor, and the break key options. |
NON.NUMERIC.WARNING | QMBasic programs attempting to use a non-numeric value where a number is required should use zero and report a warning rather than a fatal error. The operation will return a zero result. This option should only be used during application development as it may cause faulty applications to appear to work correctly. |
PICK.BREAKPOINT | Causes the query processor to recognise Pick style syntax for the BREAK.ON and BREAK.SUP keywords where the optional text qualifier follows the field name rather than appearing before it. |
PICK.BREAKPOINT.U | Causes the query processor to handle the U breakpoint option differently. See the BREAK.ON and BREAK.SUP keywords for further details. |
PICK.EXPLODE | When using BY.EXP, if an associated field has only one value, do not explode this field. |
PICK.IMPLIED.EQ | Causes the query processor to handle a selection clause that has no operator between the field name and a literal value enclosed in double quotes as though there was an EQ operator. |
PICK.GRAND.TOTAL | Causes the query processor to display the text of the GRAND.TOTAL keyword on the same line as the total values. |
PICK.NULL | Causes the ML and MR conversion codes and format expressions that use options applicable to numeric data to return a null string for null data instead of zero. |
PICK.WILDCARD | Causes the query processor to recognise Pick style wildcards in equality tests as an alternative to the LIKE operator. |
PROC.A | Causes the Proc A(n,m) command not to terminate copying data at the end of the field. |
QUALIFIED.DISPLAY | Causes the query processor to recognise Pick style qualified display clauses. |
QUERY.NO.CASE | Causes the query processor to perform selection operations and sorting in a case insensitive manner. |
QUERY.PRIORITY.AND | Causes the AND operator to take priority over the OR operator in query processor commands. This does not affect the behaviour of these operators in QMBasic programs. |
RUN.NO.PAGE | Causes the RUN and DEBUG commands to start the program with screen pagination disabled. This is equivalent to use of the NO.PAGE option. This option also affects user catalogued programs. |
SELECT.KEEP.CASE | Causes QM to preserve the case of record ids when building a select list from a directory file on an operating system that uses case insensitive file names. This currently only affects Windows systems. |
SHOW.STACK.ON.ERROR | Displays the call stack at a fatal program error, showing the program name, line number (where available), and object code address. |
SPACE.MCT | Modifies the behaviour of the MCT conversion code such that only the first character and letters immediately after a space are converted to uppercase. |
SUPPRESS.ABORT.MSG | Suppresses display of program location diagnostic information when a QMBasic ABORT statement is executed. |
UNASS.WARNING | Unassigned variables in QMBasic programs should report a warning rather than a fatal error. This option should only be used during application development as it may cause faulty applications to appear to work correctly. |
WITH.IMPLIES.OR | In a query containing multiple WITH clauses, there is an implied OR rather than the default implied AND between these clauses. |
Special short form options:
PICK | This option sets ASSOC.UNASSOC.MV, PICK.BREAKPOINT, PICK.BREAKPOINT.U, PICK.EXPLODE, PICK.GRAND.TOTAL, PICK.NULL, PICK.WILDCARD, QUALIFIED.DISPLAY and WITH.IMPLIES.OR options. It cannot be used with ON, OFF or DISPLAY. Note that this option brings QM closer to the Pick database model but does not provide complete compatibility. |
QMBASIC.WARNINGS | This option sets DIV.ZERO.WARNING, NON.NUMERIC.WARNING and UNASS.WARNING options. It cannot be used with ON, OFF or DISPLAY. |
|