deuce.emacs-lisp.globals
abbrev-mode
Non-nil if Abbrev mode is enabled. Use the command `abbrev-mode' to change this variable.
abbrev-mode
Non-nil if Abbrev mode is enabled. Use the command `abbrev-mode' to change this variable.
after-change-functions
List of functions to call after each text change. Three arguments are passed to each function: the positions of the beginning and end of the range of changed text, and the length in bytes of the pre-change text replaced by that range. (For an insertion, the pre-change length is zero; for a deletion, that length is the number of bytes deleted, and the post-change beginning and end are at the same place.) Buffer changes made while executing the `after-change-functions' don't call any before-change or after-change functions. That's because `inhibit-modification-hooks' is temporarily set non-nil. If an unhandled error happens in running these functions, the variable's value remains nil. That prevents the error from happening repeatedly and making Emacs nonfunctional.
after-init-time
Value of `current-time' after loading the init files. This is nil during initialization.
after-insert-file-functions
A list of functions to be called at the end of `insert-file-contents'. Each is passed one argument, the number of characters inserted, with point at the start of the inserted text. Each function should leave point the same, and return the new character count. If `insert-file-contents' is intercepted by a handler from `file-name-handler-alist', that handler is responsible for calling the functions in `after-insert-file-functions' if appropriate.
after-load-alist
An alist of expressions to be evalled when particular files are loaded. Each element looks like (REGEXP-OR-FEATURE FORMS...). REGEXP-OR-FEATURE is either a regular expression to match file names, or a symbol (a feature name). When `load' is run and the file-name argument matches an element's REGEXP-OR-FEATURE, or when `provide' is run and provides the symbol REGEXP-OR-FEATURE, the FORMS in the element are executed. An error in FORMS does not undo the load, but does prevent execution of the rest of the FORMS.
auto-composition-function
Function to call to compose characters automatically. This function is called from the display routine with four arguments: FROM, TO, WINDOW, and STRING. If STRING is nil, the function must compose characters in the region between FROM and TO in the current buffer. Otherwise, STRING is a string, and FROM and TO are indices into the string. In this case, the function must compose characters in the string.
auto-composition-mode
Non-nil if Auto-Composition mode is enabled. Use the command `auto-composition-mode' to change this variable.
auto-fill-chars
A char-table for characters which invoke auto-filling. Such characters have value t in this table.
auto-fill-function
Function called (if non-nil) to perform auto-fill. It is called after self-inserting any character specified in the `auto-fill-chars' table. NOTE: This variable is not a hook; its value may not be a list of functions.
auto-hscroll-mode
Allow or disallow automatic horizontal scrolling of windows. If non-nil, windows are automatically scrolled horizontally to make point visible. You can customize this variable.
auto-raise-tool-bar-buttons
*Non-nil means raise tool-bar buttons when the mouse moves over them.
auto-resize-tool-bars
*Non-nil means automatically resize tool-bars. This dynamically changes the tool-bar's height to the minimum height that is needed to make all tool-bar items visible. If value is `grow-only', the tool-bar's height is only increased automatically; to decrease the tool-bar height, use M-x recenter.
auto-save-include-big-deletions
If non-nil, auto-save even if a large part of the text is deleted. If nil, deleting a substantial portion of the text disables auto-save in the buffer; this is the default behavior, because the auto-save file is usually more useful if it contains the deleted text.
auto-save-interval
Number of input events between auto-saves. Zero means disable autosaving due to number of characters typed. You can customize this variable.
auto-save-list-file-name
File name in which we write a list of all auto save file names. This variable is initialized automatically from `auto-save-list-file-prefix' shortly after Emacs reads your `.emacs' file, if you have not yet given it a non-nil value.
auto-save-timeout
Number of seconds idle time before auto-save. Zero or nil means disable auto-saving due to idleness. After auto-saving due to this many seconds of idle time, Emacs also does a garbage collection if that seems to be warranted. You can customize this variable.
auto-save-visited-file-name
Non-nil says auto-save a buffer in the file it is visiting, when practical. Normally auto-save files are written under other names. You can customize this variable.
auto-window-vscroll
Non-nil means to automatically adjust `window-vscroll' to view tall lines.
baud-rate
The output baud rate of the terminal. On most systems, changing this value will affect the amount of padding and the other strategic decisions made during redisplay. You can customize this variable.
before-change-functions
List of functions to call before each text change. Two arguments are passed to each function: the positions of the beginning and end of the range of old text to be changed. (For an insertion, the beginning and end are at the same place.) No information is given about the length of the text after the change. Buffer changes made while executing the `before-change-functions' don't call any before-change or after-change functions. That's because `inhibit-modification-hooks' is temporarily set non-nil. If an unhandled error happens in running these functions, the variable's value remains nil. That prevents the error from happening repeatedly and making Emacs nonfunctional.
before-init-time
Value of `current-time' before Emacs begins initialization.
bidi-display-reordering
Non-nil means reorder bidirectional text for display in the visual order.
bidi-paragraph-direction
*If non-nil, forces directionality of text paragraphs in the buffer. If this is nil (the default), the direction of each paragraph is determined by the first strong directional character of its text. The values of `right-to-left' and `left-to-right' override that. Any other value is treated as nil. This variable has no effect unless the buffer's value of `bidi-display-reordering' is non-nil. You can customize this variable.
blink-cursor-alist
Alist specifying how to blink the cursor off. Each element has the form (ON-STATE . OFF-STATE). Whenever the `cursor-type' frame-parameter or variable equals ON-STATE, comparing using `equal', Emacs uses OFF-STATE to specify how to blink it off. ON-STATE and OFF-STATE are values for the `cursor-type' frame parameter. If a frame's ON-STATE has no entry in this list, the frame's other specifications determine how to blink the cursor off. You can customize this variable.
buffer-access-fontified-property
Property which (if non-nil) indicates text has been fontified. `buffer-substring' need not call the `buffer-access-fontify-functions' functions if all the text being accessed has this property.
buffer-access-fontify-functions
List of functions called by `buffer-substring' to fontify if necessary. Each function is called with two arguments which specify the range of the buffer being accessed.
buffer-auto-save-file-format
*Format in which to write auto-save files. Should be a list of symbols naming formats that are defined in `format-alist'. If it is t, which is the default, auto-save files are written in the same format as a regular save would use.
buffer-auto-save-file-name
Name of file for auto-saving current buffer. If it is nil, that means don't auto-save this buffer.
buffer-backed-up
Non-nil if this buffer's file has been backed up. Backing up is done before the first time the file is saved.
buffer-display-count
A number incremented each time this buffer is displayed in a window. The function `set-window-buffer' increments it.
buffer-display-table
Display table that controls display of the contents of current buffer. If this variable is nil, the value of `standard-display-table' is used. Each window can have its own, overriding display table, see `set-window-display-table' and `window-display-table'. The display table is a char-table created with `make-display-table'. A char-table is an array indexed by character codes. Normal array primitives `aref' and `aset' can be used to access elements of a char-table. Each of the char-table elements control how to display the corresponding text character: the element at index C in the table says how to display the character whose code is C. Each element should be a vector of characters or nil. The value nil means display the character in the default fashion; otherwise, the characters from the vector are delivered to the screen instead of the original character. For example, (aset buffer-display-table ?X [?Y]) tells Emacs to display a capital Y instead of each X character. In addition, a char-table has six extra slots to control the display of: the end of a truncated screen line (extra-slot 0, a single character); the end of a continued line (extra-slot 1, a single character); the escape character used to display character codes in octal (extra-slot 2, a single character); the character used as an arrow for control characters (extra-slot 3, a single character); the decoration indicating the presence of invisible lines (extra-slot 4, a vector of characters); the character used to draw the border between side-by-side windows (extra-slot 5, a single character). See also the functions `display-table-slot' and `set-display-table-slot'.
buffer-display-time
Time stamp updated each time this buffer is displayed in a window. The function `set-window-buffer' updates this variable to the value obtained by calling `current-time'. If the buffer has never been shown in a window, the value is nil.
buffer-file-coding-system
Coding system to be used for encoding the buffer contents on saving. This variable applies to saving the buffer, and also to `write-region' and other functions that use `write-region'. It does not apply to sending output to subprocesses, however. If this is nil, the buffer is saved without any code conversion unless some coding system is specified in `file-coding-system-alist' for the buffer file. If the text to be saved cannot be encoded as specified by this variable, an alternative encoding is selected by `select-safe-coding-system', which see. The variable `coding-system-for-write', if non-nil, overrides this variable. This variable is never applied to a way of decoding a file while reading it.
buffer-file-coding-system
Coding system to be used for encoding the buffer contents on saving. This variable applies to saving the buffer, and also to `write-region' and other functions that use `write-region'. It does not apply to sending output to subprocesses, however. If this is nil, the buffer is saved without any code conversion unless some coding system is specified in `file-coding-system-alist' for the buffer file. If the text to be saved cannot be encoded as specified by this variable, an alternative encoding is selected by `select-safe-coding-system', which see. The variable `coding-system-for-write', if non-nil, overrides this variable. This variable is never applied to a way of decoding a file while reading it.
buffer-file-coding-system-explicit
buffer-file-format
List of formats to use when saving this buffer. Formats are defined by `format-alist'. This variable is set when a file is visited.
buffer-file-name
Name of file visited in current buffer, or nil if not visiting a file.
buffer-file-truename
Abbreviated truename of file visited in current buffer, or nil if none. The truename of a file is calculated by `file-truename' and then abbreviated with `abbreviate-file-name'.
buffer-invisibility-spec
Invisibility spec of this buffer. The default is t, which means that text is invisible if it has a non-nil `invisible' property. If the value is a list, a text character is invisible if its `invisible' property is an element in that list (or is a list with members in common). If an element is a cons cell of the form (PROP . ELLIPSIS), then characters with property value PROP are invisible, and they have an ellipsis as well if ELLIPSIS is non-nil.
buffer-list-update-hook
Hook run when the buffer list changes. Functions running this hook are `get-buffer-create', `make-indirect-buffer', `rename-buffer', `kill-buffer', and `bury-buffer-internal'.
buffer-read-only
Non-nil if this buffer is read-only.
buffer-saved-size
Length of current buffer when last read in, saved or auto-saved. 0 initially. -1 means auto-saving turned off until next real save. If you set this to -2, that means don't turn off auto-saving in this buffer if its text size shrinks. If you use `buffer-swap-text' on a buffer, you probably should set this to -2 in that buffer.
buffer-undo-list
List of undo entries in current buffer. Recent changes come first; older changes follow newer. An entry (BEG . END) represents an insertion which begins at position BEG and ends at position END. An entry (TEXT . POSITION) represents the deletion of the string TEXT from (abs POSITION). If POSITION is positive, point was at the front of the text being deleted; if negative, point was at the end. An entry (t HIGH . LOW) indicates that the buffer previously had "unmodified" status. HIGH and LOW are the high and low 16-bit portions of the visited file's modification time, as of that time. If the modification time of the most recent save is different, this entry is obsolete. An entry (nil PROPERTY VALUE BEG . END) indicates that a text property was modified between BEG and END. PROPERTY is the property name, and VALUE is the old value. An entry (apply FUN-NAME . ARGS) means undo the change with (apply FUN-NAME ARGS). An entry (apply DELTA BEG END FUN-NAME . ARGS) supports selective undo in the active region. BEG and END is the range affected by this entry and DELTA is the number of bytes added or deleted in that range by this change. An entry (MARKER . DISTANCE) indicates that the marker MARKER was adjusted in position by the offset DISTANCE (an integer). An entry of the form POSITION indicates that point was at the buffer location given by the integer. Undoing an entry of this form places point at POSITION. Entries with value `nil' mark undo boundaries. The undo command treats the changes between two undo boundaries as a single step to be undone. If the value of the variable is t, undo information is not recorded.
build-files
A list of files used to build this Emacs binary.
byte-boolean-vars
List of all DEFVAR_BOOL variables, used by the byte code optimizer.
byte-debug-flag
Non-nil enables debugging checks in byte/char position conversions.
bytecomp-version-regexp
Regular expression matching safe to load compiled Lisp files. When Emacs loads a compiled Lisp file, it reads the first 512 bytes from the file, and matches them against this regular expression. When the regular expression matches, the file is considered to be safe to load. See also `load-dangerous-libraries'.
cache-long-line-scans
Non-nil means that Emacs should use caches to handle long lines more quickly. Normally, the line-motion functions work by scanning the buffer for newlines. Columnar operations (like `move-to-column' and `compute-motion') also work by scanning the buffer, summing character widths as they go. This works well for ordinary text, but if the buffer's lines are very long (say, more than 500 characters), these motion functions will take longer to execute. Emacs may also take longer to update the display. If `cache-long-line-scans' is non-nil, these motion functions cache the results of their scans, and consult the cache to avoid rescanning regions of the buffer until the text is modified. The caches are most beneficial when they prevent the most searching---that is, when the buffer contains long lines and large regions of characters with the same, fixed screen width. When `cache-long-line-scans' is non-nil, processing short lines will become slightly slower (because of the overhead of consulting the cache), and the caches will use memory roughly proportional to the number of newlines and characters whose screen width varies. The caches require no explicit maintenance; their accuracy is maintained internally by the Emacs primitives. Enabling or disabling the cache should not affect the behavior of any of the motion functions; it should only affect their performance.
cannot-suspend
Non-nil means to always spawn a subshell instead of suspending. (Even if the operating system has support for stopping a process.)
case-fold-search
*Non-nil if searches and matches should ignore case. You can customize this variable.
case-fold-search
*Non-nil if searches and matches should ignore case. You can customize this variable.
change-major-mode-hook
Normal hook run before changing the major mode of a buffer. The function `kill-all-local-variables' runs this before doing anything else.
char-code-property-alist
Alist of character property name vs char-table containing property values. Internal use only.
char-property-alias-alist
Alist of alternative properties for properties without a value. Each element should look like (PROPERTY ALTERNATIVE1 ALTERNATIVE2...). If a piece of text has no direct value for a particular property, then this alist is consulted. If that property appears in the alist, then the first non-nil value from the associated alternative properties is returned.
char-script-table
Char table of script symbols. It has one extra slot whose value is a list of script symbols.
char-width-table
A char-table for width (columns) of each character.
charset-list
List of all charsets ever defined.
charset-map-path
*List of directories to search for charset map files. You can customize this variable.
charset-revision-table
Alist of charsets vs revision numbers. While encoding, if a charset (car part of an element) is found, designate it with the escape sequence identifying revision (cdr part of the element).
check-markers-debug-flag
Non-nil means enable debugging checks for invalid marker positions.
code-conversion-map-vector
Vector of code conversion maps.
coding-category-list
List of coding-categories (symbols) ordered by priority. On detecting a coding system, Emacs tries code detection algorithms associated with each coding-category one by one in this order. When one algorithm agrees with a byte sequence of source text, the coding system bound to the corresponding coding-category is selected. Don't modify this variable directly, but use `set-coding-system-priority'.
coding-system-alist
Alist of coding system names. Each element is one element list of coding system name. This variable is given to `completing-read' as COLLECTION argument. Do not alter the value of this variable manually. This variable should be updated by the functions `make-coding-system' and `define-coding-system-alias'.
coding-system-for-read
Specify the coding system for read operations. It is useful to bind this variable with `let', but do not set it globally. If the value is a coding system, it is used for decoding on read operation. If not, an appropriate element is used from one of the coding system alists. There are three such tables: `file-coding-system-alist', `process-coding-system-alist', and `network-coding-system-alist'.
coding-system-for-write
Specify the coding system for write operations. Programs bind this variable with `let', but you should not set it globally. If the value is a coding system, it is used for encoding of output, when writing it to a file and when sending it to a file or subprocess. If this does not specify a coding system, an appropriate element is used from one of the coding system alists. There are three such tables: `file-coding-system-alist', `process-coding-system-alist', and `network-coding-system-alist'. For output to files, if the above procedure does not specify a coding system, the value of `buffer-file-coding-system' is used.
coding-system-list
List of coding systems. Do not alter the value of this variable manually. This variable should be updated by the functions `define-coding-system' and `define-coding-system-alias'.
coding-system-require-warning
Internal use only. If non-nil, on writing a file, `select-safe-coding-system-function' is called even if `coding-system-for-write' is non-nil. The command `universal-coding-system-argument' binds this variable to t temporarily.
combine-after-change-calls
Used internally by the `combine-after-change-calls' macro.
command-debug-status
Debugging status of current interactive command. Bound each time `call-interactively' is called; may be set by the debugger as a reminder for itself.
command-error-function
If non-nil, function to output error messages. The arguments are the error data, a list of the form (SIGNALED-CONDITIONS . SIGNAL-DATA) such as just as `condition-case' would bind its variable to, the context (a string which normally goes at the start of the message), and the Lisp function within which the error was signaled.
command-history
List of recent commands that read arguments from terminal. Each command is represented as a form to evaluate. Maximum length of the history list is determined by the value of `history-length', which see.
command-line-args
Args passed by shell to Emacs, as a list of strings. Many arguments are deleted from the list as they are processed.
completion-ignore-case
Non-nil means don't consider case significant in completion. For file-name completion, `read-file-name-completion-ignore-case' controls the behavior, rather than this variable. For buffer name completion, `read-buffer-completion-ignore-case' controls the behavior, rather than this variable.
completion-ignored-extensions
Completion ignores file names ending in any string in this list. It does not ignore them if all possible completions end in one of these strings or when displaying a list of completions. It ignores directory names if they match any string in this list which ends in a slash. You can customize this variable.
completion-regexp-list
List of regexps that should restrict possible completions. The basic completion functions only consider a completion acceptable if it matches all regular expressions in this list, with `case-fold-search' bound to the value of `completion-ignore-case'. See Info node `(elisp)Basic Completion', for a description of these functions.
compose-chars-after-function
Function to adjust composition of buffer text. This function is called with three arguments: FROM, TO, and OBJECT. FROM and TO specify the range of text whose composition should be adjusted. OBJECT, if non-nil, is a string that contains the text. This function is called after a text with `composition' property is inserted or deleted to keep `composition' property of buffer text valid. The default value is the function `compose-chars-after'.
composition-function-table
Char-table of functions for automatic character composition. For each character that has to be composed automatically with preceding and/or following characters, this char-table contains a function to call to compose that character. The element at index C in the table, if non-nil, is a list of composition rules of this form: ([PATTERN PREV-CHARS FUNC] ...) PATTERN is a regular expression which C and the surrounding characters must match. PREV-CHARS is a non-negative integer (less than 4) specifying how many characters before C to check the matching with PATTERN. If it is 0, PATTERN must match C and the following characters. If it is 1, PATTERN must match a character before C and the following characters. If PREV-CHARS is 0, PATTERN can be nil, which means that the single character C should be composed. FUNC is a function to return a glyph-string representing a composition of the characters that match PATTERN. It is called with one argument GSTRING. GSTRING is a template of a glyph-string to return. It is already filled with a proper header for the characters to compose, and glyphs corresponding to those characters one by one. The function must return a new glyph-string with the same header as GSTRING, or modify GSTRING itself and return it. See also the documentation of `auto-composition-mode'.
configure-info-directory
For internal use by the build procedure only. This is the name of the directory in which the build procedure installed Emacs's info files; the default value for `Info-default-directory-list' includes this.
cons-cells-consed
Number of cons cells that have been consed so far.
ctl-arrow
*Non-nil means display control chars with uparrow. A value of nil means use backslash and octal digits. This variable does not apply to characters whose display is specified in the current display table (if there is one). You can customize this variable.
ctl-arrow
*Non-nil means display control chars with uparrow. A value of nil means use backslash and octal digits. This variable does not apply to characters whose display is specified in the current display table (if there is one). You can customize this variable.
ctl-x-map
current-input-method
current-iso639-language
ISO639 language mnemonic symbol for the current language environment. If the current language environment is for multiple languages (e.g. "Latin-1"), the value may be a list of mnemonics.
current-language-environment
current-load-list
Used for internal purposes by `load'.
current-prefix-arg
The value of the prefix argument for this editing command. It may be a number, or the symbol `-' for just a minus sign as arg, or a list whose car is a number for just one or more C-u's or nil if no argument has been specified. This is what `(interactive "P")' returns.
cursor-in-echo-area
Non-nil means put cursor in minibuffer, at end of any message there.
cursor-in-non-selected-windows
*Non-nil means show a cursor in non-selected windows. If nil, only shows a cursor in the selected window. If t, displays a cursor related to the usual cursor type (a solid box becomes hollow, a bar becomes a narrower bar). You can also specify the cursor type as in the `cursor-type' variable. Use Custom to set this variable and update the display." You can customize this variable.
cursor-in-non-selected-windows
*Non-nil means show a cursor in non-selected windows. If nil, only shows a cursor in the selected window. If t, displays a cursor related to the usual cursor type (a solid box becomes hollow, a bar becomes a narrower bar). You can also specify the cursor type as in the `cursor-type' variable. Use Custom to set this variable and update the display." You can customize this variable.
cursor-type
Cursor to use when this buffer is in the selected window. Values are interpreted as follows: t use the cursor specified for the frame nil don't display a cursor box display a filled box cursor hollow display a hollow box cursor bar display a vertical bar cursor with default width (bar . WIDTH) display a vertical bar cursor with width WIDTH hbar display a horizontal bar cursor with default height (hbar . HEIGHT) display a horizontal bar cursor with height HEIGHT ANYTHING ELSE display a hollow box cursor When the buffer is displayed in a non-selected window, the cursor's appearance is instead controlled by the variable `cursor-in-non-selected-windows'.
cursor-type
Cursor to use when this buffer is in the selected window. Values are interpreted as follows: t use the cursor specified for the frame nil don't display a cursor box display a filled box cursor hollow display a hollow box cursor bar display a vertical bar cursor with default width (bar . WIDTH) display a vertical bar cursor with width WIDTH hbar display a horizontal bar cursor with default height (hbar . HEIGHT) display a horizontal bar cursor with height HEIGHT ANYTHING ELSE display a hollow box cursor When the buffer is displayed in a non-selected window, the cursor's appearance is instead controlled by the variable `cursor-in-non-selected-windows'.
data-directory
Directory of machine-independent files that come with GNU Emacs. These are files intended for Emacs to use while it runs.
deactivate-mark
If an editing command sets this to t, deactivate the mark afterward. The command loop sets this to nil before each command, and tests the value when the command returns. Buffer modification stores t in this variable.
debug-ignored-errors
*List of errors for which the debugger should not be called. Each element may be a condition-name or a regexp that matches error messages. If any element applies to a given error, that error skips the debugger and just returns to top level. This overrides the variable `debug-on-error'. It does not apply to errors handled by `condition-case'. You can customize this variable.
debug-on-error
*Non-nil means enter debugger if an error is signaled. Does not apply to errors handled by `condition-case' or those matched by `debug-ignored-errors'. If the value is a list, an error only means to enter the debugger if one of its condition symbols appears in the list. When you evaluate an expression interactively, this variable is temporarily non-nil if `eval-expression-debug-on-error' is non-nil. The command `toggle-debug-on-error' toggles this. See also the variable `debug-on-quit'. You can customize this variable.
debug-on-event
Enter debugger on this event. When Emacs receives the special event specified by this variable, it will try to break into the debugger as soon as possible instead of processing the event normally through `special-event-map'. Currently, the only supported values for this variable are `sigusr1' and `sigusr2'. You can customize this variable.
debug-on-next-call
Non-nil means enter debugger before next `eval', `apply' or `funcall'.
debug-on-quit
*Non-nil means enter debugger if quit is signaled (C-g, for example). Does not apply if quit is handled by a `condition-case'. You can customize this variable.
debug-on-signal
*Non-nil means call the debugger regardless of condition handlers. Note that `debug-on-error', `debug-on-quit' and friends still determine whether to handle the particular condition.
debugger
Function to call to invoke debugger. If due to frame exit, args are `exit' and the value being returned; this function's value will be returned instead of that. If due to error, args are `error' and a list of the args to `signal'. If due to `apply' or `funcall' entry, one arg, `lambda'. If due to `eval' entry, one arg, t.
debugger-may-continue
Non-nil means debugger may continue execution. This is nil when the debugger is called under circumstances where it might not be safe to continue.
default-directory
Name of default directory of current buffer. Should end with slash. To interactively change the default directory, use command `cd'.
default-file-name-coding-system
Default coding system for encoding file names. This variable is used only when `file-name-coding-system' is nil. This variable is set/changed by the command `set-language-environment'. User should not set this variable manually, instead use `file-name-coding-system' to get a constant encoding of file names regardless of the current language environment.
default-frame-alist
Alist of default values for frame creation. These may be set in your init file, like this: (setq default-frame-alist '((width . 80) (height . 55) (menu-bar-lines . 1))) These override values given in window system configuration data, including X Windows' defaults database. For values specific to the first Emacs frame, see `initial-frame-alist'. For window-system specific values, see `window-system-default-frame-alist'. For values specific to the separate minibuffer frame, see `minibuffer-frame-alist'. The `menu-bar-lines' element of the list controls whether new frames have menu bars; `menu-bar-mode' works by altering this element. Setting this variable does not affect existing frames, only new ones. You can customize this variable.
default-frame-scroll-bars
Default position of scroll bars on this window-system.
default-minibuffer-frame
Minibufferless frames use this frame's minibuffer. Emacs cannot create minibufferless frames unless this is set to an appropriate surrogate. Emacs consults this variable only when creating minibufferless frames; once the frame is created, it sticks with its assigned minibuffer, no matter what this variable is set to. This means that this variable doesn't necessarily say anything meaningful about the current set of frames, or where the minibuffer is currently being displayed. This variable is local to the current terminal and cannot be buffer-local.
default-process-coding-system
Cons of coding systems used for process I/O by default. The car part is used for decoding a process output, the cdr part is used for encoding a text to be sent to a process.
default-text-properties
Property-list used as default values. The value of a property in this list is seen as the value for every character that does not have its own value for that property.
deferred-action-function
Function to call to handle deferred actions, after each command. This function is called with no arguments after each command whenever `deferred-action-list' is non-nil.
deferred-action-list
List of deferred actions to be performed at a later time. The precise format isn't relevant here; we just check whether it is nil.
define-key-rebound-commands
List of commands given new key bindings recently. This is used for internal purposes during Emacs startup; don't alter it yourself.
defining-kbd-macro
Non-nil while a keyboard macro is being defined. Don't set this! The value is the symbol `append' while appending to the definition of an existing macro.
delayed-warnings-list
List of warnings to be displayed after this command. Each element must be a list (TYPE MESSAGE [LEVEL [BUFFER-NAME]]), as per the args of `display-warning' (which see). If this variable is non-nil, `delayed-warnings-hook' will be run immediately after running `post-command-hook'.
delete-by-moving-to-trash
Specifies whether to use the system's trash can. When non-nil, certain file deletion commands use the function `move-file-to-trash' instead of deleting files outright. This includes interactive calls to `delete-file' and `delete-directory' and the Dired deletion commands. You can customize this variable.
delete-exited-processes
*Non-nil means delete processes immediately when they exit. A value of nil means don't delete them until `list-processes' is run. You can customize this variable.
delete-frame-functions
Functions to be run before deleting a frame. The functions are run with one arg, the frame to be deleted. See `delete-frame'. Note that functions in this list may be called just before the frame is actually deleted, or some time later (or even both when an earlier function in `delete-frame-functions' (indirectly) calls `delete-frame' recursively).
delete-terminal-functions
Special hook run when a terminal is deleted. Each function is called with argument, the terminal. This may be called just before actually deleting the terminal, or some time later.
describe-language-environment-map
disable-point-adjustment
If non-nil, suppress point adjustment after executing a command. After a command is executed, if point is moved into a region that has special properties (e.g. composition, display), we adjust point to the boundary of the region. But, when a command sets this variable to non-nil, we suppress the point adjustment. This variable is set to nil before reading a command, and is checked just after executing the command.
display-hourglass
Non-nil means show an hourglass pointer, when Emacs is busy. This feature only works when on a window system that can change cursor shapes. You can customize this variable.
display-pixels-per-inch
Pixels per inch value for non-window system displays. Value is a number or a cons (WIDTH-DPI . HEIGHT-DPI).
doc-directory
Directory containing the DOC file that comes with GNU Emacs. This is usually the same as `data-directory'.
double-click-fuzz
Maximum mouse movement between clicks to make a double-click. On window-system frames, value is the number of pixels the mouse may have moved horizontally or vertically between two clicks to make a double-click. On non window-system frames, value is interpreted in units of 1/8 characters instead of pixels. This variable is also the threshold for motion of the mouse to count as a drag. You can customize this variable.
double-click-time
Maximum time between mouse clicks to make a double-click. Measured in milliseconds. The value nil means disable double-click recognition; t means double-clicks have no time limit and are detected by position only. You can customize this variable.
dynamic-library-alist
Alist of dynamic libraries vs external files implementing them. Each element is a list (LIBRARY FILE...), where the car is a symbol representing a supported external library, and the rest are strings giving alternate filenames for that library. Emacs tries to load the library from the files in the order they appear on the list; if none is loaded, the running session of Emacs won't have access to that library. Note that image types `pbm' and `xbm' do not need entries in this variable because they do not depend on external libraries and are always available. Also note that this is not a generic facility for accessing external libraries; only those already known by Emacs will be loaded.
echo-area-clear-hook
Normal hook run when clearing the echo area.
echo-keystrokes
Nonzero means echo unfinished commands after this many seconds of pause. The value may be integer or floating point. If the value is zero, don't echo at all. You can customize this variable.
emacs-copyright
Short copyright string for this version of Emacs.
emacs-version
Version numbers of this version of Emacs.
emulation-mode-map-alists
List of keymap alists to use for emulations modes. It is intended for modes or packages using multiple minor-mode keymaps. Each element is a keymap alist just like `minor-mode-map-alist', or a symbol with a variable binding which is a keymap alist, and it is used the same way. The "active" keymaps in each alist are used before `minor-mode-map-alist' and `minor-mode-overriding-map-alist'.
enable-character-translation
*Non-nil enables character translation while encoding and decoding.
enable-multibyte-characters
Non-nil means the buffer contents are regarded as multi-byte characters. Otherwise they are regarded as unibyte. This affects the display, file I/O and the behavior of various editing commands. This variable is buffer-local but you cannot set it directly; use the function `set-buffer-multibyte' to change a buffer's representation. See also Info node `(elisp)Text Representations'.
enable-multibyte-characters
Non-nil means the buffer contents are regarded as multi-byte characters. Otherwise they are regarded as unibyte. This affects the display, file I/O and the behavior of various editing commands. This variable is buffer-local but you cannot set it directly; use the function `set-buffer-multibyte' to change a buffer's representation. See also Info node `(elisp)Text Representations'.
enable-recursive-minibuffers
Non-nil means to allow minibuffer commands while in the minibuffer. This variable makes a difference whenever the minibuffer window is active. You can customize this variable.
eol-mnemonic-dos
*String displayed in mode line for DOS-like (CRLF) end-of-line format. You can customize this variable.
eol-mnemonic-mac
*String displayed in mode line for MAC-like (CR) end-of-line format. You can customize this variable.
eol-mnemonic-undecided
*String displayed in mode line when end-of-line format is not yet determined. You can customize this variable.
eol-mnemonic-unix
*String displayed in mode line for UNIX-like (LF) end-of-line format. You can customize this variable.
esc-map
eval-buffer-list
List of buffers being read from by calls to `eval-buffer' and `eval-region'.
exec-directory
Directory for executables for Emacs to invoke. More generally, this includes any architecture-dependent files that are built and installed from the Emacs distribution.
exec-path
*List of directories to search programs to run in subprocesses. Each element is a string (directory name) or nil (try default directory). You can customize this variable.
exec-suffixes
*List of suffixes to try to find executable file names. Each element is a string.
executing-kbd-macro
Currently executing keyboard macro (string or vector). This is nil when not executing a keyboard macro.
executing-kbd-macro-index
Index in currently executing keyboard macro; undefined if none executing.
extra-keyboard-modifiers
A mask of additional modifier keys to use with every keyboard character. Emacs applies the modifiers of the character stored here to each keyboard character it reads. For example, after evaluating the expression (setq extra-keyboard-modifiers ?\C-x) all input characters will have the control modifier applied to them. Note that the character ?\C-@, equivalent to the integer zero, does not count as a control character; rather, it counts as a character with no modifiers; thus, setting `extra-keyboard-modifiers' to zero cancels any modification.
face-default-stipple
*Default stipple pattern used on monochrome displays. This stipple pattern is used on monochrome displays instead of shades of gray for a face background color. See `set-face-stipple' for possible values for this variable.
face-font-rescale-alist
Alist of fonts vs the rescaling factors. Each element is a cons (FONT-PATTERN . RESCALE-RATIO), where FONT-PATTERN is a font-spec or a regular expression matching a font name, and RESCALE-RATIO is a floating point number to specify how much larger (or smaller) font we should use. For instance, if a face requests a font of 10 point, we actually use a font of 10 * RESCALE-RATIO point.
face-ignored-fonts
List of ignored fonts. Each element is a regular expression that matches names of fonts to ignore.
face-new-frame-defaults
List of global face definitions (for internal use only.)
face-remapping-alist
Alist of face remappings. Each element is of the form: (FACE . REPLACEMENT), which causes display of the face FACE to use REPLACEMENT instead. REPLACEMENT is a face specification, i.e. one of the following: (1) a face name (2) a property list of attribute/value pairs, or (3) a list in which each element has the form of (1) or (2). List values for REPLACEMENT are merged to form the final face specification, with earlier entries taking precedence, in the same as as in the `face' text property. Face-name remapping cycles are suppressed; recursive references use the underlying face instead of the remapped face. So a remapping of the form: (FACE EXTRA-FACE... FACE) or: (FACE (FACE-ATTR VAL ...) FACE) causes EXTRA-FACE... or (FACE-ATTR VAL ...) to be _merged_ with the existing definition of FACE. Note that this isn't necessary for the default face, since every face inherits from the default face. If this variable is made buffer-local, the face remapping takes effect only in that buffer. For instance, the mode my-mode could define a face `my-mode-default', and then in the mode setup function, do: (set (make-local-variable 'face-remapping-alist) '((default my-mode-default)))). Because Emacs normally only redraws screen areas when the underlying buffer contents change, you may need to call `redraw-display' after changing this variable for it to take effect.
features
A list of symbols which are the features of the executing Emacs. Used by `featurep' and `require', and altered by `provide'.
file-coding-system-alist
Alist to decide a coding system to use for a file I/O operation. The format is ((PATTERN . VAL) ...), where PATTERN is a regular expression matching a file name, VAL is a coding system, a cons of coding systems, or a function symbol. If VAL is a coding system, it is used for both decoding and encoding the file contents. If VAL is a cons of coding systems, the car part is used for decoding, and the cdr part is used for encoding. If VAL is a function symbol, the function must return a coding system or a cons of coding systems which are used as above. The function is called with an argument that is a list of the arguments with which `find-operation-coding-system' was called. If the function can't decide a coding system, it can return `undecided' so that the normal code-detection is performed. See also the function `find-operation-coding-system' and the variable `auto-coding-alist'. You can customize this variable.
file-name-coding-system
*Coding system for encoding file names. If it is nil, `default-file-name-coding-system' (which see) is used.
file-name-handler-alist
Alist of elements (REGEXP . HANDLER) for file names handled specially. If a file name matches REGEXP, all I/O on that file is done by calling HANDLER. If a file name matches more than one handler, the handler whose match starts last in the file name gets precedence. The function `find-file-name-handler' checks this list for a handler for its argument. HANDLER should be a function. The first argument given to it is the name of the I/O primitive to be handled; the remaining arguments are the arguments that were passed to that primitive. For example, if you do (file-exists-p FILENAME) and FILENAME is handled by HANDLER, then HANDLER is called like this: (funcall HANDLER 'file-exists-p FILENAME) Note that HANDLER must be able to handle all I/O primitives; if it has nothing special to do for a primitive, it should reinvoke the primitive to handle the operation "the usual way". See Info node `(elisp)Magic File Names' for more details.
fill-column
*Column beyond which automatic line-wrapping should happen. Interactively, you can set the buffer local value using C-x f. You can customize this variable.
fill-column
*Column beyond which automatic line-wrapping should happen. Interactively, you can set the buffer local value using C-x f. You can customize this variable.
find-word-boundary-function-table
Char table of functions to search for the word boundary. Each function is called with two arguments; POS and LIMIT. POS and LIMIT are character positions in the current buffer. If POS is less than LIMIT, POS is at the first character of a word, and the return value of a function is a position after the last character of that word. If POS is not less than LIMIT, POS is at the last character of a word, and the return value of a function is a position at the first character of that word. In both cases, LIMIT bounds the search.
first-change-hook
A list of functions to call before changing a buffer which is unmodified. The functions are run using the `run-hooks' function.
float-output-format
The format descriptor string used to print floats. This is a %-spec like those accepted by `printf' in C, but with some restrictions. It must start with the two characters `%.'. After that comes an integer precision specification, and then a letter which controls the format. The letters allowed are `e', `f' and `g'. Use `e' for exponential notation "DIG.DIGITSeEXPT" Use `f' for decimal point notation "DIGITS.DIGITS". Use `g' to choose the shorter of those two formats for the number at hand. The precision in any of these cases is the number of digits following the decimal point. With `f', a precision of 0 means to omit the decimal point. 0 is not allowed with `e' or `g'. A value of nil means to use the shortest notation that represents the number without losing information.
floats-consed
Number of floats that have been consed so far.
focus-follows-mouse
Non-nil if window system changes focus when you move the mouse. You should set this variable to tell Emacs how your window manager handles focus, since there is no way in general for Emacs to find out automatically. See also `mouse-autoselect-window'. You can customize this variable.
font-ccl-encoder-alist
Alist of fontname patterns vs corresponding CCL program. Each element looks like (REGEXP . CCL-CODE), where CCL-CODE is a compiled CCL program. When a font whose name matches REGEXP is used for displaying a character, CCL-CODE is executed to calculate the code point in the font from the charset number and position code(s) of the character which are set in CCL registers R0, R1, and R2 before the execution. The code point in the font is set in CCL registers R1 and R2 when the execution terminated. If the font is single-byte font, the register R2 is not used.
font-encoding-alist
Alist of fontname patterns vs the corresponding encoding and repertory info. Each element looks like (REGEXP . (ENCODING . REPERTORY)), where ENCODING is a charset or a char-table, and REPERTORY is a charset, a char-table, or nil. If ENCODING and REPERTORY are the same, the element can have the form (REGEXP . ENCODING). ENCODING is for converting a character to a glyph code of the font. If ENCODING is a charset, encoding a character by the charset gives the corresponding glyph code. If ENCODING is a char-table, looking up the table by a character gives the corresponding glyph code. REPERTORY specifies a repertory of characters supported by the font. If REPERTORY is a charset, all characters belonging to the charset are supported. If REPERTORY is a char-table, all characters who have a non-nil value in the table are supported. If REPERTORY is nil, Emacs gets the repertory information by an opened font and ENCODING.
font-list-limit
*Limit for font matching. If an integer > 0, font matching functions won't load more than that number of fonts when searching for a matching font.
font-log
*Logging list of font related actions and results. The value t means to suppress the logging. The initial value is set to nil if the environment variable EMACS_FONT_LOG is set. Otherwise, it is set to t.
font-slant-table
Vector of font slant symbols vs the corresponding numeric values. See `font-weight-table' for the format of the vector.
font-weight-table
Vector of valid font weight values. Each element has the form: [NUMERIC-VALUE SYMBOLIC-NAME ALIAS-NAME ...] NUMERIC-VALUE is an integer, and SYMBOLIC-NAME and ALIAS-NAME are symbols.
font-width-table
Alist of font width symbols vs the corresponding numeric values. See `font-weight-table' for the format of the vector.
fontification-functions
List of functions to call to fontify regions of text. Each function is called with one argument POS. Functions must fontify a region starting at POS in the current buffer, and give fontified regions the property `fontified'.
force-load-messages
Non-nil means force printing messages when loading Lisp files. This overrides the value of the NOMESSAGE argument to `load'.
frame-title-format
Template for displaying the title bar of visible frames. (Assuming the window manager supports this feature.) This variable has the same structure as `mode-line-format', except that the %c and %l constructs are ignored. It is used only on frames for which no explicit name has been set (see `modify-frame-parameters').
fringe-cursor-alist
*Mapping from logical to physical fringe cursor bitmaps. The value is an alist where each element (CURSOR . BITMAP) specifies the fringe bitmaps used to display a specific logical cursor type in the fringe. CURSOR specifies the logical cursor type which is one of the following symbols: `box' , `hollow', `bar', `hbar', or `hollow-small'. The last one is used to show a hollow cursor on narrow lines display lines where the normal hollow cursor will not fit. BITMAP is the corresponding fringe bitmap shown for the logical cursor type.
fringe-cursor-alist
*Mapping from logical to physical fringe cursor bitmaps. The value is an alist where each element (CURSOR . BITMAP) specifies the fringe bitmaps used to display a specific logical cursor type in the fringe. CURSOR specifies the logical cursor type which is one of the following symbols: `box' , `hollow', `bar', `hbar', or `hollow-small'. The last one is used to show a hollow cursor on narrow lines display lines where the normal hollow cursor will not fit. BITMAP is the corresponding fringe bitmap shown for the logical cursor type.
fringe-indicator-alist
*Mapping from logical to physical fringe indicator bitmaps. The value is an alist where each element (INDICATOR . BITMAPS) specifies the fringe bitmaps used to display a specific logical fringe indicator. INDICATOR specifies the logical indicator type which is one of the following symbols: `truncation' , `continuation', `overlay-arrow', `top', `bottom', `top-bottom', `up', `down', empty-line', or `unknown'. BITMAPS is a list of symbols (LEFT RIGHT [LEFT1 RIGHT1]) which specifies the actual bitmap shown in the left or right fringe for the logical indicator. LEFT and RIGHT are the bitmaps shown in the left and/or right fringe for the specific indicator. The LEFT1 or RIGHT1 bitmaps are used only for the `bottom' and `top-bottom' indicators when the last (only) line has no final newline. BITMAPS may also be a single symbol which is used in both left and right fringes.
fringe-indicator-alist
*Mapping from logical to physical fringe indicator bitmaps. The value is an alist where each element (INDICATOR . BITMAPS) specifies the fringe bitmaps used to display a specific logical fringe indicator. INDICATOR specifies the logical indicator type which is one of the following symbols: `truncation' , `continuation', `overlay-arrow', `top', `bottom', `top-bottom', `up', `down', empty-line', or `unknown'. BITMAPS is a list of symbols (LEFT RIGHT [LEFT1 RIGHT1]) which specifies the actual bitmap shown in the left or right fringe for the logical indicator. LEFT and RIGHT are the bitmaps shown in the left and/or right fringe for the specific indicator. The LEFT1 or RIGHT1 bitmaps are used only for the `bottom' and `top-bottom' indicators when the last (only) line has no final newline. BITMAPS may also be a single symbol which is used in both left and right fringes.
fringes-outside-margins
*Non-nil means to display fringes outside display margins. A value of nil means to display fringes between margins and buffer text.
fringes-outside-margins
*Non-nil means to display fringes outside display margins. A value of nil means to display fringes between margins and buffer text.
function-key-map
The parent keymap of all `local-function-key-map' instances. Function key definitions that apply to all terminal devices should go here. If a mapping is defined in both the current `local-function-key-map' binding and this variable, then the local definition will take precedence.
garbage-collection-messages
Non-nil means display messages at start and end of garbage collection. You can customize this variable.
gc-cons-percentage
*Portion of the heap used for allocation. Garbage collection can happen automatically once this portion of the heap has been allocated since the last garbage collection. If this portion is smaller than `gc-cons-threshold', this is ignored.
gc-cons-threshold
*Number of bytes of consing between garbage collections. Garbage collection can happen automatically once this many bytes have been allocated since the last garbage collection. All data types count. Garbage collection happens automatically only when `eval' is called. By binding this temporarily to a large number, you can effectively prevent garbage collection during a part of the program. See also `gc-cons-percentage'. You can customize this variable.
gc-elapsed
Accumulated time elapsed in garbage collections. The time is in seconds as a floating point value.
gcs-done
Accumulated number of garbage collections done.
global-disable-point-adjustment
If non-nil, always suppress point adjustment. The default value is nil, in which case, point adjustment are suppressed only after special commands that set `disable-point-adjustment' (which see) to non-nil.
global-map
global-mode-string
String (or mode line construct) included (normally) in `mode-line-format'.
glyph-table
Table defining how to output a glyph code to the frame. If not nil, this is a vector indexed by glyph code to define the glyph. Each element can be: integer: a glyph code which this glyph is an alias for. string: output this glyph using that string (not impl. in X windows). nil: this glyph mod 524288 is the code of a character to output, and this glyph / 524288 is the face number (see `face-id') to use while outputting it.
glyphless-char-display
Char-table defining glyphless characters. Each element, if non-nil, should be one of the following: an ASCII acronym string: display this string in a box `hex-code': display the hexadecimal code of a character in a box `empty-box': display as an empty box `thin-space': display as 1-pixel width space `zero-width': don't display An element may also be a cons cell (GRAPHICAL . TEXT), which specifies the display method for graphical terminals and text terminals respectively. GRAPHICAL and TEXT should each have one of the values listed above. The char-table has one extra slot to control the display of a character for which no font is found. This slot only takes effect on graphical terminals. Its value should be an ASCII acronym string, `hex-code', `empty-box', or `thin-space'. The default is `empty-box'.
header-line-format
Analogous to `mode-line-format', but controls the header line. The header line appears, optionally, at the top of a window; the mode line appears at the bottom.
header-line-format
Analogous to `mode-line-format', but controls the header line. The header line appears, optionally, at the top of a window; the mode line appears at the bottom.
help-char
Character to recognize as meaning Help. When it is read, do `(eval help-form)', and display result if it's a string. If the value of `help-form' is nil, this char can be read normally. You can customize this variable.
help-event-list
List of input events to recognize as meaning Help. These work just like the value of `help-char' (see that). You can customize this variable.
help-form
Form to execute when character `help-char' is read. If the form returns a string, that string is displayed. If `help-form' is nil, the help char is not recognized.
highlight-nonselected-windows
*Non-nil means highlight region even in nonselected windows. You can customize this variable.
history-add-new-input
Non-nil means to add new elements in history. If set to nil, minibuffer reading functions don't add new elements to the history list, so it is possible to do this afterwards by calling `add-to-history' explicitly.
history-delete-duplicates
Non-nil means to delete duplicates in history. If set to t when adding a new history element, all previous identical elements are deleted from the history list. You can customize this variable.
history-length
Maximum length of history lists before truncation takes place. A number means truncate to that length; truncation deletes old elements, and is done just after inserting a new element. A value of t means no truncation. This variable only affects history lists that don't specify their own maximum lengths. Setting the `history-length' property of a history variable overrides this default. You can customize this variable.
hourglass-delay
*Seconds to wait before displaying an hourglass pointer when Emacs is busy. You can customize this variable.
hscroll-margin
*How many columns away from the window edge point is allowed to get before automatic hscrolling will horizontally scroll the window. You can customize this variable.
hscroll-step
*How many columns to scroll the window when point gets too close to the edge. When point is less than `hscroll-margin' columns from the window edge, automatic hscrolling will scroll the window by the amount of columns determined by this variable. If its value is a positive integer, scroll that many columns. If it's a positive floating-point number, it specifies the fraction of the window's width to scroll. If it's nil or zero, point will be centered horizontally after the scroll. Any other value, including negative numbers, are treated as if the value were zero. Automatic hscrolling always moves point outside the scroll margin, so if point was more than scroll step columns inside the margin, the window will scroll more than the value given by the scroll step. Note that the lower bound for automatic hscrolling specified by `scroll-left' and `scroll-right' overrides this variable's effect. You can customize this variable.
icon-title-format
Template for displaying the title bar of an iconified frame. (Assuming the window manager supports this feature.) This variable has the same structure as `mode-line-format' (which see), and is used only on frames for which no explicit name has been set (see `modify-frame-parameters').
indent-tabs-mode
*Indentation can insert tabs if this is non-nil. You can customize this variable.
indicate-buffer-boundaries
*Visually indicate buffer boundaries and scrolling. If non-nil, the first and last line of the buffer are marked in the fringe of a window on window-systems with angle bitmaps, or if the window can be scrolled, the top and bottom line of the window are marked with up and down arrow bitmaps. If value is a symbol `left' or `right', both angle and arrow bitmaps are displayed in the left or right fringe, resp. Any other value that doesn't look like an alist means display the angle bitmaps in the left fringe but no arrows. You can exercise more precise control by using an alist as the value. Each alist element (INDICATOR . POSITION) specifies where to show one of the indicators. INDICATOR is one of `top', `bottom', `up', `down', or t, which specifies the default position, and POSITION is one of `left', `right', or nil, meaning do not show this indicator. For example, ((top . left) (t . right)) places the top angle bitmap in left fringe, the bottom angle bitmap in right fringe, and both arrow bitmaps in right fringe. To show just the angle bitmaps in the left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)). You can customize this variable.
indicate-buffer-boundaries
*Visually indicate buffer boundaries and scrolling. If non-nil, the first and last line of the buffer are marked in the fringe of a window on window-systems with angle bitmaps, or if the window can be scrolled, the top and bottom line of the window are marked with up and down arrow bitmaps. If value is a symbol `left' or `right', both angle and arrow bitmaps are displayed in the left or right fringe, resp. Any other value that doesn't look like an alist means display the angle bitmaps in the left fringe but no arrows. You can exercise more precise control by using an alist as the value. Each alist element (INDICATOR . POSITION) specifies where to show one of the indicators. INDICATOR is one of `top', `bottom', `up', `down', or t, which specifies the default position, and POSITION is one of `left', `right', or nil, meaning do not show this indicator. For example, ((top . left) (t . right)) places the top angle bitmap in left fringe, the bottom angle bitmap in right fringe, and both arrow bitmaps in right fringe. To show just the angle bitmaps in the left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)). You can customize this variable.
indicate-empty-lines
*Visually indicate empty lines after the buffer end. If non-nil, a bitmap is displayed in the left fringe of a window on window-systems. You can customize this variable.
indicate-empty-lines
*Visually indicate empty lines after the buffer end. If non-nil, a bitmap is displayed in the left fringe of a window on window-systems. You can customize this variable.
inherit-process-coding-system
Non-nil means process buffer inherits coding system of process output. Bind it to t if the process output is to be treated as if it were a file read from some filesystem.
inhibit-changing-match-data
Internal use only. If non-nil, the primitive searching and matching functions such as `looking-at', `string-match', `re-search-forward', etc., do not set the match data. The proper way to use this variable is to bind it with `let' around a small expression.
inhibit-eol-conversion
*Non-nil means always inhibit code conversion of end-of-line format. See info node `Coding Systems' and info node `Text and Binary' concerning such conversion. You can customize this variable.
inhibit-eval-during-redisplay
Non-nil means don't eval Lisp during redisplay.
inhibit-field-text-motion
Non-nil means text motion commands don't notice fields.
inhibit-file-name-handlers
A list of file name handlers that temporarily should not be used. This applies only to the operation `inhibit-file-name-operation'.
inhibit-file-name-operation
The operation for which `inhibit-file-name-handlers' is applicable.
inhibit-free-realized-faces
Non-nil means don't free realized faces. Internal use only.
inhibit-iso-escape-detection
If non-nil, Emacs ignores ISO-2022 escape sequences during code detection. When Emacs reads text, it tries to detect how the text is encoded. This code detection is sensitive to escape sequences. If Emacs sees a valid ISO-2022 escape sequence, it assumes the text is encoded in one of the ISO2022 encodings, and decodes text by the corresponding coding system (e.g. `iso-2022-7bit'). However, there may be a case that you want to read escape sequences in a file as is. In such a case, you can set this variable to non-nil. Then the code detection will ignore any escape sequences, and no text is detected as encoded in some ISO-2022 encoding. The result is that all escape sequences become visible in a buffer. The default value is nil, and it is strongly recommended not to change it. That is because many Emacs Lisp source files that contain non-ASCII characters are encoded by the coding system `iso-2022-7bit' in Emacs's distribution, and they won't be decoded correctly on reading if you suppress escape sequence detection. The other way to read escape sequences in a file without decoding is to explicitly specify some coding system that doesn't use ISO-2022 escape sequence (e.g `latin-1') on reading by C-x RET c.
inhibit-load-charset-map
Inhibit loading of charset maps. Used when dumping Emacs.
inhibit-modification-hooks
Non-nil means don't run any of the hooks that respond to buffer changes. This affects `before-change-functions' and `after-change-functions', as well as hooks attached to text properties and overlays.
inhibit-null-byte-detection
If non-nil, Emacs ignores null bytes on code detection. By default, Emacs treats it as binary data, and does not attempt to decode it. The effect is as if you specified `no-conversion' for reading that text. Set this to non-nil when a regular text happens to include null bytes. Examples are Index nodes of Info files and null-byte delimited output from GNU Find and GNU Grep. Emacs will then ignore the null bytes and decode text as usual.
inhibit-point-motion-hooks
If non-nil, don't run `point-left' and `point-entered' text properties. This also inhibits the use of the `intangible' text property.
inhibit-quit
Non-nil inhibits C-g quitting from happening immediately. Note that `quit-flag' will still be set by typing C-g, so a quit will be signaled as soon as `inhibit-quit' is nil. To prevent this happening, set `quit-flag' to nil before making `inhibit-quit' nil.
inhibit-read-only
*Non-nil means disregard read-only status of buffers or characters. If the value is t, disregard `buffer-read-only' and all `read-only' text properties. If the value is a list, disregard `buffer-read-only' and disregard a `read-only' text property if the property value is a member of the list.
inhibit-redisplay
Non-nil means don't actually do any redisplay. This is used for internal purposes.
inhibit-x-resources
If non-nil, X resources, Windows Registry settings, and NS defaults are not used.
initial-environment
List of environment variables inherited from the parent process. Each element should be a string of the form ENVVARNAME=VALUE. The elements must normally be decoded (using `locale-coding-system') for use.
initial-window-system
Name of the window system that Emacs uses for the first frame. The value is a symbol: nil for a termcap frame (a character-only terminal), 'x' for an Emacs frame that is really an X window, 'w32' for an Emacs frame that is a window on MS-Windows display, 'ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display, 'pc' for a direct-write MS-DOS frame. Use of this variable as a boolean is deprecated. Instead, use `display-graphic-p' or any of the other `display-*-p' predicates which report frame's specific UI-related capabilities.
input-decode-map
Keymap that decodes input escape sequences. This is used mainly for mapping ASCII function key sequences into real Emacs function key events (symbols). The `read-key-sequence' function replaces any subsequence bound by `input-decode-map' with its binding. Contrary to `function-key-map', this map applies its rebinding regardless of the presence of an ordinary binding. So it is more like `key-translation-map' except that it applies before `function-key-map' rather than after. If the binding is a function, it is called with one argument (the prompt) and its return value (a key sequence) is used. The events that come from bindings in `input-decode-map' are not themselves looked up in `input-decode-map'. This variable is keyboard-local.
input-method-function
If non-nil, the function that implements the current input method. It's called with one argument, a printing character that was just read. (That means a character with code 040...0176.) Typically this function uses `read-event' to read additional events. When it does so, it should first bind `input-method-function' to nil so it will not be called recursively. The function should return a list of zero or more events to be used as input. If it wants to put back some events to be reconsidered, separately, by the input method, it can add them to the beginning of `unread-command-events'. The input method function can find in `input-method-previous-message' the previous echo area message. The input method function should refer to the variables `input-method-use-echo-area' and `input-method-exit-on-first-char' for guidance on what to do.
input-method-previous-message
When `input-method-function' is called, hold the previous echo area message. This variable exists because `read-event' clears the echo area before running the input method. It is nil if there was no message.
installation-directory
A directory within which to look for the `lib-src' and `etc' directories. In an installed Emacs, this is normally nil. It is non-nil if both `lib-src' (on MS-DOS, `info') and `etc' directories are found within the variable `invocation-directory' or its parent. For example, this is the case when running an uninstalled Emacs executable from its build directory.
internal-doc-file-name
Name of file containing documentation strings of built-in symbols.
intervals-consed
Number of intervals that have been consed so far.
inverse-video
Non-nil means invert the entire frame display. This means everything is in inverse video which otherwise would not be. You can customize this variable.
invocation-directory
The directory in which the Emacs executable was found, to run it. The value is nil if that directory's name is not known.
invocation-name
The program name that was used to run Emacs. Any directory names are omitted.
kbd-macro-termination-hook
Normal hook run whenever a keyboard macro terminates. This is run whether the macro ends normally or prematurely due to an error.
key-translation-map
Keymap of key translations that can override keymaps. This keymap works like `function-key-map', but comes after that, and its non-prefix bindings override ordinary bindings. Another difference is that it is global rather than keyboard-local.
keyboard-translate-table
Translate table for local keyboard input, or nil. If non-nil, the value should be a char-table. Each character read from the keyboard is looked up in this char-table. If the value found there is non-nil, then it is used instead of the actual input character. The value can also be a string or vector, but this is considered obsolete. If it is a string or vector of length N, character codes N and up are left untranslated. In a vector, an element which is nil means "no translation". This is applied to the characters supplied to input methods, not their output. See also `translation-table-for-input'. This variable has a separate binding for each terminal. See Info node `(elisp)Multiple Terminals'.
kill-buffer-hook
Hook to be run (by `run-hooks', which see) when a buffer is killed. The buffer being killed will be current while the hook is running. See `kill-buffer'.
kill-buffer-query-functions
List of functions called with no args to query before killing a buffer. The buffer being killed will be current while the functions are running. If any of them returns nil, the buffer is not killed.
kill-emacs-hook
Hook to be run when `kill-emacs' is called. Since `kill-emacs' may be invoked when the terminal is disconnected (or in other similar situations), functions placed on this hook should not expect to be able to interact with the user. To ask for confirmation, see `kill-emacs-query-functions' instead. Before Emacs 24.1, the hook was not run in batch mode, i.e., if `noninteractive' was non-nil.
last-code-conversion-error
Error status of the last code conversion. When an error was detected in the last code conversion, this variable is set to one of the following symbols. `insufficient-source' `inconsistent-eol' `invalid-source' `interrupted' `insufficient-memory' When no error was detected, the value doesn't change. So, to check the error status of a code conversion by this variable, you must explicitly set this variable to nil before performing code conversion.
last-coding-system-used
Coding system used in the latest file or process I/O.
last-command
The last command executed. Normally a symbol with a function definition, but can be whatever was found in the keymap, or whatever the variable `this-command' was set to by that command. The value `mode-exit' is special; it means that the previous command read an event that told it to exit, and it did so and unread that event. In other words, the present command is the event that made the previous command exit. The value `kill-region' is special; it means that the previous command was a kill command. `last-command' has a separate binding for each terminal device. See Info node `(elisp)Multiple Terminals'.
last-command-event
Last input event that was part of a command.
last-event-frame
The frame in which the most recently read event occurred. If the last event came from a keyboard macro, this is set to `macro'.
last-input-event
Last input event.
last-kbd-macro
Last kbd macro defined, as a string or vector; nil if none defined.
last-prefix-arg
The value of the prefix argument for the previous editing command. See `prefix-arg' for the meaning of the value.
last-repeatable-command
Last command that may be repeated. The last command executed that was not bound to an input event. This is the command `repeat' will try to repeat.
latin-extra-code-table
Table of extra Latin codes in the range 128..159 (inclusive). This is a vector of length 256. If Nth element is non-nil, the existence of code N in a file (or output of subprocess) doesn't prevent it to be detected as a coding system of ISO 2022 variant which has a flag `accept-latin-extra-code' t (e.g. iso-latin-1) on reading a file or reading output of a subprocess. Only 128th through 159th elements have a meaning.
left-fringe-width
*Width of this buffer's left fringe (in pixels). A value of 0 means no left fringe is shown in this buffer's window. A value of nil means to use the left fringe width from the window's frame.
left-fringe-width
*Width of this buffer's left fringe (in pixels). A value of 0 means no left fringe is shown in this buffer's window. A value of nil means to use the left fringe width from the window's frame.
left-margin
*Column for the default `indent-line-function' to indent to. Linefeed indents to this column in Fundamental mode. You can customize this variable.
left-margin
*Column for the default `indent-line-function' to indent to. Linefeed indents to this column in Fundamental mode. You can customize this variable.
left-margin-width
*Width of left marginal area for display of a buffer. A value of nil means no marginal area.
left-margin-width
*Width of left marginal area for display of a buffer. A value of nil means no marginal area.
lexical-binding
Whether to use lexical binding when evaluating code. Non-nil means that the code in the current buffer should be evaluated with lexical binding. This variable is automatically set from the file variables of an interpreted Lisp file read using `load'. Unlike other file local variables, this must be set in the first line of a file.
line-number-display-limit
*Maximum buffer size for which line number should be displayed. If the buffer is bigger than this, the line number does not appear in the mode line. A value of nil means no limit. You can customize this variable.
line-number-display-limit-width
*Maximum line width (in characters) for line number display. If the average length of the lines near point is bigger than this, then the line number may be omitted from the mode line. You can customize this variable.
line-prefix
Prefix prepended to all non-continuation lines at display time. The value may be a string, an image, or a stretch-glyph; it is interpreted in the same way as the value of a `display' text property. This variable is overridden by any `line-prefix' text or overlay property. To add a prefix to continuation lines, use `wrap-prefix'.
line-spacing
Additional space to put between lines when displaying a buffer. The space is measured in pixels, and put below lines on graphic displays, see `display-graphic-p'. If value is a floating point number, it specifies the spacing relative to the default frame line height. A value of nil means add no extra space. You can customize this variable.
line-spacing
Additional space to put between lines when displaying a buffer. The space is measured in pixels, and put below lines on graphic displays, see `display-graphic-p'. If value is a floating point number, it specifies the spacing relative to the default frame line height. A value of nil means add no extra space. You can customize this variable.
load-convert-to-unibyte
Non-nil means `read' converts strings to unibyte whenever possible. This is normally bound by `load' and `eval-buffer' to control `read', and is not meant for users to change.
load-dangerous-libraries
Non-nil means load dangerous compiled Lisp files. Some versions of XEmacs use different byte codes than Emacs. These incompatible byte codes can make Emacs crash when it tries to execute them.
load-file-name
Full name of file being loaded by `load'.
load-file-rep-suffixes
List of suffixes that indicate representations of the same file. This list should normally start with the empty string. Enabling Auto Compression mode appends the suffixes in `jka-compr-load-suffixes' to this list and disabling Auto Compression mode removes them again. `load' and related functions use this list to determine whether they should look for compressed versions of a file and, if so, which suffixes they should try to append to the file name in order to do so. However, if you want to customize which suffixes the loading functions recognize as compression suffixes, you should customize `jka-compr-load-suffixes' rather than the present variable.
load-force-doc-strings
Non-nil means `load' should force-load all dynamic doc strings. This is useful when the file being loaded is a temporary copy.
load-history
Alist mapping loaded file names to symbols and features. Each alist element should be a list (FILE-NAME ENTRIES...), where FILE-NAME is the name of a file that has been loaded into Emacs. The file name is absolute and true (i.e. it doesn't contain symlinks). As an exception, one of the alist elements may have FILE-NAME nil, for symbols and features not associated with any file. The remaining ENTRIES in the alist element describe the functions and variables defined in that file, the features provided, and the features required. Each entry has the form `(provide . FEATURE)', `(require . FEATURE)', `(defun . FUNCTION)', `(autoload . SYMBOL)', `(defface . SYMBOL)', or `(t . SYMBOL)'. Entries like `(t . SYMBOL)' may precede a `(defun . FUNCTION)' entry, and means that SYMBOL was an autoload before this file redefined it as a function. In addition, entries may also be single symbols, which means that SYMBOL was defined by `defvar' or `defconst'. During preloading, the file name recorded is relative to the main Lisp directory. These file names are converted to absolute at startup.
load-in-progress
Non-nil if inside of `load'.
load-path
*List of directories to search for files to load. Each element is a string (directory name) or nil (try default directory). Initialized based on EMACSLOADPATH environment variable, if any, otherwise to default specified by file `epaths.h' when Emacs was built.
load-read-function
Function used by `load' and `eval-region' for reading expressions. The default is nil, which means use the function `read'.
load-source-file-function
Function called in `load' for loading an Emacs Lisp source file. This function is for doing code conversion before reading the source file. If nil, loading is done without any code conversion. Arguments are FULLNAME, FILE, NOERROR, NOMESSAGE, where FULLNAME is the full name of FILE. See `load' for the meaning of the remaining arguments.
load-suffixes
List of suffixes for (compiled or source) Emacs Lisp files. This list should not include the empty string. `load' and related functions try to append these suffixes, in order, to the specified file name if a Lisp suffix is allowed or required.
local-abbrev-table
Local (mode-specific) abbrev table of current buffer.
local-function-key-map
Keymap that translates key sequences to key sequences during input. This is used mainly for mapping key sequences into some preferred key events (symbols). The `read-key-sequence' function replaces any subsequence bound by `local-function-key-map' with its binding. More precisely, when the active keymaps have no binding for the current key sequence but `local-function-key-map' binds a suffix of the sequence to a vector or string, `read-key-sequence' replaces the matching suffix with its binding, and continues with the new sequence. If the binding is a function, it is called with one argument (the prompt) and its return value (a key sequence) is used. The events that come from bindings in `local-function-key-map' are not themselves looked up in `local-function-key-map'. For example, suppose `local-function-key-map' binds `ESC O P' to [f1]. Typing `ESC O P' to `read-key-sequence' would return [f1]. Typing `C-x ESC O P' would return [?\C-x f1]. If [f1] were a prefix key, typing `ESC O P x' would return [f1 x]. `local-function-key-map' has a separate binding for each terminal device. See Info node `(elisp)Multiple Terminals'. If you need to define a binding on all terminals, change `function-key-map' instead. Initially, `local-function-key-map' is an empty keymap that has `function-key-map' as its parent on all terminal devices.
locale-coding-system
Coding system to use with system messages. Also used for decoding keyboard input on X Window system.
macro-declaration-function
Function to process declarations in a macro definition. The function will be called with two args MACRO and DECL. MACRO is the name of the macro being defined. DECL is a list `(declare ...)' containing the declarations. The value the function returns is not used.
major-mode
Symbol for current buffer's major mode. The default value (normally `fundamental-mode') affects new buffers. A value of nil means to use the current buffer's major mode, provided it is not marked as "special". When a mode is used by default, `find-file' switches to it before it reads the contents into the buffer and before it finishes setting up the buffer. Thus, the mode and its hooks should not expect certain variables such as `buffer-read-only' and `buffer-file-coding-system' to be set up. You can customize this variable.
major-mode
Symbol for current buffer's major mode. The default value (normally `fundamental-mode') affects new buffers. A value of nil means to use the current buffer's major mode, provided it is not marked as "special". When a mode is used by default, `find-file' switches to it before it reads the contents into the buffer and before it finishes setting up the buffer. Thus, the mode and its hooks should not expect certain variables such as `buffer-read-only' and `buffer-file-coding-system' to be set up. You can customize this variable.
make-cursor-line-fully-visible
*Non-nil means to scroll (recenter) cursor line if it is not fully visible.
make-pointer-invisible
If non-nil, make pointer invisible while typing. The pointer becomes visible again when the mouse is moved. You can customize this variable.
mark-active
Non-nil means the mark and region are currently active in this buffer.
mark-even-if-inactive
*Non-nil means you can use the mark even when inactive. This option makes a difference in Transient Mark mode. When the option is non-nil, deactivation of the mark turns off region highlighting, but commands that use the mark behave as if the mark were still active. You can customize this variable.
max-lisp-eval-depth
*Limit on depth in `eval', `apply' and `funcall' before error. This limit serves to catch infinite recursions for you before they cause actual stack overflow in C, which would be fatal for Emacs. You can safely make it considerably larger than its default value, if that proves inconveniently small. However, if you increase it too far, Emacs could overflow the real C stack, and crash. You can customize this variable.
max-mini-window-height
*Maximum height for resizing mini-windows (the minibuffer and the echo area). If a float, it specifies a fraction of the mini-window frame's height. If an integer, it specifies a number of lines. You can customize this variable.
max-specpdl-size
*Limit on number of Lisp variable bindings and `unwind-protect's. If Lisp code tries to increase the total number past this amount, an error is signaled. You can safely use a value considerably larger than the default value, if that proves inconveniently small. However, if you increase it too far, Emacs could run out of memory trying to make the stack bigger. You can customize this variable.
memory-full
Non-nil means Emacs cannot get much more Lisp memory.
memory-signal-data
Precomputed `signal' argument for memory-full error.
message-log-max
Maximum number of lines to keep in the message log buffer. If nil, disable message logging. If t, log messages but don't truncate the buffer when it becomes large. You can customize this variable.
message-truncate-lines
If non-nil, messages are truncated instead of resizing the echo area. Bind this around calls to `message' to let it take effect.
meta-prefix-char
Meta-prefix character code. Meta-foo as command input turns into this character followed by foo. You can customize this variable.
minibuffer-allow-text-properties
Non-nil means `read-from-minibuffer' should not discard text properties. This also affects `read-string', but it does not affect `read-minibuffer', `read-no-blanks-input', or any of the functions that do minibuffer input with completion; they always discard text properties.
minibuffer-auto-raise
Non-nil means entering the minibuffer raises the minibuffer's frame. Some uses of the echo area also raise that frame (since they use it too). You can customize this variable.
minibuffer-completing-file-name
Non-nil means completing file names.
minibuffer-completion-confirm
Whether to demand confirmation of completion before exiting minibuffer. If nil, confirmation is not required. If the value is `confirm', the user may exit with an input that is not a valid completion alternative, but Emacs asks for confirmation. If the value is `confirm-after-completion', the user may exit with an input that is not a valid completion alternative, but Emacs asks for confirmation if the user submitted the input right after any of the completion commands listed in `minibuffer-confirm-exit-commands'.
minibuffer-completion-predicate
Within call to `completing-read', this holds the PREDICATE argument.
minibuffer-completion-table
Alist or obarray used for completion in the minibuffer. This becomes the ALIST argument to `try-completion' and `all-completions'. The value can also be a list of strings or a hash table. The value may alternatively be a function, which is given three arguments: STRING, the current buffer contents; PREDICATE, the predicate for filtering possible matches; CODE, which says what kind of things to do. CODE can be nil, t or `lambda': nil -- return the best completion of STRING, or nil if there is none. t -- return a list of all possible completions of STRING. lambda -- return t if STRING is a valid completion as it stands.
minibuffer-exit-hook
Normal hook run just after exit from minibuffer.
minibuffer-help-form
Value that `help-form' takes on inside the minibuffer.
minibuffer-history-position
Current position of redoing in the history list.
minibuffer-history-variable
History list symbol to add minibuffer values to. Each string of minibuffer input, as it appears on exit from the minibuffer, is added with (set minibuffer-history-variable (cons STRING (symbol-value minibuffer-history-variable)))
minibuffer-local-map
Default keymap to use when reading from the minibuffer.
minibuffer-local-ns-map
Local keymap for the minibuffer when spaces are not allowed.
minibuffer-message-timeout
How long to display an echo-area message when the minibuffer is active. If the value is not a number, such messages don't time out.
minibuffer-prompt-properties
Text properties that are added to minibuffer prompts. These are in addition to the basic `field' property, and stickiness properties. You can customize this variable.
minibuffer-scroll-window
Non-nil means it is the window that C-M-v in minibuffer should scroll.
minibuffer-setup-hook
Normal hook run just after entry to minibuffer.
minor-mode-map-alist
Alist of keymaps to use for minor modes. Each element looks like (VARIABLE . KEYMAP); KEYMAP is used to read key sequences and look up bindings if VARIABLE's value is non-nil. If two active keymaps bind the same key, the keymap appearing earlier in the list takes precedence.
minor-mode-overriding-map-alist
Alist of keymaps to use for minor modes, in current major mode. This variable is an alist just like `minor-mode-map-alist', and it is used the same way (and before `minor-mode-map-alist'); however, it is provided for major modes to bind locally.
misc-objects-consed
Number of miscellaneous objects that have been consed so far. These include markers and overlays, plus certain objects not visible to users.
mode-line-format
Template for displaying mode line for current buffer. Each buffer has its own value of this variable. Value may be nil, a string, a symbol or a list or cons cell. A value of nil means don't display a mode line. For a symbol, its value is used (but it is ignored if t or nil). A string appearing directly as the value of a symbol is processed verbatim in that the %-constructs below are not recognized. Note that unless the symbol is marked as a `risky-local-variable', all properties in any strings, as well as all :eval and :propertize forms in the value of that symbol will be ignored. For a list of the form `(:eval FORM)', FORM is evaluated and the result is used as a mode line element. Be careful--FORM should not load any files, because that can cause an infinite recursion. For a list of the form `(:propertize ELT PROPS...)', ELT is displayed with the specified properties PROPS applied. For a list whose car is a symbol, the symbol's value is taken, and if that is non-nil, the cadr of the list is processed recursively. Otherwise, the caddr of the list (if there is one) is processed. For a list whose car is a string or list, each element is processed recursively and the results are effectively concatenated. For a list whose car is an integer, the cdr of the list is processed and padded (if the number is positive) or truncated (if negative) to the width specified by that number. A string is printed verbatim in the mode line except for %-constructs: (%-constructs are allowed when the string is the entire mode-line-format or when it is found in a cons-cell or a list) %b -- print buffer name. %f -- print visited file name. %F -- print frame name. %* -- print %, * or hyphen. %+ -- print *, % or hyphen. %& is like %*, but ignore read-only-ness. % means buffer is read-only and * means it is modified. For a modified read-only buffer, %* gives % and %+ gives *. %s -- print process status. %l -- print the current line number. %c -- print the current column number (this makes editing slower). To make the column number update correctly in all cases, `column-number-mode' must be non-nil. %i -- print the size of the buffer. %I -- like %i, but use k, M, G, etc., to abbreviate. %p -- print percent of buffer above top of window, or Top, Bot or All. %P -- print percent of buffer above bottom of window, perhaps plus Top, or print Bottom or All. %n -- print Narrow if appropriate. %t -- visited file is text or binary (if OS supports this distinction). %z -- print mnemonics of keyboard, terminal, and buffer coding systems. %Z -- like %z, but including the end-of-line format. %e -- print error message about full memory. %@ -- print @ or hyphen. @ means that default-directory is on a remote machine. %[ -- print one [ for each recursive editing level. %] similar. %% -- print %. %- -- print infinitely many dashes. Decimal digits after the % specify field width to which to pad. You can customize this variable.
mode-line-format
Template for displaying mode line for current buffer. Each buffer has its own value of this variable. Value may be nil, a string, a symbol or a list or cons cell. A value of nil means don't display a mode line. For a symbol, its value is used (but it is ignored if t or nil). A string appearing directly as the value of a symbol is processed verbatim in that the %-constructs below are not recognized. Note that unless the symbol is marked as a `risky-local-variable', all properties in any strings, as well as all :eval and :propertize forms in the value of that symbol will be ignored. For a list of the form `(:eval FORM)', FORM is evaluated and the result is used as a mode line element. Be careful--FORM should not load any files, because that can cause an infinite recursion. For a list of the form `(:propertize ELT PROPS...)', ELT is displayed with the specified properties PROPS applied. For a list whose car is a symbol, the symbol's value is taken, and if that is non-nil, the cadr of the list is processed recursively. Otherwise, the caddr of the list (if there is one) is processed. For a list whose car is a string or list, each element is processed recursively and the results are effectively concatenated. For a list whose car is an integer, the cdr of the list is processed and padded (if the number is positive) or truncated (if negative) to the width specified by that number. A string is printed verbatim in the mode line except for %-constructs: (%-constructs are allowed when the string is the entire mode-line-format or when it is found in a cons-cell or a list) %b -- print buffer name. %f -- print visited file name. %F -- print frame name. %* -- print %, * or hyphen. %+ -- print *, % or hyphen. %& is like %*, but ignore read-only-ness. % means buffer is read-only and * means it is modified. For a modified read-only buffer, %* gives % and %+ gives *. %s -- print process status. %l -- print the current line number. %c -- print the current column number (this makes editing slower). To make the column number update correctly in all cases, `column-number-mode' must be non-nil. %i -- print the size of the buffer. %I -- like %i, but use k, M, G, etc., to abbreviate. %p -- print percent of buffer above top of window, or Top, Bot or All. %P -- print percent of buffer above bottom of window, perhaps plus Top, or print Bottom or All. %n -- print Narrow if appropriate. %t -- visited file is text or binary (if OS supports this distinction). %z -- print mnemonics of keyboard, terminal, and buffer coding systems. %Z -- like %z, but including the end-of-line format. %e -- print error message about full memory. %@ -- print @ or hyphen. @ means that default-directory is on a remote machine. %[ -- print one [ for each recursive editing level. %] similar. %% -- print %. %- -- print infinitely many dashes. Decimal digits after the % specify field width to which to pad. You can customize this variable.
mode-line-in-non-selected-windows
Non-nil means to use `mode-line-inactive' face in non-selected windows. If the minibuffer is active, the `minibuffer-scroll-window' mode line is displayed in the `mode-line' face. You can customize this variable.
mode-line-inverse-video
When nil, display the mode-line/header-line/menu-bar in the default face. Any other value means to use the appropriate face, `mode-line', `header-line', or `menu' respectively. You can customize this variable.
mode-name
Pretty name of current buffer's major mode. Usually a string, but can use any of the constructs for `mode-line-format', which see. Format with `format-mode-line' to produce a string value.
most-negative-fixnum
The smallest value that is representable in a Lisp integer.
most-positive-fixnum
The largest value that is representable in a Lisp integer.
mouse-autoselect-window
*Non-nil means autoselect window with mouse pointer. If nil, do not autoselect windows. A positive number means delay autoselection by that many seconds: a window is autoselected only after the mouse has remained in that window for the duration of the delay. A negative number has a similar effect, but causes windows to be autoselected only after the mouse has stopped moving. (Because of the way Emacs compares mouse events, you will occasionally wait twice that time before the window gets selected.) Any other value means to autoselect window instantaneously when the mouse pointer enters it. Autoselection selects the minibuffer only if it is active, and never unselects the minibuffer if it is active. When customizing this variable make sure that the actual value of `focus-follows-mouse' matches the behavior of your window manager. You can customize this variable.
mouse-highlight
If non-nil, clickable text is highlighted when mouse is over it. If the value is an integer, highlighting is only shown after moving the mouse, while keyboard input turns off the highlight even when the mouse is over the clickable text. However, the mouse shape still indicates when the mouse is over clickable text. You can customize this variable.
mouse-leave-buffer-hook
Hook to run when about to switch windows with a mouse command. Its purpose is to give temporary modes such as Isearch mode a way to turn themselves off when a mouse command switches windows.
mouse-position-function
If non-nil, function to transform normal value of `mouse-position'. `mouse-position' calls this function, passing its usual return value as argument, and returns whatever this function returns. This abnormal hook exists for the benefit of packages like `xt-mouse.el' which need to do mouse handling at the Lisp level.
multibyte-syntax-as-symbol
Non-nil means `scan-sexps' treats all multibyte characters as symbol.
multiple-frames
Non-nil if more than one frame is visible on this display. Minibuffer-only frames don't count, but iconified frames do. This variable is not guaranteed to be accurate except while processing `frame-title-format' and `icon-title-format'.
network-coding-system-alist
Alist to decide a coding system to use for a network I/O operation. The format is ((PATTERN . VAL) ...), where PATTERN is a regular expression matching a network service name or is a port number to connect to, VAL is a coding system, a cons of coding systems, or a function symbol. If VAL is a coding system, it is used for both decoding what received from the network stream and encoding what sent to the network stream. If VAL is a cons of coding systems, the car part is used for decoding, and the cdr part is used for encoding. If VAL is a function symbol, the function must return a coding system or a cons of coding systems which are used as above. See also the function `find-operation-coding-system'.
next-screen-context-lines
Number of lines of continuity when scrolling by screenfuls. You can customize this variable.
no-redraw-on-reenter
Non-nil means no need to redraw entire frame after suspending. A non-nil value is useful if the terminal can automatically preserve Emacs's frame display when you reenter Emacs. It is up to you to set this variable if your terminal can do that. You can customize this variable.
nobreak-char-display
Control highlighting of non-ASCII space and hyphen chars. If the value is t, Emacs highlights non-ASCII chars which have the same appearance as an ASCII space or hyphen, using the `nobreak-space' or `escape-glyph' face respectively. U+00A0 (no-break space), U+00AD (soft hyphen), U+2010 (hyphen), and U+2011 (non-breaking hyphen) are affected. Any other non-nil value means to display these characters as a escape glyph followed by an ordinary space or hyphen. A value of nil means no special handling of these characters.
noninteractive
Non-nil means Emacs is running without interactive terminal.
num-input-keys
Number of complete key sequences read as input so far. This includes key sequences read from keyboard macros. The number is effectively the number of interactive command invocations.
num-nonmacro-input-events
Number of input events read from the keyboard so far. This does not include events generated by keyboard macros.
obarray
Symbol table for use by `intern' and `read'. It is a vector whose length ought to be prime for best results. The vector's contents don't make sense if examined from Lisp programs; to find all the symbols in an obarray, use `mapatoms'.
old-style-backquotes
Set to non-nil when `read' encounters an old-style backquote.
open-paren-in-column-0-is-defun-start
*Non-nil means an open paren in column 0 denotes the start of a defun. You can customize this variable.
operating-system-release
The release of the operating system Emacs is running on.
other-window-scroll-buffer
If non-nil, this is a buffer and C-M-v should scroll its window.
overlay-arrow-position
Marker for where to display an arrow on top of the buffer text. This must be the beginning of a line in order to work. See also `overlay-arrow-string'.
overlay-arrow-string
String to display as an arrow in non-window frames. See also `overlay-arrow-position'.
overlay-arrow-variable-list
List of variables (symbols) which hold markers for overlay arrows. The symbols on this list are examined during redisplay to determine where to display overlay arrows.
overline-margin
*Space between overline and text, in pixels. The default value is 2: the height of the overline (1 pixel) plus 1 pixel margin to the character height. You can customize this variable.
overriding-local-map
Keymap that overrides all other local keymaps. If this variable is non-nil, it is used as a keymap--replacing the buffer's local map, the minor mode keymaps, and char property keymaps.
overriding-terminal-local-map
Per-terminal keymap that overrides all other local keymaps. If this variable is non-nil, it is used as a keymap instead of the buffer's local map, and the minor mode keymaps and text property keymaps. It also replaces `overriding-local-map'. This variable is intended to let commands such as `universal-argument' set up a different keymap for reading the next command. `overriding-terminal-local-map' has a separate binding for each terminal device. See Info node `(elisp)Multiple Terminals'.
overwrite-mode
Non-nil if self-insertion should replace existing text. The value should be one of `overwrite-mode-textual', `overwrite-mode-binary', or nil. If it is `overwrite-mode-textual', self-insertion still inserts at the end of a line, and inserts when point is before a tab, until the tab is filled in. If `overwrite-mode-binary', self-insertion replaces newlines and tabs too.
parse-sexp-ignore-comments
Non-nil means `forward-sexp', etc., should treat comments as whitespace. You can customize this variable.
parse-sexp-lookup-properties
Non-nil means `forward-sexp', etc., obey `syntax-table' property. Otherwise, that text property is simply ignored. See the info node `(elisp)Syntax Properties' for a description of the `syntax-table' property.
path-separator
String containing the character that separates directories in search paths, such as PATH and other similar environment variables.
point-before-scroll
Value of point before the last series of scroll operations, or nil.
polling-period
Interval between polling for input during Lisp execution. The reason for polling is to make C-g work to stop a running program. Polling is needed only when using X windows and SIGIO does not work. Polling is automatically disabled in all other cases. You can customize this variable.
post-command-hook
Normal hook run after each command is executed. If an unhandled error happens in running this hook, the function in which the error occurred is unconditionally removed, since otherwise the error might happen repeatedly and make Emacs nonfunctional.
post-gc-hook
Hook run after garbage collection has finished.
post-self-insert-hook
Hook run at the end of `self-insert-command'. This is run after inserting the character.
pre-command-hook
Normal hook run before each command is executed. If an unhandled error happens in running this hook, the function in which the error occurred is unconditionally removed, since otherwise the error might happen repeatedly and make Emacs nonfunctional.
prefix-arg
The value of the prefix argument for the next editing command. It may be a number, or the symbol `-' for just a minus sign as arg, or a list whose car is a number for just one or more C-u's or nil if no argument has been specified. You cannot examine this variable to find the argument for this command since it has been set to nil by the time you can look. Instead, you should use the variable `current-prefix-arg', although normally commands can get this prefix argument with (interactive "P").
prefix-help-command
Command to run when `help-char' character follows a prefix key. This command is used only when there is no actual binding for that character after that prefix key.
preloaded-file-list
List of files that were preloaded (when dumping Emacs).
previous-system-messages-locale
Most recently used system locale for messages.
previous-system-time-locale
Most recently used system locale for time.
print-charset-text-property
A flag to control printing of `charset' text property on printing a string. The value must be nil, t, or `default'. If the value is nil, don't print the text property `charset'. If the value is t, always print the text property `charset'. If the value is `default', print the text property `charset' only when the value is different from what is guessed in the current charset priorities.
print-circle
*Non-nil means print recursive structures using #N= and #N# syntax. If nil, printing proceeds recursively and may lead to `max-lisp-eval-depth' being exceeded or an error may occur: "Apparently circular structure being printed." Also see `print-length' and `print-level'. If non-nil, shared substructures anywhere in the structure are printed with `#N=' before the first occurrence (in the order of the print representation) and `#N#' in place of each subsequent occurrence, where N is a positive decimal integer.
print-continuous-numbering
*Non-nil means number continuously across print calls. This affects the numbers printed for #N= labels and #M# references. See also `print-circle', `print-gensym', and `print-number-table'. This variable should not be set with `setq'; bind it with a `let' instead.
print-escape-multibyte
Non-nil means print multibyte characters in strings as \xXXXX. (XXXX is the hex representation of the character code.) This affects only `prin1'.
print-escape-newlines
Non-nil means print newlines in strings as `\n'. Also print formfeeds as `\f'.
print-escape-nonascii
Non-nil means print unibyte non-ASCII chars in strings as \OOO. (OOO is the octal representation of the character code.) Only single-byte characters are affected, and only in `prin1'. When the output goes in a multibyte buffer, this feature is enabled regardless of the value of the variable.
print-gensym
Non-nil means print uninterned symbols so they will read as uninterned. I.e., the value of (make-symbol "foobar") prints as #:foobar. When the uninterned symbol appears within a recursive data structure, and the symbol appears more than once, in addition use the #N# and #N= constructs as needed, so that multiple references to the same symbol are shared once again when the text is read back.
print-length
Maximum length of list to print before abbreviating. A value of nil means no limit. See also `eval-expression-print-length'.
print-level
Maximum depth of list nesting to print before abbreviating. A value of nil means no limit. See also `eval-expression-print-level'.
print-number-table
A vector used internally to produce `#N=' labels and `#N#' references. The Lisp printer uses this vector to detect Lisp objects referenced more than once. When you bind `print-continuous-numbering' to t, you should probably also bind `print-number-table' to nil. This ensures that the value of `print-number-table' can be garbage-collected once the printing is done. If all elements of `print-number-table' are nil, it means that the printing done so far has not found any shared structure or objects that need to be recorded in the table.
print-quoted
Non-nil means print quoted forms with reader syntax. I.e., (quote foo) prints as 'foo, (function foo) as #'foo.
printable-chars
A char-table for each printable character.
process-adaptive-read-buffering
If non-nil, improve receive buffering by delaying after short reads. On some systems, when Emacs reads the output from a subprocess, the output data is read in very small blocks, potentially resulting in very poor performance. This behavior can be remedied to some extent by setting this variable to a non-nil value, as it will automatically delay reading from such processes, to allow them to produce more output before Emacs tries to read it. If the value is t, the delay is reset after each write to the process; any other non-nil value means that the delay is not reset on write. The variable takes effect when `start-process' is called.
process-coding-system-alist
Alist to decide a coding system to use for a process I/O operation. The format is ((PATTERN . VAL) ...), where PATTERN is a regular expression matching a program name, VAL is a coding system, a cons of coding systems, or a function symbol. If VAL is a coding system, it is used for both decoding what received from the program and encoding what sent to the program. If VAL is a cons of coding systems, the car part is used for decoding, and the cdr part is used for encoding. If VAL is a function symbol, the function must return a coding system or a cons of coding systems which are used as above. See also the function `find-operation-coding-system'.
process-connection-type
Control type of device used to communicate with subprocesses. Values are nil to use a pipe, or t or `pty' to use a pty. The value has no effect if the system has no ptys or if all ptys are busy: then a pipe is used in any case. The value takes effect when `start-process' is called.
process-environment
List of overridden environment variables for subprocesses to inherit. Each element should be a string of the form ENVVARNAME=VALUE. Entries in this list take precedence to those in the frame-local environments. Therefore, let-binding `process-environment' is an easy way to temporarily change the value of an environment variable, irrespective of where it comes from. To use `process-environment' to remove an environment variable, include only its name in the list, without "=VALUE". This variable is set to nil when Emacs starts. If multiple entries define the same variable, the first one always takes precedence. Non-ASCII characters are encoded according to the initial value of `locale-coding-system', i.e. the elements must normally be decoded for use. See `setenv' and `getenv'.
pure-bytes-used
Number of bytes of shareable Lisp data allocated so far.
purify-flag
Non-nil means loading Lisp code in order to dump an executable. This means that certain objects should be allocated in shared (pure) space. It can also be set to a hash-table, in which case this table is used to do hash-consing of the objects allocated to pure space.
quit-flag
Non-nil causes `eval' to abort, unless `inhibit-quit' is non-nil. If the value is t, that means do an ordinary quit. If the value equals `throw-on-input', that means quit by throwing to the tag specified in `throw-on-input'; it's for handling `while-no-input'. Typing C-g sets `quit-flag' to t, regardless of `inhibit-quit', but `inhibit-quit' non-nil prevents anything from taking notice of that.
read-buffer-completion-ignore-case
Non-nil means completion ignores case when reading a buffer name. You can customize this variable.
read-buffer-function
If this is non-nil, `read-buffer' does its work by calling this function. The function is called with the arguments passed to `read-buffer'. You can customize this variable.
read-circle
Non-nil means read recursive structures using #N= and #N# syntax.
read-expression-history
A history list for arguments that are Lisp expressions to evaluate. For example, `eval-expression' uses this.
read-expression-map
Minibuffer keymap used for reading Lisp expressions.
read-symbol-positions-list
A list mapping read symbols to their positions. This variable is modified during calls to `read' or `read-from-string', but only when `read-with-symbol-positions' is non-nil. Each element of the list looks like (SYMBOL . CHAR-POSITION), where CHAR-POSITION is an integer giving the offset of that occurrence of the symbol from the position where `read' or `read-from-string' started. Note that a symbol will appear multiple times in this list, if it was read multiple times. The list is in the same order as the symbols were read in.
read-with-symbol-positions
If non-nil, add position of read symbols to `read-symbol-positions-list'. If this variable is a buffer, then only forms read from that buffer will be added to `read-symbol-positions-list'. If this variable is t, then all read forms will be added. The effect of all other values other than nil are not currently defined, although they may be in the future. The positions are relative to the last call to `read' or `read-from-string'. It is probably a bad idea to set this variable at the toplevel; bind it instead.
real-last-command
Same as `last-command', but never altered by Lisp code.
recenter-redisplay
Non-nil means `recenter' redraws entire frame. If this option is non-nil, then the `recenter' command with a nil argument will redraw the entire frame; the special value `tty' causes the frame to be redrawn only if it is a tty frame. You can customize this variable.
redisplay-dont-pause
Non-nil means display update isn't paused when input is detected.
redisplay-end-trigger-functions
Functions called when redisplay of a window reaches the end trigger. Each function is called with two arguments, the window and the end trigger value. See `set-window-redisplay-end-trigger'.
redisplay-preemption-period
Period in seconds between checking for input during redisplay. This has an effect only if `redisplay-dont-pause' is nil; in that case, arriving input preempts redisplay until the input is processed. If the value is nil, redisplay is never preempted.
resize-mini-windows
How to resize mini-windows (the minibuffer and the echo area). A value of nil means don't automatically resize mini-windows. A value of t means resize them to fit the text displayed in them. A value of `grow-only', the default, means let mini-windows grow only; they return to their normal size when the minibuffer is closed, or the echo area becomes empty.
resume-tty-functions
Functions to be run after resuming a tty. The functions are run with one argument, the terminal object that was revived. See `resume-tty'.
right-fringe-width
*Width of this buffer's right fringe (in pixels). A value of 0 means no right fringe is shown in this buffer's window. A value of nil means to use the right fringe width from the window's frame.
right-fringe-width
*Width of this buffer's right fringe (in pixels). A value of 0 means no right fringe is shown in this buffer's window. A value of nil means to use the right fringe width from the window's frame.
right-margin-width
*Width of right marginal area for display of a buffer. A value of nil means no marginal area.
right-margin-width
*Width of right marginal area for display of a buffer. A value of nil means no marginal area.
ring-bell-function
Non-nil means call this function to ring the bell. The function should accept no arguments.
saved-region-selection
Contents of active region prior to buffer modification. If `select-active-regions' is non-nil, Emacs sets this to the text in the region before modifying the buffer. The next `deactivate-mark' call uses this to set the window selection.
scalable-fonts-allowed
Allowed scalable fonts. A value of nil means don't allow any scalable fonts. A value of t means allow any scalable font. Otherwise, value must be a list of regular expressions. A font may be scaled if its name matches a regular expression in the list. Note that if value is nil, a scalable font might still be used, if no other font of the appropriate family and registry is available. You can customize this variable.
script-representative-chars
Alist of scripts vs the representative characters. Each element is a cons (SCRIPT . CHARS). SCRIPT is a symbol representing a script or a subgroup of a script. CHARS is a list or a vector of characters. If it is a list, all characters in the list are necessary for supporting SCRIPT. If it is a vector, one of the characters in the vector is necessary. This variable is used to find a font for a specific script.
scroll-bar-width
*Width of this buffer's scroll bars in pixels. A value of nil means to use the scroll bar width from the window's frame.
scroll-bar-width
*Width of this buffer's scroll bars in pixels. A value of nil means to use the scroll bar width from the window's frame.
scroll-conservatively
*Scroll up to this many lines, to bring point back on screen. If point moves off-screen, redisplay will scroll by up to `scroll-conservatively' lines in order to bring point just barely onto the screen again. If that cannot be done, then redisplay recenters point as usual. If the value is greater than 100, redisplay will never recenter point, but will always scroll just enough text to bring point into view, even if you move far away. A value of zero means always recenter point if it moves off screen. You can customize this variable.
scroll-down-aggressively
How far to scroll windows downward. If you move point off the top, the window scrolls automatically. This variable controls how far it scrolls. The value nil, the default, means scroll to center point. A fraction means scroll to put point that fraction of the window's height from the top of the window. When the value is 0.0, point goes at the top line, which in the simple case that you moved off with C-b means scrolling just one line. 1.0 means point goes at the bottom, so that in that simple case, the window scrolls by a full window height. Meaningful values are between 0.0 and 1.0, inclusive. You can customize this variable.
scroll-down-aggressively
How far to scroll windows downward. If you move point off the top, the window scrolls automatically. This variable controls how far it scrolls. The value nil, the default, means scroll to center point. A fraction means scroll to put point that fraction of the window's height from the top of the window. When the value is 0.0, point goes at the top line, which in the simple case that you moved off with C-b means scrolling just one line. 1.0 means point goes at the bottom, so that in that simple case, the window scrolls by a full window height. Meaningful values are between 0.0 and 1.0, inclusive. You can customize this variable.
scroll-margin
*Number of lines of margin at the top and bottom of a window. Recenter the window whenever point gets within this many lines of the top or bottom of the window. You can customize this variable.
scroll-preserve-screen-position
Controls if scroll commands move point to keep its screen position unchanged. A value of nil means point does not keep its screen position except at the scroll margin or window boundary respectively. A value of t means point keeps its screen position if the scroll command moved it vertically out of the window, e.g. when scrolling by full screens. Any other value means point always keeps its screen position. Scroll commands should have the `scroll-command' property on their symbols to be controlled by this variable. You can customize this variable.
scroll-step
*The number of lines to try scrolling a window by when point moves out. If that fails to bring point back on frame, point is centered instead. If this is zero, point is always centered after it moves off frame. If you want scrolling to always be a line at a time, you should set `scroll-conservatively' to a large value rather than set this to 1. You can customize this variable.
scroll-up-aggressively
How far to scroll windows upward. If you move point off the bottom, the window scrolls automatically. This variable controls how far it scrolls. The value nil, the default, means scroll to center point. A fraction means scroll to put point that fraction of the window's height from the bottom of the window. When the value is 0.0, point goes at the bottom line, which in the simple case that you moved off with C-f means scrolling just one line. 1.0 means point goes at the top, so that in that simple case, the window scrolls by a full window height. Meaningful values are between 0.0 and 1.0, inclusive. You can customize this variable.
scroll-up-aggressively
How far to scroll windows upward. If you move point off the bottom, the window scrolls automatically. This variable controls how far it scrolls. The value nil, the default, means scroll to center point. A fraction means scroll to put point that fraction of the window's height from the bottom of the window. When the value is 0.0, point goes at the bottom line, which in the simple case that you moved off with C-f means scrolling just one line. 1.0 means point goes at the top, so that in that simple case, the window scrolls by a full window height. Meaningful values are between 0.0 and 1.0, inclusive. You can customize this variable.
search-spaces-regexp
Regexp to substitute for bunches of spaces in regexp search. Some commands use this for user-specified regexps. Spaces that occur inside character classes or repetition operators or other such regexp constructs are not replaced with this. A value of nil (which is the normal value) means treat spaces literally.
select-active-regions
If non-nil, an active region automatically sets the primary selection. If the value is `only', only temporarily active regions (usually made by mouse-dragging or shift-selection) set the window selection. This takes effect only when Transient Mark mode is enabled. You can customize this variable.
select-safe-coding-system-function
Function to call to select safe coding system for encoding a text. If set, this function is called to force a user to select a proper coding system which can encode the text in the case that a default coding system used in each operation can't encode the text. The function should take care that the buffer is not modified while the coding system is being selected. The default value is `select-safe-coding-system' (which see).
selection-inhibit-update-commands
List of commands which should not update the selection. Normally, if `select-active-regions' is non-nil and the mark remains active after a command (i.e. the mark was not deactivated), the Emacs command loop sets the selection to the text in the region. However, if the command is in this list, the selection is not updated.
selective-display
Non-nil enables selective display. An integer N as value means display only lines that start with less than N columns of space. A value of t means that the character ^M makes itself and all the rest of the line invisible; also, when saving the buffer in a file, save the ^M as a newline.
selective-display-ellipses
Non-nil means display ... on previous line when a line is invisible. You can customize this variable.
set-auto-coding-function
If non-nil, a function to call to decide a coding system of file. Two arguments are passed to this function: the file name and the length of a file contents following the point. This function should return a coding system to decode the file contents. It should check the file name against `auto-coding-alist'. If no coding system is decided, it should check a coding system specified in the heading lines with the format: -*- ... coding: CODING-SYSTEM; ... -*- or local variable spec of the tailing lines with `coding:' tag.
shell-file-name
*File name to load inferior shells from. Initialized from the SHELL environment variable, or to a system-dependent default if SHELL is not set. You can customize this variable.
show-help-function
If non-nil, the function that implements the display of help. It's called with one argument, the help string to display.
show-trailing-whitespace
*Non-nil means highlight trailing whitespace. The face used for trailing whitespace is `trailing-whitespace'. You can customize this variable.
signal-hook-function
If non-nil, this is a function for `signal' to call. It receives the same arguments that `signal' was given. The Edebug package uses this to regain control.
source-directory
Directory in which Emacs sources were found when Emacs was built. You cannot count on them to still be there!
special-event-map
Keymap defining bindings for special events to execute at low level.
standard-display-table
Display table to use for buffers that specify none. See `buffer-display-table' for more information.
standard-input
Stream for read to get input from. See documentation of `read' for possible values.
standard-output
Output stream `print' uses by default for outputting a character. This may be any function of one argument. It may also be a buffer (output is inserted before point) or a marker (output is inserted and the marker is advanced) or the symbol t (output appears in the echo area).
standard-translation-table-for-decode
Table for translating characters while decoding.
standard-translation-table-for-encode
Table for translating characters while encoding.
string-chars-consed
Number of string characters that have been consed so far.
strings-consed
Number of strings that have been consed so far.
suggest-key-bindings
Non-nil means show the equivalent key-binding when M-x command has one. The value can be a length of time to show the message for. If the value is non-nil and not a number, we wait 2 seconds. You can customize this variable.
suspend-tty-functions
Functions to be run after suspending a tty. The functions are run with one argument, the terminal object to be suspended. See `suspend-tty'.
symbols-consed
Number of symbols that have been consed so far.
system-configuration
Value is string indicating configuration Emacs was built for. On MS-Windows, the value reflects the OS flavor and version on which Emacs is running.
system-configuration-options
String containing the configuration options Emacs was built with.
system-key-alist
Alist of system-specific X windows key symbols. Each element should have the form (N . SYMBOL) where N is the numeric keysym code (sans the "system-specific" bit 1<<28) and SYMBOL is its name. `system-key-alist' has a separate binding for each terminal device. See Info node `(elisp)Multiple Terminals'.
system-messages-locale
System locale for messages.
system-name
The host name of the machine Emacs is running on.
system-time-locale
System locale for time.
system-type
The value is a symbol indicating the type of operating system you are using. Special values: `gnu' compiled for a GNU Hurd system. `gnu/linux' compiled for a GNU/Linux system. `gnu/kfreebsd' compiled for a GNU system with a FreeBSD kernel. `darwin' compiled for Darwin (GNU-Darwin, Mac OS X, ...). `ms-dos' compiled as an MS-DOS application. `windows-nt' compiled as a native W32 application. `cygwin' compiled using the Cygwin library. Anything else (in Emacs 24.1, the possibilities are: aix, berkeley-unix, hpux, irix, usg-unix-v) indicates some sort of Unix system.
system-uses-terminfo
Non-nil means the system uses terminfo rather than termcap. This variable can be used by terminal emulator packages.
t
tab-width
*Distance between tab stops (for display of tab characters), in columns. This should be an integer greater than zero. You can customize this variable.
tab-width
*Distance between tab stops (for display of tab characters), in columns. This should be an integer greater than zero. You can customize this variable.
temp-buffer-show-function
Non-nil means call as function to display a help buffer. The function is called with one argument, the buffer to be displayed. Used by `with-output-to-temp-buffer'. If this function is used, then it must do the entire job of showing the buffer; `temp-buffer-show-hook' is not run unless this function runs it. You can customize this variable.
temporary-file-directory
The directory for writing temporary files. You can customize this variable.
terminal-frame
The initial frame-object, which represents Emacs's stdout.
text-property-default-nonsticky
Alist of properties vs the corresponding non-stickiness. Each element has the form (PROPERTY . NONSTICKINESS). If a character in a buffer has PROPERTY, new text inserted adjacent to the character doesn't inherit PROPERTY if NONSTICKINESS is non-nil, inherits it if NONSTICKINESS is nil. The `front-sticky' and `rear-nonsticky' properties of the character override NONSTICKINESS.
this-command
The command now being executed. The command can set this variable; whatever is put here will be in `last-command' during the following command.
this-command-keys-shift-translated
Non-nil if the key sequence activating this command was shift-translated. Shift-translation occurs when there is no binding for the key sequence as entered, but a binding was found by changing an upper-case letter to lower-case, or a shifted function key to an unshifted one.
this-original-command
The command bound to the current key sequence before remapping. It equals `this-command' if the original command was not remapped through any of the active keymaps. Otherwise, the value of `this-command' is the result of looking up the original command in the active keymaps.
throw-on-input
If non-nil, any keyboard input throws to this symbol. The value of that variable is passed to `quit-flag' and later causes a peculiar kind of quitting.
timer-idle-list
List of active idle-time timers in order of increasing time.
timer-list
List of active absolute time timers in order of increasing time.
tool-bar-border
*Border below tool-bar in pixels. If an integer, use it as the height of the border. If it is one of `internal-border-width' or `border-width', use the value of the corresponding frame parameter. Otherwise, no border is added below the tool-bar.
tool-bar-button-margin
*Margin around tool-bar buttons in pixels. If an integer, use that for both horizontal and vertical margins. Otherwise, value should be a pair of integers `(HORZ . VERT)' with HORZ specifying the horizontal margin, and VERT specifying the vertical margin.
tool-bar-button-relief
*Relief thickness of tool-bar buttons.
tool-bar-max-label-size
*Maximum number of characters a label can have to be shown. The tool bar style must also show labels for this to have any effect, see `tool-bar-style'. You can customize this variable.
tool-bar-mode
Non-nil if Tool-Bar mode is enabled. See the command `tool-bar-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `tool-bar-mode'. You can customize this variable.
tool-bar-separator-image-expression
Expression evaluating to the image spec for a tool-bar separator. This is used internally by graphical displays that do not render tool-bar separators natively. Otherwise it is unused (e.g. on GTK).
tool-bar-style
Tool bar style to use. It can be one of image - show images only text - show text only both - show both, text below image both-horiz - show text to the right of the image text-image-horiz - show text to the left of the image any other - use system default or image if no system default. You can customize this variable.
top-level
Form to evaluate when Emacs starts up. Useful to set before you dump a modified Emacs.
track-mouse
Non-nil means generate motion events for mouse motion.
transient-mark-mode
Non-nil if Transient Mark mode is enabled. See the command `transient-mark-mode' for a description of this minor mode. Non-nil also enables highlighting of the region whenever the mark is active. The variable `highlight-nonselected-windows' controls whether to highlight all windows or just the selected window. Lisp programs may give this variable certain special values: - A value of `lambda' enables Transient Mark mode temporarily. It is disabled again after any subsequent action that would normally deactivate the mark (e.g. buffer modification). - A value of (only . OLDVAL) enables Transient Mark mode temporarily. After any subsequent point motion command that is not shift-translated, or any other action that would normally deactivate the mark (e.g. buffer modification), the value of `transient-mark-mode' is set to OLDVAL. You can customize this variable.
translation-hash-table-vector
Vector containing all translation hash tables ever defined. Comprises pairs (SYMBOL . TABLE) where SYMBOL and TABLE were set up by calls to `define-translation-hash-table'. The vector is indexed by the table id used by CCL.
translation-table-for-input
Char table for translating self-inserting characters. This is applied to the result of input methods, not their input. See also `keyboard-translate-table'. Use of this variable for character code unification was rendered obsolete in Emacs 23.1 and later, since Unicode is now the basis of internal character representation.
translation-table-vector
Vector recording all translation tables ever defined. Each element is a pair (SYMBOL . TABLE) relating the table to the symbol naming it. The ID of a translation table is an index into this vector.
truncate-lines
*Non-nil means do not display continuation lines. Instead, give each line of text just one screen line. Note that this is overridden by the variable `truncate-partial-width-windows' if that variable is non-nil and this buffer is not full-frame width. Minibuffers set this variable to nil. You can customize this variable.
truncate-lines
*Non-nil means do not display continuation lines. Instead, give each line of text just one screen line. Note that this is overridden by the variable `truncate-partial-width-windows' if that variable is non-nil and this buffer is not full-frame width. Minibuffers set this variable to nil. You can customize this variable.
truncate-partial-width-windows
Non-nil means truncate lines in windows narrower than the frame. For an integer value, truncate lines in each window narrower than the full frame width, provided the window width is less than that integer; otherwise, respect the value of `truncate-lines'. For any other non-nil value, truncate lines in all windows that do not span the full frame width. A value of nil means to respect the value of `truncate-lines'. If `word-wrap' is enabled, you might want to reduce this. You can customize this variable.
tty-defined-color-alist
An alist of defined terminal colors and their RGB values. See the docstring of `tty-color-alist' for the details.
tty-erase-char
The ERASE character as set by the user with stty.
underline-minimum-offset
Minimum distance between baseline and underline. This can improve legibility of underlined text at small font sizes, particularly when using variable `x-use-underline-position-properties' with fonts that specify an UNDERLINE_POSITION relatively close to the baseline. The default value is 1. You can customize this variable.
undo-inhibit-record-point
Non-nil means do not record `point' in `buffer-undo-list'.
undo-limit
Keep no more undo information once it exceeds this size. This limit is applied when garbage collection happens. When a previous command increases the total undo list size past this value, the earlier commands that came before it are forgotten. The size is counted as the number of bytes occupied, which includes both saved text and other data. You can customize this variable.
undo-outer-limit
Outer limit on size of undo information for one command. At garbage collection time, if the current command has produced more than this much undo information, it discards the info and displays a warning. This is a last-ditch limit to prevent memory overflow. The size is counted as the number of bytes occupied, which includes both saved text and other data. A value of nil means no limit. In this case, accumulating one huge undo entry could make Emacs crash as a result of memory overflow. In fact, this calls the function which is the value of `undo-outer-limit-function' with one argument, the size. The text above describes the behavior of the function that variable usually specifies. You can customize this variable.
undo-outer-limit-function
Function to call when an undo list exceeds `undo-outer-limit'. This function is called with one argument, the current undo list size for the most recent command (since the last undo boundary). If the function returns t, that means truncation has been fully handled. If it returns nil, the other forms of truncation are done. Garbage collection is inhibited around the call to this function, so it must make sure not to do a lot of consing.
undo-strong-limit
Don't keep more than this much size of undo information. This limit is applied when garbage collection happens. When a previous command increases the total undo list size past this value, that command and the earlier commands that came before it are forgotten. However, the most recent buffer-modifying command's undo info is never discarded for this reason. The size is counted as the number of bytes occupied, which includes both saved text and other data. You can customize this variable.
unibyte-display-via-language-environment
*Non-nil means display unibyte text according to language environment. Specifically, this means that raw bytes in the range 160-255 decimal are displayed by converting them to the equivalent multibyte characters according to the current language environment. As a result, they are displayed according to the current fontset. Note that this variable affects only how these bytes are displayed, but does not change the fact they are interpreted as raw bytes. You can customize this variable.
unicode-category-table
Char table of Unicode's "General Category". All Unicode characters have one of the following values (symbol): Lu, Ll, Lt, Lm, Lo, Mn, Mc, Me, Nd, Nl, No, Pc, Pd, Ps, Pe, Pi, Pf, Po, Sm, Sc, Sk, So, Zs, Zl, Zp, Cc, Cf, Cs, Co, Cn See The Unicode Standard for the meaning of those values.
unread-command-char
If not -1, an object to be read as next command input event.
unread-command-events
List of events to be read as the command input. These events are processed first, before actual keyboard input. Events read from this list are not normally added to `this-command-keys', as they will already have been added once as they were read for the first time. An element of the form (t . EVENT) forces EVENT to be added to that list.
unread-input-method-events
List of events to be processed as input by input methods. These events are processed after `unread-command-events', but before actual keyboard input. If there's an active input method, the events are given to `input-method-function'.
unread-post-input-method-events
List of events to be processed as input by input methods. These events are processed before `unread-command-events' and actual keyboard input, but are not given to `input-method-function'.
use-dialog-box
*Non-nil means mouse commands use dialog boxes to ask questions. This applies to `y-or-n-p' and `yes-or-no-p' questions asked by commands invoked by mouse clicks and mouse menu items. On some platforms, file selection dialogs are also enabled if this is non-nil. You can customize this variable.
use-file-dialog
*Non-nil means mouse commands use a file dialog to ask for files. This applies to commands from menus and tool bar buttons even when they are initiated from the keyboard. If `use-dialog-box' is nil, that disables the use of a file dialog, regardless of the value of this variable. You can customize this variable.
user-full-name
The full name of the user logged in. You can customize this variable.
user-init-file
File name, including directory, of user's initialization file. If the file loaded had extension `.elc', and the corresponding source file exists, this variable contains the name of source file, suitable for use by functions like `custom-save-all' which edit the init file. While Emacs loads and evaluates the init file, value is the real name of the file, regardless of whether or not it has the `.elc' extension.
user-login-name
The user's name, taken from environment variables if possible.
user-real-login-name
The user's name, based upon the real uid only.
values
List of values of all expressions which were read, evaluated and printed. Order is reverse chronological.
vector-cells-consed
Number of vector cells that have been consed so far.
vertical-scroll-bar
*Position of this buffer's vertical scroll bar. The value takes effect whenever you tell a window to display this buffer; for instance, with `set-window-buffer' or when `display-buffer' displays it. A value of `left' or `right' means put the vertical scroll bar at that side of the window; a value of nil means don't show any vertical scroll bars. A value of t (the default) means do whatever the window's frame specifies.
vertical-scroll-bar
*Position of this buffer's vertical scroll bar. The value takes effect whenever you tell a window to display this buffer; for instance, with `set-window-buffer' or when `display-buffer' displays it. A value of `left' or `right' means put the vertical scroll bar at that side of the window; a value of nil means don't show any vertical scroll bars. A value of t (the default) means do whatever the window's frame specifies.
visible-bell
Non-nil means try to flash the frame to represent a bell. See also `ring-bell-function'. You can customize this variable.
visible-cursor
Non-nil means to make the cursor very visible. This only has an effect when running in a text terminal. What means "very visible" is up to your terminal. It may make the cursor bigger, or it may make it blink, or it may do nothing at all. You can customize this variable.
void-text-area-pointer
*The pointer shape to show in void text areas. A value of nil means to show the text pointer. Other options are `arrow', `text', `hand', `vdrag', `hdrag', `modeline', and `hourglass'.
where-is-preferred-modifier
Preferred modifier key to use for `where-is'. When a single binding is requested, `where-is' will return one that uses this modifier key if possible. If nil, or if no such binding exists, bindings using keys without modifiers (or only with meta) will be preferred.
window-combination-limit
If t, splitting a window makes a new parent window. If this variable is nil, splitting a window will create a new parent window only if the window has no parent window or the window shall become a combination orthogonal to the one it is part of. If this variable is t, splitting a window always creates a new parent window. If all splits behave this way, each frame's window tree is a binary tree and every window but the frame's root window has exactly one sibling. Other values are reserved for future use. The value of this variable is also assigned to the combination limit of the new parent window. The combination limit of a window can be retrieved via the function `window-combination-limit' and altered by the function `set-window-combination-limit'. You can customize this variable.
window-combination-resize
If t, resize window combinations proportionally. If this variable is nil, splitting a window gets the entire screen space for displaying the new window from the window to split. Deleting and resizing a window preferably resizes one adjacent window only. If this variable is t, splitting a window tries to get the space proportionally from all windows in the same combination. This also allows to split a window that is otherwise too small or of fixed size. Resizing and deleting a window proportionally resize all windows in the same combination. Other values are reserved for future use. This variable takes no effect if `window-combination-limit' is non-nil. You can customize this variable.
window-configuration-change-hook
Functions to call when window configuration changes. The buffer-local part is run once per window, with the relevant window selected; while the global part is run only once for the modified frame, with the relevant frame selected.
window-persistent-parameters
Alist of persistent window parameters. This alist specifies which window parameters shall get saved by `current-window-configuration' and `window-state-get' and subsequently restored to their previous values by `set-window-configuration' and `window-state-put'. The car of each entry of this alist is the symbol specifying the parameter. The cdr is one of the following: nil means the parameter is neither saved by `window-state-get' nor by `current-window-configuration'. t means the parameter is saved by `current-window-configuration' and, provided its WRITABLE argument is nil, by `window-state-get'. The symbol `writable' means the parameter is saved unconditionally by both `current-window-configuration' and `window-state-get'. Do not use this value for parameters without read syntax (like windows or frames). Parameters not saved by `current-window-configuration' or `window-state-get' are left alone by `set-window-configuration' respectively are not installed by `window-state-put'.
window-point-insertion-type
Type of marker to use for `window-point'.
window-scroll-functions
List of functions to call before redisplaying a window with scrolling. Each function is called with two arguments, the window and its new display-start position. Note that these functions are also called by `set-window-buffer'. Also note that the value of `window-end' is not valid when these functions are called. Warning: Do not use this feature to alter the way the window is scrolled. It is not designed for that, and such use probably won't work.
window-size-change-functions
Functions called before redisplay, if window sizes have changed. The value should be a list of functions that take one argument. Just before redisplay, for each frame, if any of its windows have changed size since the last redisplay, or have been split or deleted, all the functions in the list are called, with the frame as argument.
window-system
Name of window system through which the selected frame is displayed. The value is a symbol: nil for a termcap frame (a character-only terminal), 'x' for an Emacs frame that is really an X window, 'w32' for an Emacs frame that is a window on MS-Windows display, 'ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display, 'pc' for a direct-write MS-DOS frame. Use of this variable as a boolean is deprecated. Instead, use `display-graphic-p' or any of the other `display-*-p' predicates which report frame's specific UI-related capabilities.
window-system-version
The version number of the window system in use. For X windows, this is 11.
window-text-change-functions
Functions to call in redisplay when text in the window might change.
word-combining-categories
List of pair (cons) of categories to determine word boundary. Emacs treats a sequence of word constituent characters as a single word (i.e. finds no word boundary between them) only if they belong to the same script. But, exceptions are allowed in the following cases. (1) The case that characters are in different scripts is controlled by the variable `word-combining-categories'. Emacs finds no word boundary between characters of different scripts if they have categories matching some element of this list. More precisely, if an element of this list is a cons of category CAT1 and CAT2, and a multibyte character C1 which has CAT1 is followed by C2 which has CAT2, there's no word boundary between C1 and C2. For instance, to tell that Han characters followed by Hiragana characters can form a single word, the element `(?C . ?H)' should be in this list. (2) The case that character are in the same script is controlled by the variable `word-separating-categories'. Emacs finds a word boundary between characters of the same script if they have categories matching some element of this list. More precisely, if an element of this list is a cons of category CAT1 and CAT2, and a multibyte character C1 which has CAT1 but not CAT2 is followed by C2 which has CAT2 but not CAT1, there's a word boundary between C1 and C2. For instance, to tell that there's a word boundary between Hiragana and Katakana (both are in the same script `kana'), the element `(?H . ?K) should be in this list.
word-separating-categories
List of pair (cons) of categories to determine word boundary. See the documentation of the variable `word-combining-categories'.
word-wrap
*Non-nil means to use word-wrapping for continuation lines. When word-wrapping is on, continuation lines are wrapped at the space or tab character nearest to the right window edge. If nil, continuation lines are wrapped at the right screen edge. This variable has no effect if long lines are truncated (see `truncate-lines' and `truncate-partial-width-windows'). If you use word-wrapping, you might want to reduce the value of `truncate-partial-width-windows', since wrapping can make text readable in narrower windows. You can customize this variable.
words-include-escapes
Non-nil means `forward-word', etc., should treat escape chars part of words. You can customize this variable.
wrap-prefix
Prefix prepended to all continuation lines at display time. The value may be a string, an image, or a stretch-glyph; it is interpreted in the same way as the value of a `display' text property. This variable is overridden by any `wrap-prefix' text or overlay property. To add a prefix to non-continuation lines, use `line-prefix'.
write-region-annotate-functions
A list of functions to be called at the start of `write-region'. Each is passed two arguments, START and END as for `write-region'. These are usually two numbers but not always; see the documentation for `write-region'. The function should return a list of pairs of the form (POSITION . STRING), consisting of strings to be effectively inserted at the specified positions of the file being written (1 means to insert before the first byte written). The POSITIONs must be sorted into increasing order. If there are several annotation functions, the lists returned by these functions are merged destructively. As each annotation function runs, the variable `write-region-annotations-so-far' contains a list of all annotations returned by previous annotation functions. An annotation function can return with a different buffer current. Doing so removes the annotations returned by previous functions, and resets START and END to `point-min' and `point-max' of the new buffer. After `write-region' completes, Emacs calls the function stored in `write-region-post-annotation-function', once for each buffer that was current when building the annotations (i.e., at least once), with that buffer current.
write-region-annotations-so-far
When an annotation function is called, this holds the previous annotations. These are the annotations made by other annotation functions that were already called. See also `write-region-annotate-functions'.
write-region-inhibit-fsync
*Non-nil means don't call fsync in `write-region'. This variable affects calls to `write-region' as well as save commands. A non-nil value may result in data loss!
write-region-post-annotation-function
Function to call after `write-region' completes. The function is called with no arguments. If one or more of the annotation functions in `write-region-annotate-functions' changed the current buffer, the function stored in this variable is called for each of those additional buffers as well, in addition to the original buffer. The relevant buffer is current during each function call.