# Environment and Options

- [Introduction](introduction.md)

- [Command Line Options](command-options.md)

  - [`magma -b`](command-options.md#literal-literal-b-magma-b)

  - [`magma -c filename`](command-options.md#literal-literal-c-magma-c-filename)

  - [`magma -d`](command-options.md#literal-literal-d-magma-d)

  - [`magma -h`](command-options.md#literal-literal-h-magma-h)

  - [`magma -?`](command-options.md#literal-literal-magma)

  - [`magma --help`](command-options.md#literal-literal-help-magma-help)

  - [`magma -e arguments`](command-options.md#literal-literal-e-magma-e-arguments)

  - [`magma -E arguments`](command-options.md#literal-literal-e-magma-e-arguments-2)

  - [`magma -i filename arguments`](command-options.md#literal-literal-i-magma-i-filename-arguments)

  - [`magma -I filename arguments`](command-options.md#literal-literal-i-magma-i-filename-arguments-2)

  - [`magma -l limit`](command-options.md#literal-literal-l-magma-l-limit)

  - [`magma -n`](command-options.md#literal-literal-n-magma-n)

  - [`magma -P`](command-options.md#literal-literal-p-magma-p)

  - [`magma -r workspace`](command-options.md#literal-literal-r-magma-r-workspace)

  - [`magma -s filename`](command-options.md#literal-literal-s-magma-s-filename)

  - [`magma -S integer`](command-options.md#literal-literal-s-magma-s-integer)

  - [`magma -t N`](command-options.md#literal-literal-t-magma-t-n)

  - [`magma -V`](command-options.md#literal-literal-v-magma-v)

  - [`magma --version`](command-options.md#literal-literal-version-magma-version)

  - [`Example: Startup`](command-options.md#example-ex-10ce61)

  - [`Example: Startup Calculator`](command-options.md#example-ex-f69654)

  - [`Example: Startup Shebang`](command-options.md#example-ex-49332c)

- [Environment Variables](environment-variable.md)

  - [`MAGMA_STARTUP_FILE`](environment-variable.md#literal-literal-magma-startup-file-magma-startup-file)

  - [`MAGMA_PATH`](environment-variable.md#literal-literal-magma-path-magma-path)

  - [`MAGMA_MEMORY_LIMIT`](environment-variable.md#literal-literal-magma-memory-limit-magma-memory-limit)

  - [`MAGMA_LIBRARY_ROOT`](environment-variable.md#literal-literal-magma-library-root-magma-library-root)

  - [`MAGMA_LIBRARIES`](environment-variable.md#literal-literal-magma-libraries-magma-libraries)

  - [`MAGMA_SYSTEM_SPEC`](environment-variable.md#literal-literal-magma-system-spec-magma-system-spec)

  - [`MAGMA_USER_SPEC`](environment-variable.md#literal-literal-magma-user-spec-magma-user-spec)

  - [`MAGMA_HELP_DIR`](environment-variable.md#literal-literal-magma-help-dir-magma-help-dir)

  - [`MAGMA_TEMP_DIR`](environment-variable.md#literal-literal-magma-temp-dir-magma-temp-dir)

  - [`MAGMA_CONFIG_DIR`](environment-variable.md#literal-literal-magma-config-dir-magma-config-dir)

- [Set and Get](Set-Get.md)

  - [`SetAssertions(b): RngIntElt`](Set-Get.md#function-setassertions-rngintelt)

  - [`GetAssertions() → RngIntElt`](Set-Get.md#function-getassertions)

  - [`SetAutoColumns(b): BoolElt`](Set-Get.md#function-setautocolumns-boolelt)

  - [`GetAutoColumns() → BoolElt`](Set-Get.md#function-getautocolumns)

  - [`SetAutoCompact(b): BoolElt`](Set-Get.md#function-setautocompact-boolelt)

  - [`GetAutoCompact() → BoolElt`](Set-Get.md#function-getautocompact)

  - [`SetBeep(b): BoolElt`](Set-Get.md#function-setbeep-boolelt)

  - [`GetBeep() → BoolElt`](Set-Get.md#function-getbeep)

  - [`SetColumns(n): RngIntElt`](Set-Get.md#function-setcolumns-rngintelt)

  - [`GetColumns() → RngIntElt`](Set-Get.md#function-getcolumns)

  - [`GetCurrentDirectory()`](Set-Get.md#function-getcurrentdirectory)

  - [`SetEchoInput(b): BoolElt`](Set-Get.md#function-setechoinput-boolelt)

  - [`GetEchoInput()`](Set-Get.md#function-getechoinput)

  - [`GetEnvironmentValue(s): MonStgElt → MonStgElt`](Set-Get.md#function-getenvironmentvalue-monstgelt)

  - [`GetEnv(s): MonStgElt → MonStgElt`](Set-Get.md#function-getenv-monstgelt)

  - [`SetExitSummary(b): BoolElt`](Set-Get.md#function-setexitsummary-boolelt)

  - [`GetExitSummary()`](Set-Get.md#function-getexitsummary)

  - [`SetGPU(b): BoolElt`](Set-Get.md#function-env-setgpu)

  - [`GetGPU() → BoolElt`](Set-Get.md#function-getgpu)

  - [`SetHistorySize(n): RngIntElt`](Set-Get.md#function-sethistorysize-rngintelt)

  - [`GetHistorySize()`](Set-Get.md#function-gethistorysize)

  - [`SetIgnorePrompt(b): BoolElt`](Set-Get.md#function-setignoreprompt-boolelt)

  - [`GetIgnorePrompt() → BoolElt`](Set-Get.md#function-getignoreprompt)

  - [`SetIgnoreSpaces(b): BoolElt`](Set-Get.md#function-setignorespaces-boolelt)

  - [`GetIgnoreSpaces() → BoolElt`](Set-Get.md#function-getignorespaces)

  - [`SetIndent(n): RngIntElt`](Set-Get.md#function-setindent-rngintelt)

  - [`GetIndent() → RngIntElt`](Set-Get.md#function-getindent)

  - [`SetLibraries(s): MonStgElt`](Set-Get.md#function-setlibraries-monstgelt)

  - [`GetLibraries() → MonStgElt`](Set-Get.md#function-getlibraries)

  - [`SetLibraryRoot(s): MonStgElt`](Set-Get.md#function-setlibraryroot-monstgelt)

  - [`GetLibraryRoot() → MonStgElt`](Set-Get.md#function-getlibraryroot)

  - [`SetLineEditor(b): BoolElt`](Set-Get.md#function-setlineeditor-boolelt)

  - [`GetLineEditor() → BoolElt`](Set-Get.md#function-getlineeditor)

  - [`SetLogFile(F): MonStgElt`](Set-Get.md#function-setlogfile-monstgelt)

  - [`UnsetLogFile()`](Set-Get.md#function-unsetlogfile)

  - [`SetMemoryLimit(n): RngIntElt`](Set-Get.md#function-setmemorylimit-rngintelt)

  - [`GetMemoryLimit() → RngIntElt`](Set-Get.md#function-getmemorylimit)

  - [`SetNthreads(n): RngIntElt`](Set-Get.md#function-setnthreads-rngintelt)

  - [`GetNthreads() → RngIntElt`](Set-Get.md#function-getnthreads)

  - [`SetOutputFile(F): MonStgElt`](Set-Get.md#function-setoutputfile-monstgelt)

  - [`UnsetOutputFile()`](Set-Get.md#function-unsetoutputfile)

  - [`SetPath(s): MonStgElt`](Set-Get.md#function-setpath-monstgelt)

  - [`GetPath() → MonStgElt`](Set-Get.md#function-getpath)

  - [`SetPrintLevel(l): MonStgElt`](Set-Get.md#function-setprintlevel-monstgelt)

  - [`GetPrintLevel() → MonStgElt`](Set-Get.md#function-getprintlevel)

  - [`SetPrompt(s): MonStgElt`](Set-Get.md#function-setprompt-monstgelt)

  - [`GetPrompt() → MonStgElt`](Set-Get.md#function-getprompt)

  - [`SetQuitOnError(b): BoolElt`](Set-Get.md#function-setquitonerror-boolelt)

  - [`SetRows(n): RngIntElt`](Set-Get.md#function-setrows-rngintelt)

  - [`GetRows() → RngIntElt`](Set-Get.md#function-getrows)

  - [`GetScriptFilename() → MonStgElt`](Set-Get.md#function-getscriptfilename)

  - [`GetScriptArguments() → SeqEnum`](Set-Get.md#function-getscriptarguments)

  - [`SetSeed(s, c): RngIntElt`](Set-Get.md#function-setseed-rngintelt)

  - [`GetSeed() → RngIntElt, RngIntElt`](Set-Get.md#function-getseed)

  - [`GetTempDir() → MonStgElt`](Set-Get.md#function-gettempdir)

  - [`SetTraceback(n): BoolElt`](Set-Get.md#function-settraceback-boolelt)

  - [`GetTraceback() → BoolElt`](Set-Get.md#function-gettraceback)

  - [`GetVersion() → RngIntElt, RngIntElt, RngIntElt`](Set-Get.md#function-getversion)

  - [`SetViMode(b): BoolElt`](Set-Get.md#function-setvimode-boolelt)

  - [`GetViMode() → BoolElt`](Set-Get.md#function-getvimode)

  - [`SetWarnIntrinsicOverride(b): BoolElt`](Set-Get.md#function-setwarnintrinsicoverride-boolelt)

  - [`GetWarnIntrinsicOverride() → BoolElt`](Set-Get.md#function-getwarnintrinsicoverride)

- [Verbose Levels](verbose.md)

  - [`SetVerbose(s, i): MonStgElt, RngIntElt`](verbose.md#function-env-setverbose)

  - [`SetVerbose(s, b): MonStgElt, BoolElt`](verbose.md#function-setverbose-monstgelt-boolelt)

  - [`GetVerbose(s): MonStgElt → RngIntElt`](verbose.md#function-env-getverbose)

  - [`IsVerbose(s): MonStgElt → BoolElt`](verbose.md#function-isverbose-monstgelt)

  - [`IsVerbose(s, l): MonStgElt, RngIntElt → BoolElt`](verbose.md#function-isverbose-monstgelt-rngintelt)

  - [`ListVerbose()`](verbose.md#function-listverbose)

  - [`ClearVerbose()`](verbose.md#function-clearverbose)

- [Other Information Procedures](info.md)

  - [`ShowMemoryUsage()`](info.md#function-showmemoryusage)

  - [`ShowIdentifiers()`](info.md#function-showidentifiers)

  - [`ShowValues()`](info.md#function-showvalues)

  - [`Traceback()`](info.md#function-traceback)

  - [`ListSignatures(C): Cat`](info.md#function-listsignatures-cat)

  - [`ListSignatures(F, C): Intrinsic, Cat`](info.md#function-listsignatures-intrinsic-cat)

  - [`ListCategories()`](info.md#function-listcategories)

  - [`ListTypes()`](info.md#function-listtypes)

- [History](history.md)

  - [`%p`](history.md#literal-literal-p-p)

  - [`%pn`](history.md#literal-literal-p-pn)

  - [`%pn₁ n₂`](history.md#literal-literal-p-pn1-n2)

  - [`%P`](history.md#literal-literal-p-p-2)

  - [`%Pn`](history.md#literal-literal-p-pn-2)

  - [`%Pn₁ n₂`](history.md#literal-literal-p-pn1-n2-2)

  - [`%s`](history.md#literal-literal-s-s)

  - [`%sn`](history.md#literal-literal-s-sn)

  - [`%sn₁ n₂`](history.md#literal-literal-s-sn1-n2)

  - [`%S`](history.md#literal-literal-s-s-2)

  - [`%Sn`](history.md#literal-literal-s-sn-2)

  - [`%Sn₁ n₂`](history.md#literal-literal-s-sn1-n2-2)

  - [`%`](history.md#literal-literal)

  - [`%n`](history.md#literal-literal-n)

  - [`%n₁ n₂`](history.md#literal-literal-n1-n2)

  - [`%e`](history.md#literal-literal-e-e)

  - [`%en`](history.md#literal-literal-e-en)

  - [`%en₁ n₂`](history.md#literal-literal-e-en1-n2)

  - [`%E`](history.md#literal-literal-e-e-2)

  - [`%! shell-command`](history.md#literal-literal-shell-command)

  - [`%r`](history.md#literal-literal-r-r)

  - [`%f pattern`](history.md#literal-literal-f-f-pattern)

  - [`%o`](history.md#literal-literal-o-o)

  - [`%c`](history.md#literal-literal-c-c)

  - [`%b`](history.md#literal-literal-b-b)

- [The Magma Line Editor](line-editor.md)

  - [`SetViMode(true): BoolElt`](line-editor.md#function-setvimode-boolelt-2)

  - [`SetViMode(false): BoolElt`](line-editor.md#function-setvimode-boolelt-3)

  - [Key Bindings (Emacs and VI mode)](line-editor.md#key-bindings-emacs-and-vi-mode)

    - [`<Return>`](line-editor.md#literal-literal-return-key-return)

    - [`<Backspace>`](line-editor.md#literal-literal-backspace-key-backspace)

    - [`<Delete>`](line-editor.md#literal-literal-delete-key-delete)

    - [`<Tab>`](line-editor.md#literal-literal-tab-key-tab)

    - [`<Ctrl>-A`](line-editor.md#literal-literal-control-a-key-ctrl-a)

    - [`<Ctrl>-B`](line-editor.md#literal-literal-control-b-key-ctrl-b)

    - [`<Ctrl>-C`](line-editor.md#literal-literal-control-c-key-ctrl-c)

    - [`<Ctrl>-D`](line-editor.md#literal-literal-control-d-key-ctrl-d)

    - [`<Ctrl>-E`](line-editor.md#literal-literal-control-e-key-ctrl-e)

    - [`<Ctrl>-F`](line-editor.md#literal-literal-control-f-key-ctrl-f)

    - [`<Ctrl>-H`](line-editor.md#literal-literal-control-h-key-ctrl-h)

    - [`<Ctrl>-I`](line-editor.md#literal-literal-control-i-key-ctrl-i)

    - [`<Ctrl>-J`](line-editor.md#literal-literal-control-j-key-ctrl-j)

    - [`<Ctrl>-K`](line-editor.md#literal-literal-control-k-key-ctrl-k)

    - [`<Ctrl>-L`](line-editor.md#literal-literal-control-l-key-ctrl-l)

    - [`<Ctrl>-M`](line-editor.md#literal-literal-control-m-key-ctrl-m)

    - [`<Ctrl>-N`](line-editor.md#literal-literal-control-n-key-ctrl-n)

    - [`<Ctrl>-P`](line-editor.md#literal-literal-control-p-key-ctrl-p)

    - [`<Ctrl>-U`](line-editor.md#literal-literal-control-u-key-ctrl-u)

    - [`<Ctrl>-V<char>`](line-editor.md#literal-literal-control-v-key-ctrl-v-char)

    - [`<Ctrl>-W`](line-editor.md#literal-literal-control-w-key-ctrl-w)

    - [`<Ctrl>-X`](line-editor.md#literal-literal-control-x-key-ctrl-x)

    - [`<Ctrl>-Y`](line-editor.md#literal-literal-control-y-key-ctrl-y)

    - [`<Ctrl>-Z`](line-editor.md#literal-literal-control-z-key-ctrl-z)

    - [`<Ctrl>-_`](line-editor.md#literal-literal-control-key-ctrl)

    - [`<Ctrl>-\`](line-editor.md#literal-literal-control-key-ctrl-2)

  - [Key Bindings in Emacs mode only](line-editor.md#key-bindings-in-emacs-mode-only)

    - [`<Ctrl>-R`](line-editor.md#literal-literal-control-r-key-ctrl-r)

    - [`<Meta>-b`](line-editor.md#literal-literal-meta-b-key-meta-b)

    - [`<Meta>-B`](line-editor.md#literal-literal-meta-b-key-meta-b-2)

    - [`<Meta>-f`](line-editor.md#literal-literal-meta-f-key-meta-f)

    - [`<Meta>-F`](line-editor.md#literal-literal-meta-f-key-meta-f-2)

  - [Key Bindings in VI mode only](line-editor.md#key-bindings-in-vi-mode-only)

    - [`0`](line-editor.md#literal-literal-0-0)

    - [`$`](line-editor.md#literal-literal-key)

    - [`<Ctrl>-space`](line-editor.md#literal-literal-control-space-key-ctrl-space)

    - [`%`](line-editor.md#literal-literal-key-2)

    - [`;`](line-editor.md#literal-literal-key-3)

    - [`,`](line-editor.md#literal-literal-key-4)

    - [`B`](line-editor.md#literal-literal-b-key-b)

    - [`b`](line-editor.md#literal-literal-b-key-b-2)

    - [`E`](line-editor.md#literal-literal-e-key-e)

    - [`e`](line-editor.md#literal-literal-e-key-e-2)

    - [`F<char>`](line-editor.md#literal-literal-f-key-f-char)

    - [`f<char>`](line-editor.md#literal-literal-f-key-f-char-2)

    - [`h`](line-editor.md#literal-literal-h-key-h)

    - [`H`](line-editor.md#literal-literal-h-key-h-2)

    - [`l`](line-editor.md#literal-literal-l-key-l)

    - [`L`](line-editor.md#literal-literal-l-key-l-2)

    - [`T<char>`](line-editor.md#literal-literal-t-key-t-char)

    - [`t<char>`](line-editor.md#literal-literal-t-key-t-char-2)

    - [`w`](line-editor.md#literal-literal-w-key-w)

    - [`W`](line-editor.md#literal-literal-w-key-w-2)

    - [`A`](line-editor.md#literal-literal-a-key-a)

    - [`a`](line-editor.md#literal-literal-a-key-a-2)

    - [`C`](line-editor.md#literal-literal-c-key-c)

    - [`c range`](line-editor.md#literal-literal-c-key-c-range)

    - [`D`](line-editor.md#literal-literal-d-key-d)

    - [`d range`](line-editor.md#literal-literal-d-key-d-range)

    - [`I`](line-editor.md#literal-literal-i-key-i)

    - [`i`](line-editor.md#literal-literal-i-key-i-2)

    - [`j`](line-editor.md#literal-literal-j-key-j)

    - [`k`](line-editor.md#literal-literal-k-key-k)

    - [`P`](line-editor.md#literal-literal-p-key-p)

    - [`p`](line-editor.md#literal-literal-p-key-p-2)

    - [`R`](line-editor.md#literal-literal-r-key-r)

    - [`r<char>`](line-editor.md#literal-literal-r-key-r-char)

    - [`S`](line-editor.md#literal-literal-s-key-s)

    - [`s`](line-editor.md#literal-literal-s-key-s-2)

    - [`U`](line-editor.md#literal-literal-u-key-u)

    - [`u`](line-editor.md#literal-literal-u-key-u-2)

    - [`X`](line-editor.md#literal-literal-x-key-x)

    - [`x`](line-editor.md#literal-literal-x-key-x-2)

    - [`Y`](line-editor.md#literal-literal-y-key-y)

    - [`y range`](line-editor.md#literal-literal-y-key-y-range)

  - [Completion Preferences](line-editor.md#completion-preferences)

    - [`SetCompletionPreference(P, O): MonStgElt, MonStgElt`](line-editor.md#function-setcompletionpreference-monstgelt-monstgelt)

    - [`ClearCompletionPreference()`](line-editor.md#function-clearcompletionpreference)

    - [`SetCompletionPreferenceStyle(S): MonStgElt`](line-editor.md#function-setcompletionpreferencestyle-monstgelt)

- [History Files](history-files.md)

  - [The Options File](history-files.md#the-options-file)

- [The Magma Help System](help.md)

  - [`SetHelpExternalBrowser(S, T): MonStgElt, MonStgElt`](help.md#function-sethelpexternalbrowser-monstgelt-monstgelt)

  - [`SetHelpExternalBrowser(S): MonStgElt`](help.md#function-sethelpexternalbrowser-monstgelt)

  - [`SetHelpUseExternalBrowser(b): BoolElt`](help.md#function-sethelpuseexternalbrowser-boolelt)

  - [`SetHelpExternalSystem(s): MonStgElt`](help.md#function-sethelpexternalsystem-monstgelt)

  - [`SetHelpUseExternalSystem(b): BoolElt`](help.md#function-sethelpuseexternalsystem-boolelt)

  - [`GetHelpExternalBrowser() → MonStgElt, MonStgElt`](help.md#function-gethelpexternalbrowser)

  - [`GetHelpExternalSystem() → MonStgElt`](help.md#function-gethelpexternalsystem)

  - [`GetHelpUseExternal() → BoolElt, BoolElt`](help.md#function-gethelpuseexternal)

  - [Internal Help Browser](help.md#internal-help-browser)
