# set-compat command

The set-compat command allows a user (port), or the global
 environment, to be set to a particular Pick compatible environment. Using this command
 allows functionality to be added to D3 that is specific to a particular Pick compatible
 environment.

## Syntax

```
set-compat {environment} {(g}
```

## Parameter(s)

| environment | AP | Sets to Advanced Pick compatibility. |
| --- | --- | --- |
| D3 | Sets to D3 compatibility (default). | |
| mvBase | Sets to mvBase compatibility. | |
| Reality | Sets to Reality compatibility. | |
| Sequoia | Sets to Sequoia compatibility. | |
| Ultimate | Sets to Ultimate compatibility. | |
| g | Sets the compatibility setting globally. | |

## Compatibility Features for Advanced Pick

- Allows updating the tcl-stack directly, without using a formal update procedure.Note: Updating the tcl-stack using the Advanced Pick compatibility setting provides faster, more efficient updates. However, the D3 7.3 and above formal update features, such as updating the transaction log, hot-backup, statistics, and other counters, are not available in this mode. This can cause aborts when reading an item through FlashBASIC or through certain stack update sequences.

- When an Access Query Language (AQL) command is executed using an exploding select-list, the exploding value positions are ignored.

- Alters the sort order for the sort command in the following manner: The case command setting is ignored and the sort order is based on whether or not the file was created with the s (case-Sensitive) option.

## Compatibility Features for mvBase

- The account-save command creates the tape in mvBase format.

- The grand-total modifier in AQL always displays the grand-total label.

- BASIC programs are compiled as though the $options mvBase directive has been used.

- The T command in the FlashBASIC Debugger will cause the source line to be displayed prior to the line being executed.

## Compatibility Features for Reality

Allows Reality style M type dictionary phrases to function like D3 H type
 dictionary phrases.

## Compatibility Features for Sequoia

- Null values always sort before numeric and alphanumeric values.

- When running the AQL grand-total modifier with the text option, text displays with no column width limits.

- Any phantoms running under this setting will terminate with an error, if stopped by an input statement.

- The BASIC Ultimate flavored execute supports Sequoia ordering of parameters.

## Compatibility Features for Ultimate

- Access date conversions are displayed in the upper case when the TCL case is set to sensitive.

- Null values always sort before numeric and alphanumeric values.

- Suppresses [202] not on file messages when selecting from an active list.

- If a PROC calls a BASIC program which generates an error, the line number of the BASIC program will be placed in the PROC’s secondary buffer, following the error number.

- The print job kill process prints aborted on the printer, if the job is terminated with the sp-kill command.

- The BASIC compiler allows spaces when using Ultimate flavored executes.

- The restore processor recognizes Ultimate tape labels and Ultimate items greater than 32 KB in length.

- Input stacked with the data statement is not lost after running a BASIC execute statement.

## See also

- [account-save command](https://d3codex.com/tcl/account-save-command/)
- [case command](https://d3codex.com/tcl/case-command/)
- [data statement](https://d3codex.com/pickbasic-flashbasic/data-statement/)
- [execute statement](https://d3codex.com/pickbasic-flashbasic/execute-statement/)
- [grand-total modifier](https://d3codex.com/access/grand-total-modifier/)
- [input statement](https://d3codex.com/pickbasic-flashbasic/input-statement/)
- [$options directive](https://d3codex.com/pickbasic-flashbasic/dollar-options-directive/)
- [sort command](https://d3codex.com/access/sort-command/)
- [sp-kill command](https://d3codex.com/tcl/sp-kill-command/)
- [t command (FlashBASIC Debugger)](https://d3codex.com/flashbasicdebugger/t-command-flashbasic-debugger/)

---
Source: https://d3codex.com/tcl/set-compat-command/ - part of the D3Codex reference.
