Sdosfns.o Fint86 Call specific MS-DOS interrupt number INTERRUPT with REGISTERS. Return the updated REGISTER vector. INTERRUPT should be an integer in the range 0 to 255. REGISTERS should be a vector produced by `make-register' and `set-register-value'. (fn INTERRUPT REGISTERS)Fmsdos-memget Read DOS memory at offset ADDRESS into VECTOR. Return the updated VECTOR. (fn ADDRESS VECTOR)Fmsdos-memput Write DOS memory at offset ADDRESS from VECTOR. (fn ADDRESS VECTOR)Fmsdos-set-keyboard Set keyboard layout according to COUNTRY-CODE. If the optional argument ALLKEYS is non-nil, the keyboard is mapped for all keys; otherwise it is only used when the ALT key is pressed. The current keyboard layout is available in dos-keyboard-code. (fn COUNTRY-CODE &optional ALLKEYS)Fmsdos-mouse-p Report whether a mouse is present. (fn)Fmsdos-mouse-init Initialize and enable mouse if available. (fn)Fmsdos-mouse-enable Enable mouse if available. (fn)Fmsdos-mouse-disable Disable mouse if available. (fn)Finsert-startup-screen Insert copy of screen contents prior to starting Emacs. Return nil if startup screen is not available. (fn)Ffile-system-info SKIP: real doc in fileio.c. (fn FILENAME)Vdos-country-code The country code returned by Dos when Emacs was started. Usually this is the international telephone prefix.Vdos-codepage The codepage active when Emacs was started. The following are known: 437 United States 850 Multilingual (Latin I) 852 Slavic (Latin II) 857 Turkish 860 Portugal 861 Iceland 863 Canada (French) 865 Norway/DenmarkVdos-timezone-offset The current timezone offset to UTC in minutes. Implicitly modified when the TZ variable is changed.Vdos-version The (MAJOR . MINOR) Dos version (subject to modification with setver).Vdos-windows-version The (MAJOR . MINOR) Windows version for DOS session on MS-Windows.Vdos-display-scancodes Whether DOS raw keyboard events are displayed as you type. When non-nil, the keyboard scan-codes are displayed at the bottom right corner of the display (typically at the end of the mode line). The output format is: scan code:char code*modifiers.Vdos-hyper-key If set to 1, use right ALT key as hyper key. If set to 2, use right CTRL key as hyper key.Vdos-super-key If set to 1, use right ALT key as super key. If set to 2, use right CTRL key as super key.Vdos-keypad-mode Controls what key code is returned by a key in the numeric keypad. The `numlock ON' action is only taken if no modifier keys are pressed. The value is an integer constructed by adding the following bits together: 0x00 Digit key returns digit (if numlock ON) 0x01 Digit key returns kp-digit (if numlock ON) 0x02 Digit key returns M-digit (if numlock ON) 0x03 Digit key returns edit key (if numlock ON) 0x00 Grey key returns char (if numlock ON) 0x04 Grey key returns kp-key (if numlock ON) 0x00 Digit key returns digit (if numlock OFF) 0x10 Digit key returns kp-digit (if numlock OFF) 0x20 Digit key returns M-digit (if numlock OFF) 0x30 Digit key returns edit key (if numlock OFF) 0x00 Grey key returns char (if numlock OFF) 0x40 Grey key returns kp-key (if numlock OFF) 0x200 ALT-0..ALT-9 in top-row produces shifted codes.Vdos-keyboard-layout Contains the country code for the current keyboard layout. Use msdos-set-keyboard to select another keyboard layout.Vdos-decimal-point The character to produce when kp-decimal key is pressed. If non-zero, this variable contains the character to be returned when the decimal point key in the numeric keypad is pressed when Num Lock is on. If zero, the decimal point key returns the country code specific value.Smsdos.o Fmsdos-set-mouse-buttons Set the number of mouse buttons to use by Emacs. This is useful with mice that report the number of buttons inconsistently, e.g., if the number of buttons is reported as 3, but Emacs only sees 2 of them. This happens with wheeled mice on Windows 9X, for example. (fn NBUTTONS)Fmsdos-remember-default-colors Remember the screen colors of the current frame. (fn FRAME)Frecent-doskeys Return vector of last 100 keyboard input values seen in dos_rawgetc. Each input key receives two values in this vector: first the ASCII code, and then the scan code. (fn)Fmsdos-long-file-names Return non-nil if long file names are supported on MS-DOS. (fn)Fmsdos-downcase-filename Convert alphabetic characters in FILENAME to lower case and return that. When long filenames are supported, doesn't change FILENAME. If FILENAME is not a string, returns nil. The argument object is never altered--the value is a copy. (fn FILENAME)Vdos-unsupported-char-glyph Glyph to display instead of chars not supported by current codepage. This variable is used only by MS-DOS terminals.Sxterm.o Vx-use-underline-position-properties Non-nil means make use of UNDERLINE_POSITION font properties. A value of nil means ignore them. If you encounter fonts with bogus UNDERLINE_POSITION font properties, set this to nil. You can also use `underline-minimum-offset' to override the font's UNDERLINE_POSITION for small font display sizes.Vx-underline-at-descent-line Non-nil means to draw the underline at the same place as the descent line. (If `line-spacing' is in effect, that moves the underline lower by that many pixels.) A value of nil means to draw the underline according to the value of the variable `x-use-underline-position-properties', which is usually at the baseline level. The default value is nil.Vx-mouse-click-focus-ignore-position Non-nil means that a mouse click to focus a frame does not move point. This variable is used only when the window manager requires that you click on a frame to select it (give it focus). In that case, a value of nil, means that the selected window and cursor position changes to reflect the mouse click position, while a non-nil value means that the selected window or cursor position is preserved.Vx-toolkit-scroll-bars Which toolkit scroll bars Emacs uses, if any. A value of nil means Emacs doesn't use toolkit scroll bars. With the X Window system, the value is a symbol describing the X toolkit. Possible values are: gtk, motif, xaw, or xaw3d. With MS Windows or Nextstep, the value is t.Vx-ctrl-keysym Which keys Emacs uses for the ctrl modifier. This should be one of the symbols `ctrl', `alt', `hyper', `meta', `super'. For example, `ctrl' means use the Ctrl_L and Ctrl_R keysyms. The default is nil, which is the same as `ctrl'.Vx-alt-keysym Which keys Emacs uses for the alt modifier. This should be one of the symbols `ctrl', `alt', `hyper', `meta', `super'. For example, `alt' means use the Alt_L and Alt_R keysyms. The default is nil, which is the same as `alt'.Vx-hyper-keysym Which keys Emacs uses for the hyper modifier. This should be one of the symbols `ctrl', `alt', `hyper', `meta', `super'. For example, `hyper' means use the Hyper_L and Hyper_R keysyms. The default is nil, which is the same as `hyper'.Vx-meta-keysym Which keys Emacs uses for the meta modifier. This should be one of the symbols `ctrl', `alt', `hyper', `meta', `super'. For example, `meta' means use the Meta_L and Meta_R keysyms. The default is nil, which is the same as `meta'.Vx-super-keysym Which keys Emacs uses for the super modifier. This should be one of the symbols `ctrl', `alt', `hyper', `meta', `super'. For example, `super' means use the Super_L and Super_R keysyms. The default is nil, which is the same as `super'.Vx-wait-for-event-timeout How long to wait for X events. Emacs will wait up to this many seconds to receive X events after making changes which affect the state of the graphical interface. Under some window managers this can take an indefinite amount of time, so it is important to limit the wait. If set to a non-float value, there will be no wait at all.Vx-keysym-table Hash table of character codes indexed by X keysym codes.Vx-frame-normalize-before-maximize Non-nil means normalize frame before maximizing. If this variable is t, Emacs first asks the window manager to give the frame its normal size, and only then the final state, whenever changing from a full-height, full-width or full-both state to the maximized one or when changing from the maximized to the full-height or full-width state. Set this variable only if your window manager cannot handle the transition between the various maximization states.Vx-gtk-use-window-move Non-nil means rely on gtk_window_move to set frame positions. If this variable is t (the default), the GTK build uses the function gtk_window_move to set or store frame positions and disables some time consuming frame position adjustments. In newer versions of GTK, Emacs always uses gtk_window_move and ignores the value of this variable.Sxfns.o Fx-wm-set-size-hint Send the size hints for frame FRAME to the window manager. If FRAME is omitted or nil, use the selected frame. Signal error if FRAME is not an X frame. (fn &optional FRAME)Fx-create-frame Make a new X window, which is called a "frame" in Emacs terms. Return an Emacs frame object. PARMS is an alist of frame parameters. If the parameters specify that the frame should not have a minibuffer, and do not specify a specific minibuffer window to use, then `default-minibuffer-frame' must be a frame whose minibuffer can be shared by the new frame. This function is an internal primitive--use `make-frame' instead. (fn PARMS)Fxw-color-defined-p Internal function called by `color-defined-p'. (Note that the Nextstep version of this function ignores FRAME.) (fn COLOR &optional FRAME)Fxw-color-values Internal function called by `color-values'. (Note that the Nextstep version of this function ignores FRAME.) (fn COLOR &optional FRAME)Fxw-display-color-p Internal function called by `display-color-p'. (fn &optional TERMINAL)Fx-display-grayscale-p Return t if the X display supports shades of gray. Note that color displays do support shades of gray. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. (fn &optional TERMINAL)Fx-display-pixel-width Return the width in pixels of the X display TERMINAL. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. (On MS Windows, this function does not accept terminal objects.) On "multi-monitor" setups this refers to the pixel width for all physical monitors associated with TERMINAL. To get information for each physical monitor, use `display-monitor-attributes-list'. (fn &optional TERMINAL)Fx-display-pixel-height Return the height in pixels of the X display TERMINAL. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. (On MS Windows, this function does not accept terminal objects.) On "multi-monitor" setups this refers to the pixel height for all physical monitors associated with TERMINAL. To get information for each physical monitor, use `display-monitor-attributes-list'. (fn &optional TERMINAL)Fx-display-planes Return the number of bitplanes of the X display TERMINAL. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. (On MS Windows, this function does not accept terminal objects.) (fn &optional TERMINAL)Fx-display-color-cells Return the number of color cells of the X display TERMINAL. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. (On MS Windows, this function does not accept terminal objects.) (fn &optional TERMINAL)Fx-server-max-request-size Return the maximum request size of the X server of display TERMINAL. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. On MS Windows, this function just returns 1. On Nextstep, this function just returns nil. (fn &optional TERMINAL)Fx-server-vendor Return the "vendor ID" string of the GUI software on TERMINAL. (Labeling every distributor as a "vendor" embodies the false assumption that operating systems cannot be developed and distributed noncommercially.) The optional argument TERMINAL specifies which display to ask about. For GNU and Unix systems, this queries the X server software. For MS Windows and Nextstep the result is hard-coded. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. (fn &optional TERMINAL)Fx-server-version Return the version numbers of the GUI software on TERMINAL. The value is a list of three integers specifying the version of the GUI software in use. For GNU and Unix system, the first 2 numbers are the version of the X Protocol used on TERMINAL and the 3rd number is the distributor-specific release number. For MS Windows, the 3 numbers report the OS major and minor version and build number. For Nextstep, the first 2 numbers are hard-coded and the 3rd represents the OS version. See also the function `x-server-vendor'. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. (fn &optional TERMINAL)Fx-display-screens Return the number of screens on the X server of display TERMINAL. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. On MS Windows, this function just returns 1. On Nextstep, "screen" is in X terminology, not that of Nextstep. For the number of physical monitors, use `(length (display-monitor-attributes-list TERMINAL))' instead. (fn &optional TERMINAL)Fx-display-mm-height Return the height in millimeters of the X display TERMINAL. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. (On MS Windows, this function does not accept terminal objects.) On "multi-monitor" setups this refers to the height in millimeters for all physical monitors associated with TERMINAL. To get information for each physical monitor, use `display-monitor-attributes-list'. (fn &optional TERMINAL)Fx-display-mm-width Return the width in millimeters of the X display TERMINAL. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. (On MS Windows, this function does not accept terminal objects.) On "multi-monitor" setups this refers to the width in millimeters for all physical monitors associated with TERMINAL. To get information for each physical monitor, use `display-monitor-attributes-list'. (fn &optional TERMINAL)Fx-display-backing-store Return an indication of whether X display TERMINAL does backing store. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. The value may be `always', `when-mapped', or `not-useful'. On Nextstep, the value may be `buffered', `retained', or `non-retained'. On MS Windows, this returns nothing useful. (fn &optional TERMINAL)Fx-display-visual-class Return the visual class of the X display TERMINAL. The value is one of the symbols `static-gray', `gray-scale', `static-color', `pseudo-color', `true-color', or `direct-color'. (On MS Windows, the second and last result above are not possible.) The optional argument TERMINAL specifies which display to ask about. TERMINAL should a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. (On MS Windows, this function does not accept terminal objects.) (fn &optional TERMINAL)Fx-display-save-under Return t if the X display TERMINAL supports the save-under feature. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. On MS Windows, this just returns nil. (fn &optional TERMINAL)Fx-display-monitor-attributes-list Return a list of physical monitor attributes on the X display TERMINAL. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. In addition to the standard attribute keys listed in `display-monitor-attributes-list', the following keys are contained in the attributes: source -- String describing the source from which multi-monitor information is obtained, one of "Gdk", "XRandr", "Xinerama", or "fallback" Internal use only, use `display-monitor-attributes-list' instead. (fn &optional TERMINAL)Fx-frame-geometry Return geometric attributes of FRAME. FRAME must be a live frame and defaults to the selected one. The return value is an association list of the attributes listed below. All height and width values are in pixels. `outer-position' is a cons of the outer left and top edges of FRAME relative to the origin - the position (0, 0) - of FRAME's display. `outer-size' is a cons of the outer width and height of FRAME. The outer size includes the title bar and the external borders as well as any menu and/or tool bar of frame. For a child frame the value includes FRAME's X borders, if any. `external-border-size' is a cons of the horizontal and vertical width of FRAME's external borders as supplied by the window manager. `title-bar-size' is a cons of the width and height of the title bar of FRAME as supplied by the window manager. If both of them are zero, FRAME has no title bar. If only the width is zero, Emacs was not able to retrieve the width information. `menu-bar-external', if non-nil, means the menu bar is external (never included in the inner edges of FRAME). `menu-bar-size' is a cons of the width and height of the menu bar of FRAME. `tool-bar-external', if non-nil, means the tool bar is external (never included in the inner edges of FRAME). `tool-bar-position' tells on which side the tool bar on FRAME is and can be one of `left', `top', `right' or `bottom'. If this is nil, FRAME has no tool bar. `tool-bar-size' is a cons of the width and height of the tool bar of FRAME. `internal-border-width' is the width of the internal border of FRAME. `outer-border-width' is the width of the X border of FRAME. The X border is usually shown only for frames without window manager decorations, such as child and tooltip frames. (fn &optional FRAME)Fx-frame-edges Return edge coordinates of FRAME. FRAME must be a live frame and defaults to the selected one. The return value is a list of the form (LEFT, TOP, RIGHT, BOTTOM). All values are in pixels relative to the origin - the position (0, 0) - of FRAME's display. If optional argument TYPE is the symbol `outer-edges', return the outer edges of FRAME. The outer edges comprise the decorations of the window manager (like the title bar or external borders) as well as any external menu or tool bar of FRAME. If optional argument TYPE is the symbol `native-edges' or nil, return the native edges of FRAME. The native edges exclude the decorations of the window manager and any external menu or tool bar of FRAME. If TYPE is the symbol `inner-edges', return the inner edges of FRAME. These edges exclude title bar, any borders, menu bar or tool bar of FRAME. (fn &optional FRAME TYPE)Fx-frame-list-z-order Return list of Emacs' frames, in Z (stacking) order. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be either a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. Return nil if TERMINAL contains no Emacs frame. As a special case, if TERMINAL is non-nil and specifies a live frame, return the child frames of that frame in Z (stacking) order. Frames are listed from topmost (first) to bottommost (last). (fn &optional TERMINAL)Fx-frame-restack Restack FRAME1 below FRAME2. This means that if both frames are visible and the display areas of these frames overlap, FRAME2 (partially) obscures FRAME1. If optional third argument ABOVE is non-nil, restack FRAME1 above FRAME2. This means that if both frames are visible and the display areas of these frames overlap, FRAME1 (partially) obscures FRAME2. This may be thought of as an atomic action performed in two steps: The first step removes FRAME1's window-step window from the display. The second step reinserts FRAME1's window below (above if ABOVE is true) that of FRAME2. Hence the position of FRAME2 in its display's Z (stacking) order relative to all other frames excluding FRAME1 remains unaltered. Some window managers may refuse to restack windows. (fn FRAME1 FRAME2 &optional ABOVE)Fx-mouse-absolute-pixel-position Return absolute position of mouse cursor in pixels. The position is returned as a cons cell (X . Y) of the coordinates of the mouse cursor position in pixels relative to a position (0, 0) of the selected frame's display. (fn)Fx-set-mouse-absolute-pixel-position Move mouse pointer to absolute pixel position (X, Y). The coordinates X and Y are interpreted in pixels relative to a position (0, 0) of the selected frame's display. (fn X Y)Fx-open-connection Open a connection to a display server. DISPLAY is the name of the display to connect to. Optional second arg XRM-STRING is a string of resources in xrdb format. If the optional third arg MUST-SUCCEED is non-nil, terminate Emacs if we can't open the connection. (In the Nextstep version, the last two arguments are currently ignored.) (fn DISPLAY &optional XRM-STRING MUST-SUCCEED)Fx-close-connection Close the connection to TERMINAL's X server. For TERMINAL, specify a terminal object, a frame or a display name (a string). If TERMINAL is nil, that stands for the selected frame's terminal. (On MS Windows, this function does not accept terminal objects.) (fn TERMINAL)Fx-display-list Return the list of display names that Emacs has connections to. (fn)Fx-synchronize If ON is non-nil, report X errors as soon as the erring request is made. This function has an effect only on X Windows. With MS Windows, it is defined but does nothing. If ON is nil, allow buffering of requests. Turning on synchronization prohibits the Xlib routines from buffering requests and seriously degrades performance, but makes debugging much easier. The optional second argument TERMINAL specifies which display to act on. TERMINAL should be a terminal object, a frame or a display name (a string). If TERMINAL is omitted or nil, that stands for the selected frame's display. (fn ON &optional TERMINAL)Fx-change-window-property Change window property PROP to VALUE on the X window of FRAME. PROP must be a string. VALUE may be a string or a list of conses, numbers and/or strings. If an element in the list is a string, it is converted to an atom and the value of the atom is used. If an element is a cons, it is converted to a 32 bit number where the car is the 16 top bits and the cdr is the lower 16 bits. FRAME nil or omitted means use the selected frame. If TYPE is given and non-nil, it is the name of the type of VALUE. If TYPE is not given or nil, the type is STRING. FORMAT gives the size in bits of each element if VALUE is a list. It must be one of 8, 16 or 32. If VALUE is a string or FORMAT is nil or not given, FORMAT defaults to 8. If OUTER-P is non-nil, the property is changed for the outer X window of FRAME. Default is to change on the edit X window. If WINDOW-ID is non-nil, change the property of that window instead of FRAME's X window; the number 0 denotes the root window. This argument is separate from FRAME because window IDs are not unique across X displays or screens on the same display, so FRAME provides context for the window ID. (fn PROP VALUE &optional FRAME TYPE FORMAT OUTER-P WINDOW-ID)Fx-delete-window-property Remove window property PROP from X window of FRAME. FRAME nil or omitted means use the selected frame. If WINDOW-ID is non-nil, remove property from that window instead of FRAME's X window; the number 0 denotes the root window. This argument is separate from FRAME because window IDs are not unique across X displays or screens on the same display, so FRAME provides context for the window ID. Value is PROP. (fn PROP &optional FRAME WINDOW-ID)Fx-window-property Value is the value of window property PROP on FRAME. If FRAME is nil or omitted, use the selected frame. On X Windows, the following optional arguments are also accepted: If TYPE is nil or omitted, get the property as a string. Otherwise TYPE is the name of the atom that denotes the expected type. If WINDOW-ID is non-nil, get the property of that window instead of FRAME's X window; the number 0 denotes the root window. This argument is separate from FRAME because window IDs are not unique across X displays or screens on the same display, so FRAME provides context for the window ID. If DELETE-P is non-nil, delete the property after retrieving it. If VECTOR-RET-P is non-nil, return a vector of values instead of a string. Return value is nil if FRAME doesn't have a property with name PROP or if PROP has no value of TYPE (always a string in the MS Windows case). (fn PROP &optional FRAME TYPE WINDOW-ID DELETE-P VECTOR-RET-P)Fx-window-property-attributes Retrieve metadata about window property PROP on FRAME. If FRAME is nil or omitted, use the selected frame. If WINDOW-ID is non-nil, get the property of that window instead of FRAME's X window; the number 0 denotes the root window. This argument is separate from FRAME because window IDs are not unique across X displays or screens on the same display, so FRAME provides context for the window ID. Return value is nil if FRAME doesn't have a property named PROP. Otherwise, the return value is a vector with the following fields: 0. The property type, as an integer. The symbolic name of the type can be obtained with `x-get-atom-name'. 1. The format of each element; one of 8, 16, or 32. 2. The length of the property, in number of elements. (fn PROP &optional FRAME WINDOW-ID)Fx-show-tip Show STRING in a "tooltip" window on frame FRAME. A tooltip window is a small X window displaying a string. This is an internal function; Lisp code should call `tooltip-show'. FRAME nil or omitted means use the selected frame. PARMS is an optional list of frame parameters which can be used to change the tooltip's appearance. Automatically hide the tooltip after TIMEOUT seconds. TIMEOUT nil means use the default timeout of 5 seconds. If the list of frame parameters PARMS contains a `left' parameter, display the tooltip at that x-position. If the list of frame parameters PARMS contains no `left' but a `right' parameter, display the tooltip right-adjusted at that x-position. Otherwise display it at the x-position of the mouse, with offset DX added (default is 5 if DX isn't specified). Likewise for the y-position: If a `top' frame parameter is specified, it determines the position of the upper edge of the tooltip window. If a `bottom' parameter but no `top' frame parameter is specified, it determines the position of the lower edge of the tooltip window. Otherwise display the tooltip window at the y-position of the mouse, with offset DY added (default is -10). A tooltip's maximum size is specified by `x-max-tooltip-size'. Text larger than the specified size is clipped. (fn STRING &optional FRAME PARMS TIMEOUT DX DY)Fx-hide-tip Hide the current tooltip window, if there is any. Value is t if tooltip was open, nil otherwise. (fn)Fx-double-buffered-p Return t if FRAME is being double buffered. (fn &optional FRAME)Fx-uses-old-gtk-dialog Return t if the old Gtk+ file selection dialog is used. (fn)Fx-file-dialog SKIP: real doc in USE_GTK definition in xfns.c. (fn PROMPT DIR &optional DEFAULT-FILENAME MUSTMATCH ONLY-DIR-P)Fx-file-dialog Read file name, prompting with PROMPT in directory DIR. Use a file selection dialog. Select DEFAULT-FILENAME in the dialog's file selection box, if specified. If MUSTMATCH is non-nil, the returned file or directory must exist. This function is defined only on NS, MS Windows, and X Windows with the Motif or Gtk toolkits. With the Motif toolkit, ONLY-DIR-P is ignored. Otherwise, if ONLY-DIR-P is non-nil, the user can select only directories. On MS Windows 7 and later, the file selection dialog "remembers" the last directory where the user selected a file, and will open that directory instead of DIR on subsequent invocations of this function with the same value of DIR as in previous invocations; this is standard MS Windows behavior. (fn PROMPT DIR &optional DEFAULT-FILENAME MUSTMATCH ONLY-DIR-P)Fx-select-font Read a font using a GTK dialog. Return either a font spec (for GTK versions >= 3.2) or a string containing a GTK-style font name. FRAME is the frame on which to pop up the font chooser. If omitted or nil, it defaults to the selected frame. (fn &optional FRAME IGNORED)Fx-backspace-delete-keys-p Check if both Backspace and Delete keys are on the keyboard of FRAME. FRAME nil means use the selected frame. Value is t if we know that both keys are present, and are mapped to the usual X keysyms. Value is `lambda' if we cannot determine if both keys are present and mapped to the usual X keysyms. (fn &optional FRAME)Fx-export-frames Return image data of FRAMES in TYPE format. FRAMES should be nil (the selected frame), a frame, or a list of frames (each of which corresponds to one page). Each frame should be visible. Optional arg TYPE should be either `pdf' (default), `png', `postscript', or `svg'. Supported types are determined by the compile-time configuration of cairo. Note: Text drawn with the `x' font backend is shown with hollow boxes unless TYPE is `png'. (fn &optional FRAMES TYPE)Fx-page-setup-dialog Pop up a page setup dialog. The current page setup can be obtained using `x-get-page-setup'. (fn)Fx-get-page-setup Return the value of the current page setup. The return value is an alist containing the following keys: orientation: page orientation (symbol `portrait', `landscape', `reverse-portrait', or `reverse-landscape'). width, height: page width/height in points not including margins. left-margin, right-margin, top-margin, bottom-margin: print margins, which is the parts of the page that the printer cannot print on, in points. The paper width can be obtained as the sum of width, left-margin, and right-margin values if the page orientation is `portrait' or `reverse-portrait'. Otherwise, it is the sum of width, top-margin, and bottom-margin values. Likewise, the paper height is the sum of height, top-margin, and bottom-margin values if the page orientation is `portrait' or `reverse-portrait'. Otherwise, it is the sum of height, left-margin, and right-margin values. (fn)Fx-print-frames-dialog Pop up a print dialog to print the current contents of FRAMES. FRAMES should be nil (the selected frame), a frame, or a list of frames (each of which corresponds to one page). Each frame should be visible. Note: Text drawn with the `x' font backend is shown with hollow boxes. (fn &optional FRAMES)Fx-gtk-debug Toggle interactive GTK debugging. (fn ENABLE)Vx-pointer-shape The shape of the pointer when over text. Changing the value does not affect existing frames unless you set the mouse color.Vx-nontext-pointer-shape The shape of the pointer when not over text. This variable takes effect when you create a new frame or when you set the mouse color.Vx-hourglass-pointer-shape The shape of the pointer when Emacs is busy. This variable takes effect when you create a new frame or when you set the mouse color.Vx-mode-pointer-shape The shape of the pointer when over the mode line. This variable takes effect when you create a new frame or when you set the mouse color.Vx-sensitive-text-pointer-shape The shape of the pointer when over mouse-sensitive text. This variable takes effect when you create a new frame or when you set the mouse color.Vx-window-horizontal-drag-cursor Pointer shape to use for indicating a window can be dragged horizontally. This variable takes effect when you create a new frame or when you set the mouse color.Vx-window-vertical-drag-cursor Pointer shape to use for indicating a window can be dragged vertically. This variable takes effect when you create a new frame or when you set the mouse color.Vx-window-left-edge-cursor Pointer shape indicating a left x-window edge can be dragged. This variable takes effect when you create a new frame or when you set the mouse color.Vx-window-top-left-corner-cursor Pointer shape indicating a top left x-window corner can be dragged. This variable takes effect when you create a new frame or when you set the mouse color.Vx-window-top-edge-cursor Pointer shape indicating a top x-window edge can be dragged. This variable takes effect when you create a new frame or when you set the mouse color.Vx-window-top-right-corner-cursor Pointer shape indicating a top right x-window corner can be dragged. This variable takes effect when you create a new frame or when you set the mouse color.Vx-window-right-edge-cursor Pointer shape indicating a right x-window edge can be dragged. This variable takes effect when you create a new frame or when you set the mouse color.Vx-window-bottom-right-corner-cursor Pointer shape indicating a bottom right x-window corner can be dragged. This variable takes effect when you create a new frame or when you set the mouse color.Vx-window-bottom-edge-cursor Pointer shape indicating a bottom x-window edge can be dragged. This variable takes effect when you create a new frame or when you set the mouse color.Vx-window-bottom-left-corner-cursor Pointer shape indicating a bottom left x-window corner can be dragged. This variable takes effect when you create a new frame or when you set the mouse color.Vx-cursor-fore-pixel A string indicating the foreground color of the cursor box.Vx-max-tooltip-size Maximum size for tooltips. Value is a pair (COLUMNS . ROWS). Text larger than this is clipped.Vx-no-window-manager Non-nil if no X window manager is in use. Emacs doesn't try to figure this out; this is always nil unless you set it to something else.Vx-pixel-size-width-font-regexp Regexp matching a font name whose width is the same as `PIXEL_SIZE'. Since Emacs gets the width of a font matching this regexp from the PIXEL_SIZE field of the name, the font-finding mechanism gets faster for such a font. This is especially effective for large fonts such as Chinese, Japanese, and Korean.Vx-gtk-use-old-file-dialog Non-nil means prompt with the old GTK file selection dialog. If nil or if the file selection dialog is not available, the new GTK file chooser is used instead. To turn off all file dialogs set the variable `use-file-dialog'.Vx-gtk-show-hidden-files If non-nil, the GTK file chooser will by default show hidden files. Note that this is just the default, there is a toggle button on the file chooser to show or not show hidden files on a case by case basis.Vx-gtk-file-dialog-help-text If non-nil, the GTK file chooser will show additional help text. If more space for files in the file chooser dialog is wanted, set this to nil to turn the additional text off.Vx-gtk-use-system-tooltips If non-nil with a Gtk+ built Emacs, the Gtk+ tooltip is used. Otherwise use Emacs own tooltip implementation. When using Gtk+ tooltips, the tooltip face is not used.Vx-gtk-resize-child-frames If non-nil, resize child frames specially with GTK builds. If this is nil, resize child frames like any other frames. This is the default and usually works with most desktops. Some desktop environments (GNOME shell in particular when using the mutter window manager), however, may refuse to resize a child frame when Emacs is built with GTK3. For those environments, the two settings below are provided. If this equals the symbol 'hide', Emacs temporarily hides the child frame during resizing. This approach seems to work reliably, may however induce some flicker when the frame is made visible again. If this equals the symbol 'resize-mode', Emacs uses GTK's resize mode to always trigger an immediate resize of the child frame. This method is deprecated by GTK and may not work in future versions of that toolkit. It also may freeze Emacs when used with other desktop environments. It avoids, however, the unpleasent flicker induced by the hiding approach. This variable is considered a temporary workaround and will be hopefully eliminated in future versions of Emacs.Vmotif-version-string Version info for LessTif/Motif.Vgtk-version-string Version info for GTK+.Vcairo-version-string Version info for cairo.Sxmenu.o Fx-menu-bar-open-internal SKIP: real doc in USE_GTK definition in xmenu.c. (fn &optional FRAME)Fx-menu-bar-open-internal Start key navigation of the menu bar in FRAME. This initially opens the first menu bar item and you can then navigate with the arrow keys, select a menu entry with the return key or cancel with the escape key. If FRAME has no menu bar this function does nothing. If FRAME is nil or not given, use the selected frame. (fn &optional FRAME)Fmenu-or-popup-active-p Return t if a menu or popup dialog is active. (On MS Windows, this refers to the selected frame.) (fn)Sxselect.o Fx-own-selection-internal Assert an X selection of type SELECTION and value VALUE. SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'. (Those are literal upper-case symbol names, since that's what X expects.) VALUE is typically a string, or a cons of two markers, but may be anything that the functions on `selection-converter-alist' know about. FRAME should be a frame that should own the selection. If omitted or nil, it defaults to the selected frame. On Nextstep, FRAME is unused. (fn SELECTION VALUE &optional FRAME)Fx-get-selection-internal Return text selected from some X window. SELECTION-SYMBOL is typically `PRIMARY', `SECONDARY', or `CLIPBOARD'. (Those are literal upper-case symbol names, since that's what X expects.) TARGET-TYPE is the type of data desired, typically `STRING'. TIME-STAMP is the time to use in the XConvertSelection call for foreign selections. If omitted, defaults to the time for the last event. TERMINAL should be a terminal object or a frame specifying the X server to query. If omitted or nil, that stands for the selected frame's display, or the first available X display. On Nextstep, TIME-STAMP and TERMINAL are unused. (fn SELECTION-SYMBOL TARGET-TYPE &optional TIME-STAMP TERMINAL)Fx-disown-selection-internal If we own the selection SELECTION, disown it. Disowning it means there is no such selection. Sets the last-change time for the selection to TIME-OBJECT (by default the time of the last event). TERMINAL should be a terminal object or a frame specifying the X server to query. If omitted or nil, that stands for the selected frame's display, or the first available X display. On Nextstep, the TIME-OBJECT and TERMINAL arguments are unused. On MS-DOS, all this does is return non-nil if we own the selection. (fn SELECTION &optional TIME-OBJECT TERMINAL)Fx-selection-owner-p Whether the current Emacs process owns the given X Selection. The arg should be the name of the selection in question, typically one of the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. (Those are literal upper-case symbol names, since that's what X expects.) For convenience, the symbol nil is the same as `PRIMARY', and t is the same as `SECONDARY'. TERMINAL should be a terminal object or a frame specifying the X server to query. If omitted or nil, that stands for the selected frame's display, or the first available X display. On Nextstep, TERMINAL is unused. (fn &optional SELECTION TERMINAL)Fx-selection-exists-p Whether there is an owner for the given X selection. SELECTION should be the name of the selection in question, typically one of the symbols `PRIMARY', `SECONDARY', `CLIPBOARD', or `CLIPBOARD_MANAGER' (X expects these literal upper-case names.) The symbol nil is the same as `PRIMARY', and t is the same as `SECONDARY'. TERMINAL should be a terminal object or a frame specifying the X server to query. If omitted or nil, that stands for the selected frame's display, or the first available X display. On Nextstep, TERMINAL is unused. (fn &optional SELECTION TERMINAL)Fx-get-atom-name Return the X atom name for VALUE as a string. VALUE may be a number or a cons where the car is the upper 16 bits and the cdr is the lower 16 bits of a 32 bit value. Use the display for FRAME or the current frame if FRAME is not given or nil. If the value is 0 or the atom is not known, return the empty string. (fn VALUE &optional FRAME)Fx-register-dnd-atom Request that dnd events are made for ClientMessages with ATOM. ATOM can be a symbol or a string. The ATOM is interned on the display that FRAME is on. If FRAME is nil, the selected frame is used. (fn ATOM &optional FRAME)Fx-send-client-message Send a client message of MESSAGE-TYPE to window DEST on DISPLAY. For DISPLAY, specify either a frame or a display name (a string). If DISPLAY is nil, that stands for the selected frame's display. DEST may be a number, in which case it is a Window id. The value 0 may be used to send to the root window of the DISPLAY. If DEST is a cons, it is converted to a 32 bit number with the high 16 bits from the car and the lower 16 bit from the cdr. That number is then used as a window id. If DEST is a frame the event is sent to the outer window of that frame. A value of nil means the currently selected frame. If DEST is the string "PointerWindow" the event is sent to the window that contains the pointer. If DEST is the string "InputFocus" the event is sent to the window that has the input focus. FROM is the frame sending the event. Use nil for currently selected frame. MESSAGE-TYPE is the name of an Atom as a string. FORMAT must be one of 8, 16 or 32 and determines the size of the values in bits. VALUES is a list of numbers, cons and/or strings containing the values to send. If a value is a string, it is converted to an Atom and the value of the Atom is sent. If a value is a cons, it is converted to a 32 bit number with the high 16 bits from the car and the lower 16 bit from the cdr. If more values than fits into the event is given, the excessive values are ignored. (fn DISPLAY DEST FROM MESSAGE-TYPE FORMAT VALUES)Vselection-converter-alist An alist associating X Windows selection-types with functions. These functions are called to convert the selection, with three args: the name of the selection (typically `PRIMARY', `SECONDARY', or `CLIPBOARD'); a desired type to which the selection should be converted; and the local selection value (whatever was given to `x-own-selection-internal'). The function should return the value to send to the X server (typically a string). A return value of nil means that the conversion could not be done. A return value which is the symbol `NULL' means that a side-effect was executed, and there is no meaningful selection value.Vx-lost-selection-functions A list of functions to be called when Emacs loses an X selection. (This happens when some other X client makes its own selection or when a Lisp program explicitly clears the selection.) The functions are called with one argument, the selection type (a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD').Vx-sent-selection-functions A list of functions to be called when Emacs answers a selection request. The functions are called with three arguments: - the selection name (typically `PRIMARY', `SECONDARY', or `CLIPBOARD'); - the selection-type which Emacs was asked to convert the selection into before sending (for example, `STRING' or `LENGTH'); - a flag indicating success or failure for responding to the request. We might have failed (and declined the request) for any number of reasons, including being asked for a selection that we no longer own, or being asked to convert into a type that we don't know about or that is inappropriate. This hook doesn't let you change the behavior of Emacs's selection replies, it merely informs you that they have happened.Vx-select-enable-clipboard-manager Whether to enable X clipboard manager support. If non-nil, then whenever Emacs is killed or an Emacs frame is deleted while owning the X clipboard, the clipboard contents are saved to the clipboard manager if one is present.Vx-selection-timeout Number of milliseconds to wait for a selection reply. If the selection owner doesn't reply in this time, we give up. A value of 0 means wait as long as necessary. This is initialized from the "*selectionTimeout" resource.Sxrdb.o Sxsmfns.o Fhandle-save-session Handle the save_yourself event from a session manager. A session manager can tell Emacs that the window system is shutting down by sending Emacs a save_yourself message. Emacs executes this function when such an event occurs. This function then executes `emacs-session-save'. After that, this function informs the session manager that it can continue or abort shutting down the window system depending on the return value from `emacs-session-save' If the return value is non-nil the session manager is told to abort the window system shutdown. Do not call this function yourself. (fn EVENT)Vx-session-id The session id Emacs got from the session manager for this session. Changing the value does not change the session id used by Emacs. The value is nil if no session manager is running. See also `x-session-previous-id', `emacs-save-session-functions', `emacs-session-save' and `emacs-session-restore'.Vx-session-previous-id The previous session id Emacs got from session manager. If Emacs is running on a window system that has a session manager, the session manager gives Emacs a session id. It is feasible for Emacs Lisp code to use the session id to save configuration in, for example, a file with a file name based on the session id. If Emacs is running when the window system is shut down, the session manager remembers that Emacs was running and saves the session id Emacs had. When the window system is started again, the session manager restarts Emacs and hands Emacs the session id it had the last time it was running. This is now the previous session id and the value of this variable. If configuration was saved in a file as stated above, the previous session id shall be used to reconstruct the file name. The session id Emacs has while it is running is in the variable `x-session-id'. The value of this variable and `x-session-id' may be the same, depending on how the session manager works. See also `emacs-save-session-functions', `emacs-session-save' and `emacs-session-restore'.Sfringe.o Fdestroy-fringe-bitmap Destroy fringe bitmap BITMAP. If BITMAP overrides a standard fringe bitmap, the original bitmap is restored. (fn BITMAP)Fdefine-fringe-bitmap Define fringe bitmap BITMAP from BITS of size HEIGHT x WIDTH. BITMAP is a symbol identifying the new fringe bitmap. BITS is either a string or a vector of integers. HEIGHT is height of bitmap. If HEIGHT is nil, use length of BITS. WIDTH must be an integer from 1 to 16, or nil which defaults to 8. An error is signaled if WIDTH is outside this range. Optional fifth arg ALIGN may be one of `top', `center', or `bottom', indicating the positioning of the bitmap relative to the rows where it is used; the default is to center the bitmap. Fifth arg may also be a list (ALIGN PERIODIC) where PERIODIC non-nil specifies that the bitmap should be repeated. If BITMAP already exists, the existing definition is replaced. (fn BITMAP BITS &optional HEIGHT WIDTH ALIGN)Fset-fringe-bitmap-face Set face for fringe bitmap BITMAP to FACE. FACE is merged with the `fringe' face, so normally FACE should specify only the foreground color. If FACE is nil, reset face to default fringe face. (fn BITMAP &optional FACE)Ffringe-bitmaps-at-pos Return fringe bitmaps of row containing position POS in window WINDOW. If WINDOW is nil, use selected window. If POS is nil, use value of point in that window. Return value is a list (LEFT RIGHT OV), where LEFT is the symbol for the bitmap in the left fringe (or nil if no bitmap), RIGHT is similar for the right fringe, and OV is non-nil if there is an overlay arrow in the left fringe. Return nil if POS is not visible in WINDOW. (fn &optional POS WINDOW)Voverflow-newline-into-fringe Non-nil means that newline may flow into the right fringe. This means that display lines that are exactly as wide as the window (not counting the final newline) will occupy only one screen line, by showing (or hiding) the final newline in the right fringe; when point is at the final newline, the cursor is shown in the right fringe. If nil, also continue lines which are exactly as wide as the window.Vfringe-bitmaps List of fringe bitmap symbols.Simage.o Fimage-size Return the size of image SPEC as pair (WIDTH . HEIGHT). PIXELS non-nil means return the size in pixels, otherwise return the size in canonical character units. FRAME is the frame on which the image will be displayed. FRAME nil or omitted means use the selected frame. Calling this function will result in the image being stored in the image cache. If this is not desirable, call `image-flush' after calling this function. (fn SPEC &optional PIXELS FRAME)Fimage-mask-p Return t if image SPEC has a mask bitmap. FRAME is the frame on which the image will be displayed. FRAME nil or omitted means use the selected frame. (fn SPEC &optional FRAME)Fimage-metadata Return metadata for image SPEC. FRAME is the frame on which the image will be displayed. FRAME nil or omitted means use the selected frame. (fn SPEC &optional FRAME)Fclear-image-cache Clear the image cache. FILTER nil or a frame means clear all images in the selected frame. FILTER t means clear the image caches of all frames. Anything else means clear only those images that refer to FILTER, which is then usually a filename. (fn &optional FILTER)Fimage-flush Flush the image with specification SPEC on frame FRAME. This removes the image from the Emacs image cache. If SPEC specifies an image file, the next redisplay of this image will read from the current contents of that file. FRAME nil or omitted means use the selected frame. FRAME t means refresh the image on all frames. (fn SPEC &optional FRAME)Fimagemagick-types Return a list of image types supported by ImageMagick. Each entry in this list is a symbol named after an ImageMagick format tag. See the ImageMagick manual for a list of ImageMagick formats and their descriptions (https://www.imagemagick.org/script/formats.php). You can also try the shell command: `identify -list format'. Note that ImageMagick recognizes many file-types that Emacs does not recognize as images, such as C. See `imagemagick-enabled-types' and `imagemagick-types-inhibit'. (fn)Fimagep Value is non-nil if SPEC is a valid image specification. (fn SPEC)Flookup-image (fn SPEC)Fimage-transforms-p Test whether FRAME supports image transformation. Return list of capabilities if FRAME supports native transforms, nil otherwise. FRAME defaults to the selected frame. The list of capabilities can include one or more of the following: - the symbol `scale' if FRAME supports image scaling - the symbol `rotate90' if FRAME supports image rotation only by angles that are integral multiples of 90 degrees. (fn &optional FRAME)Finit-image-library Initialize image library implementing image type TYPE. Return t if TYPE is a supported image type. If image libraries are loaded dynamically (currently the case only on MS-Windows), load the library for TYPE if it is not yet loaded, using the library file(s) specified by `dynamic-library-alist'. (fn TYPE)Vimage-types List of potentially supported image types. Each element of the list is a symbol for an image type, like `jpeg' or `png'. To check whether it is really supported, use `image-type-available-p'.Vmax-image-size Maximum size of images. Emacs will not load an image into memory if its pixel width or pixel height exceeds this limit. If the value is an integer, it directly specifies the maximum image height and width, measured in pixels. If it is a floating point number, it specifies the maximum image height and width as a ratio to the frame height and width. If the value is non-numeric, there is no explicit limit on the size of images.Vcross-disabled-images Non-nil means always draw a cross over disabled images. Disabled images are those having a `:conversion disabled' property. A cross is always drawn on black & white displays.Vx-bitmap-file-path List of directories to search for window system bitmap files.Vimage-cache-eviction-delay Maximum time after which images are removed from the cache. When an image has not been displayed this many seconds, Emacs automatically removes it from the image cache. If the cache contains a large number of images, the actual eviction time may be shorter. The value can also be nil, meaning the cache is never cleared. The function `clear-image-cache' disregards this variable.Vimagemagick-render-type Integer indicating which ImageMagick rendering method to use. The options are: 0 -- the default method (pixel pushing) 1 -- a newer method ("MagickExportImagePixels") that may perform better (speed etc) in some cases, but has not been as thoroughly tested with Emacs as the default method. This method requires ImageMagick version 6.4.6 (approximately) or later.Sfontset.o Fquery-fontset Return the name of a fontset that matches PATTERN. The value is nil if there is no matching fontset. PATTERN can contain `*' or `?' as a wildcard just as X font name matching algorithm allows. If REGEXPP is non-nil, PATTERN is a regular expression. (fn PATTERN &optional REGEXPP)Fset-fontset-font Modify fontset NAME to use FONT-SPEC for TARGET characters. NAME is a fontset name (a string), nil for the fontset of FRAME, or t for the default fontset. TARGET may be a single character to use FONT-SPEC for. TARGET may be a cons (FROM . TO), where FROM and TO are characters. In that case, use FONT-SPEC for all the characters in the range between FROM and TO (inclusive). TARGET may be a script symbol. In that case, use FONT-SPEC for all the characters that belong to the script. See the variable `script-representative-chars' for the list of known scripts. TARGET may be a charset. In that case, use FONT-SPEC for all the characters in the charset. See `list-character-sets' and `list-charset-chars' for the list of character sets and their characters. TARGET may be nil. In that case, use FONT-SPEC for any character for which no font-spec is specified. FONT-SPEC may one of these: * A font-spec object made by the function `font-spec' (which see). * A cons (FAMILY . REGISTRY), where FAMILY is a font family name and REGISTRY is a font registry name. FAMILY may contain foundry name, and REGISTRY may contain encoding name. * A font name string. * nil, which explicitly specifies that there's no font for TARGET. Optional 4th argument FRAME is a frame, or nil for the selected frame, to be considered in the case that NAME is nil. Optional 5th argument ADD, if non-nil, specifies how to add FONT-SPEC to the previously set font specifications for TARGET. If it is `prepend', FONT-SPEC is prepended. If it is `append', FONT-SPEC is appended. By default, FONT-SPEC overrides the previous settings. (fn NAME TARGET FONT-SPEC &optional FRAME ADD)Fnew-fontset Create a new fontset NAME from font information in FONTLIST. FONTLIST is an alist of scripts vs the corresponding font specification list. Each element of FONTLIST has the form (SCRIPT FONT-SPEC ...), where a character of SCRIPT is displayed by a font that matches one of FONT-SPEC. SCRIPT is a symbol that appears in the first extra slot of the char-table `char-script-table'. FONT-SPEC is a vector, a cons, or a string. See the documentation of `set-fontset-font' for the meaning. (fn NAME FONTLIST)Ffontset-info Return information about a fontset FONTSET on frame FRAME. FONTSET is a fontset name string, nil for the fontset of FRAME, or t for the default fontset. FRAME nil means the selected frame. The value is a char-table whose elements have this form: ((FONT OPENED-FONT ...) ...) FONT is a name of font specified for a range of characters. OPENED-FONT is a name of a font actually opened. The char-table has one extra slot. If FONTSET is not the default fontset, the value the extra slot is a char-table containing the information about the derived fonts from the default fontset. The format is the same as above. (fn FONTSET &optional FRAME)Ffontset-font Return a font name pattern for character CH in fontset NAME. If NAME is t, find a pattern in the default fontset. If NAME is nil, find a pattern in the fontset of the selected frame. The value has the form (FAMILY . REGISTRY), where FAMILY is a font family name and REGISTRY is a font registry name. This is actually the first font name pattern for CH in the fontset or in the default fontset. If the 2nd optional arg ALL is non-nil, return a list of all font name patterns. (fn NAME CH &optional ALL)Ffontset-list Return a list of all defined fontset names. (fn)Ffontset-list-all Return a brief summary of all fontsets for debug use. (fn)Vfont-encoding-charset-alist Alist of charsets vs the charsets to determine the preferred font encoding. Each element looks like (CHARSET . ENCODING-CHARSET), where ENCODING-CHARSET is a charset registered in the variable `font-encoding-alist' as ENCODING. When a text has a property `charset' and the value is CHARSET, a font whose encoding corresponds to ENCODING-CHARSET is preferred.Vuse-default-ascent Char table of characters whose ascent values should be ignored. If an entry for a character is non-nil, the ascent value of the glyph is assumed to be specified by _MULE_DEFAULT_ASCENT property of a font. This affects how a composite character which contains such a character is displayed on screen.Vuse-default-font-for-symbols If non-nil, use the default face's font for symbols and punctuation. By default, Emacs will try to use the default face's font for displaying symbol and punctuation characters, disregarding the fontsets, if the default font can display the character. Set this to nil to make Emacs honor the fontsets instead.Vignore-relative-composition Char table of characters which are not composed relatively. If an entry for a character is non-nil, a composition sequence which contains that character is displayed so that the glyph of that character is put without considering an ascent and descent value of a previous character.Valternate-fontname-alist Alist of fontname vs list of the alternate fontnames. When a specified font name is not found, the corresponding alternate fontnames (if any) are tried instead.Vfontset-alias-alist Alist of fontset names vs the aliases.Vvertical-centering-font-regexp Regexp matching font names that require vertical centering on display. When a character is displayed with such fonts, the character is displayed at the vertical center of lines.Votf-script-alist Alist of OpenType script tags vs the corresponding script names.Sdbusbind.o Fdbus--init-bus Establish the connection to D-Bus BUS. This function is dbus internal. You almost certainly want to use `dbus-init-bus'. BUS can be either the symbol `:system' or the symbol `:session', or it can be a string denoting the address of the corresponding bus. For the system and session buses, this function is called when loading `dbus.el', there is no need to call it again. The function returns a number, which counts the connections this Emacs session has established to the BUS under the same unique name (see `dbus-get-unique-name'). It depends on the libraries Emacs is linked with, and on the environment Emacs is running. For example, if Emacs is linked with the gtk toolkit, and it runs in a GTK-aware environment like Gnome, another connection might already be established. When PRIVATE is non-nil, a new connection is established instead of reusing an existing one. It results in a new unique name at the bus. This can be used, if it is necessary to distinguish from another connection used in the same Emacs process, like the one established by GTK+. It should be used with care for at least the `:system' and `:session' buses, because other Emacs Lisp packages might already use this connection to those buses. (fn BUS &optional PRIVATE)Fdbus-get-unique-name Return the unique name of Emacs registered at D-Bus BUS. (fn BUS)Fdbus-message-internal Send a D-Bus message. This is an internal function, it shall not be used outside dbus.el. The following usages are expected: `dbus-call-method', `dbus-call-method-asynchronously': (dbus-message-internal dbus-message-type-method-call BUS SERVICE PATH INTERFACE METHOD HANDLER &optional :timeout TIMEOUT &rest ARGS) `dbus-send-signal': (dbus-message-internal dbus-message-type-signal BUS SERVICE PATH INTERFACE SIGNAL &rest ARGS) `dbus-method-return-internal': (dbus-message-internal dbus-message-type-method-return BUS SERVICE SERIAL &rest ARGS) `dbus-method-error-internal': (dbus-message-internal dbus-message-type-error BUS SERVICE SERIAL &rest ARGS) (fn &rest REST)Vdbus-compiled-version The version of D-Bus Emacs is compiled against.Vdbus-runtime-version The version of D-Bus Emacs runs with.Vdbus-message-type-invalid This value is never a valid message type.Vdbus-message-type-method-call Message type of a method call message.Vdbus-message-type-method-return Message type of a method return message.Vdbus-message-type-error Message type of an error reply message.Vdbus-message-type-signal Message type of a signal message.Vdbus-registered-objects-table Hash table of registered functions for D-Bus. There are two different uses of the hash table: for accessing registered interfaces properties, targeted by signals or method calls, and for calling handlers in case of non-blocking method call returns. In the first case, the key in the hash table is the list (TYPE BUS INTERFACE MEMBER). TYPE is one of the Lisp symbols `:method', `:signal' or `:property'. BUS is either a Lisp symbol, `:system' or `:session', or a string denoting the bus address. INTERFACE is a string which denotes a D-Bus interface, and MEMBER, also a string, is either a method, a signal or a property INTERFACE is offering. All arguments but BUS must not be nil. The value in the hash table is a list of quadruple lists ((UNAME SERVICE PATH OBJECT [RULE]) ...). SERVICE is the service name as registered, UNAME is the corresponding unique name. In case of registered methods and properties, UNAME is nil. PATH is the object path of the sending object. All of them can be nil, which means a wildcard then. OBJECT is either the handler to be called when a D-Bus message, which matches the key criteria, arrives (TYPE `:method' and `:signal'), or a cons cell containing the value of the property (TYPE `:property'). For entries of type `:signal', there is also a fifth element RULE, which keeps the match string the signal is registered with. In the second case, the key in the hash table is the list (:serial BUS SERIAL). BUS is either a Lisp symbol, `:system' or `:session', or a string denoting the bus address. SERIAL is the serial number of the non-blocking method call, a reply is expected. Both arguments must not be nil. The value in the hash table is HANDLER, the function to be called when the D-Bus reply message arrives.Vdbus-debug If non-nil, debug messages of D-Bus bindings are raised.Scygw32.o Fcygwin-convert-file-name-to-windows Convert a Cygwin file name FILE to a Windows-style file name. If ABSOLUTE-P is non-nil, return an absolute file name. For the reverse operation, see `cygwin-convert-file-name-from-windows'. (fn FILE &optional ABSOLUTE-P)Fcygwin-convert-file-name-from-windows Convert a Windows-style file name FILE to a Cygwin file name. If ABSOLUTE-P is non-nil, return an absolute file name. For the reverse operation, see `cygwin-convert-file-name-to-windows'. (fn FILE &optional ABSOLUTE-P)Snsterm.o Vns-input-file The file specified in the last NS event.Vns-working-text String for visualizing working composition sequence.Vns-input-font The font specified in the last NS event.Vns-input-fontsize The fontsize specified in the last NS event.Vns-input-line The line specified in the last NS event.Vns-input-spi-name The service name specified in the last NS event.Vns-input-spi-arg The service argument specified in the last NS event.Vns-alternate-modifier This variable describes the behavior of the alternate or option key. Either SYMBOL, describing the behavior for any event, or (:ordinary SYMBOL :function SYMBOL :mouse SYMBOL), describing behavior separately for ordinary keys, function keys, and mouse events. Each SYMBOL is `control', `meta', `alt', `super', `hyper' or `none'. If `none', the key is ignored by Emacs and retains its standard meaning.Vns-right-alternate-modifier This variable describes the behavior of the right alternate or option key. Either SYMBOL, describing the behavior for any event, or (:ordinary SYMBOL :function SYMBOL :mouse SYMBOL), describing behavior separately for ordinary keys, function keys, and mouse events. It can also be `left' to use the value of `ns-alternate-modifier' instead. Each SYMBOL is `control', `meta', `alt', `super', `hyper' or `none'. If `none', the key is ignored by Emacs and retains its standard meaning.Vns-command-modifier This variable describes the behavior of the command key. Either SYMBOL, describing the behavior for any event, or (:ordinary SYMBOL :function SYMBOL :mouse SYMBOL), describing behavior separately for ordinary keys, function keys, and mouse events. Each SYMBOL is `control', `meta', `alt', `super', `hyper' or `none'. If `none', the key is ignored by Emacs and retains its standard meaning.Vns-right-command-modifier This variable describes the behavior of the right command key. Either SYMBOL, describing the behavior for any event, or (:ordinary SYMBOL :function SYMBOL :mouse SYMBOL), describing behavior separately for ordinary keys, function keys, and mouse events. It can also be `left' to use the value of `ns-command-modifier' instead. Each SYMBOL is `control', `meta', `alt', `super', `hyper' or `none'. If `none', the key is ignored by Emacs and retains its standard meaning.Vns-control-modifier This variable describes the behavior of the control key. Either SYMBOL, describing the behavior for any event, or (:ordinary SYMBOL :function SYMBOL :mouse SYMBOL), describing behavior separately for ordinary keys, function keys, and mouse events. Each SYMBOL is `control', `meta', `alt', `super', `hyper' or `none'. If `none', the key is ignored by Emacs and retains its standard meaning.Vns-right-control-modifier This variable describes the behavior of the right control key. Either SYMBOL, describing the behavior for any event, or (:ordinary SYMBOL :function SYMBOL :mouse SYMBOL), describing behavior separately for ordinary keys, function keys, and mouse events. It can also be `left' to use the value of `ns-control-modifier' instead. Each SYMBOL is `control', `meta', `alt', `super', `hyper' or `none'. If `none', the key is ignored by Emacs and retains its standard meaning.Vns-function-modifier This variable describes the behavior of the function (fn) key. Either SYMBOL, describing the behavior for any event, or (:ordinary SYMBOL :function SYMBOL :mouse SYMBOL), describing behavior separately for ordinary keys, function keys, and mouse events. Each SYMBOL is `control', `meta', `alt', `super', `hyper' or `none'. If `none', the key is ignored by Emacs and retains its standard meaning.Vns-antialias-text Non-nil (the default) means to render text antialiased.Vns-use-thin-smoothing Non-nil turns on a font smoothing method that produces thinner strokes.Vns-confirm-quit Whether to confirm application quit using dialog.Vns-auto-hide-menu-bar Non-nil means that the menu bar is hidden, but appears when the mouse is near. Only works on Mac OS X.Vns-use-native-fullscreen Non-nil means to use native fullscreen on Mac OS X 10.7 and later. Nil means use fullscreen the old (< 10.7) way. The old way works better with multiple monitors, but lacks tool bar. This variable is ignored on Mac OS X < 10.7. Default is t.Vns-use-fullscreen-animation Non-nil means use animation on non-native fullscreen. For native fullscreen, this does nothing. Default is nil.Vns-use-srgb-colorspace Non-nil means to use sRGB colorspace on Mac OS X 10.7 and later. Note that this does not apply to images. This variable is ignored on Mac OS X < 10.7 and GNUstep.Vns-use-mwheel-acceleration Non-nil means use macOS's standard mouse wheel acceleration. This variable is ignored on macOS < 10.7 and GNUstep. Default is t.Vns-mwheel-line-height The number of pixels touchpad scrolling considers one line. Nil or a non-number means use the default frame line height. This variable is ignored on macOS < 10.7 and GNUstep. Default is nil.Vns-use-mwheel-momentum Non-nil means mouse wheel scrolling uses momentum. This variable is ignored on macOS < 10.7 and GNUstep. Default is t.Vx-toolkit-scroll-bars SKIP: real doc in xterm.c.Vx-use-underline-position-properties SKIP: real doc in xterm.c.Vx-underline-at-descent-line SKIP: real doc in xterm.c.Snsfns.o Fx-create-frame SKIP: real doc in xfns.c. (fn PARMS)Fns-frame-list-z-order Return list of Emacs' frames, in Z (stacking) order. If TERMINAL is non-nil and specifies a live frame, return the child frames of that frame in Z (stacking) order. Frames are listed from topmost (first) to bottommost (last). (fn &optional TERMINAL)Fns-frame-restack Restack FRAME1 below FRAME2. This means that if both frames are visible and the display areas of these frames overlap, FRAME2 (partially) obscures FRAME1. If optional third argument ABOVE is non-nil, restack FRAME1 above FRAME2. This means that if both frames are visible and the display areas of these frames overlap, FRAME1 (partially) obscures FRAME2. Some window managers may refuse to restack windows. (fn FRAME1 FRAME2 &optional ABOVE)Fns-popup-font-panel Pop up the font panel. (fn &optional FRAME)Fns-popup-color-panel Pop up the color panel. (fn &optional FRAME)Fns-read-file-name Use a graphical panel to read a file name, using prompt PROMPT. Optional arg DIR, if non-nil, supplies a default directory. Optional arg MUSTMATCH, if non-nil, means the returned file or directory must exist. Optional arg INIT, if non-nil, provides a default file name to use. Optional arg DIR_ONLY_P, if non-nil, means choose only directories. (fn PROMPT &optional DIR MUSTMATCH INIT DIR-ONLY-P)Fns-get-resource Return the value of the property NAME of OWNER from the defaults database. If OWNER is nil, Emacs is assumed. (fn OWNER NAME)Fns-set-resource Set property NAME of OWNER to VALUE, from the defaults database. If OWNER is nil, Emacs is assumed. If VALUE is nil, the default is removed. (fn OWNER NAME VALUE)Fx-server-max-request-size SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-server-vendor SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-server-version SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-display-screens SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-display-mm-height SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-display-mm-width SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-display-backing-store SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-display-visual-class SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-display-save-under SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-open-connection SKIP: real doc in xfns.c. (fn DISPLAY &optional RESOURCE-STRING MUST-SUCCEED)Fx-close-connection SKIP: real doc in xfns.c. (fn TERMINAL)Fx-display-list SKIP: real doc in xfns.c. (fn)Fns-hide-others Hides all applications other than Emacs. (fn)Fns-hide-emacs If ON is non-nil, the entire Emacs application is hidden. Otherwise if Emacs is hidden, it is unhidden. If ON is equal to `activate', Emacs is unhidden and becomes the active application. (fn ON)Fns-emacs-info-panel Shows the `Info' or `About' panel for Emacs. (fn)Fns-font-name Determine font PostScript or family name for font NAME. NAME should be a string containing either the font name or an XLFD font descriptor. If string contains `fontset' and not `fontset-startup', it is left alone. (fn NAME)Fns-list-colors Return a list of all available colors. The optional argument FRAME is currently ignored. (fn &optional FRAME)Fns-list-services List available Nextstep services by querying NSApp. (fn)Fns-perform-service Perform Nextstep SERVICE on SEND. SEND should be either a string or nil. The return value is the result of the service, as string, or nil if there was no result. (fn SERVICE SEND)Fns-do-applescript Execute AppleScript SCRIPT and return the result. If compilation and execution are successful, the resulting script value is returned as a string, a number or, in the case of other constructs, t. In case the execution fails, an error is signaled. (fn SCRIPT)Fxw-color-defined-p SKIP: real doc in xfns.c. (fn COLOR &optional FRAME)Fxw-color-values SKIP: real doc in xfns.c. (fn COLOR &optional FRAME)Fxw-display-color-p SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-display-grayscale-p SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-display-pixel-width SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-display-pixel-height SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fns-display-monitor-attributes-list Return a list of physical monitor attributes on the X display TERMINAL. The optional argument TERMINAL specifies which display to ask about. TERMINAL should be a terminal object, a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. In addition to the standard attribute keys listed in `display-monitor-attributes-list', the following keys are contained in the attributes: source -- String describing the source from which multi-monitor information is obtained, "NS" is always the source." Internal use only, use `display-monitor-attributes-list' instead. (fn &optional TERMINAL)Fx-display-planes SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-display-color-cells SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-show-tip SKIP: real doc in xfns.c. (fn STRING &optional FRAME PARMS TIMEOUT DX DY)Fx-hide-tip SKIP: real doc in xfns.c. (fn)Fns-frame-geometry Return geometric attributes of FRAME. FRAME must be a live frame and defaults to the selected one. The return value is an association list of the attributes listed below. All height and width values are in pixels. `outer-position' is a cons of the outer left and top edges of FRAME relative to the origin - the position (0, 0) - of FRAME's display. `outer-size' is a cons of the outer width and height of FRAME. The outer size includes the title bar and the external borders as well as any menu and/or tool bar of frame. `external-border-size' is a cons of the horizontal and vertical width of FRAME's external borders as supplied by the window manager. `title-bar-size' is a cons of the width and height of the title bar of FRAME as supplied by the window manager. If both of them are zero, FRAME has no title bar. If only the width is zero, Emacs was not able to retrieve the width information. `menu-bar-external', if non-nil, means the menu bar is external (never included in the inner edges of FRAME). `menu-bar-size' is a cons of the width and height of the menu bar of FRAME. `tool-bar-external', if non-nil, means the tool bar is external (never included in the inner edges of FRAME). `tool-bar-position' tells on which side the tool bar on FRAME is and can be one of `left', `top', `right' or `bottom'. If this is nil, FRAME has no tool bar. `tool-bar-size' is a cons of the width and height of the tool bar of FRAME. `internal-border-width' is the width of the internal border of FRAME. (fn &optional FRAME)Fns-frame-edges Return edge coordinates of FRAME. FRAME must be a live frame and defaults to the selected one. The return value is a list of the form (LEFT, TOP, RIGHT, BOTTOM). All values are in pixels relative to the origin - the position (0, 0) - of FRAME's display. If optional argument TYPE is the symbol `outer-edges', return the outer edges of FRAME. The outer edges comprise the decorations of the window manager (like the title bar or external borders) as well as any external menu or tool bar of FRAME. If optional argument TYPE is the symbol `native-edges' or nil, return the native edges of FRAME. The native edges exclude the decorations of the window manager and any external menu or tool bar of FRAME. If TYPE is the symbol `inner-edges', return the inner edges of FRAME. These edges exclude title bar, any borders, menu bar or tool bar of FRAME. (fn &optional FRAME TYPE)Fns-set-mouse-absolute-pixel-position Move mouse pointer to absolute pixel position (X, Y). The coordinates X and Y are interpreted in pixels relative to a position (0, 0) of the selected frame's display. (fn X Y)Fns-mouse-absolute-pixel-position Return absolute position of mouse cursor in pixels. The position is returned as a cons cell (X . Y) of the coordinates of the mouse cursor position in pixels relative to a position (0, 0) of the selected frame's terminal. (fn)Fns-show-character-palette Show the macOS character palette. (fn)Vns-icon-type-alist Alist of elements (REGEXP . IMAGE) for images of icons associated to frames. If the title of a frame matches REGEXP, then IMAGE.tiff is selected as the image of the icon representing the frame when it's miniaturized. If an element is t, then Emacs tries to select an icon based on the filetype of the visited file. The images have to be installed in a folder called English.lproj in the Emacs folder. You have to restart Emacs after installing new icons. Example: Install an icon Gnus.tiff and execute the following code (setq ns-icon-type-alist (append ns-icon-type-alist \='(("^\\*\\(Group\\*$\\|Summary \\|Article\\*$\\)" . "Gnus")))) When you miniaturize a Group, Summary or Article frame, Gnus.tiff will be used as the image of the icon representing the frame.Vns-version-string Toolkit version for NS Windowing.Vns-use-proxy-icon When non-nil display a proxy icon in the titlebar. Default is t.Snsmenu.o Fns-reset-menu Cause the NS menu to be re-calculated. (fn)Fmenu-or-popup-active-p SKIP: real doc in xmenu.c. (fn)Snsselect.o Fns-own-selection-internal Assert an X selection of type SELECTION and value VALUE. SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'. (Those are literal upper-case symbol names, since that's what X expects.) VALUE is typically a string, or a cons of two markers, but may be anything that the functions on `selection-converter-alist' know about. (fn SELECTION VALUE)Fns-disown-selection-internal If we own the selection SELECTION, disown it. Disowning it means there is no such selection. (fn SELECTION)Fns-selection-exists-p Whether there is an owner for the given X selection. SELECTION should be the name of the selection in question, typically one of the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. (X expects these literal upper-case names.) The symbol nil is the same as `PRIMARY', and t is the same as `SECONDARY'. (fn &optional SELECTION)Fns-selection-owner-p Whether the current Emacs process owns the given X Selection. The arg should be the name of the selection in question, typically one of the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. (Those are literal upper-case symbol names, since that's what X expects.) For convenience, the symbol nil is the same as `PRIMARY', and t is the same as `SECONDARY'. (fn &optional SELECTION)Fns-get-selection Return text selected from some X window. SELECTION-SYMBOL is typically `PRIMARY', `SECONDARY', or `CLIPBOARD'. (Those are literal upper-case symbol names, since that's what X expects.) TARGET-TYPE is the type of data desired, typically `STRING'. (fn SELECTION-NAME TARGET-TYPE)Vns-sent-selection-hooks A list of functions to be called when Emacs answers a selection request. The functions are called with four arguments: - the selection name (typically `PRIMARY', `SECONDARY', or `CLIPBOARD'); - the selection-type which Emacs was asked to convert the selection into before sending (for example, `STRING' or `LENGTH'); - a flag indicating success or failure for responding to the request. We might have failed (and declined the request) for any number of reasons, including being asked for a selection that we no longer own, or being asked to convert into a type that we don't know about or that is inappropriate. This hook doesn't let you change the behavior of Emacs's selection replies, it merely informs you that they have happened.Snsimage.o Snsfont.o Vns-reg-to-script Internal use: maps font registry to Unicode script.Smacfont.o Sw32.o Sw32console.o Fset-screen-color Set screen foreground and background colors. Arguments should be indices between 0 and 15, see w32console.el. (fn FOREGROUND BACKGROUND)Fget-screen-color Get color indices of the current screen foreground and background. The colors are returned as a list of 2 indices (FOREGROUND BACKGROUND). See w32console.el and `tty-defined-color-alist' for mapping of indices to colors. (fn)Fset-cursor-size Set cursor size. (fn SIZE)Vw32-use-full-screen-buffer Non-nil means make terminal frames use the full screen buffer dimensions. This is desirable when running Emacs over telnet. A value of nil means use the current console window dimensions; this may be preferable when working directly at the console with a large scroll-back buffer.Sw32cygwinx.o Fw32-battery-status Get power status information from Windows system. The following %-sequences are provided: %L AC line status (verbose) %B Battery status (verbose) %b Battery status, empty means high, `-' means low, `!' means critical, and `+' means charging %p Battery load percentage %s Remaining time (to charge or discharge) in seconds %m Remaining time (to charge or discharge) in minutes %h Remaining time (to charge or discharge) in hours %t Remaining time (to charge or discharge) in the form `h:min' (fn)Sw32fns.o Fw32-define-rgb-color Convert RGB numbers to a Windows color reference and associate with NAME. This adds or updates a named color to `w32-color-map', making it available for use. The original entry's RGB ref is returned, or nil if the entry is new. (fn RED GREEN BLUE NAME)Fw32-default-color-map Return the default color map. (fn)Fx-create-frame SKIP: real doc in xfns.c. (fn PARAMETERS)Fxw-color-defined-p SKIP: real doc in xfns.c. (fn COLOR &optional FRAME)Fxw-color-values SKIP: real doc in xfns.c. (fn COLOR &optional FRAME)Fxw-display-color-p SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fx-display-grayscale-p SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fx-display-pixel-width SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fx-display-pixel-height SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fx-display-planes SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fx-display-color-cells SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fx-server-max-request-size SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fx-server-vendor SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-server-version SKIP: real doc in xfns.c. (fn &optional TERMINAL)Fx-display-screens SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fx-display-mm-height SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fx-display-mm-width SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fx-display-backing-store SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fx-display-visual-class SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fx-display-save-under SKIP: real doc in xfns.c. (fn &optional DISPLAY)Fw32-display-monitor-attributes-list Return a list of physical monitor attributes on the W32 display DISPLAY. The optional argument DISPLAY specifies which display to ask about. DISPLAY should be either a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. Internal use only, use `display-monitor-attributes-list' instead. (fn &optional DISPLAY)Fset-message-beep Set the sound generated when the bell is rung. SOUND is `asterisk', `exclamation', `hand', `question', `ok', or `silent' to use the corresponding system sound for the bell. The `silent' sound prevents Emacs from making any sound at all. SOUND is nil to use the normal beep. (fn SOUND)Fx-open-connection SKIP: real doc in xfns.c. (fn DISPLAY &optional XRM-STRING MUST-SUCCEED)Fx-close-connection SKIP: real doc in xfns.c. (fn DISPLAY)Fx-display-list SKIP: real doc in xfns.c. (fn)Fx-synchronize SKIP: real doc in xfns.c. (fn ON &optional DISPLAY)Fx-change-window-property SKIP: real doc in xfns.c. (fn PROP VALUE &optional FRAME TYPE FORMAT OUTER-P)Fx-delete-window-property SKIP: real doc in xfns.c. (fn PROP &optional FRAME)Fx-window-property SKIP: real doc in xfns.c. (fn PROP &optional FRAME TYPE SOURCE DELETE-P VECTOR-RET-P)Fx-show-tip SKIP: real doc in xfns.c. (fn STRING &optional FRAME PARMS TIMEOUT DX DY)Fx-hide-tip SKIP: real doc in xfns.c. (fn)Fx-file-dialog SKIP: real doc in xfns.c. (fn PROMPT DIR &optional DEFAULT-FILENAME MUSTMATCH ONLY-DIR-P)Fsystem-move-file-to-trash Move file or directory named FILENAME to the recycle bin. (fn FILENAME)Fw32-send-sys-command Send frame a Windows WM_SYSCOMMAND message of type COMMAND. Some useful values for COMMAND are #xf030 to maximize frame (#xf020 to minimize), #xf120 to restore frame to original size, and #xf100 to activate the menubar for keyboard access. #xf140 activates the screen saver if defined. If optional parameter FRAME is not specified, use selected frame. (fn COMMAND &optional FRAME)Fw32-shell-execute Get Windows to perform OPERATION on DOCUMENT. This is a wrapper around the ShellExecute system function, which invokes the application registered to handle OPERATION for DOCUMENT. OPERATION is either nil or a string that names a supported operation. What operations can be used depends on the particular DOCUMENT and its handler application, but typically it is one of the following common operations: "open" - open DOCUMENT, which could be a file, a directory, or an executable program (application). If it is an application, that application is launched in the current buffer's default directory. Otherwise, the application associated with DOCUMENT is launched in the buffer's default directory. "opennew" - like "open", but instruct the application to open DOCUMENT in a new window. "openas" - open the "Open With" dialog for DOCUMENT. "print" - print DOCUMENT, which must be a file. "printto" - print DOCUMENT, which must be a file, to a specified printer. The printer should be provided in PARAMETERS, see below. "explore" - start the Windows Explorer on DOCUMENT. "edit" - launch an editor and open DOCUMENT for editing; which editor is launched depends on the association for the specified DOCUMENT. "find" - initiate search starting from DOCUMENT, which must specify a directory. "delete" - move DOCUMENT, a file or a directory, to Recycle Bin. "copy" - copy DOCUMENT, which must be a file or a directory, into the clipboard. "cut" - move DOCUMENT, a file or a directory, into the clipboard. "paste" - paste the file whose name is in the clipboard into DOCUMENT, which must be a directory. "pastelink" - create a shortcut in DOCUMENT (which must be a directory) the file or directory whose name is in the clipboard. "runas" - run DOCUMENT, which must be an excutable file, with elevated privileges (a.k.a. "as Administrator"). "properties" - open the property sheet dialog for DOCUMENT. nil - invoke the default OPERATION, or "open" if default is not defined or unavailable. DOCUMENT is typically the name of a document file or a URL, but can also be an executable program to run, or a directory to open in the Windows Explorer. If it is a file or a directory, it must be a local one; this function does not support remote file names. If DOCUMENT is an executable program, the optional third arg PARAMETERS can be a string containing command line parameters, separated by blanks, that will be passed to the program. Some values of OPERATION also require parameters (e.g., "printto" requires the printer address). Otherwise, PARAMETERS should be nil or unspecified. Note that double quote characters in PARAMETERS must each be enclosed in 2 additional quotes, as in """. Optional fourth argument SHOW-FLAG can be used to control how the application will be displayed when it is invoked. If SHOW-FLAG is nil or unspecified, the application is displayed as if SHOW-FLAG of 10 was specified, otherwise it is an integer between 0 and 11 representing a ShowWindow flag: 0 - start hidden 1 - start as normal-size window 3 - start in a maximized window 6 - start in a minimized window 10 - start as the application itself specifies; this is the default. (fn OPERATION DOCUMENT &optional PARAMETERS SHOW-FLAG)Fw32-register-hot-key Register KEY as a hot-key combination. Certain key combinations like Alt-Tab and Win-R are reserved for system use on Windows, and therefore are normally intercepted by the system. These key combinations can be received by registering them as hot-keys, except for Win-L which always locks the computer. On Windows 98 and ME, KEY must be a one element key definition in vector form that would be acceptable to `define-key' (e.g. [A-tab] for Alt-Tab). The meta modifier is interpreted as Alt if `w32-alt-is-meta' is t, and hyper is always interpreted as the Windows modifier keys. The return value is the hotkey-id if registered, otherwise nil. On Windows versions since NT, KEY can also be specified as [M-], [s-] or [h-] to indicate that all combinations of that key should be processed by Emacs instead of the operating system. The super and hyper modifiers are interpreted according to the current values of `w32-lwindow-modifier' and `w32-rwindow-modifier'. For instance, setting `w32-lwindow-modifier' to `super' and then calling `(w32-register-hot-key [s-])' grabs all combinations of the left Windows key to Emacs, but leaves the right Windows key free for the operating system keyboard shortcuts. The return value is t if the call affected any key combinations, otherwise nil. (fn KEY)Fw32-unregister-hot-key Unregister KEY as a hot-key combination. (fn KEY)Fw32-registered-hot-keys Return list of registered hot-key IDs. (fn)Fw32-reconstruct-hot-key Convert hot-key ID to a lisp key combination. (fn ID)Fw32-toggle-lock-key Toggle the state of the lock key KEY. KEY can be `capslock', `kp-numlock', or `scroll'. If the optional parameter NEW-STATE is a number, then the state of KEY is set to off if the low bit of NEW-STATE is zero, otherwise on. If NEW-STATE is omitted or nil, the function toggles the state, Value is the new state of the key, or nil if the function failed to change the state. (fn KEY &optional NEW-STATE)Fw32-window-exists-p Return non-nil if a window exists with the specified CLASS and NAME. This is a direct interface to the Windows API FindWindow function. (fn CLASS NAME)Fw32-frame-geometry Return geometric attributes of FRAME. FRAME must be a live frame and defaults to the selected one. The return value is an association list of the attributes listed below. All height and width values are in pixels. `outer-position' is a cons of the outer left and top edges of FRAME relative to the origin - the position (0, 0) - of FRAME's display. `outer-size' is a cons of the outer width and height of FRAME. The outer size includes the title bar and the external borders as well as any menu and/or tool bar of frame. `external-border-size' is a cons of the horizontal and vertical width of FRAME's external borders as supplied by the window manager. `title-bar-size' is a cons of the width and height of the title bar of FRAME as supplied by the window manager. If both of them are zero, FRAME has no title bar. If only the width is zero, Emacs was not able to retrieve the width information. `menu-bar-external', if non-nil, means the menu bar is external (never included in the inner edges of FRAME). `menu-bar-size' is a cons of the width and height of the menu bar of FRAME. `tab-bar-size' is a cons of the width and height of the tab bar of FRAME. `tool-bar-external', if non-nil, means the tool bar is external (never included in the inner edges of FRAME). `tool-bar-position' tells on which side the tool bar on FRAME is and can be one of `left', `top', `right' or `bottom'. If this is nil, FRAME has no tool bar. `tool-bar-size' is a cons of the width and height of the tool bar of FRAME. `internal-border-width' is the width of the internal border of FRAME. (fn &optional FRAME)Fw32-frame-edges Return edge coordinates of FRAME. FRAME must be a live frame and defaults to the selected one. The return value is a list of the form (LEFT, TOP, RIGHT, BOTTOM). All values are in pixels relative to the origin - the position (0, 0) - of FRAME's display. If optional argument TYPE is the symbol `outer-edges', return the outer edges of FRAME. The outer edges comprise the decorations of the window manager (like the title bar or external borders) as well as any external menu or tool bar of FRAME. If optional argument TYPE is the symbol `native-edges' or nil, return the native edges of FRAME. The native edges exclude the decorations of the window manager and any external menu or tool bar of FRAME. If TYPE is the symbol `inner-edges', return the inner edges of FRAME. These edges exclude title bar, any borders, menu bar or tool bar of FRAME. (fn &optional FRAME TYPE)Fw32-frame-list-z-order Return list of Emacs' frames, in Z (stacking) order. The optional argument DISPLAY specifies which display to ask about. DISPLAY should be either a frame or a display name (a string). If omitted or nil, that stands for the selected frame's display. As a special case, if DISPLAY is non-nil and specifies a live frame, return the child frames of that frame in Z (stacking) order. Frames are listed from topmost (first) to bottommost (last). (fn &optional DISPLAY)Fw32-frame-restack Restack FRAME1 below FRAME2. This means that if both frames are visible and the display areas of these frames overlap, FRAME2 (partially) obscures FRAME1. If optional third argument ABOVE is non-nil, restack FRAME1 above FRAME2. This means that if both frames are visible and the display areas of these frames overlap, FRAME1 (partially) obscures FRAME2. This may be thought of as an atomic action performed in two steps: The first step removes FRAME1's window-system window from the display. The second step reinserts FRAME1's window below (above if ABOVE is true) that of FRAME2. Hence the position of FRAME2 in its display's Z (stacking) order relative to all other frames excluding FRAME1 remains unaltered. Some window managers may refuse to restack windows. (fn FRAME1 FRAME2 &optional ABOVE)Fw32-mouse-absolute-pixel-position Return absolute position of mouse cursor in pixels. The position is returned as a cons cell (X . Y) of the coordinates of the mouse cursor position in pixels relative to a position (0, 0) of the selected frame's display. (fn)Fw32-set-mouse-absolute-pixel-position Move mouse pointer to absolute pixel position (X, Y). The coordinates X and Y are interpreted in pixels relative to a position (0, 0) of the selected frame's display. (fn X Y)Ffile-system-info SKIP: Real doc in fileio.c. (fn FILENAME)Fdefault-printer-name Return the name of Windows default printer device. (fn)Fw32--menu-bar-in-use Return non-nil when a menu-bar menu is being used. Internal use only. (fn)Fw32-notification-notify Display an MS-Windows tray notification as specified by PARAMS. Value is the integer unique ID of the notification that can be used to remove the notification using `w32-notification-close', which see. If the function fails, the return value is nil. Tray notifications, a.k.a. "taskbar messages", are messages that inform the user about events unrelated to the current user activity, such as a significant system event, by briefly displaying informative text in a balloon from an icon in the notification area of the taskbar. Parameters in PARAMS are specified as keyword/value pairs. All the parameters are optional, but if no parameters are specified, the function will do nothing and return nil. The following parameters are supported: :icon ICON -- Display ICON in the system tray. If ICON is a string, it should specify a file name from which to load the icon; the specified file should be a .ico Windows icon file. If ICON is not a string, or if this parameter is not specified, the standard Emacs icon will be used. :tip TIP -- Use TIP as the tooltip for the notification. If TIP is a string, this is the text of a tooltip that will be shown when the mouse pointer hovers over the tray icon added by the notification. If TIP is not a string, or if this parameter is not specified, the default tooltip text is "Emacs notification". The tooltip text can be up to 127 characters long (63 on Windows versions before W2K). Longer strings will be truncated. :level LEVEL -- Notification severity level, one of `info', `warning', or `error'. If given, the value determines the icon displayed to the left of the notification title, but only if the `:title' parameter (see below) is also specified and is a string. :title TITLE -- The title of the notification. If TITLE is a string, it is displayed in a larger font immediately above the body text. The title text can be up to 63 characters long; longer text will be truncated. :body BODY -- The body of the notification. If BODY is a string, it specifies the text of the notification message. Use embedded newlines to control how the text is broken into lines. The body text can be up to 255 characters long, and will be truncated if it's longer. Note that versions of Windows before W2K support only `:icon' and `:tip'. You can pass the other parameters, but they will be ignored on those old systems. There can be at most one active notification at any given time. An active notification must be removed by calling `w32-notification-close' before a new one can be shown. (fn &rest PARAMS)Fw32-notification-close Remove the MS-Windows tray notification specified by its ID. (fn ID)Fw32-read-registry Return the value stored in MS-Windows Registry under ROOT/KEY/NAME. ROOT is a symbol, one of `HKCR', `HKCU', `HKLM', `HKU', or `HKCC'. It can also be nil, which means try `HKCU', and if that fails, try `HKLM'. KEY and NAME must be strings, and NAME must not include slashes. KEY can use either forward- or back-slashes. To access the default value of KEY (if it is defined), use NAME that is an empty string. If the named KEY or its subkey called NAME don't exist, or cannot be accessed by the current user, the function returns nil. Otherwise, the return value depends on the type of the data stored in Registry: If the data type is REG_NONE, the function returns t. If the data type is REG_DWORD or REG_QWORD, the function returns its integer value. If the value is too large for a fixnum, the function returns a bignum. If the data type is REG_BINARY, the function returns a vector whose elements are individual bytes of the value. If the data type is REG_SZ, the function returns a string. If the data type is REG_EXPAND_SZ, the function returns a string with all the %..% references to environment variables replaced by the values of those variables. If the expansion fails, or some variables are not defined in the environment, some or all of the environment variables will remain unexpanded. If the data type is REG_MULTI_SZ, the function returns a list whose elements are the individual strings. Note that this function doesn't know whether a string value is a file name, so file names will be returned with backslashes, which may need to be converted to forward slashes by the caller. (fn ROOT KEY NAME)Vw32-color-map An array of color name mappings for Windows.Vw32-pass-alt-to-system Non-nil if Alt key presses are passed on to Windows. When non-nil, for example, Alt pressed and released and then space will open the System menu. When nil, Emacs processes the Alt key events, and then silently swallows them.Vw32-alt-is-meta Non-nil if the Alt key is to be considered the same as the META key. When nil, Emacs will translate the Alt key to the ALT modifier, not to META.Vw32-quit-key If non-zero, the virtual key code for an alternative quit key.Vw32-pass-lwindow-to-system If non-nil, the left "Windows" key is passed on to Windows. When non-nil, the Start menu is opened by tapping the key. If you set this to nil, the left "Windows" key is processed by Emacs according to the value of `w32-lwindow-modifier', which see. Note that some combinations of the left "Windows" key with other keys are caught by Windows at low level. For example, -r pops up the Windows Run dialog, - pops up the "System Properties" dialog, etc. On Windows 10, no "Windows" key combinations are normally handed to applications. To enable Emacs to process "Windows" key combinations, use the function `w32-register-hot-key`. For Windows 98/ME, see the doc string of `w32-phantom-key-code'.Vw32-pass-rwindow-to-system If non-nil, the right "Windows" key is passed on to Windows. When non-nil, the Start menu is opened by tapping the key. If you set this to nil, the right "Windows" key is processed by Emacs according to the value of `w32-rwindow-modifier', which see. Note that some combinations of the right "Windows" key with other keys are caught by Windows at low level. For example, -r pops up the Windows Run dialog, - pops up the "System Properties" dialog, etc. On Windows 10, no "Windows" key combinations are normally handed to applications. To enable Emacs to process "Windows" key combinations, use the function `w32-register-hot-key`. For Windows 98/ME, see the doc string of `w32-phantom-key-code'.Vw32-phantom-key-code Virtual key code used to generate "phantom" key presses. Value is a number between 0 and 255. Phantom key presses are generated in order to stop the system from acting on "Windows" key events when `w32-pass-lwindow-to-system' or `w32-pass-rwindow-to-system' is nil. This variable is only used on Windows 98 and ME. For other Windows versions, see the documentation of the `w32-register-hot-key` function.Vw32-enable-num-lock If non-nil, the Num Lock key acts normally. Set to nil to handle Num Lock as the `kp-numlock' key.Vw32-enable-caps-lock If non-nil, the Caps Lock key acts normally. Set to nil to handle Caps Lock as the `capslock' key.Vw32-scroll-lock-modifier Modifier to use for the Scroll Lock ON state. The value can be hyper, super, meta, alt, control or shift for the respective modifier, or nil to handle Scroll Lock as the `scroll' key. Any other value will cause the Scroll Lock key to be ignored by Emacs, and it will have the same effect as in other applications.Vw32-lwindow-modifier Modifier to use for the left "Windows" key. The value can be hyper, super, meta, alt, control or shift for the respective modifier, or nil to appear as the `lwindow' key. Any other value will cause the key to be ignored. Also see the documentation of the `w32-register-hot-key` function.Vw32-rwindow-modifier Modifier to use for the right "Windows" key. The value can be hyper, super, meta, alt, control or shift for the respective modifier, or nil to appear as the `rwindow' key. Any other value will cause the key to be ignored. Also see the documentation of the `w32-register-hot-key` function.Vw32-apps-modifier Modifier to use for the "Apps" key. The value can be hyper, super, meta, alt, control or shift for the respective modifier, or nil to appear as the `apps' key. Any other value will cause the key to be ignored.Vw32-enable-synthesized-fonts Non-nil enables selection of artificially italicized and bold fonts.Vw32-enable-palette Non-nil enables Windows palette management to map colors exactly.Vw32-mouse-button-tolerance Analogue of double click interval for faking middle mouse events. The value is the minimum time in milliseconds that must elapse between left and right button down events before they are considered distinct events. If both mouse buttons are depressed within this interval, a middle mouse button down event is generated instead.Vw32-mouse-move-interval Minimum interval between mouse move events. The value is the minimum time in milliseconds that must elapse between successive mouse move (or scroll bar drag) events before they are reported as lisp events.Vw32-pass-extra-mouse-buttons-to-system If non-nil, the fourth and fifth mouse buttons are passed to Windows. Recent versions of Windows support mice with up to five buttons. Since most applications don't support these extra buttons, most mouse drivers will allow you to map them to functions at the system level. If this variable is non-nil, Emacs will pass them on, allowing the system to handle them.Vw32-pass-multimedia-buttons-to-system If non-nil, media buttons are passed to Windows. Some modern keyboards contain buttons for controlling media players, web browsers and other applications. Generally these buttons are handled on a system wide basis, but by setting this to nil they are made available to Emacs for binding. Depending on your keyboard, additional keys that may be available are: browser-back, browser-forward, browser-refresh, browser-stop, browser-search, browser-favorites, browser-home, mail, mail-reply, mail-forward, mail-send, app-1, app-2, help, find, new, open, close, save, print, undo, redo, copy, cut, paste, spell-check, correction-list, toggle-dictate-command, media-next, media-previous, media-stop, media-play-pause, media-select, media-play, media-pause, media-record, media-fast-forward, media-rewind, media-channel-up, media-channel-down, volume-mute, volume-up, volume-down, mic-volume-mute, mic-volume-down, mic-volume-up, mic-toggle, bass-down, bass-boost, bass-up, treble-down, treble-upVx-pointer-shape SKIP: real doc in xfns.c.Vx-hourglass-pointer-shape SKIP: real doc in xfns.c.Vx-sensitive-text-pointer-shape SKIP: real doc in xfns.c.Vx-window-horizontal-drag-cursor SKIP: real doc in xfns.c.Vx-window-vertical-drag-cursor SKIP: real doc in xfns.c.Vx-cursor-fore-pixel SKIP: real doc in xfns.c.Vx-max-tooltip-size SKIP: real doc in xfns.c.Vx-no-window-manager SKIP: real doc in xfns.c.Vx-pixel-size-width-font-regexp SKIP: real doc in xfns.c.Vw32-bdf-filename-alist List of bdf fonts and their corresponding filenames.Vw32-strict-fontnames Non-nil means only use fonts that are exact matches for those requested. Default is nil, which allows old fontnames that are not XLFD compliant, and allows third-party CJK display to work by specifying false charset fields to trick Emacs into translating to Big5, SJIS etc. Setting this to t will prevent wrong fonts being selected when fontsets are automatically created.Vw32-strict-painting Non-nil means use strict rules for repainting frames. Set this to nil to get the old behavior for repainting; this should only be necessary if the default setting causes problems.Vw32-use-fallback-wm-chars-method Non-nil means use old method of processing character keys. This is intended only for debugging of the new processing method. Default is nil. This variable has effect only on NT family of systems, not on Windows 9X.Vw32-disable-new-uniscribe-apis Non-nil means don't use new Uniscribe APIs. The new APIs are used to access OTF features supported by fonts. This is intended only for debugging of the new Uniscribe-related code. Default is nil. This variable has effect only on Windows Vista and later.Vw32-tooltip-extra-pixels Number of pixels added after tooltip text. On Windows some fonts may cause the last character of a tooltip be truncated or wrapped around to the next line. Adding some extra space at the end of the toooltip works around this problem. This variable specifies the number of pixels that shall be added. The default value t means to add the width of one canonical character of the tip frame.Vw32-disable-abort-dialog Non-nil means don't display the abort dialog when aborting.Vw32-ansi-code-page The ANSI code page used by the system.Vw32-multibyte-code-page The current multibyte code page used by the system. A value of zero indicates that the single-byte code page is in use, see `w32-ansi-code-page'.Sw32heap.o Sw32inevt.o Sw32notify.o Fw32notify-add-watch Add a watch for filesystem events pertaining to FILE. This arranges for filesystem events pertaining to FILE to be reported to Emacs. Use `w32notify-rm-watch' to cancel the watch. Value is a descriptor for the added watch. If the file cannot be watched for some reason, this function signals a `file-error' error. FILTER is a list of conditions for reporting an event. It can include the following symbols: 'file-name' -- report file creation, deletion, or renaming 'directory-name' -- report directory creation, deletion, or renaming 'attributes' -- report changes in attributes 'size' -- report changes in file-size 'last-write-time' -- report changes in last-write time 'last-access-time' -- report changes in last-access time 'creation-time' -- report changes in creation time 'security-desc' -- report changes in security descriptor If FILE is a directory, and FILTER includes 'subtree', then all the subdirectories will also be watched and changes in them reported. When any event happens that satisfies the conditions specified by FILTER, Emacs will call the CALLBACK function passing it a single argument EVENT, which is of the form (DESCRIPTOR ACTION FILE) DESCRIPTOR is the same object as the one returned by this function. ACTION is the description of the event. It could be any one of the following: 'added' -- FILE was added 'removed' -- FILE was deleted 'modified' -- FILE's contents or its attributes were modified 'renamed-from' -- a file was renamed whose old name was FILE 'renamed-to' -- a file was renamed and its new name is FILE FILE is the name of the file whose event is being reported. Note that some networked filesystems, such as Samba-mounted Unix volumes, might not send notifications about file changes. In these cases, this function will return a valid descriptor, but notifications will never come in. Volumes shared from remote Windows machines do generate notifications correctly, though. (fn FILE FILTER CALLBACK)Fw32notify-rm-watch Remove an existing watch specified by its WATCH-DESCRIPTOR. WATCH-DESCRIPTOR should be an object returned by `w32notify-add-watch'. (fn WATCH-DESCRIPTOR)Fw32notify-valid-p Check a watch specified by its WATCH-DESCRIPTOR for validity. WATCH-DESCRIPTOR should be an object returned by `w32notify-add-watch'. A watch can become invalid if the directory it watches is deleted, or if the watcher thread exits abnormally for any other reason. Removing the watch by calling `w32notify-rm-watch' also makes it invalid. (fn WATCH-DESCRIPTOR)Sw32menu.o Fmenu-or-popup-active-p SKIP: real doc in xmenu.c. (fn)Sw32proc.o Fw32-has-winsock Test for presence of the Windows socket library `winsock'. Returns non-nil if winsock support is present, nil otherwise. If the optional argument LOAD-NOW is non-nil, the winsock library is also loaded immediately if not already loaded. If winsock is loaded, the winsock local hostname is returned (since this may be different from the value of `system-name' and should supplant it), otherwise t is returned to indicate winsock support is present. (fn &optional LOAD-NOW)Fw32-unload-winsock Unload the Windows socket library `winsock' if loaded. This is provided to allow dial-up socket connections to be disconnected when no longer needed. Returns nil without unloading winsock if any socket connections still exist. (fn)Fw32-short-file-name Return the short file name version (8.3) of the full path of FILENAME. If FILENAME does not exist, return nil. All path elements in FILENAME are converted to their short names. (fn FILENAME)Fw32-long-file-name Return the long file name version of the full path of FILENAME. If FILENAME does not exist, return nil. All path elements in FILENAME are converted to their long names. (fn FILENAME)Fw32-set-process-priority Set the priority of PROCESS to PRIORITY. If PROCESS is nil, the priority of Emacs is changed, otherwise the priority of the process whose pid is PROCESS is changed. PRIORITY should be one of the symbols high, normal, or low; any other symbol will be interpreted as normal. If successful, the return value is t, otherwise nil. (fn PROCESS PRIORITY)Fw32-application-type Return the type of an MS-Windows PROGRAM. Knowing the type of an executable could be useful for formatting file names passed to it or for quoting its command-line arguments. PROGRAM should specify an executable file, including the extension. The value is one of the following: `dos' -- a DOS .com program or some other non-PE executable `cygwin' -- a Cygwin program that depends on Cygwin DLL `msys' -- an MSYS 1.x or MSYS2 program `w32-native' -- a native Windows application `unknown' -- a file that doesn't exist, or cannot be open, or whose name is not encodable in the current ANSI codepage. Note that for .bat and .cmd batch files the function returns the type of their command interpreter, as specified by the "COMSPEC" environment variable. This function returns `unknown' for programs whose file names include characters not supported by the current ANSI codepage, as such programs cannot be invoked by Emacs anyway. (fn PROGRAM)Fw32-get-locale-info Return information about the Windows locale LCID. By default, return a three letter locale code which encodes the default language as the first two characters, and the country or regional variant as the third letter. For example, ENU refers to `English (United States)', while ENC means `English (Canadian)'. If the optional argument LONGFORM is t, the long form of the locale name is returned, e.g. `English (United States)' instead; if LONGFORM is a number, it is interpreted as an LCTYPE constant and the corresponding locale information is returned. If LCID (a 16-bit number) is not a valid locale, the result is nil. (fn LCID &optional LONGFORM)Fw32-get-current-locale-id Return Windows locale id for current locale setting. This is a numerical value; use `w32-get-locale-info' to convert to a human-readable form. (fn)Fw32-get-valid-locale-ids Return list of all valid Windows locale ids. Each id is a numerical value; use `w32-get-locale-info' to convert to a human-readable form. (fn)Fw32-get-default-locale-id Return Windows locale id for default locale setting. By default, the system default locale setting is returned; if the optional parameter USERP is non-nil, the user default locale setting is returned. This is a numerical value; use `w32-get-locale-info' to convert to a human-readable form. (fn &optional USERP)Fw32-set-current-locale Make Windows locale LCID be the current locale setting for Emacs. If successful, the new locale id is returned, otherwise nil. (fn LCID)Fw32-get-valid-codepages Return list of all valid Windows codepages. (fn)Fw32-get-console-codepage Return current Windows codepage for console input. (fn)Fw32-set-console-codepage Make Windows codepage CP be the codepage for Emacs tty keyboard input. This codepage setting affects keyboard input in tty mode. If successful, the new CP is returned, otherwise nil. (fn CP)Fw32-get-console-output-codepage Return current Windows codepage for console output. (fn)Fw32-set-console-output-codepage Make Windows codepage CP be the codepage for Emacs console output. This codepage setting affects display in tty mode. If successful, the new CP is returned, otherwise nil. (fn CP)Fw32-get-codepage-charset Return charset ID corresponding to codepage CP. Returns nil if the codepage is not valid or its charset ID could not be determined. Note that this function is only guaranteed to work with ANSI codepages; most console codepages are not supported and will yield nil. (fn CP)Fw32-get-valid-keyboard-layouts Return list of Windows keyboard languages and layouts. The return value is a list of pairs of language id and layout id. (fn)Fw32-get-keyboard-layout Return current Windows keyboard language and layout. The return value is the cons of the language id and the layout id. (fn)Fw32-set-keyboard-layout Make LAYOUT be the current keyboard layout for Emacs. The keyboard layout setting affects interpretation of keyboard input. If successful, the new layout id is returned, otherwise nil. (fn LAYOUT)Vw32-quote-process-args Non-nil enables quoting of process arguments to ensure correct parsing. Because Windows does not directly pass argv arrays to child processes, programs have to reconstruct the argv array by parsing the command line string. For an argument to contain a space, it must be enclosed in double quotes or it will be parsed as multiple arguments. If the value is a character, that character will be used to escape any quote characters that appear, otherwise a suitable escape character will be chosen based on the type of the program.Vw32-start-process-show-window When nil, new child processes hide their windows. When non-nil, they show their window in the method of their choice. This variable doesn't affect GUI applications, which will never be hidden.Vw32-start-process-share-console When nil, new child processes are given a new console. When non-nil, they share the Emacs console; this has the limitation of allowing only one DOS subprocess to run at a time (whether started directly or indirectly by Emacs), and preventing Emacs from cleanly terminating the subprocess group, but may allow Emacs to interrupt a subprocess that doesn't otherwise respond to interrupts from Emacs.Vw32-start-process-inherit-error-mode When nil, new child processes revert to the default error mode. When non-nil, they inherit their error mode setting from Emacs, which stops them blocking when trying to access unmounted drives etc.Vw32-pipe-read-delay Forced delay before reading subprocess output. This may need to be done to improve the buffering of subprocess output, by avoiding the inefficiency of frequently reading small amounts of data. Typically needed only with DOS programs on Windows 9X; set to 50 if throughput with such programs is slow. If positive, the value is the number of milliseconds to sleep before signaling that output from a subprocess is ready to be read. If negative, the value is the number of time slices to wait (effectively boosting the priority of the child process temporarily). A value of zero disables waiting entirely.Vw32-pipe-buffer-size Size of buffer for pipes created to communicate with subprocesses. The size is in bytes, and must be non-negative. The default is zero, which lets the OS use its default size, usually 4KB (4096 bytes). Any negative value means to use the default value of zero.Vw32-downcase-file-names Non-nil means convert all-upper case file names to lower case. This applies when performing completions and file name expansion. Note that the value of this setting also affects remote file names, so you probably don't want to set to non-nil if you use case-sensitive filesystems via ange-ftp.Vw32-generate-fake-inodes Non-nil means attempt to fake realistic inode values. This works by hashing the truename of files, and should detect aliasing between long and short (8.3 DOS) names, but can have false positives because of hash collisions. Note that determining the truename of a file can be slow.Vw32-get-true-file-attributes Non-nil means determine accurate file attributes in `file-attributes'. This option controls whether to issue additional system calls to determine accurate link counts, file type, and ownership information. It is more useful for files on NTFS volumes, where hard links and file security are supported, than on volumes of the FAT family. Without these system calls, link count will always be reported as 1 and file ownership will be attributed to the current user. The default value `local' means only issue these system calls for files on local fixed drives. A value of nil means never issue them. Any other non-nil value means do this even on remote and removable drives where the performance impact may be noticeable even on modern hardware.Vw32-collate-ignore-punctuation Non-nil causes string collation functions ignore punctuation on MS-Windows. On Posix platforms, `string-collate-lessp' and `string-collate-equalp' ignore punctuation characters when they compare strings, if the locale's codeset is UTF-8, as in "en_US.UTF-8". Binding this option to a non-nil value will achieve a similar effect on MS-Windows, where locales with UTF-8 codeset are not supported. Note that setting this to non-nil will also ignore blanks and symbols in the strings. So do NOT use this option when comparing file names for equality, only when you need to sort them.Sw32reg.o Sw32select.o Fw32-set-clipboard-data This sets the clipboard data to the given text. (fn STRING &optional IGNORED)Fw32-get-clipboard-data This gets the clipboard data in text format. (fn &optional IGNORED)Fw32-selection-exists-p Whether there is an owner for the given X selection. SELECTION should be the name of the selection in question, typically one of the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. (X expects these literal upper-case names.) The symbol nil is the same as `PRIMARY', and t is the same as `SECONDARY'. TERMINAL should be a terminal object or a frame specifying the X server to query. If omitted or nil, that stands for the selected frame's display, or the first available X display. (fn &optional SELECTION TERMINAL)Fw32-selection-targets Return a vector of data formats available in the specified SELECTION. SELECTION should be the name of the selection in question, typically one of the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. The symbol nil is the same as `PRIMARY', and t is the same as `SECONDARY'. TERMINAL should be a terminal object or a frame specifying the X server to query. If omitted or nil, that stands for the selected frame's display, or the first available X display. This function currently ignores TERMINAL, and only returns non-nil for `CLIPBOARD'. The return value is a vector of symbols, each symbol representing a data format that is currently available in the clipboard. (fn &optional SELECTION TERMINAL)Vselection-coding-system SKIP: real doc in select.el.Vnext-selection-coding-system SKIP: real doc in select.el.Sw32term.o Vx-wait-for-event-timeout SKIP: real doc in xterm.c.Vw32-num-mouse-buttons Number of physical mouse buttons.Vw32-swap-mouse-buttons Swap the mapping of middle and right mouse buttons. When nil, middle button is mouse-2 and right button is mouse-3.Vw32-grab-focus-on-raise Raised frame grabs input focus. When t, `raise-frame' grabs input focus as well. This fits well with the normal Windows click-to-focus policy, but might not be desirable when using a point-to-focus policy.Vw32-capslock-is-shiftlock Apply CapsLock state to non character input keys. When nil, CapsLock only affects normal character input keys.Vw32-recognize-altgr Recognize right-alt and left-ctrl as AltGr. When nil, the right-alt and left-ctrl key combination is interpreted normally.Vw32-use-visible-system-caret Flag to make the system caret visible. When this is non-nil, Emacs will indicate the position of point by using the system caret instead of drawing its own cursor. Some screen reader software does not track the system cursor properly when it is invisible, and gets confused by Emacs drawing its own cursor, so this variable is initialized to t when Emacs detects that screen reader software is running as it starts up. When this variable is set, other variables affecting the appearance of the cursor have no effect.Vx-use-underline-position-properties SKIP: real doc in xterm.c.Vx-underline-at-descent-line SKIP: real doc in xterm.c.Vx-toolkit-scroll-bars SKIP: real doc in xterm.c.Vw32-unicode-filenames Non-nil means use Unicode APIs when passing file names to the OS. A value of nil means file names passed to the OS APIs and returned from those APIs are encoded/decoded using the ANSI codepage specified by `file-name-coding-system'. This variable is set to non-nil by default when Emacs runs on Windows systems of the NT family, including W2K, XP, Vista, Windows 7 and Windows 8. It is set to nil on Windows 9X.Vw32-add-wrapped-menu-bar-lines Non-nil means frame resizing accounts for wrapped menu bar lines. A value of nil means frame resizing does not add the height of wrapped menu bar lines when sending a frame resize request to the Windows API. This usually means that the resulting frame height is off by the number of wrapped menu bar lines. If this is non-nil, Emacs adds the height of wrapped menu bar lines when sending frame resize requests to the Windows API.Sw32xfns.o Sw16select.o Fw16-set-clipboard-data This sets the clipboard data to the given text. (fn STRING &optional FRAME)Fw16-get-clipboard-data This gets the clipboard data in text format. (fn &optional FRAME)Fw16-selection-exists-p Whether there is an owner for the given X selection. SELECTION should be the name of the selection in question, typically one of the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. (X expects these literal upper-case names.) The symbol nil is the same as `PRIMARY', and t is the same as `SECONDARY'. TERMINAL should be a terminal object or a frame specifying the X server to query. If omitted or nil, that stands for the selected frame's display, or the first available X display. (fn &optional SELECTION TERMINAL)Vselection-coding-system SKIP: real doc in select.el.Vnext-selection-coding-system SKIP: real doc in select.el.Swidget.o Sxfont.o Sftfont.o Sxftfont.o Vxft-font-ascent-descent-override Non-nil means override the ascent and descent values for Xft font driver. This is needed with some fonts to correct vertical overlap of glyphs.Sftxfont.o Sgtkutil.o Sxsettings.o Ffont-get-system-normal-font Get the system default application font. (fn)Ffont-get-system-font Get the system default fixed width font. (fn)Ftool-bar-get-system-style Get the system tool bar style. If no system tool bar style is known, return `tool-bar-style' if set to a known style. Otherwise return image. (fn)Vfont-use-system-font Non-nil means to apply the system defined font dynamically. When this is non-nil and the system defined fixed width font changes, we update frames dynamically. If this variable is nil, Emacs ignores system font changes.Vxft-settings Font settings applied to Xft.Sxgselect.o Stermcap.o Shbfont.o Sdispnew.o Fdump-redisplay-history Dump redisplay history to stderr. (fn)Fredraw-frame Clear frame FRAME and output again what is supposed to appear on it. If FRAME is omitted or nil, the selected frame is used. (fn &optional FRAME)Fredraw-display Clear and redisplay all visible frames. (fn)Fopen-termscript Start writing all terminal output to FILE as well as the terminal. FILE = nil means just close any termscript file currently open. (fn FILE)Fsend-string-to-terminal Send STRING to the terminal without alteration. Control characters in STRING will have terminal-dependent effects. Optional parameter TERMINAL specifies the tty terminal device to use. It may be a terminal object, a frame, or nil for the terminal used by the currently selected frame. In batch mode, STRING is sent to stdout when TERMINAL is nil. (fn STRING &optional TERMINAL)Fding Beep, or flash the screen. Also, unless an argument is given, terminate any keyboard macro currently executing. (fn &optional ARG)Fsleep-for Pause, without updating display, for SECONDS seconds. SECONDS may be a floating-point value, meaning that you can wait for a fraction of a second. Optional second arg MILLISECONDS specifies an additional wait period, in milliseconds; this is for backwards compatibility. (Not all operating systems support waiting for a fraction of a second.) (fn SECONDS &optional MILLISECONDS)Fredisplay Perform redisplay. Optional arg FORCE, if non-nil, prevents redisplay from being preempted by arriving input, even if `redisplay-dont-pause' is nil. If `redisplay-dont-pause' is non-nil (the default), redisplay is never preempted by arriving input, so FORCE does nothing. Return t if redisplay was performed, nil if redisplay was preempted immediately by pending input. (fn &optional FORCE)Fframe-or-buffer-changed-p Return non-nil if the frame and buffer state appears to have changed. VARIABLE is a variable name whose value is either nil or a state vector that will be updated to contain all frames and buffers, aside from buffers whose names start with space, along with the buffers' read-only and modified flags. This allows a fast check to see whether buffer menus might need to be recomputed. If this function returns non-nil, it updates the internal vector to reflect the current state. If VARIABLE is nil, an internal variable is used. Users should not pass nil for VARIABLE. (fn &optional VARIABLE)Finternal-show-cursor Set the cursor-visibility flag of WINDOW to SHOW. WINDOW nil means use the selected window. SHOW non-nil means show a cursor in WINDOW in the next redisplay. SHOW nil means don't show a cursor. (fn WINDOW SHOW)Finternal-show-cursor-p Value is non-nil if next redisplay will display a cursor in WINDOW. WINDOW nil or omitted means report on the selected window. (fn &optional WINDOW)Vbaud-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.Vinverse-video Non-nil means invert the entire frame display. This means everything is in inverse video which otherwise would not be.Vvisible-bell Non-nil means try to flash the frame to represent a bell. See also `ring-bell-function'.Vno-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.Vinitial-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.Vwindow-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.Vwindow-system-version The version number of the window system in use. For X windows, this is 11.Vcursor-in-echo-area Non-nil means put cursor in minibuffer, at end of any message there.Vglyph-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.Vstandard-display-table Display table to use for buffers that specify none. It is also used for standard output and error streams. See `buffer-display-table' for more information.Vredisplay-dont-pause Nil means display update is paused when input is detected.Vtab-bar-position Specify on which side from the tool bar the tab bar shall be. Possible values are `t' (below the tool bar), `nil' (above the tool bar). This option affects only builds where the tool bar is not external.Sframe.o Fframep Return non-nil if OBJECT is a frame. Value is: t 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. See also `frame-live-p'. (fn OBJECT)Fframe-live-p Return non-nil if OBJECT is a frame which has not been deleted. Value is nil if OBJECT is not a live frame. If object is a live frame, the return value indicates what sort of terminal device it is displayed on. See the documentation of `framep' for possible return values. (fn OBJECT)Fwindow-system The name of the window system that FRAME is displaying through. 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. FRAME defaults to the currently selected frame. Use of this function as a predicate is deprecated. Instead, use `display-graphic-p' or any of the other `display-*-p' predicates which report frame's specific UI-related capabilities. (fn &optional FRAME)Fframe-windows-min-size SKIP: real doc in window.el. (fn FRAME HORIZONTAL IGNORE PIXELWISE)Fmake-terminal-frame Create an additional terminal frame, possibly on another terminal. This function takes one argument, an alist specifying frame parameters. You can create multiple frames on a single text terminal, but only one of them (the selected terminal frame) is actually displayed. In practice, generally you don't need to specify any parameters, except when you want to create a new frame on another terminal. In that case, the `tty' parameter specifies the device file to open, and the `tty-type' parameter specifies the terminal type. Example: (make-terminal-frame \='((tty . "/dev/pts/5") (tty-type . "xterm"))) Note that changing the size of one terminal frame automatically affects all frames on the same terminal device. (fn PARMS)Fselect-frame Select FRAME. Subsequent editing commands apply to its selected window. Optional argument NORECORD means to neither change the order of recently selected windows nor the buffer list. The selection of FRAME lasts until the next time the user does something to select a different frame, or until the next time this function is called. If you are using a window system, the previously selected frame may be restored as the selected frame when returning to the command loop, because it still may have the window system's input focus. On a text terminal, the next redisplay will display FRAME. This function returns FRAME, or nil if FRAME has been deleted. (fn FRAME &optional NORECORD)Fhandle-switch-frame Handle a switch-frame event EVENT. Switch-frame events are usually bound to this function. A switch-frame event is an event Emacs sends itself to indicate that input is arriving in a new frame. It does not necessarily represent user-visible input focus. (fn EVENT)Fselected-frame Return the frame that is now selected. (fn)Fold-selected-frame Return the old selected FRAME. FRAME must be a live frame and defaults to the selected one. The return value is the frame selected the last time window change functions were run. (fn)Fframe-list Return a list of all live frames. The return value does not include any tooltip frame. (fn)Fframe-parent Return the parent frame of FRAME. The parent frame of FRAME is the Emacs frame whose window-system window is the parent window of FRAME's window-system window. When such a frame exists, FRAME is considered a child frame of that frame. Return nil if FRAME has no parent frame. This means that FRAME's window-system window is either a "top-level" window (a window whose parent window is the window-system's root window) or an embedded window (a window whose parent window is owned by some other application). (fn &optional FRAME)Fframe-ancestor-p Return non-nil if ANCESTOR is an ancestor of DESCENDANT. ANCESTOR is an ancestor of DESCENDANT when it is either DESCENDANT's parent frame or it is an ancestor of DESCENDANT's parent frame. Both, ANCESTOR and DESCENDANT must be live frames and default to the selected frame. (fn ANCESTOR DESCENDANT)Fnext-frame Return the next frame in the frame list after FRAME. It considers only frames on the same terminal as FRAME. By default, skip minibuffer-only frames. If omitted, FRAME defaults to the selected frame. If optional argument MINIFRAME is nil, exclude minibuffer-only frames. If MINIFRAME is a window, include only its own frame and any frame now using that window as the minibuffer. If MINIFRAME is `visible', include all visible frames. If MINIFRAME is 0, include all visible and iconified frames. Otherwise, include all frames. (fn &optional FRAME MINIFRAME)Fprevious-frame Return the previous frame in the frame list before FRAME. It considers only frames on the same terminal as FRAME. By default, skip minibuffer-only frames. If omitted, FRAME defaults to the selected frame. If optional argument MINIFRAME is nil, exclude minibuffer-only frames. If MINIFRAME is a window, include only its own frame and any frame now using that window as the minibuffer. If MINIFRAME is `visible', include all visible frames. If MINIFRAME is 0, include all visible and iconified frames. Otherwise, include all frames. (fn &optional FRAME MINIFRAME)Flast-nonminibuffer-frame Return last non-minibuffer frame selected. (fn)Fdelete-frame Delete FRAME, permanently eliminating it from use. FRAME must be a live frame and defaults to the selected one. A frame may not be deleted if its minibuffer serves as surrogate minibuffer for another frame. Normally, you may not delete a frame if all other frames are invisible, but if the second optional argument FORCE is non-nil, you may do so. This function runs `delete-frame-functions' before actually deleting the frame, unless the frame is a tooltip. The functions are run with one argument, the frame to be deleted. (fn &optional FRAME FORCE)Fmouse-position Return a list (FRAME X . Y) giving the current mouse frame and position. The position is given in canonical character cells, where (0, 0) is the upper-left corner of the frame, X is the horizontal offset, and Y is the vertical offset, measured in units of the frame's default character size. If Emacs is running on a mouseless terminal or hasn't been programmed to read the mouse position, it returns the selected frame for FRAME and nil for X and Y. If `mouse-position-function' is non-nil, `mouse-position' calls it, passing the normal return value to that function as an argument, and returns whatever that function returns. (fn)Fmouse-pixel-position Return a list (FRAME X . Y) giving the current mouse frame and position. The position is given in pixel units, where (0, 0) is the upper-left corner of the frame, X is the horizontal offset, and Y is the vertical offset. If Emacs is running on a mouseless terminal or hasn't been programmed to read the mouse position, it returns the selected frame for FRAME and nil for X and Y. (fn)Fset-mouse-position Move the mouse pointer to the center of character cell (X,Y) in FRAME. Coordinates are relative to the frame, not a window, so the coordinates of the top left character in the frame may be nonzero due to left-hand scroll bars or the menu bar. The position is given in canonical character cells, where (0, 0) is the upper-left corner of the frame, X is the horizontal offset, and Y is the vertical offset, measured in units of the frame's default character size. This function is a no-op for an X frame that is not visible. If you have just created a frame, you must wait for it to become visible before calling this function on it, like this. (while (not (frame-visible-p frame)) (sleep-for .5)) (fn FRAME X Y)Fset-mouse-pixel-position Move the mouse pointer to pixel position (X,Y) in FRAME. The position is given in pixels, where (0, 0) is the upper-left corner of the frame, X is the horizontal offset, and Y is the vertical offset. Note, this is a no-op for an X frame that is not visible. If you have just created a frame, you must wait for it to become visible before calling this function on it, like this. (while (not (frame-visible-p frame)) (sleep-for .5)) (fn FRAME X Y)Fmake-frame-visible Make the frame FRAME visible (assuming it is an X window). If omitted, FRAME defaults to the currently selected frame. (fn &optional FRAME)Fmake-frame-invisible Make the frame FRAME invisible. If omitted, FRAME defaults to the currently selected frame. On graphical displays, invisible frames are not updated and are usually not displayed at all, even in a window system's "taskbar". Normally you may not make FRAME invisible if all other frames are invisible, but if the second optional argument FORCE is non-nil, you may do so. This function has no effect on text terminal frames. Such frames are always considered visible, whether or not they are currently being displayed in the terminal. (fn &optional FRAME FORCE)Ficonify-frame Make the frame FRAME into an icon. If omitted, FRAME defaults to the currently selected frame. If FRAME is a child frame, consult the variable `iconify-child-frame' for how to proceed. (fn &optional FRAME)Fframe-visible-p Return t if FRAME is "visible" (actually in use for display). Return the symbol `icon' if FRAME is iconified or "minimized". Return nil if FRAME was made invisible, via `make-frame-invisible'. On graphical displays, invisible frames are not updated and are usually not displayed at all, even in a window system's "taskbar". If FRAME is a text terminal frame, this always returns t. Such frames are always considered visible, whether or not they are currently being displayed on the terminal. (fn FRAME)Fvisible-frame-list Return a list of all frames now "visible" (being updated). (fn)Fraise-frame Bring FRAME to the front, so it occludes any frames it overlaps. If FRAME is invisible or iconified, make it visible. If you don't specify a frame, the selected frame is used. If Emacs is displaying on an ordinary terminal or some other device which doesn't support multiple overlapping frames, this function selects FRAME. (fn &optional FRAME)Flower-frame Send FRAME to the back, so it is occluded by any frames that overlap it. If you don't specify a frame, the selected frame is used. If Emacs is displaying on an ordinary terminal or some other device which doesn't support multiple overlapping frames, this function does nothing. (fn &optional FRAME)Fredirect-frame-focus Arrange for keystrokes typed at FRAME to be sent to FOCUS-FRAME. In other words, switch-frame events caused by events in FRAME will request a switch to FOCUS-FRAME, and `last-event-frame' will be FOCUS-FRAME after reading an event typed at FRAME. If FOCUS-FRAME is nil, any existing redirection is canceled, and the frame again receives its own keystrokes. Focus redirection is useful for temporarily redirecting keystrokes to a surrogate minibuffer frame when a frame doesn't have its own minibuffer window. A frame's focus redirection can be changed by `select-frame'. If frame FOO is selected, and then a different frame BAR is selected, any frames redirecting their focus to FOO are shifted to redirect their focus to BAR. This allows focus redirection to work properly when the user switches from one frame to another using `select-window'. This means that a frame whose focus is redirected to itself is treated differently from a frame whose focus is redirected to nil; the former is affected by `select-frame', while the latter is not. The redirection lasts until `redirect-frame-focus' is called to change it. (fn FRAME &optional FOCUS-FRAME)Fframe-focus Return the frame to which FRAME's keystrokes are currently being sent. If FRAME is omitted or nil, the selected frame is used. Return nil if FRAME's focus is not redirected. See `redirect-frame-focus'. (fn &optional FRAME)Fx-focus-frame Set the input focus to FRAME. FRAME nil means use the selected frame. Optional argument NOACTIVATE means do not activate FRAME. If there is no window system support, this function does nothing. (fn FRAME &optional NOACTIVATE)Fframe-after-make-frame Mark FRAME as made. FRAME nil means use the selected frame. Second argument MADE non-nil means functions on `window-configuration-change-hook' are called whenever the window configuration of FRAME changes. MADE nil means these functions are not called. This function is currently called by `make-frame' only and should be otherwise used with utter care to avoid that running functions on `window-configuration-change-hook' is impeded forever. (fn FRAME MADE)Fframe-parameters Return the parameters-alist of frame FRAME. It is a list of elements of the form (PARM . VALUE), where PARM is a symbol. The meaningful PARMs depend on the kind of frame. If FRAME is omitted or nil, return information on the currently selected frame. (fn &optional FRAME)Fframe-parameter Return FRAME's value for parameter PARAMETER. If FRAME is nil, describe the currently selected frame. (fn FRAME PARAMETER)Fmodify-frame-parameters Modify FRAME according to new values of its parameters in ALIST. If FRAME is nil, it defaults to the selected frame. ALIST is an alist of parameters to change and their new values. Each element of ALIST has the form (PARM . VALUE), where PARM is a symbol. Which PARMs are meaningful depends on the kind of frame. The meaningful parameters are acted upon, i.e. the frame is changed according to their new values, and are also stored in the frame's parameter list so that `frame-parameters' will return them. PARMs that are not meaningful are still stored in the frame's parameter list, but are otherwise ignored. (fn FRAME ALIST)Fframe-char-height Height in pixels of a line in the font in frame FRAME. If FRAME is omitted or nil, the selected frame is used. For a terminal frame, the value is always 1. (fn &optional FRAME)Fframe-char-width Width in pixels of characters in the font in frame FRAME. If FRAME is omitted or nil, the selected frame is used. On a graphical screen, the width is the standard width of the default font. For a terminal screen, the value is always 1. (fn &optional FRAME)Fframe-native-width Return FRAME's native width in pixels. For a terminal frame, the result really gives the width in characters. If FRAME is omitted or nil, the selected frame is used. (fn &optional FRAME)Fframe-native-height Return FRAME's native height in pixels. If FRAME is omitted or nil, the selected frame is used. The exact value of the result depends on the window-system and toolkit in use: In the Gtk+ and NS versions, it includes only any window (including the minibuffer or echo area), mode line, and header line. It does not include the tool bar or menu bar. With other graphical versions, it may also include the tool bar and the menu bar. For a text terminal, it includes the menu bar. In this case, the result is really in characters rather than pixels (i.e., is identical to `frame-height'). (fn &optional FRAME)Ftool-bar-pixel-width Return width in pixels of FRAME's tool bar. The result is greater than zero only when the tool bar is on the left or right side of FRAME. If FRAME is omitted or nil, the selected frame is used. (fn &optional FRAME)Fframe-text-cols Return width in columns of FRAME's text area. (fn &optional FRAME)Fframe-text-lines Return height in lines of FRAME's text area. (fn &optional FRAME)Fframe-total-cols Return number of total columns of FRAME. (fn &optional FRAME)Fframe-total-lines Return number of total lines of FRAME. (fn &optional FRAME)Fframe-text-width Return text area width of FRAME in pixels. (fn &optional FRAME)Fframe-text-height Return text area height of FRAME in pixels. (fn &optional FRAME)Fframe-scroll-bar-width Return scroll bar width of FRAME in pixels. (fn &optional FRAME)Fframe-scroll-bar-height Return scroll bar height of FRAME in pixels. (fn &optional FRAME)Fframe-fringe-width Return fringe width of FRAME in pixels. (fn &optional FRAME)Fframe-internal-border-width Return width of FRAME's internal border in pixels. (fn &optional FRAME)Fframe-right-divider-width Return width (in pixels) of vertical window dividers on FRAME. (fn &optional FRAME)Fframe-bottom-divider-width Return width (in pixels) of horizontal window dividers on FRAME. (fn &optional FRAME)Fset-frame-height Set text height of frame FRAME to HEIGHT lines. Optional third arg PRETEND non-nil means that redisplay should use HEIGHT lines but that the idea of the actual height of the frame should not be changed. Optional fourth argument PIXELWISE non-nil means that FRAME should be HEIGHT pixels high. Note: When `frame-resize-pixelwise' is nil, some window managers may refuse to honor a HEIGHT that is not an integer multiple of the default frame font height. When called interactively, HEIGHT is the numeric prefix and the currently selected frame will be set to this height. (fn FRAME HEIGHT &optional PRETEND PIXELWISE)Fset-frame-width Set text width of frame FRAME to WIDTH columns. Optional third arg PRETEND non-nil means that redisplay should use WIDTH columns but that the idea of the actual width of the frame should not be changed. Optional fourth argument PIXELWISE non-nil means that FRAME should be WIDTH pixels wide. Note: When `frame-resize-pixelwise' is nil, some window managers may refuse to honor a WIDTH that is not an integer multiple of the default frame font width. When called interactively, WIDTH is the numeric prefix and the currently selected frame will be set to this width. (fn FRAME WIDTH &optional PRETEND PIXELWISE)Fset-frame-size Set text size of FRAME to WIDTH by HEIGHT, measured in characters. Optional argument PIXELWISE non-nil means to measure in pixels. Note: When `frame-resize-pixelwise' is nil, some window managers may refuse to honor a WIDTH that is not an integer multiple of the default frame font width or a HEIGHT that is not an integer multiple of the default frame font height. (fn FRAME WIDTH HEIGHT &optional PIXELWISE)Fframe-position Return top left corner of FRAME in pixels. FRAME must be a live frame and defaults to the selected one. The return value is a cons (x, y) of the coordinates of the top left corner of FRAME's outer frame, in pixels relative to an origin (0, 0) of FRAME's display. (fn &optional FRAME)Fset-frame-position Set position of FRAME to (X, Y). FRAME must be a live frame and defaults to the selected one. X and Y, if positive, specify the coordinate of the left and top edge of FRAME's outer frame in pixels relative to an origin (0, 0) of FRAME's display. If any of X or Y is negative, it specifies the coordinates of the right or bottom edge of the outer frame of FRAME relative to the right or bottom edge of FRAME's display. (fn FRAME X Y)Fframe-window-state-change Return t if FRAME's window state change flag is set, nil otherwise. FRAME must be a live frame and defaults to the selected one. If FRAME's window state change flag is set, the default values of `window-state-change-functions' and `window-state-change-hook' will be run during next redisplay, regardless of whether a window state change actually occurred on FRAME or not. After that, the value of this flag is reset. (fn &optional FRAME)Fset-frame-window-state-change Set FRAME's window state change flag according to ARG. Set FRAME's window state change flag if ARG is non-nil, reset it otherwise. If FRAME's window state change flag is set, the default values of `window-state-change-functions' and `window-state-change-hook' will be run during next redisplay, regardless of whether a window state change actually occurred on FRAME or not. After that, the value of FRAME's window state change flag is reset. (fn &optional FRAME ARG)Fx-get-resource Return the value of ATTRIBUTE, of class CLASS, from the X defaults database. This uses `INSTANCE.ATTRIBUTE' as the key and `Emacs.CLASS' as the class, where INSTANCE is the name under which Emacs was invoked, or the name specified by the `-name' or `-rn' command-line arguments. The optional arguments COMPONENT and SUBCLASS add to the key and the class, respectively. You must specify both of them or neither. If you specify them, the key is `INSTANCE.COMPONENT.ATTRIBUTE' and the class is `Emacs.CLASS.SUBCLASS'. (fn ATTRIBUTE CLASS &optional COMPONENT SUBCLASS)Fx-parse-geometry Parse a display geometry string STRING. Returns an alist of the form ((top . TOP), (left . LEFT) ... ). The properties returned may include `top', `left', `height', and `width'. For X, the value of `left' or `top' may be an integer, or a list (+ N) meaning N pixels relative to top/left corner, or a list (- N) meaning -N pixels relative to bottom/right corner. On Nextstep, this just calls `ns-parse-geometry'. (fn STRING)Fframe-pointer-visible-p Return t if the mouse pointer displayed on FRAME is visible. Otherwise it returns nil. FRAME omitted or nil means the selected frame. This is useful when `make-pointer-invisible' is set. (fn &optional FRAME)Vx-resource-name The name Emacs uses to look up X resources. `x-get-resource' uses this as the first component of the instance name when requesting resource values. Emacs initially sets `x-resource-name' to the name under which Emacs was invoked, or to the value specified with the `-name' or `-rn' switches, if present. It may be useful to bind this variable locally around a call to `x-get-resource'. See also the variable `x-resource-class'.Vx-resource-class The class Emacs uses to look up X resources. `x-get-resource' uses this as the first component of the instance class when requesting resource values. Emacs initially sets `x-resource-class' to "Emacs". Setting this variable permanently is not a reasonable thing to do, but binding this variable locally around a call to `x-get-resource' is a reasonable practice. See also the variable `x-resource-name'.Vframe-alpha-lower-limit The lower limit of the frame opacity (alpha transparency). The value should range from 0 (invisible) to 100 (completely opaque). You can also use a floating number between 0.0 and 1.0.Vdefault-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.Vdefault-frame-scroll-bars Default position of vertical scroll bars on this window-system.Vscroll-bar-adjust-thumb-portion Adjust thumb for overscrolling for Gtk+ and MOTIF. Non-nil means adjust the thumb in the scroll bar so it can be dragged downwards even if the end of the buffer is shown (i.e. overscrolling). Set to nil if you want the thumb to be at the bottom when the end of the buffer is shown. Also, the thumb fills the whole scroll bar when the entire buffer is visible. In this case you can not overscroll.Vterminal-frame The initial frame-object, which represents Emacs's stdout.Vmouse-position-function If non-nil, function to transform normal value of `mouse-position'. `mouse-position' and `mouse-pixel-position' call this function, passing their usual return value as argument, and return 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.Vmouse-highlight If non-nil, clickable text is highlighted when mouse is over it. If the value is an integer, highlighting is shown only 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.Vmake-pointer-invisible If non-nil, make pointer invisible while typing. The pointer becomes visible again when the mouse is moved.Vmove-frame-functions Functions run after a frame was moved. The functions are run with one arg, the frame that moved.Vdelete-frame-functions Functions 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).Vafter-delete-frame-functions Functions run after deleting a frame. The functions are run with one arg, the frame that was deleted and which is now dead.Vmenu-bar-mode Non-nil if Menu-Bar mode is enabled. See the command `menu-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 `menu-bar-mode'.Vtab-bar-mode Non-nil if Tab-Bar mode is enabled. See the command `tab-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 `tab-bar-mode'.Vtool-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'.Vdefault-minibuffer-frame Minibuffer-less frames by default use this frame's minibuffer. Emacs consults this variable only when creating a minibuffer-less frame and no explicit minibuffer window has been specified for that frame via the `minibuffer' frame parameter. Once such a frame has been created, setting this variable does not change that frame's previous association. This variable is local to the current terminal and cannot be buffer-local.Vresize-mini-frames Non-nil means resize minibuffer-only frames automatically. If this is nil, do not resize minibuffer-only frames automatically. If this is a function, call that function with the minibuffer-only frame that shall be resized as sole argument. The buffer of the root window of that frame is the buffer whose text will be eventually shown in the minibuffer window. Any other non-nil value means to resize minibuffer-only frames by calling `fit-frame-to-buffer'.Vfocus-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. There are three meaningful values: - The default nil should be used when your window manager follows a "click-to-focus" policy where you have to click the mouse inside of a frame in order for that frame to get focus. - The value t should be used when your window manager has the focus automatically follow the position of the mouse pointer but a window that gains focus is not raised automatically. - The value `auto-raise' should be used when your window manager has the focus automatically follow the position of the mouse pointer and a window that gains focus is raised automatically. If this option is non-nil, Emacs moves the mouse pointer to the frame selected by `select-frame-set-input-focus'. This function is used by a number of commands like, for example, `other-frame' and `pop-to-buffer'. If this option is nil and your focus follows mouse window manager does not autonomously move the mouse pointer to the newly selected frame, the previously selected window manager window might get reselected instead immediately. The distinction between the values t and `auto-raise' is not needed for "normal" frames because the window manager takes care of raising them. Setting this to `auto-raise' will, however, override the standard behavior of a window manager that does not automatically raise the frame that gets focus. Setting this to `auto-raise' is also necessary to automatically raise child frames which are usually left alone by the window manager. Note that this option does not distinguish "sloppy" focus (where the frame that previously had focus retains focus as long as the mouse pointer does not move into another window manager window) from "strict" focus (where a frame immediately loses focus when it's left by the mouse pointer). In order to extend a "focus follows mouse" policy to individual Emacs windows, customize the variable `mouse-autoselect-window'.Vframe-resize-pixelwise Non-nil means resize frames pixelwise. If this option is nil, resizing a frame rounds its sizes to the frame's current values of `frame-char-height' and `frame-char-width'. If this is non-nil, no rounding occurs, hence frame sizes can increase/decrease by one pixel. With some window managers you may have to set this to non-nil in order to set the size of a frame in pixels, to maximize frames or to make them fullscreen. To resize your initial frame pixelwise, set this option to a non-nil value in your init file.Vframe-inhibit-implied-resize Whether frames should be resized implicitly. If this option is nil, setting font, menu bar, tool bar, tab bar, internal borders, fringes or scroll bars of a specific frame may resize the frame in order to preserve the number of columns or lines it displays. If this option is t, no such resizing is done. Note that the size of fullscreen and maximized frames, the height of fullheight frames and the width of fullwidth frames never change implicitly. The value of this option can be also a list of frame parameters. In this case, resizing is inhibited when changing a parameter that appears in that list. The parameters currently handled by this option include `font', `font-backend', `internal-border-width', `menu-bar-lines', `tool-bar-lines' and `tab-bar-lines'. Changing any of the parameters `scroll-bar-width', `scroll-bar-height', `vertical-scroll-bars', `horizontal-scroll-bars', `left-fringe' and `right-fringe' is handled as if the frame contained just one live window. This means, for example, that removing vertical scroll bars on a frame containing several side by side windows will shrink the frame width by the width of one scroll bar provided this option is nil and keep it unchanged if this option is either t or a list containing `vertical-scroll-bars'. In GTK+ and NS that use the external tool bar, the default value is \='(tab-bar-lines) which means that adding/removing a tab bar does not change the frame height. On all other types of GUI frames, the default value is \='(tab-bar-lines tool-bar-lines) which means that adding/removing a tool bar or tab bar does not change the frame height. Otherwise it's t which means the frame size never changes implicitly when there's no window system support. Note that when a frame is not large enough to accommodate a change of any of the parameters listed above, Emacs may try to enlarge the frame even if this option is non-nil.Vframe-size-history History of frame size adjustments. If non-nil, list recording frame size adjustment. Adjustments are recorded only if the first element of this list is a positive number. Adding an adjustment decrements that number by one. The remaining elements are the adjustments. Each adjustment is a list of four elements `frame', `function', `sizes' and `more'. `frame' is the affected frame and `function' the invoking function. `sizes' is usually a list of four elements `old-width', `old-height', `new-width' and `new-height' representing the old and new sizes recorded/requested by `function'. `more' is a list with additional information. The function `frame--size-history' displays the value of this variable in a more readable form.Vtooltip-reuse-hidden-frame Non-nil means reuse hidden tooltip frames. When this is nil, delete a tooltip frame when hiding the associated tooltip. When this is non-nil, make the tooltip frame invisible only, so it can be reused when the next tooltip is shown. Setting this to non-nil may drastically reduce the consing overhead incurred by creating new tooltip frames. However, a value of non-nil means also that intermittent changes of faces or `default-frame-alist' are not applied when showing a tooltip in a reused frame. This variable is effective only with the X toolkit (and there only when Gtk+ tooltips are not used) and on Windows.Viconify-child-frame How to handle iconification of child frames. This variable tells Emacs how to proceed when it is asked to iconify a child frame. If it is nil, `iconify-frame' will do nothing when invoked on a child frame. If it is `iconify-top-level', Emacs will try to iconify the top level frame associated with this child frame instead. If it is `make-invisible', Emacs will try to make this child frame invisible instead. Any other value means to try iconifying the child frame. Since such an attempt is not honored by all window managers and may even lead to making the child frame unresponsive to user actions, the default is to iconify the top level frame instead.Sscroll.o Sxdisp.o Fset-buffer-redisplay Mark the current buffer for redisplay. This function may be passed to `add-variable-watcher'. (fn SYMBOL NEWVAL OP WHERE)Fline-pixel-height Return height in pixels of text line in the selected window. Value is the height in pixels of the line at point. (fn)Fwindow-text-pixel-size Return the size of the text of WINDOW's buffer in pixels. WINDOW must be a live window and defaults to the selected one. The return value is a cons of the maximum pixel-width of any text line and the pixel-height of all the text lines in the accessible portion of buffer text. This function exists to allow Lisp programs to adjust the dimensions of WINDOW to the buffer text it needs to display. The optional argument FROM, if non-nil, specifies the first text position to consider, and defaults to the minimum accessible position of the buffer. If FROM is t, it stands for the minimum accessible position that starts a non-empty line. TO, if non-nil, specifies the last text position and defaults to the maximum accessible position of the buffer. If TO is t, it stands for the maximum accessible position that ends a non-empty line. The optional argument X-LIMIT, if non-nil, specifies the maximum X coordinate beyond which the text should be ignored. It is therefore also the maximum width that the function can return. X-LIMIT nil or omitted means to use the pixel-width of WINDOW's body. This default means text of truncated lines wider than the window will be ignored; specify a large value for X-LIMIT if lines are truncated and you need to account for the truncated text. Use nil for X-LIMIT if you want to know how high WINDOW should become in order to fit all of its buffer's text with the width of WINDOW unaltered. Use the maximum width WINDOW may assume if you intend to change WINDOW's width. Since calculating the width of long lines can take some time, it's always a good idea to make this argument as small as possible; in particular, if the buffer contains long lines that shall be truncated anyway. The optional argument Y-LIMIT, if non-nil, specifies the maximum Y coordinate beyond which the text is to be ignored; it is therefore also the maxcomp height that the function can return (excluding the height of the mode- or header-line, if any). Y-LIMIT nil or omitted means consider all of the accessible portion of buffer text up to the position specified by TO. Since calculating the text height of a large buffer can take some time, it makes sense to specify this argument if the size of the buffer is large or unknown. Optional argument MODE-AND-HEADER-LINE nil or omitted means do not include the height of the mode- or header-line of WINDOW in the return value. If it is either the symbol `mode-line' or `header-line', include only the height of that line, if present, in the return value. If t, include the height of both, if present, in the return value. (fn &optional WINDOW FROM TO X-LIMIT Y-LIMIT MODE-AND-HEADER-LINE)Ftab-bar-height Return the number of lines occupied by the tab bar of FRAME. If FRAME is nil or omitted, use the selected frame. Optional argument PIXELWISE non-nil means return the height of the tab bar in pixels. (fn &optional FRAME PIXELWISE)Ftool-bar-height Return the number of lines occupied by the tool bar of FRAME. If FRAME is nil or omitted, use the selected frame. Optional argument PIXELWISE non-nil means return the height of the tool bar in pixels. (fn &optional FRAME PIXELWISE)Fdump-glyph-matrix Dump the current matrix of the selected window to stderr. Shows contents of glyph row structures. With non-nil parameter GLYPHS, dump glyphs as well. If GLYPHS is 1 show glyphs in short form, otherwise show glyphs in long form. Interactively, no argument means show glyphs in short form; with numeric argument, its value is passed as the GLYPHS flag. (fn &optional GLYPHS)Fdump-frame-glyph-matrix Dump the current glyph matrix of the selected frame to stderr. Only text-mode frames have frame glyph matrices. (fn)Fdump-glyph-row Dump glyph row ROW to stderr. Interactively, ROW is the prefix numeric argument and defaults to the row which displays point. Optional argument GLYPHS 0 means don't dump glyphs. GLYPHS 1 means dump glyphs in short form. GLYPHS > 1 or omitted means dump glyphs in long form. (fn ROW &optional GLYPHS)Fdump-tab-bar-row Dump glyph row ROW of the tab-bar of the current frame to stderr. Interactively, ROW is the prefix numeric argument and defaults to zero. GLYPHS 0 means don't dump glyphs. GLYPHS 1 means dump glyphs in short form. GLYPHS > 1 or omitted means dump glyphs in long form. If there's no tab-bar, or if the tab-bar is not drawn by Emacs, do nothing. (fn ROW &optional GLYPHS)Fdump-tool-bar-row Dump glyph row ROW of the tool-bar of the current frame to stderr. Interactively, ROW is the prefix numeric argument and defaults to zero. GLYPHS 0 means don't dump glyphs. GLYPHS 1 means dump glyphs in short form. GLYPHS > 1 or omitted means dump glyphs in long form. If there's no tool-bar, or if the tool-bar is not drawn by Emacs, do nothing. (fn ROW &optional GLYPHS)Ftrace-redisplay Toggle tracing of redisplay. With ARG, turn tracing on if and only if ARG is positive. (fn &optional ARG)Ftrace-to-stderr Like `format', but print result to stderr. (fn STRING &rest OBJECTS)Fcurrent-bidi-paragraph-direction Return paragraph direction at point in BUFFER. Value is either `left-to-right' or `right-to-left'. If BUFFER is omitted or nil, it defaults to the current buffer. Paragraph direction determines how the text in the paragraph is displayed. In left-to-right paragraphs, text begins at the left margin of the window and the reading direction is generally left to right. In right-to-left paragraphs, text begins at the right margin and is read from right to left. See also `bidi-paragraph-direction'. (fn &optional BUFFER)Fbidi-find-overridden-directionality Return position between FROM and TO where directionality was overridden. This function returns the first character position in the specified region of OBJECT where there is a character whose `bidi-class' property is `L', but which was forced to display as `R' by a directional override, and likewise with characters whose `bidi-class' is `R' or `AL' that were forced to display as `L'. If no such character is found, the function returns nil. OBJECT is a Lisp string or buffer to search for overridden directionality, and defaults to the current buffer if nil or omitted. OBJECT can also be a window, in which case the function will search the buffer displayed in that window. Passing the window instead of a buffer is preferable when the buffer is displayed in some window, because this function will then be able to correctly account for window-specific overlays, which can affect the results. Strong directional characters `L', `R', and `AL' can have their intrinsic directionality overridden by directional override control characters RLO (u+202e) and LRO (u+202d). See the function `get-char-code-property' for a way to inquire about the `bidi-class' property of a character. (fn FROM TO &optional OBJECT)Fmove-point-visually Move point in the visual order in the specified DIRECTION. DIRECTION can be 1, meaning move to the right, or -1, which moves to the left. Value is the new character position of point. (fn DIRECTION)Fbidi-resolved-levels Return the resolved bidirectional levels of characters at VPOS. The resolved levels are produced by the Emacs bidi reordering engine that implements the UBA, the Unicode Bidirectional Algorithm. Please read the Unicode Standard Annex 9 (UAX#9) for background information about these levels. VPOS is the zero-based number of the current window's screen line for which to produce the resolved levels. If VPOS is nil or omitted, it defaults to the screen line of point. If the window displays a header line, VPOS of zero will report on the header line, and first line of text in the window will have VPOS of 1. Value is an array of resolved levels, indexed by glyph number. Glyphs are numbered from zero starting from the beginning of the screen line, i.e. the left edge of the window for left-to-right lines and from the right edge for right-to-left lines. The resolved levels are produced only for the window's text area; text in display margins is not included. If the selected window's display is not up-to-date, or if the specified screen line does not display text, this function returns nil. It is highly recommended to bind this function to some simple key, like F8, in order to avoid these problems. This function exists mainly for testing the correctness of the Emacs UBA implementation, in particular with the test suite. (fn &optional VPOS)Fformat-mode-line Format a string out of a mode line format specification. First arg FORMAT specifies the mode line format (see `mode-line-format' for details) to use. By default, the format is evaluated for the currently selected window. Optional second arg FACE specifies the face property to put on all characters for which no face is specified. The value nil means the default face. The value t means whatever face the window's mode line currently uses (either `mode-line' or `mode-line-inactive', depending on whether the window is the selected window or not). An integer value means the value string has no text properties. Optional third and fourth args WINDOW and BUFFER specify the window and buffer to use as the context for the formatting (defaults are the selected window and the WINDOW's buffer). (fn FORMAT &optional FACE WINDOW BUFFER)Finvisible-p Non-nil if text properties at POS cause text there to be currently invisible. POS should be a marker or a buffer position; the value of the `invisible' property at that position in the current buffer is examined. POS can also be the actual value of the `invisible' text or overlay property of the text of interest, in which case the value itself is examined. The non-nil value returned can be t for currently invisible text that is entirely hidden on display, or some other non-nil, non-t value if the text is replaced by an ellipsis. Note that whether text with `invisible' property is actually hidden on display may depend on `buffer-invisibility-spec', which see. (fn POS)Flookup-image-map Lookup in image map MAP coordinates X and Y. An image map is an alist where each element has the format (AREA ID PLIST). An AREA is specified as either a rectangle, a circle, or a polygon: A rectangle is a cons (rect . ((x0 . y0) . (x1 . y1))) specifying the pixel coordinates of the upper left and bottom right corners. A circle is a cons (circle . ((x0 . y0) . r)) specifying the center and the radius of the circle; r may be a float or integer. A polygon is a cons (poly . [x0 y0 x1 y1 ...]) where each pair in the vector describes one corner in the polygon. Returns the alist element for the first matching AREA in MAP. (fn MAP X Y)Vinhibit-message Non-nil means calls to `message' are not displayed. They are still logged to the *Messages* buffer. Do NOT set this globally to a non-nil value, as doing that will disable messages everywhere, including in I-search and other places where they are necessary. This variable is intended to be let-bound around code that needs to disable messages temporarily.Vx-stretch-cursor Non-nil means draw block cursor as wide as the glyph under it. For example, if a block cursor is over a tab, it will be drawn as wide as that tab on the display.Vshow-trailing-whitespace Non-nil means highlight trailing whitespace. The face used for trailing whitespace is `trailing-whitespace'.Vnobreak-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 `nobreak-hyphen' 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 an escape glyph followed by an ordinary space or hyphen. A value of nil means no special handling of these characters.Vvoid-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', `nhdrag', `modeline', and `hourglass'.Vinhibit-redisplay Non-nil means don't actually do any redisplay. This is used for internal purposes.Vglobal-mode-string String (or mode line construct) included (normally) in `mode-line-format'.Voverlay-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'.Voverlay-arrow-string String to display as an arrow in non-window frames. See also `overlay-arrow-position'.Voverlay-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.Vscroll-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.Vscroll-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.Vscroll-margin Number of lines of margin at the top and bottom of a window. Trigger automatic scrolling whenever point gets within this many lines of the top or bottom of the window (see info node `Auto Scrolling').Vmaximum-scroll-margin Maximum effective value of `scroll-margin'. Given as a fraction of the current window's lines. The value should be a floating point number between 0.0 and 0.5. The effective maximum is limited to (/ (1- window-lines) 2). Non-float values for this variable are ignored and the default 0.25 is used instead.Vdisplay-pixels-per-inch Pixels per inch value for non-window system displays. Value is a number or a cons (WIDTH-DPI . HEIGHT-DPI).Vdebug-end-pos Don't ask.Vtruncate-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 total window width in column units is less than that integer; otherwise, respect the value of `truncate-lines'. The total width of the window is as returned by `window-total-width', it includes the fringes, the continuation and truncation glyphs, the display margins (if any), and the scroll bar 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.Vline-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.Vline-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.Vhighlight-nonselected-windows Non-nil means highlight region even in nonselected windows.Vmultiple-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'.Vframe-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, %C, and %l constructs are ignored. It is used only on frames for which no explicit name has been set (see `modify-frame-parameters').Vicon-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').Vmessage-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.Vwindow-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. These functions are called whenever the `window-start' marker is modified, either to point into another buffer (e.g. via `set-window-buffer') or another place in the same buffer. When each function is called, the `window-start' marker of its window argument has been already set to the new value, and the buffer which that window will display is set to be the current buffer. 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.Vredisplay-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'.Vmouse-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. If you want to use the mouse to autoselect a window on another frame, make sure that (1) your window manager has focus follow the mouse and (2) the value of the option `focus-follows-mouse' matches the policy of your window manager.Vauto-resize-tab-bars Non-nil means automatically resize tab-bars. This dynamically changes the tab-bar's height to the minimum height that is needed to make all tab-bar items visible. If value is `grow-only', the tab-bar's height is only increased automatically; to decrease the tab-bar height, use \[recenter].Vauto-raise-tab-bar-buttons Non-nil means raise tab-bar buttons when the mouse moves over them.Vauto-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 \[recenter].Vauto-raise-tool-bar-buttons Non-nil means raise tool-bar buttons when the mouse moves over them.Vmake-cursor-line-fully-visible Whether to scroll the window if the cursor line is not fully visible. If the value is non-nil, Emacs scrolls or recenters the window to make the cursor line fully visible. The value could also be a function, which is called with a single argument, the window to be scrolled, and should return non-nil if the partially-visible cursor requires scrolling the window, nil if it's okay to leave the cursor partially-visible.Vtab-bar-border Border below tab-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 tab-bar.Vtab-bar-button-margin Margin around tab-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.Vtab-bar-button-relief Relief thickness of tab-bar buttons.Vtool-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.Vtool-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.Vtool-bar-button-relief Relief thickness of tool-bar buttons.Vtool-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. This variable only affects the GTK+ toolkit version of Emacs.Vtool-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'.Vfontification-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'.Vunibyte-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.Vmax-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.Vresize-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. This variable does not affect resizing of the minibuffer window of minibuffer-only frames. These are handled by 'resize-mini-frames' only.Vblink-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.Vauto-hscroll-mode Allow or disallow automatic horizontal scrolling of windows. The value `current-line' means the line displaying point in each window is automatically scrolled horizontally to make point visible. Any other non-nil value means all the lines in a window are automatically scrolled horizontally to make point visible.Vhscroll-margin How many columns away from the window edge point is allowed to get before automatic hscrolling will horizontally scroll the window.Vhscroll-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.Vmessage-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.Vmenu-bar-update-hook Normal hook run to update the menu bar definitions. Redisplay runs this hook before it redisplays the menu bar. This is used to update menus such as Buffers, whose contents depend on various data.Vmenu-updating-frame Frame for which we are updating a menu. The enable predicate for a menu binding should check this variable.Vinhibit-menubar-update Non-nil means don't update menu bars. Internal use only.Vwrap-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'.Vline-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'.Vdisplay-line-numbers Non-nil means display line numbers. If the value is t, display the absolute number of each line of a buffer shown in a window. Absolute line numbers count from the beginning of the current narrowing, or from buffer beginning. The variable `display-line-numbers-offset', if non-zero, is a signed offset added to each absolute line number; it also forces line numbers to be counted from the beginning of the buffer, as if `display-line-numbers-wide' were non-nil. It has no effect when line numbers are not absolute. If the value is `relative', display for each line not containing the window's point its relative number instead, i.e. the number of the line relative to the line showing the window's point. In either case, line numbers are displayed at the beginning of each non-continuation line that displays buffer text, i.e. after each newline character that comes from the buffer. The value `visual' is like `relative' but counts screen lines instead of buffer lines. In practice this means that continuation lines count as well when calculating the relative number of a line. Lisp programs can disable display of a line number of a particular buffer line by putting the `display-line-numbers-disable' text property or overlay property on the first visible character of that line.Vdisplay-line-numbers-width Minimum width of space reserved for line number display. A positive number means reserve that many columns for line numbers, even if the actual number needs less space. The default value of nil means compute the space dynamically. Any other value is treated as nil.Vdisplay-line-numbers-current-absolute Non-nil means display absolute number of current line. This variable has effect only when `display-line-numbers' is either `relative' or `visual'.Vdisplay-line-numbers-widen Non-nil means display line numbers disregarding any narrowing.Vdisplay-line-numbers-offset A signed integer added to each absolute line number. When this variable is non-zero, line numbers are always counted from the beginning of the buffer even if `display-line-numbers-widen' is nil. It has no effect when set to 0, or when line numbers are not absolute.Vdisplay-fill-column-indicator Non-nil means display the fill column indicator. See Info node `Displaying Boundaries' for details.Vdisplay-fill-column-indicator-column Column for indicator when `display-fill-column-indicator' is non-nil. The default value is t which means that the indicator will use the `fill-column' variable. If it is set to an integer the indicator will be drawn in that column. See Info node `Displaying Boundaries' for details.Vdisplay-fill-column-indicator-character Character to draw the indicator when `display-fill-column-indicator' is non-nil. The default is U+2502 but a good alternative is (ascii 124) if the font in fill-column-indicator face does not support Unicode characters. See Info node `Displaying Boundaries' for details.Vdisplay-line-numbers-major-tick If an integer N > 0, highlight line number of every Nth line. The line number is shown with the `line-number-major-tick' face. Otherwise, no special highlighting is done every Nth line. Note that major ticks take precedence over minor ticks.Vdisplay-line-numbers-minor-tick If an integer N > 0, highlight line number of every Nth line. The line number is shown with the `line-number-minor-tick' face. Otherwise, no special highlighting is done every Nth line. Note that major ticks take precedence over minor ticks.Vinhibit-eval-during-redisplay Non-nil means don't eval Lisp during redisplay.Vinhibit-free-realized-faces Non-nil means don't free realized faces. Internal use only.Vinhibit-bidi-mirroring Non-nil means don't mirror characters even when bidi context requires that. Intended for use during debugging and for testing bidi display; see biditest.el in the test suite.Vbidi-inhibit-bpa Non-nil means inhibit the Bidirectional Parentheses Algorithm. Disabling the BPA makes redisplay faster, but might produce incorrect display reordering of bidirectional text with embedded parentheses and other bracket characters whose 'paired-bracket' Unicode property is non-nil, see `get-char-code-property'.Vinhibit-try-window-id Inhibit try_window_id display optimization.Vinhibit-try-window-reusing Inhibit try_window_reusing display optimization.Vinhibit-try-cursor-movement Inhibit try_cursor_movement display optimization.Voverline-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.Vunderline-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.Vdisplay-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.Vhourglass-delay Seconds to wait before displaying an hourglass pointer when Emacs is busy.Vpre-redisplay-function Function run just before redisplay. It is called with one argument, which is the set of windows that are to be redisplayed. This set can be nil (meaning, only the selected window), or t (meaning all windows).Vglyphless-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'. If a character has a non-nil entry in an active display table, the display table takes effect; in this case, Emacs does not consult `glyphless-char-display' at all.Vdebug-on-message If non-nil, debug if a message matching this regexp is displayed.Vset-message-function If non-nil, function to handle display of echo-area messages. The function is called with one argument that is the text of a message. If this function returns nil, the message is displayed in the echo area as usual. If the function returns a string, the returned string is displayed in the echo area. If this function returns any other non-nil value, this means that the message was already handled, and the original message text will not be displayed in the echo area. See also `clear-message-function' that can be used to clear the message displayed by this function.Vclear-message-function If non-nil, function to clear echo-area messages. Usually this function is called when the next input event arrives. The function is called without arguments. It is expected to clear the message displayed by its counterpart function specified by `set-message-function'.Vredisplay--all-windows-cause Vredisplay--mode-lines-cause Vredisplay--inhibit-bidi Non-nil means it is not safe to attempt bidi reordering for display.Vdisplay-raw-bytes-as-hex Non-nil means display raw bytes in hexadecimal format. The default is to use octal format (200) whereas hexadecimal (x80) may be more familiar to users.Vmouse-fine-grained-tracking Non-nil for pixel-wise mouse-movement. When nil, mouse-movement events will not be generated as long as the mouse stays within the extent of a single glyph (except for images).Smenu.o Fmenu-bar-menu-at-x-y Return the menu-bar menu on FRAME at pixel coordinates X, Y. X and Y are frame-relative pixel coordinates, assumed to define a location within the menu bar. If FRAME is nil or omitted, it defaults to the selected frame. Value is the symbol of the menu at X/Y, or nil if the specified coordinates are not within the FRAME's menu bar. The symbol can be used to look up the menu like this: (lookup-key MAP [menu-bar SYMBOL]) where MAP is either the current global map or the current local map, since menu-bar items come from both. This function can return non-nil only on a text-terminal frame or on an X frame that doesn't use any GUI toolkit. Otherwise, Emacs does not manage the menu bar and cannot convert coordinates into menu items. (fn X Y &optional FRAME)Fx-popup-menu Pop up a deck-of-cards menu and return user's selection. POSITION is a position specification. This is either a mouse button event or a list ((XOFFSET YOFFSET) WINDOW) where XOFFSET and YOFFSET are positions in pixels from the top left corner of WINDOW. (WINDOW may be a window or a frame object.) This controls the position of the top left of the menu as a whole. If POSITION is t, it means to use the current mouse position. MENU is a specifier for a menu. For the simplest case, MENU is a keymap. The menu items come from key bindings that have a menu string as well as a definition; actually, the "definition" in such a key binding looks like (STRING . REAL-DEFINITION). To give the menu a title, put a string into the keymap as a top-level element. If REAL-DEFINITION is nil, that puts a nonselectable string in the menu. Otherwise, REAL-DEFINITION should be a valid key binding definition. You can also use a list of keymaps as MENU. Then each keymap makes a separate pane. When MENU is a keymap or a list of keymaps, the return value is the list of events corresponding to the user's choice. Note that `x-popup-menu' does not actually execute the command bound to that sequence of events. Alternatively, you can specify a menu of multiple panes with a list of the form (TITLE PANE1 PANE2...), where each pane is a list of form (TITLE ITEM1 ITEM2...). Each ITEM is normally a cons cell (STRING . VALUE); but a string can appear as an item--that makes a nonselectable line in the menu. With this form of menu, the return value is VALUE from the chosen item. If POSITION is nil, don't display the menu at all, just precalculate the cached information about equivalent key sequences. If the user gets rid of the menu without making a valid choice, for instance by clicking the mouse away from a valid choice or by typing keyboard input, then this normally results in a quit and `x-popup-menu' does not return. But if POSITION is a mouse button event (indicating that the user invoked the menu with the mouse) then no quit occurs and `x-popup-menu' returns nil. (fn POSITION MENU)Fx-popup-dialog Pop up a dialog box and return user's selection. POSITION specifies which frame to use. This is normally a mouse button event or a window or frame. If POSITION is t, it means to use the frame the mouse is on. The dialog box appears in the middle of the specified frame. CONTENTS specifies the alternatives to display in the dialog box. It is a list of the form (DIALOG ITEM1 ITEM2...). Each ITEM is a cons cell (STRING . VALUE). The return value is VALUE from the chosen item. An ITEM may also be just a string--that makes a nonselectable item. An ITEM may also be nil--that means to put all preceding items on the left of the dialog box and all following items on the right. (By default, approximately half appear on each side.) If HEADER is non-nil, the frame title for the box is "Information", otherwise it is "Question". If the user gets rid of the dialog box without making a valid choice, for instance using the window manager, then this produces a quit and `x-popup-dialog' does not return. (fn POSITION CONTENTS &optional HEADER)Swindow.o Fwindowp Return t if OBJECT is a window and nil otherwise. (fn OBJECT)Fwindow-valid-p Return t if OBJECT is a valid window and nil otherwise. A valid window is either a window that displays a buffer or an internal window. Windows that have been deleted are not valid. (fn OBJECT)Fwindow-live-p Return t if OBJECT is a live window and nil otherwise. A live window is a window that displays a buffer. Internal windows and deleted windows are not live. (fn OBJECT)Fwindow-frame Return the frame that window WINDOW is on. WINDOW must be a valid window and defaults to the selected one. (fn &optional WINDOW)Fframe-root-window Return the root window of FRAME-OR-WINDOW. If omitted, FRAME-OR-WINDOW defaults to the currently selected frame. With a frame argument, return that frame's root window. With a window argument, return the root window of that window's frame. (fn &optional FRAME-OR-WINDOW)Fminibuffer-window Return the minibuffer window for frame FRAME. If FRAME is omitted or nil, it defaults to the selected frame. (fn &optional FRAME)Fwindow-minibuffer-p Return t if WINDOW is a minibuffer window. WINDOW must be a valid window and defaults to the selected one. (fn &optional WINDOW)Fframe-first-window Return the topmost, leftmost live window on FRAME-OR-WINDOW. If omitted, FRAME-OR-WINDOW defaults to the currently selected frame. Else if FRAME-OR-WINDOW denotes a valid window, return the first window of that window's frame. If FRAME-OR-WINDOW denotes a live frame, return the first window of that frame. (fn &optional FRAME-OR-WINDOW)Fframe-selected-window Return the selected window of FRAME-OR-WINDOW. If omitted, FRAME-OR-WINDOW defaults to the currently selected frame. Else if FRAME-OR-WINDOW denotes a valid window, return the selected window of that window's frame. If FRAME-OR-WINDOW denotes a live frame, return the selected window of that frame. (fn &optional FRAME-OR-WINDOW)Fframe-old-selected-window Return old selected window of FRAME. FRAME must be a live frame and defaults to the selected one. The return value is the window selected on FRAME the last time window change functions were run for FRAME. (fn &optional FRAME)Fset-frame-selected-window Set selected window of FRAME to WINDOW. FRAME must be a live frame and defaults to the selected one. If FRAME is the selected frame, this makes WINDOW the selected window. Optional argument NORECORD non-nil means to neither change the order of recently selected windows nor the buffer list. WINDOW must denote a live window. Return WINDOW. (fn FRAME WINDOW &optional NORECORD)Fselected-window Return the selected window. The selected window is the window in which the standard cursor for selected windows appears and to which many commands apply. (fn)Fold-selected-window Return the old selected window. The return value is the window selected the last time window change functions were run. (fn)Fselect-window Select WINDOW which must be a live window. Also make WINDOW's frame the selected frame and WINDOW that frame's selected window. In addition, make WINDOW's buffer current and set its buffer's value of `point' to the value of WINDOW's `window-point'. Return WINDOW. Optional second arg NORECORD non-nil means do not put this buffer at the front of the buffer list and do not make this window the most recently selected one. Also, do not mark WINDOW for redisplay unless NORECORD equals the special symbol `mark-for-redisplay'. Run `buffer-list-update-hook' unless NORECORD is non-nil. Note that applications and internal routines often select a window temporarily for various purposes; mostly, to simplify coding. As a rule, such selections should be not recorded and therefore will not pollute `buffer-list-update-hook'. Selections that "really count" are those causing a visible change in the next redisplay of WINDOW's frame and should be always recorded. So if you think of running a function each time a window gets selected put it on `buffer-list-update-hook'. Also note that the main editor command loop sets the current buffer to the buffer of the selected window before each command. (fn WINDOW &optional NORECORD)Fwindow-buffer Return the buffer displayed in window WINDOW. If WINDOW is omitted or nil, it defaults to the selected window. Return nil for an internal window or a deleted window. (fn &optional WINDOW)Fwindow-old-buffer Return the old buffer displayed by WINDOW. WINDOW must be a live window and defaults to the selected one. The return value is the buffer shown in WINDOW at the last time window change functions were run. It is nil if WINDOW was created after that. It is t if WINDOW has been restored from a window configuration after that. (fn &optional WINDOW)Fwindow-parent Return the parent window of window WINDOW. WINDOW must be a valid window and defaults to the selected one. Return nil for a window with no parent (e.g. a root window). (fn &optional WINDOW)Fwindow-top-child Return the topmost child window of window WINDOW. WINDOW must be a valid window and defaults to the selected one. Return nil if WINDOW is a live window (live windows have no children). Return nil if WINDOW is an internal window whose children form a horizontal combination. (fn &optional WINDOW)Fwindow-left-child Return the leftmost child window of window WINDOW. WINDOW must be a valid window and defaults to the selected one. Return nil if WINDOW is a live window (live windows have no children). Return nil if WINDOW is an internal window whose children form a vertical combination. (fn &optional WINDOW)Fwindow-next-sibling Return the next sibling window of window WINDOW. WINDOW must be a valid window and defaults to the selected one. Return nil if WINDOW has no next sibling. (fn &optional WINDOW)Fwindow-prev-sibling Return the previous sibling window of window WINDOW. WINDOW must be a valid window and defaults to the selected one. Return nil if WINDOW has no previous sibling. (fn &optional WINDOW)Fwindow-combination-limit Return combination limit of window WINDOW. WINDOW must be a valid window used in horizontal or vertical combination. If the return value is nil, child windows of WINDOW can be recombined with WINDOW's siblings. A return value of t means that child windows of WINDOW are never (re-)combined with WINDOW's siblings. (fn WINDOW)Fset-window-combination-limit Set combination limit of window WINDOW to LIMIT; return LIMIT. WINDOW must be a valid window used in horizontal or vertical combination. If LIMIT is nil, child windows of WINDOW can be recombined with WINDOW's siblings. LIMIT t means that child windows of WINDOW are never (re-)combined with WINDOW's siblings. Other values are reserved for future use. (fn WINDOW LIMIT)Fwindow-use-time Return the use time of window WINDOW. WINDOW must be a live window and defaults to the selected one. The window with the highest use time is the most recently selected one. The window with the lowest use time is the least recently selected one. (fn &optional WINDOW)Fwindow-pixel-width Return the width of window WINDOW in pixels. WINDOW must be a valid window and defaults to the selected one. The return value includes the fringes and margins of WINDOW as well as any vertical dividers or scroll bars belonging to WINDOW. If WINDOW is an internal window, its pixel width is the width of the screen areas spanned by its children. (fn &optional WINDOW)Fwindow-pixel-height Return the height of window WINDOW in pixels. WINDOW must be a valid window and defaults to the selected one. The return value includes the mode line and header line and the bottom divider, if any. If WINDOW is an internal window, its pixel height is the height of the screen areas spanned by its children. (fn &optional WINDOW)Fwindow-old-pixel-width Return old total pixel width of WINDOW. WINDOW must be a valid window and defaults to the selected one. The return value is the total pixel width of WINDOW after the last time window change functions found WINDOW live on its frame. It is zero if WINDOW was created after that. (fn &optional WINDOW)Fwindow-old-pixel-height Return old total pixel height of WINDOW. WINDOW must be a valid window and defaults to the selected one. The return value is the total pixel height of WINDOW after the last time window change functions found WINDOW live on its frame. It is zero if WINDOW was created after that. (fn &optional WINDOW)Fwindow-total-height Return the height of window WINDOW in lines. WINDOW must be a valid window and defaults to the selected one. The return value includes the heights of WINDOW's mode and header line and its bottom divider, if any. If WINDOW is an internal window, the total height is the height of the screen areas spanned by its children. If WINDOW's pixel height is not an integral multiple of its frame's character height, the number of lines occupied by WINDOW is rounded internally. This is done in a way such that, if WINDOW is a parent window, the sum of the total heights of all its children internally equals the total height of WINDOW. If the optional argument ROUND is `ceiling', return the smallest integer larger than WINDOW's pixel height divided by the character height of WINDOW's frame. ROUND `floor' means to return the largest integer smaller than WINDOW's pixel height divided by the character height of WINDOW's frame. Any other value of ROUND means to return the internal total height of WINDOW. (fn &optional WINDOW ROUND)Fwindow-total-width Return the total width of window WINDOW in columns. WINDOW must be a valid window and defaults to the selected one. The return value includes the widths of WINDOW's fringes, margins, scroll bars and its right divider, if any. If WINDOW is an internal window, the total width is the width of the screen areas spanned by its children. If WINDOW's pixel width is not an integral multiple of its frame's character width, the number of lines occupied by WINDOW is rounded internally. This is done in a way such that, if WINDOW is a parent window, the sum of the total widths of all its children internally equals the total width of WINDOW. If the optional argument ROUND is `ceiling', return the smallest integer larger than WINDOW's pixel width divided by the character width of WINDOW's frame. ROUND `floor' means to return the largest integer smaller than WINDOW's pixel width divided by the character width of WINDOW's frame. Any other value of ROUND means to return the internal total width of WINDOW. (fn &optional WINDOW ROUND)Fwindow-new-total Return the new total size of window WINDOW. WINDOW must be a valid window and defaults to the selected one. The new total size of WINDOW is the value set by the last call of `set-window-new-total' for WINDOW. If it is valid, it will be shortly installed as WINDOW's total height (see `window-total-height') or total width (see `window-total-width'). (fn &optional WINDOW)Fwindow-normal-size Return the normal height of window WINDOW. WINDOW must be a valid window and defaults to the selected one. If HORIZONTAL is non-nil, return the normal width of WINDOW. The normal height of a frame's root window or a window that is horizontally combined (a window that has a left or right sibling) is 1.0. The normal height of a window that is vertically combined (has a sibling above or below) is the fraction of the window's height with respect to its parent. The sum of the normal heights of all windows in a vertical combination equals 1.0. Similarly, the normal width of a frame's root window or a window that is vertically combined equals 1.0. The normal width of a window that is horizontally combined is the fraction of the window's width with respect to its parent. The sum of the normal widths of all windows in a horizontal combination equals 1.0. The normal sizes of windows are used to restore the proportional sizes of windows after they have been shrunk to their minimum sizes; for example when a frame is temporarily made very small and afterwards gets re-enlarged to its previous size. (fn &optional WINDOW HORIZONTAL)Fwindow-new-normal Return new normal size of window WINDOW. WINDOW must be a valid window and defaults to the selected one. The new normal size of WINDOW is the value set by the last call of `set-window-new-normal' for WINDOW. If valid, it will be shortly installed as WINDOW's normal size (see `window-normal-size'). (fn &optional WINDOW)Fwindow-new-pixel Return new pixel size of window WINDOW. WINDOW must be a valid window and defaults to the selected one. The new pixel size of WINDOW is the value set by the last call of `set-window-new-pixel' for WINDOW. If it is valid, it will be shortly installed as WINDOW's pixel height (see `window-pixel-height') or pixel width (see `window-pixel-width'). (fn &optional WINDOW)Fwindow-pixel-left Return left pixel edge of window WINDOW. WINDOW must be a valid window and defaults to the selected one. (fn &optional WINDOW)Fwindow-pixel-top Return top pixel edge of window WINDOW. WINDOW must be a valid window and defaults to the selected one. (fn &optional WINDOW)Fwindow-left-column Return left column of window WINDOW. This is the distance, in columns, between the left edge of WINDOW and the left edge of the frame's window area. For instance, the return value is 0 if there is no window to the left of WINDOW. WINDOW must be a valid window and defaults to the selected one. (fn &optional WINDOW)Fwindow-top-line Return top line of window WINDOW. This is the distance, in lines, between the top of WINDOW and the top of the frame's window area. For instance, the return value is 0 if there is no window above WINDOW. WINDOW must be a valid window and defaults to the selected one. (fn &optional WINDOW)Fwindow-body-width Return the width of WINDOW's text area. WINDOW must be a live window and defaults to the selected one. Optional argument PIXELWISE non-nil means return the width in pixels. The return value does not include any vertical dividers, fringes or marginal areas, or scroll bars. If PIXELWISE is nil, return the largest integer smaller than WINDOW's pixel width divided by the character width of WINDOW's frame. This means that if a column at the right of the text area is only partially visible, that column is not counted. Note that the returned value includes the column reserved for the continuation glyph. (fn &optional WINDOW PIXELWISE)Fwindow-body-height Return the height of WINDOW's text area. WINDOW must be a live window and defaults to the selected one. Optional argument PIXELWISE non-nil means return the height of WINDOW's text area in pixels. The return value does not include the mode line or header line or any horizontal divider. If PIXELWISE is nil, return the largest integer smaller than WINDOW's pixel height divided by the character height of WINDOW's frame. This means that if a line at the bottom of the text area is only partially visible, that line is not counted. (fn &optional WINDOW PIXELWISE)Fwindow-old-body-pixel-width Return old width of WINDOW's text area in pixels. WINDOW must be a live window and defaults to the selected one. The return value is the pixel width of WINDOW's text area after the last time window change functions found WINDOW live on its frame. It is zero if WINDOW was created after that. (fn &optional WINDOW)Fwindow-old-body-pixel-height Return old height of WINDOW's text area in pixels. WINDOW must be a live window and defaults to the selected one. The return value is the pixel height of WINDOW's text area after the last time window change functions found WINDOW live on its frame. It is zero if WINDOW was created after that. (fn &optional WINDOW)Fwindow-mode-line-height Return the height in pixels of WINDOW's mode-line. WINDOW must be a live window and defaults to the selected one. (fn &optional WINDOW)Fwindow-header-line-height Return the height in pixels of WINDOW's header-line. WINDOW must be a live window and defaults to the selected one. (fn &optional WINDOW)Fwindow-tab-line-height Return the height in pixels of WINDOW's tab-line. WINDOW must be a live window and defaults to the selected one. (fn &optional WINDOW)Fwindow-right-divider-width Return the width in pixels of WINDOW's right divider. WINDOW must be a live window and defaults to the selected one. (fn &optional WINDOW)Fwindow-bottom-divider-width Return the width in pixels of WINDOW's bottom divider. WINDOW must be a live window and defaults to the selected one. (fn &optional WINDOW)Fwindow-scroll-bar-width Return the width in pixels of WINDOW's vertical scrollbar. WINDOW must be a live window and defaults to the selected one. (fn &optional WINDOW)Fwindow-scroll-bar-height Return the height in pixels of WINDOW's horizontal scrollbar. WINDOW must be a live window and defaults to the selected one. (fn &optional WINDOW)Fwindow-hscroll Return the number of columns by which WINDOW is scrolled from left margin. WINDOW must be a live window and defaults to the selected one. (fn &optional WINDOW)Fset-window-hscroll Set number of columns WINDOW is scrolled from left margin to NCOL. WINDOW must be a live window and defaults to the selected one. Clip the number to a reasonable value if out of range. Return the new number. NCOL should be zero or positive. Note that if `automatic-hscrolling' is non-nil, you cannot scroll the window so that the location of point moves off-window. (fn WINDOW NCOL)Fwindow-redisplay-end-trigger Return WINDOW's redisplay end trigger value. WINDOW must be a live window and defaults to the selected one. See `set-window-redisplay-end-trigger' for more information. (fn &optional WINDOW)Fset-window-redisplay-end-trigger Set WINDOW's redisplay end trigger value to VALUE. WINDOW must be a live window and defaults to the selected one. VALUE should be a buffer position (typically a marker) or nil. If it is a buffer position, then if redisplay in WINDOW reaches a position beyond VALUE, the functions in `redisplay-end-trigger-functions' are called with two arguments: WINDOW, and the end trigger value. Afterwards the end-trigger value is reset to nil. (fn WINDOW VALUE)Fcoordinates-in-window-p Return non-nil if COORDINATES are in WINDOW. WINDOW must be a live window and defaults to the selected one. COORDINATES is a cons of the form (X . Y), X and Y being distances measured in characters from the upper-left corner of the frame. (0 . 0) denotes the character in the upper left corner of the frame. If COORDINATES are in the text portion of WINDOW, the coordinates relative to the window are returned. If they are in the bottom divider of WINDOW, `bottom-divider' is returned. If they are in the right divider of WINDOW, `right-divider' is returned. If they are in the mode line of WINDOW, `mode-line' is returned. If they are in the header line of WINDOW, `header-line' is returned. If they are in the tab line of WINDOW, `tab-line' is returned. If they are in the left fringe of WINDOW, `left-fringe' is returned. If they are in the right fringe of WINDOW, `right-fringe' is returned. If they are on the border between WINDOW and its right sibling, `vertical-line' is returned. If they are in the windows's left or right marginal areas, `left-margin' or `right-margin' is returned. (fn COORDINATES WINDOW)Fwindow-at Return window containing coordinates X and Y on FRAME. FRAME must be a live frame and defaults to the selected one. The top left corner of the frame is considered to be row 0, column 0. (fn X Y &optional FRAME)Fwindow-point Return current value of point in WINDOW. WINDOW must be a live window and defaults to the selected one. For a nonselected window, this is the value point would have if that window were selected. Note that, when WINDOW is selected, the value returned is the same as that returned by `point' for WINDOW's buffer. It would be more strictly correct to return the top-level value of `point', outside of any `save-excursion' forms. But that is hard to define. (fn &optional WINDOW)Fwindow-old-point Return old value of point in WINDOW. WINDOW must be a live window and defaults to the selected one. (fn &optional WINDOW)Fwindow-start Return position at which display currently starts in WINDOW. WINDOW must be a live window and defaults to the selected one. This is updated by redisplay or by calling `set-window-start'. (fn &optional WINDOW)Fwindow-end Return position at which display currently ends in WINDOW. WINDOW must be a live window and defaults to the selected one. This is updated by redisplay, when it runs to completion. Simply changing the buffer text or setting `window-start' does not update this value. Return nil if there is no recorded value. (This can happen if the last redisplay of WINDOW was preempted, and did not finish.) If UPDATE is non-nil, compute the up-to-date position if it isn't already recorded. (fn &optional WINDOW UPDATE)Fset-window-point Make point value in WINDOW be at position POS in WINDOW's buffer. WINDOW must be a live window and defaults to the selected one. Return POS. (fn WINDOW POS)Fset-window-start Make display in WINDOW start at position POS in WINDOW's buffer. WINDOW must be a live window and defaults to the selected one. Return POS. Optional third arg NOFORCE non-nil inhibits next redisplay from overriding motion of point in order to display at this exact start. For reliable setting of WINDOW start position, make sure point is at a position that will be visible when that start is in effect, otherwise there's a chance POS will be disregarded, e.g., if point winds up in a partially-visible line. (fn WINDOW POS &optional NOFORCE)Fpos-visible-in-window-p Return non-nil if position POS is currently on the frame in WINDOW. WINDOW must be a live window and defaults to the selected one. Return nil if that position is scrolled vertically out of view. If a character is only partially visible, nil is returned, unless the optional argument PARTIALLY is non-nil. If POS is only out of view because of horizontal scrolling, return non-nil. If POS is t, it specifies either the first position displayed on the last visible screen line in WINDOW, or the end-of-buffer position, whichever comes first. POS defaults to point in WINDOW; WINDOW defaults to the selected window. If POS is visible, return t if PARTIALLY is nil; if PARTIALLY is non-nil, the return value is a list of 2 or 6 elements (X Y [RTOP RBOT ROWH VPOS]), where X and Y are the pixel coordinates relative to the top left corner of the window. The remaining elements are omitted if the character after POS is fully visible; otherwise, RTOP and RBOT are the number of pixels off-window at the top and bottom of the screen line ("row") containing POS, ROWH is the visible height of that row, and VPOS is the row number (zero-based). (fn &optional POS WINDOW PARTIALLY)Fwindow-line-height Return height in pixels of text line LINE in window WINDOW. WINDOW must be a live window and defaults to the selected one. Return height of current line if LINE is omitted or nil. Return height of header or mode line if LINE is `header-line' or `mode-line'. Otherwise, LINE is a text line number starting from 0. A negative number counts from the end of the window. Value is a list (HEIGHT VPOS YPOS OFFBOT), where HEIGHT is the height in pixels of the visible part of the line, VPOS and YPOS are the vertical position in lines and pixels of the line, relative to the top of the first text line, and OFFBOT is the number of off-window pixels at the bottom of the text line. If there are off-window pixels at the top of the (first) text line, YPOS is negative. Return nil if window display is not up-to-date. In that case, use `pos-visible-in-window-p' to obtain the information. (fn &optional LINE WINDOW)Fwindow-lines-pixel-dimensions Return pixel dimensions of WINDOW's lines. The return value is a list of the x- and y-coordinates of the lower right corner of the last character of each line. Return nil if the current glyph matrix of WINDOW is not up-to-date. Optional argument WINDOW specifies the window whose lines' dimensions shall be returned. Nil or omitted means to return the dimensions for the selected window. FIRST, if non-nil, specifies the index of the first line whose dimensions shall be returned. If FIRST is nil and BODY is non-nil, start with the first text line of WINDOW. Otherwise, start with the first line of WINDOW. LAST, if non-nil, specifies the last line whose dimensions shall be returned. If LAST is nil and BODY is non-nil, the last line is the last line of the body (text area) of WINDOW. Otherwise, last is the last line of WINDOW. INVERSE, if nil, means that the y-pixel value returned for a specific line specifies the distance in pixels from the left edge (body edge if BODY is non-nil) of WINDOW to the right edge of the last glyph of that line. INVERSE non-nil means that the y-pixel value returned for a specific line specifies the distance in pixels from the right edge of the last glyph of that line to the right edge (body edge if BODY is non-nil) of WINDOW. LEFT non-nil means to return the x- and y-coordinates of the lower left corner of the leftmost character on each line. This is the value that should be used for buffers that mostly display text from right to left. If LEFT is non-nil and INVERSE is nil, this means that the y-pixel value returned for a specific line specifies the distance in pixels from the left edge of the last (leftmost) glyph of that line to the right edge (body edge if BODY is non-nil) of WINDOW. If LEFT and INVERSE are both non-nil, the y-pixel value returned for a specific line specifies the distance in pixels from the left edge (body edge if BODY is non-nil) of WINDOW to the left edge of the last (leftmost) glyph of that line. Normally, the value of this function is not available while Emacs is busy, for example, when processing a command. It should be retrievable though when run from an idle timer with a delay of zero seconds. (fn &optional WINDOW FIRST LAST BODY INVERSE LEFT)Fwindow-dedicated-p Return non-nil when WINDOW is dedicated to its buffer. More precisely, return the value assigned by the last call of `set-window-dedicated-p' for WINDOW. Return nil if that function was never called with WINDOW as its argument, or the value set by that function was internally reset since its last call. WINDOW must be a live window and defaults to the selected one. When a window is dedicated to its buffer, `display-buffer' will refrain from displaying another buffer in it. `get-lru-window' and `get-largest-window' treat dedicated windows specially. `delete-windows-on', `replace-buffer-in-windows', `quit-window' and `kill-buffer' can delete a dedicated window and the containing frame. Functions like `set-window-buffer' may change the buffer displayed by a window, unless that window is "strongly" dedicated to its buffer, that is the value returned by `window-dedicated-p' is t. (fn &optional WINDOW)Fset-window-dedicated-p Mark WINDOW as dedicated according to FLAG. WINDOW must be a live window and defaults to the selected one. FLAG non-nil means mark WINDOW as dedicated to its buffer. FLAG nil means mark WINDOW as non-dedicated. Return FLAG. When a window is dedicated to its buffer, `display-buffer' will refrain from displaying another buffer in it. `get-lru-window' and `get-largest-window' treat dedicated windows specially. `delete-windows-on', `replace-buffer-in-windows', `quit-window', `quit-restore-window' and `kill-buffer' can delete a dedicated window and the containing frame. As a special case, if FLAG is t, mark WINDOW as "strongly" dedicated to its buffer. Functions like `set-window-buffer' may change the buffer displayed by a window, unless that window is strongly dedicated to its buffer. If and when `set-window-buffer' displays another buffer in a window, it also makes sure that the window is no more dedicated. (fn WINDOW FLAG)Fwindow-prev-buffers Return buffers previously shown in WINDOW. WINDOW must be a live window and defaults to the selected one. The return value is a list of elements (BUFFER WINDOW-START POS), where BUFFER is a buffer, WINDOW-START is the start position of the window for that buffer, and POS is a window-specific point value. (fn &optional WINDOW)Fset-window-prev-buffers Set WINDOW's previous buffers to PREV-BUFFERS. WINDOW must be a live window and defaults to the selected one. PREV-BUFFERS should be a list of elements (BUFFER WINDOW-START POS), where BUFFER is a buffer, WINDOW-START is the start position of the window for that buffer, and POS is a window-specific point value. (fn WINDOW PREV-BUFFERS)Fwindow-next-buffers Return list of buffers recently re-shown in WINDOW. WINDOW must be a live window and defaults to the selected one. (fn &optional WINDOW)Fset-window-next-buffers Set WINDOW's next buffers to NEXT-BUFFERS. WINDOW must be a live window and defaults to the selected one. NEXT-BUFFERS should be a list of buffers. (fn WINDOW NEXT-BUFFERS)Fwindow-parameters Return the parameters of WINDOW and their values. WINDOW must be a valid window and defaults to the selected one. The return value is a list of elements of the form (PARAMETER . VALUE). (fn &optional WINDOW)Fwindow-parameter Return WINDOW's value for PARAMETER. WINDOW can be any window and defaults to the selected one. (fn WINDOW PARAMETER)Fset-window-parameter Set WINDOW's value of PARAMETER to VALUE. WINDOW can be any window and defaults to the selected one. Return VALUE. (fn WINDOW PARAMETER VALUE)Fwindow-display-table Return the display-table that WINDOW is using. WINDOW must be a live window and defaults to the selected one. (fn &optional WINDOW)Fset-window-display-table Set WINDOW's display-table to TABLE. WINDOW must be a live window and defaults to the selected one. (fn WINDOW TABLE)Fnext-window Return live window after WINDOW in the cyclic ordering of windows. WINDOW must be a live window and defaults to the selected one. The optional arguments MINIBUF and ALL-FRAMES specify the set of windows to consider. MINIBUF nil or omitted means consider the minibuffer window only if the minibuffer is active. MINIBUF t means consider the minibuffer window even if the minibuffer is not active. Any other value means do not consider the minibuffer window even if the minibuffer is active. ALL-FRAMES nil or omitted means consider all windows on WINDOW's frame, plus the minibuffer window if specified by the MINIBUF argument. If the minibuffer counts, consider all windows on all frames that share that minibuffer too. The following non-nil values of ALL-FRAMES have special meanings: - t means consider all windows on all existing frames. - `visible' means consider all windows on all visible frames. - 0 (the number zero) means consider all windows on all visible and iconified frames. - A frame means consider all windows on that frame only. Anything else means consider all windows on WINDOW's frame and no others. If you use consistent values for MINIBUF and ALL-FRAMES, you can use `next-window' to iterate through the entire cycle of acceptable windows, eventually ending up back at the window you started with. `previous-window' traverses the same cycle, in the reverse order. (fn &optional WINDOW MINIBUF ALL-FRAMES)Fprevious-window Return live window before WINDOW in the cyclic ordering of windows. WINDOW must be a live window and defaults to the selected one. The optional arguments MINIBUF and ALL-FRAMES specify the set of windows to consider. MINIBUF nil or omitted means consider the minibuffer window only if the minibuffer is active. MINIBUF t means consider the minibuffer window even if the minibuffer is not active. Any other value means do not consider the minibuffer window even if the minibuffer is active. ALL-FRAMES nil or omitted means consider all windows on WINDOW's frame, plus the minibuffer window if specified by the MINIBUF argument. If the minibuffer counts, consider all windows on all frames that share that minibuffer too. The following non-nil values of ALL-FRAMES have special meanings: - t means consider all windows on all existing frames. - `visible' means consider all windows on all visible frames. - 0 (the number zero) means consider all windows on all visible and iconified frames. - A frame means consider all windows on that frame only. Anything else means consider all windows on WINDOW's frame and no others. If you use consistent values for MINIBUF and ALL-FRAMES, you can use `previous-window' to iterate through the entire cycle of acceptable windows, eventually ending up back at the window you started with. `next-window' traverses the same cycle, in the reverse order. (fn &optional WINDOW MINIBUF ALL-FRAMES)Fwindow-list Return a list of windows on FRAME, starting with WINDOW. FRAME nil or omitted means use the selected frame. WINDOW nil or omitted means use the window selected within FRAME. MINIBUF t means include the minibuffer window, even if it isn't active. MINIBUF nil or omitted means include the minibuffer window only if it's active. MINIBUF neither nil nor t means never include the minibuffer window. (fn &optional FRAME MINIBUF WINDOW)Fwindow-list-1 Return a list of all live windows. WINDOW specifies the first window to list and defaults to the selected window. Optional argument MINIBUF nil or omitted means consider the minibuffer window only if the minibuffer is active. MINIBUF t means consider the minibuffer window even if the minibuffer is not active. Any other value means do not consider the minibuffer window even if the minibuffer is active. Optional argument ALL-FRAMES nil or omitted means consider all windows on WINDOW's frame, plus the minibuffer window if specified by the MINIBUF argument. If the minibuffer counts, consider all windows on all frames that share that minibuffer too. The following non-nil values of ALL-FRAMES have special meanings: - t means consider all windows on all existing frames. - `visible' means consider all windows on all visible frames. - 0 (the number zero) means consider all windows on all visible and iconified frames. - A frame means consider all windows on that frame only. Anything else means consider all windows on WINDOW's frame and no others. If WINDOW is not on the list of windows returned, some other window will be listed first but no error is signaled. (fn &optional WINDOW MINIBUF ALL-FRAMES)Fget-buffer-window Return a window currently displaying BUFFER-OR-NAME, or nil if none. BUFFER-OR-NAME may be a buffer or a buffer name and defaults to the current buffer. The optional argument ALL-FRAMES specifies the frames to consider: - t means consider all windows on all existing frames. - `visible' means consider all windows on all visible frames. - 0 (the number zero) means consider all windows on all visible and iconified frames. - A frame means consider all windows on that frame only. Any other value of ALL-FRAMES means consider all windows on the selected frame and no others. (fn &optional BUFFER-OR-NAME ALL-FRAMES)Fdelete-other-windows-internal Make WINDOW fill its frame. Only the frame WINDOW is on is affected. WINDOW must be a valid window and defaults to the selected one. Optional argument ROOT, if non-nil, must specify an internal window such that WINDOW is in its window subtree. If this is the case, replace ROOT by WINDOW and leave alone any windows not part of ROOT's subtree. When WINDOW is live try to reduce display jumps by keeping the text previously visible in WINDOW in the same place on the frame. Doing this depends on the value of (window-start WINDOW), so if calling this function in a program gives strange scrolling, make sure the window-start value is reasonable when this function is called. (fn &optional WINDOW ROOT)Frun-window-configuration-change-hook Run `window-configuration-change-hook' for FRAME. If FRAME is omitted or nil, it defaults to the selected frame. This function should not be needed any more and will be therefore considered obsolete. (fn &optional FRAME)Frun-window-scroll-functions Run `window-scroll-functions' for WINDOW. If WINDOW is omitted or nil, it defaults to the selected window. This function is called by `split-window' for the new window, after it has established the size of the new window. (fn &optional WINDOW)Fset-window-buffer Make WINDOW display BUFFER-OR-NAME. WINDOW must be a live window and defaults to the selected one. BUFFER-OR-NAME must be a buffer or the name of an existing buffer. Optional third argument KEEP-MARGINS non-nil means that WINDOW's current display margins, fringe widths, and scroll bar settings are preserved; the default is to reset these from the local settings for BUFFER-OR-NAME or the frame defaults. Return nil. This function throws an error when WINDOW is strongly dedicated to its buffer (that is `window-dedicated-p' returns t for WINDOW) and does not already display BUFFER-OR-NAME. This function runs `window-scroll-functions' before running `window-configuration-change-hook'. (fn WINDOW BUFFER-OR-NAME &optional KEEP-MARGINS)Fforce-window-update Force all windows to be updated on next redisplay. If optional arg OBJECT is a window, force redisplay of that window only. If OBJECT is a buffer or buffer name, force redisplay of all windows displaying that buffer. (fn &optional OBJECT)Fset-window-new-pixel Set new pixel size of WINDOW to SIZE. WINDOW must be a valid window and defaults to the selected one. Return SIZE. Optional argument ADD non-nil means add SIZE to the new pixel size of WINDOW and return the sum. The new pixel size of WINDOW, if valid, will be shortly installed as WINDOW's pixel height (see `window-pixel-height') or pixel width (see `window-pixel-width'). Note: This function does not operate on any child windows of WINDOW. (fn WINDOW SIZE &optional ADD)Fset-window-new-total Set new total size of WINDOW to SIZE. WINDOW must be a valid window and defaults to the selected one. Return SIZE. Optional argument ADD non-nil means add SIZE to the new total size of WINDOW and return the sum. The new total size of WINDOW, if valid, will be shortly installed as WINDOW's total height (see `window-total-height') or total width (see `window-total-width'). Note: This function does not operate on any child windows of WINDOW. (fn WINDOW SIZE &optional ADD)Fset-window-new-normal Set new normal size of WINDOW to SIZE. WINDOW must be a valid window and defaults to the selected one. Return SIZE. The new normal size of WINDOW, if valid, will be shortly installed as WINDOW's normal size (see `window-normal-size'). Note: This function does not operate on any child windows of WINDOW. (fn WINDOW &optional SIZE)Fwindow-resize-apply Apply requested size values for window-tree of FRAME. If FRAME is omitted or nil, it defaults to the selected frame. Optional argument HORIZONTAL omitted or nil means apply requested height values. HORIZONTAL non-nil means apply requested width values. The requested size values are those set by `set-window-new-pixel' and `set-window-new-normal'. This function checks whether the requested values sum up to a valid window layout, recursively assigns the new sizes of all child windows and calculates and assigns the new start positions of these windows. Return t if the requested values have been applied correctly, nil otherwise. Note: This function does not check any of `window-fixed-size-p', `window-min-height' or `window-min-width'. All these checks have to be applied on the Elisp level. (fn &optional FRAME HORIZONTAL)Fwindow-resize-apply-total Apply requested total size values for window-tree of FRAME. If FRAME is omitted or nil, it defaults to the selected frame. This function does not assign pixel or normal size values. You should have run `window-resize-apply' before running this. Optional argument HORIZONTAL omitted or nil means apply requested height values. HORIZONTAL non-nil means apply requested width values. (fn &optional FRAME HORIZONTAL)Fsplit-window-internal Split window OLD. Second argument PIXEL-SIZE specifies the number of pixels of the new window. It must be a positive integer. Third argument SIDE nil (or `below') specifies that the new window shall be located below WINDOW. SIDE `above' means the new window shall be located above WINDOW. In both cases PIXEL-SIZE specifies the pixel height of the new window including space reserved for the mode and/or header/tab line. SIDE t (or `right') specifies that the new window shall be located on the right side of WINDOW. SIDE `left' means the new window shall be located on the left of WINDOW. In both cases PIXEL-SIZE specifies the width of the new window including space reserved for fringes and the scrollbar or a divider column. Fourth argument NORMAL-SIZE specifies the normal size of the new window according to the SIDE argument. The new pixel and normal sizes of all involved windows must have been set correctly. See the code of `split-window' for how this is done. (fn OLD PIXEL-SIZE SIDE NORMAL-SIZE)Fdelete-window-internal Remove WINDOW from its frame. WINDOW defaults to the selected window. Return nil. Signal an error when WINDOW is the only window on its frame. (fn WINDOW)Fresize-mini-window-internal Resize mini window WINDOW. (fn WINDOW)Fscroll-up Scroll text of selected window upward ARG lines. If ARG is omitted or nil, scroll upward by a near full screen. A near full screen is `next-screen-context-lines' less than a full screen. Negative ARG means scroll downward. If ARG is the atom `-', scroll downward by nearly full screen. When calling from a program, supply as argument a number, nil, or `-'. (fn &optional ARG)Fscroll-down Scroll text of selected window down ARG lines. If ARG is omitted or nil, scroll down by a near full screen. A near full screen is `next-screen-context-lines' less than a full screen. Negative ARG means scroll upward. If ARG is the atom `-', scroll upward by nearly full screen. When calling from a program, supply as argument a number, nil, or `-'. (fn &optional ARG)Fother-window-for-scrolling Return the other window for "other window scroll" commands. If in the minibuffer, `minibuffer-scroll-window' if non-nil specifies the window. Otherwise, if `other-window-scroll-buffer' is non-nil, a window showing that buffer is used, popping the buffer up if necessary. Finally, look for a neighboring window on the selected frame, followed by all visible frames on the current terminal. (fn)Fscroll-other-window Scroll next window upward ARG lines; or near full screen if no ARG. A near full screen is `next-screen-context-lines' less than a full screen. Negative ARG means scroll downward. If ARG is the atom `-', scroll downward by nearly full screen. When calling from a program, supply as argument a number, nil, or `-'. The next window is usually the one below the current one; or the one at the top if the current one is at the bottom. It is determined by the function `other-window-for-scrolling', which see. (fn &optional ARG)Fscroll-other-window-down Scroll next window downward ARG lines; or near full screen if no ARG. For more details, see the documentation for `scroll-other-window'. (fn &optional ARG)Fscroll-left Scroll selected window display ARG columns left. Default for ARG is window width minus 2. Value is the total amount of leftward horizontal scrolling in effect after the change. If SET-MINIMUM is non-nil, the new scroll amount becomes the lower bound for automatic scrolling, i.e. automatic scrolling will not scroll a window to a column less than the value returned by this function. This happens in an interactive call. (fn &optional ARG SET-MINIMUM)Fscroll-right Scroll selected window display ARG columns right. Default for ARG is window width minus 2. Value is the total amount of leftward horizontal scrolling in effect after the change. If SET-MINIMUM is non-nil, the new scroll amount becomes the lower bound for automatic scrolling, i.e. automatic scrolling will not scroll a window to a column less than the value returned by this function. This happens in an interactive call. (fn &optional ARG SET-MINIMUM)Fminibuffer-selected-window Return window selected just before minibuffer window was selected. Return nil if the selected window is not a minibuffer window. (fn)Frecenter Center point in selected window and maybe redisplay frame. With a numeric prefix argument ARG, recenter putting point on screen line ARG relative to the selected window. If ARG is negative, it counts up from the bottom of the window. (ARG should be less than the height of the window.) If ARG is omitted or nil, then recenter with point on the middle line of the selected window; if REDISPLAY & `recenter-redisplay' are non-nil, also erase the entire frame and redraw it (when `auto-resize-tool-bars' is set to `grow-only', this resets the tool-bar's height to the minimum height needed); if `recenter-redisplay' has the special value `tty', then only tty frames are redrawn. Interactively, REDISPLAY is always non-nil. Just C-u as prefix means put point in the center of the window and redisplay normally--don't erase and redraw the frame. (fn &optional ARG REDISPLAY)Fwindow-text-width Return the width in columns of the text display area of WINDOW. WINDOW must be a live window and defaults to the selected one. The returned width does not include dividers, scrollbars, margins, fringes, nor any partial-width columns at the right of the text area. Optional argument PIXELWISE non-nil, means to return the width in pixels. (fn &optional WINDOW PIXELWISE)Fwindow-text-height Return the height in lines of the text display area of WINDOW. WINDOW must be a live window and defaults to the selected one. The returned height does not include dividers, the mode line, any header line, nor any partial-height lines at the bottom of the text area. Optional argument PIXELWISE non-nil, means to return the height in pixels. (fn &optional WINDOW PIXELWISE)Fmove-to-window-line Position point relative to window. ARG nil means position point at center of window. Else, ARG specifies vertical position within the window; zero means top of window, negative means relative to bottom of window, -1 meaning the last fully visible display line of the window. Value is the screen line of the window point moved to, counting from the top of the window. (fn ARG)Fwindow-configuration-p Return t if OBJECT is a window-configuration object. (fn OBJECT)Fwindow-configuration-frame Return the frame that CONFIG, a window-configuration object, is about. (fn CONFIG)Fset-window-configuration Set the configuration of windows and buffers as specified by CONFIGURATION. CONFIGURATION must be a value previously returned by `current-window-configuration' (which see). If CONFIGURATION was made from a frame that is now deleted, only frame-independent values can be restored. In this case, the return value is nil. Otherwise the value is t. (fn CONFIGURATION)Fcurrent-window-configuration Return an object representing the current window configuration of FRAME. If FRAME is nil or omitted, use the selected frame. This describes the number of windows, their sizes and current buffers, and for each displayed buffer, where display starts, and the position of point. An exception is made for point in the current buffer: its value is -not- saved. This also records the currently selected frame, and FRAME's focus redirection (see `redirect-frame-focus'). The variable `window-persistent-parameters' specifies which window parameters are saved by this function. (fn &optional FRAME)Fset-window-margins Set width of marginal areas of window WINDOW. WINDOW must be a live window and defaults to the selected one. Second arg LEFT-WIDTH specifies the number of character cells to reserve for the left marginal area. Optional third arg RIGHT-WIDTH does the same for the right marginal area. A nil width parameter means no margin. Leave margins unchanged if WINDOW is not large enough to accommodate margins of the desired width. Return t if any margin was actually changed and nil otherwise. (fn WINDOW LEFT-WIDTH &optional RIGHT-WIDTH)Fwindow-margins Get width of marginal areas of window WINDOW. WINDOW must be a live window and defaults to the selected one. Value is a cons of the form (LEFT-WIDTH . RIGHT-WIDTH). If a marginal area does not exist, its width will be returned as nil. (fn &optional WINDOW)Fset-window-fringes Set fringes of specified WINDOW. WINDOW must specify a live window and defaults to the selected one. Second arg LEFT-WIDTH specifies the number of pixels to reserve for the left fringe. Optional third arg RIGHT-WIDTH specifies the right fringe width. If a fringe width arg is nil, that means to use the frame's default fringe width. Default fringe widths can be set with the command `set-fringe-style'. If optional fourth arg OUTSIDE-MARGINS is non-nil, draw the fringes outside of the display margins. By default, fringes are drawn between display marginal areas and the text area. Optional fifth argument PERSISTENT non-nil means that fringe settings for WINDOW are persistent, i.e., remain unchanged when another buffer is shown in WINDOW. PERSISTENT nil means that fringes are reset from buffer local values when `set-window-buffer' is called on WINDOW with the argument KEEP-MARGINS nil. Leave fringes unchanged if WINDOW is not large enough to accommodate fringes of the desired width. Return t if any fringe was actually changed and nil otherwise. (fn WINDOW LEFT-WIDTH &optional RIGHT-WIDTH OUTSIDE-MARGINS PERSISTENT)Fwindow-fringes Return fringe settings for specified WINDOW. WINDOW must be a live window and defaults to the selected one. Value is a list of the form (LEFT-WIDTH RIGHT-WIDTH OUTSIDE-MARGINS PERSISTENT), see `set-window-fringes'. (fn &optional WINDOW)Fset-window-scroll-bars Set width and type of scroll bars of specified WINDOW. WINDOW must specify a live window and defaults to the selected one. Second argument WIDTH specifies the pixel width for the vertical scroll bar. If WIDTH is nil, use the scroll bar width of WINDOW's frame. Third argument VERTICAL-TYPE specifies the type of the vertical scroll bar: left, right, nil or t where nil means to not display a vertical scroll bar on WINDOW and t means to use WINDOW frame's vertical scroll bar type. Fourth argument HEIGHT specifies the pixel height for the horizontal scroll bar. If HEIGHT is nil, use the scroll bar height of WINDOW's frame. Fifth argument HORIZONTAL-TYPE specifies the type of the horizontal scroll bar: bottom, nil, or t where nil means to not display a horizontal scroll bar on WINDOW and t means to use WINDOW frame's horizontal scroll bar type. If WINDOW is a mini window, t effectively behaves like nil. HORIZONTAL-TYPE must equal bottom in order to show a scroll bar for mini windows. Optional sixth argument PERSISTENT non-nil means that scroll bar settings for WINDOW are persistent, i.e., remain unchanged when another buffer is shown in WINDOW. PERSISTENT nil means that scroll bars are reset from buffer local values when `set-window-buffer' is called on WINDOW with the argument KEEP-MARGINS nil. If WINDOW is not large enough to accommodate a scroll bar of the desired dimension, leave the corresponding scroll bar unchanged. Return t if scroll bars were actually changed and nil otherwise. (fn WINDOW &optional WIDTH VERTICAL-TYPE HEIGHT HORIZONTAL-TYPE PERSISTENT)Fwindow-scroll-bars Get width and type of scroll bars of window WINDOW. WINDOW must be a live window and defaults to the selected one. Value is a list of the form (WIDTH COLUMNS VERTICAL-TYPE HEIGHT LINES HORIZONTAL-TYPE PERSISTENT), see `set-window-scroll-bars'. If WIDTH or HEIGHT is nil or VERTICAL-TYPE or HORIZONTAL-TYPE is t, WINDOW is using the frame's corresponding value. (fn &optional WINDOW)Fwindow-vscroll Return the amount by which WINDOW is scrolled vertically. This takes effect when displaying tall lines or images. If WINDOW is omitted or nil, it defaults to the selected window. Normally, value is a multiple of the canonical character height of WINDOW; optional second arg PIXELS-P means value is measured in pixels. (fn &optional WINDOW PIXELS-P)Fset-window-vscroll Set amount by which WINDOW should be scrolled vertically to VSCROLL. This takes effect when displaying tall lines or images. WINDOW nil means use the selected window. Normally, VSCROLL is a non-negative multiple of the canonical character height of WINDOW; optional third arg PIXELS-P non-nil means that VSCROLL is in pixels. If PIXELS-P is nil, VSCROLL may have to be rounded so that it corresponds to an integral number of pixels. The return value is the result of this rounding. If PIXELS-P is non-nil, the return value is VSCROLL. (fn WINDOW VSCROLL &optional PIXELS-P)Fcompare-window-configurations Compare two window configurations as regards the structure of windows. This function ignores details such as the values of point and scrolling positions. (fn X Y)Vtemp-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.Vminibuffer-scroll-window Non-nil means it is the window that C-M-v in minibuffer should scroll.Vmode-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.Vother-window-scroll-buffer If this is a live buffer, \[scroll-other-window] should scroll its window.Vauto-window-vscroll Non-nil means to automatically adjust `window-vscroll' to view tall lines.Vnext-screen-context-lines Number of lines of continuity when scrolling by screenfuls.Vscroll-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.Vwindow-point-insertion-type Type of marker to use for `window-point'.Vwindow-buffer-change-functions Functions called during redisplay when window buffers have changed. The value should be a list of functions that take one argument. Functions specified buffer-locally are called for each window showing the corresponding buffer if and only if that window has been added or changed its buffer since the last redisplay. In this case the window is passed as argument. Functions specified by the default value are called for each frame if at least one window on that frame has been added, deleted or changed its buffer since the last redisplay. In this case the frame is passed as argument.Vwindow-size-change-functions Functions called during redisplay when window sizes have changed. The value should be a list of functions that take one argument. Functions specified buffer-locally are called for each window showing the corresponding buffer if and only if that window has been added or changed its buffer or its total or body size since the last redisplay. In this case the window is passed as argument. Functions specified by the default value are called for each frame if at least one window on that frame has been added or changed its buffer or its total or body size since the last redisplay. In this case the frame is passed as argument.Vwindow-selection-change-functions Functions called during redisplay when the selected window has changed. The value should be a list of functions that take one argument. Functions specified buffer-locally are called for each window showing the corresponding buffer if and only if that window has been selected or deselected since the last redisplay. In this case the window is passed as argument. Functions specified by the default value are called for each frame if the frame's selected window has changed since the last redisplay. In this case the frame is passed as argument.Vwindow-state-change-functions Functions called during redisplay when the window state changed. The value should be a list of functions that take one argument. Functions specified buffer-locally are called for each window showing the corresponding buffer if and only if that window has been added, resized, changed its buffer or has been (de-)selected since the last redisplay. In this case the window is passed as argument. Functions specified by the default value are called for each frame if at least one window on that frame has been added, deleted, changed its buffer or its total or body size or the frame has been (de-)selected, its selected window has changed or the window state change flag has been set for this frame since the last redisplay. In this case the frame is passed as argument.Vwindow-state-change-hook Functions called during redisplay when the window state changed. The value should be a list of functions that take no argument. This hook is called during redisplay when at least one window has been added, deleted, (de-)selected, changed its buffer or its total or body size or the window state change flag has been set for at least one frame. This hook is called after all other window change functions have been run and should be used only if a function should react to changes that happened on at least two frames since last redisplay or the function intends to change the window configuration.Vwindow-configuration-change-hook Functions called during redisplay when window configuration has changed. The value should be a list of functions that take no argument. Functions specified buffer-locally are called for each window showing the corresponding buffer if at least one window on that frame has been added, deleted or changed its buffer or its total or body size since the last redisplay. Each call is performed with the window showing the buffer temporarily selected. Functions specified by the default value are called for each frame if at least one window on that frame has been added, deleted or changed its buffer or its total or body size since the last redisplay. Each call is performed with the frame temporarily selected.Vrecenter-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.Vwindow-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 splitting 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. A specific split operation may ignore the value of this variable if it is affected by a non-nil value of `window-combination-limit'.Vwindow-combination-limit If non-nil, splitting a window makes a new parent window. The following values are recognized: nil means splitting a window will create a new parent window only if the window has no parent window or the window shall become part of a combination orthogonal to the one it is part of. `window-size' means that splitting a window for displaying a buffer makes a new parent window provided `display-buffer' is supposed to explicitly set the window's size due to the presence of a `window-height' or `window-width' entry in the alist used by `display-buffer'. Otherwise, this value is handled like nil. `temp-buffer-resize' means that splitting a window for displaying a temporary buffer via `with-temp-buffer-window' makes a new parent window only if `temp-buffer-resize-mode' is enabled. Otherwise, this value is handled like nil. `temp-buffer' means that splitting a window for displaying a temporary buffer via `with-temp-buffer-window' always makes a new parent window. Otherwise, this value is handled like nil. `display-buffer' means that splitting a window for displaying a buffer always makes a new parent window. Since temporary buffers are displayed by the function `display-buffer', this value is stronger than `temp-buffer'. Splitting a window for other purpose makes a new parent window only if needed. t means that 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. The default value is `window-size'. Other values are reserved for future use.Vwindow-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'.Vwindow-resize-pixelwise Non-nil means resize windows pixelwise. This currently affects the functions: `split-window', `maximize-window', `minimize-window', `fit-window-to-buffer' and `fit-frame-to-buffer', and all functions that symmetrically resize a parent window. Note that when a frame's pixel size is not a multiple of the frame's character size, at least one window may get resized pixelwise even if this option is nil.Vfast-but-imprecise-scrolling When non-nil, accelerate scrolling operations. This comes into play when scrolling rapidly over previously unfontified buffer regions. Only those portions of the buffer which are actually going to be displayed get fontified. Note that this optimization can cause the portion of the buffer displayed after a scrolling operation to be somewhat inaccurate.Scharset.o Fcharsetp Return non-nil if and only if OBJECT is a charset. (fn OBJECT)Fmap-charset-chars Call FUNCTION for all characters in CHARSET. FUNCTION is called with an argument RANGE and the optional 3rd argument ARG. RANGE is a cons (FROM . TO), where FROM and TO indicate a range of characters contained in CHARSET. The optional 4th and 5th arguments FROM-CODE and TO-CODE specify the range of code points (in CHARSET) of target characters. (fn FUNCTION CHARSET &optional ARG FROM-CODE TO-CODE)Fdefine-charset-internal For internal use only. (fn ...)Fdefine-charset-alias Define ALIAS as an alias for charset CHARSET. (fn ALIAS CHARSET)Fcharset-plist Return the property list of CHARSET. (fn CHARSET)Fset-charset-plist Set CHARSET's property list to PLIST. (fn CHARSET PLIST)Funify-charset Unify characters of CHARSET with Unicode. This means reading the relevant file and installing the table defined by CHARSET's `:unify-map' property. Optional second arg UNIFY-MAP is a file name string or a vector. It has the same meaning as the `:unify-map' attribute in the function `define-charset' (which see). Optional third argument DEUNIFY, if non-nil, means to de-unify CHARSET. (fn CHARSET &optional UNIFY-MAP DEUNIFY)Fget-unused-iso-final-char Return an unused ISO final char for a charset of DIMENSION and CHARS. DIMENSION is the number of bytes to represent a character: 1 or 2. CHARS is the number of characters in a dimension: 94 or 96. This final char is for private use, thus the range is `0' (48) .. `?' (63). If there's no unused final char for the specified kind of charset, return nil. (fn DIMENSION CHARS)Fdeclare-equiv-charset Declare an equivalent charset for ISO-2022 decoding. On decoding by an ISO-2022 base coding system, when a charset specified by DIMENSION, CHARS, and FINAL-CHAR is designated, behave as if CHARSET is designated instead. (fn DIMENSION CHARS FINAL-CHAR CHARSET)Ffind-charset-region Return a list of charsets in the region between BEG and END. BEG and END are buffer positions. Optional arg TABLE if non-nil is a translation table to look up. If the current buffer is unibyte, the returned list may contain only `ascii', `eight-bit-control', and `eight-bit-graphic'. (fn BEG END &optional TABLE)Ffind-charset-string Return a list of charsets in STR. Optional arg TABLE if non-nil is a translation table to look up. If STR is unibyte, the returned list may contain only `ascii', `eight-bit-control', and `eight-bit-graphic'. (fn STR &optional TABLE)Fdecode-char Decode the pair of CHARSET and CODE-POINT into a character. Return nil if CODE-POINT is not valid in CHARSET. CODE-POINT may be a cons (HIGHER-16-BIT-VALUE . LOWER-16-BIT-VALUE), although this usage is obsolescent. (fn CHARSET CODE-POINT)Fencode-char Encode the character CH into a code-point of CHARSET. Return the encoded code-point, a fixnum if its value is small enough, otherwise a bignum. Return nil if CHARSET doesn't support CH. (fn CH CHARSET)Fmake-char Return a character of CHARSET whose position codes are CODEn. CODE1 through CODE4 are optional, but if you don't supply sufficient position codes, it is assumed that the minimum code in each dimension is specified. (fn CHARSET &optional CODE1 CODE2 CODE3 CODE4)Fsplit-char Return list of charset and one to four position-codes of CH. The charset is decided by the current priority order of charsets. A position-code is a byte value of each dimension of the code-point of CH in the charset. (fn CH)Fchar-charset Return the charset of highest priority that contains CH. ASCII characters are an exception: for them, this function always returns `ascii'. If optional 2nd arg RESTRICTION is non-nil, it is a list of charsets from which to find the charset. It may also be a coding system. In that case, find the charset from what supported by that coding system. (fn CH &optional RESTRICTION)Fcharset-after Return charset of a character in the current buffer at position POS. If POS is nil, it defaults to the current point. If POS is out of range, the value is nil. (fn &optional POS)Fiso-charset Return charset of ISO's specification DIMENSION, CHARS, and FINAL-CHAR. ISO 2022's designation sequence (escape sequence) distinguishes charsets by their DIMENSION, CHARS, and FINAL-CHAR, whereas Emacs distinguishes them by charset symbol. See the documentation of the function `charset-info' for the meanings of DIMENSION, CHARS, and FINAL-CHAR. (fn DIMENSION CHARS FINAL-CHAR)Fclear-charset-maps Internal use only. Clear temporary charset mapping tables. It should be called only from temacs invoked for dumping. (fn)Fcharset-priority-list Return the list of charsets ordered by priority. HIGHESTP non-nil means just return the highest priority one. (fn &optional HIGHESTP)Fset-charset-priority Assign higher priority to the charsets given as arguments. (fn &rest charsets)Fcharset-id-internal Internal use only. Return charset identification number of CHARSET. (fn &optional CHARSET)Fsort-charsets Sort charset list CHARSETS by a priority of each charset. Return the sorted list. CHARSETS is modified by side effects. See also `charset-priority-list' and `set-charset-priority'. (fn CHARSETS)Vcharset-map-path List of directories to search for charset map files.Vinhibit-load-charset-map Inhibit loading of charset maps. Used when dumping Emacs.Vcharset-list List of all charsets ever defined.Vcurrent-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.Scoding.o Fcoding-system-p Return t if OBJECT is nil or a coding-system. See the documentation of `define-coding-system' for information about coding-system objects. (fn OBJECT)Fread-non-nil-coding-system Read a coding system from the minibuffer, prompting with string PROMPT. (fn PROMPT)Fread-coding-system Read a coding system from the minibuffer, prompting with string PROMPT. If the user enters null input, return second argument DEFAULT-CODING-SYSTEM. Ignores case when completing coding systems (all Emacs coding systems are lower-case). (fn PROMPT &optional DEFAULT-CODING-SYSTEM)Fcheck-coding-system Check validity of CODING-SYSTEM. If valid, return CODING-SYSTEM, else signal a `coding-system-error' error. It is valid if it is nil or a symbol defined as a coding system by the function `define-coding-system'. (fn CODING-SYSTEM)Fdetect-coding-region Detect coding system of the text in the region between START and END. Return a list of possible coding systems ordered by priority. The coding systems to try and their priorities follows what the function `coding-system-priority-list' (which see) returns. If only ASCII characters are found (except for such ISO-2022 control characters as ESC), it returns a list of single element `undecided' or its subsidiary coding system according to a detected end-of-line format. If optional argument HIGHEST is non-nil, return the coding system of highest priority. (fn START END &optional HIGHEST)Fdetect-coding-string Detect coding system of the text in STRING. Return a list of possible coding systems ordered by priority. The coding systems to try and their priorities follows what the function `coding-system-priority-list' (which see) returns. If only ASCII characters are found (except for such ISO-2022 control characters as ESC), it returns a list of single element `undecided' or its subsidiary coding system according to a detected end-of-line format. If optional argument HIGHEST is non-nil, return the coding system of highest priority. (fn STRING &optional HIGHEST)Ffind-coding-systems-region-internal Internal use only. (fn START END &optional EXCLUDE)Funencodable-char-position Return position of first un-encodable character in a region. START and END specify the region and CODING-SYSTEM specifies the encoding to check. Return nil if CODING-SYSTEM does encode the region. If optional 4th argument COUNT is non-nil, it specifies at most how many un-encodable characters to search. In this case, the value is a list of positions. If optional 5th argument STRING is non-nil, it is a string to search for un-encodable characters. In that case, START and END are indexes to the string and treated as in `substring'. (fn START END CODING-SYSTEM &optional COUNT STRING)Fcheck-coding-systems-region Check if text between START and END is encodable by CODING-SYSTEM-LIST. START and END are buffer positions specifying the region. CODING-SYSTEM-LIST is a list of coding systems to check. If all coding systems in CODING-SYSTEM-LIST can encode the region, the function returns nil. If some of the coding systems cannot encode the whole region, value is an alist, each element of which has the form (CODING-SYSTEM POS1 POS2 ...), which means that CODING-SYSTEM cannot encode the text at buffer positions POS1, POS2, ... START may be a string. In that case, check if the string is encodable, and the value contains character indices into the string instead of buffer positions. END is ignored in this case. If the current buffer (or START if it is a string) is unibyte, the value is nil. (fn START END CODING-SYSTEM-LIST)Fdecode-coding-region Decode the current region from the specified coding system. What's meant by "decoding" is transforming bytes into text (characters). If, for instance, you have a region that contains data that represents the two bytes #xc2 #xa9, after calling this function with the utf-8 coding system, the region will contain the single character ?\N{COPYRIGHT SIGN}. When called from a program, takes four arguments: START, END, CODING-SYSTEM, and DESTINATION. START and END are buffer positions. Optional 4th arguments DESTINATION specifies where the decoded text goes. If nil, the region between START and END is replaced by the decoded text. If buffer, the decoded text is inserted in that buffer after point (point does not move). If that buffer is unibyte, it receives the individual bytes of the internal representation of the decoded text. In those cases, the length of the decoded text is returned. If DESTINATION is t, the decoded text is returned. This function sets `last-coding-system-used' to the precise coding system used (which may be different from CODING-SYSTEM if CODING-SYSTEM is not fully specified.) (fn START END CODING-SYSTEM &optional DESTINATION)Fencode-coding-region Encode the current region by specified coding system. What's meant by "encoding" is transforming textual data (characters) into bytes. If, for instance, you have a region that contains the single character ?\N{COPYRIGHT SIGN}, after calling this function with the utf-8 coding system, the data in the region will represent the two bytes #xc2 #xa9. When called from a program, takes four arguments: START, END, CODING-SYSTEM and DESTINATION. START and END are buffer positions. Optional 4th argument DESTINATION specifies where the encoded text goes. If nil, the region between START and END is replaced by the encoded text. If buffer, the encoded text is inserted in that buffer after point (point does not move). In those cases, the length of the encoded text is returned. If DESTINATION is t, the encoded text is returned. This function sets `last-coding-system-used' to the precise coding system used (which may be different from CODING-SYSTEM if CODING-SYSTEM is not fully specified.) (fn START END CODING-SYSTEM &optional DESTINATION)Finternal-encode-string-utf-8 Internal use only. (fn STRING BUFFER NOCOPY HANDLE-8-BIT HANDLE-OVER-UNI ENCODE-METHOD COUNT)Finternal-decode-string-utf-8 Internal use only. (fn STRING BUFFER NOCOPY HANDLE-8-BIT HANDLE-OVER-UNI DECODE-METHOD COUNT)Fdecode-coding-string Decode STRING which is encoded in CODING-SYSTEM, and return the result. Optional third arg NOCOPY non-nil means it is OK to return STRING itself if the decoding operation is trivial. Optional fourth arg BUFFER non-nil means that the decoded text is inserted in that buffer after point (point does not move). In this case, the return value is the length of the decoded text. If that buffer is unibyte, it receives the individual bytes of the internal representation of the decoded text. This function sets `last-coding-system-used' to the precise coding system used (which may be different from CODING-SYSTEM if CODING-SYSTEM is not fully specified.) (fn STRING CODING-SYSTEM &optional NOCOPY BUFFER)Fencode-coding-string Encode STRING to CODING-SYSTEM, and return the result. Optional third arg NOCOPY non-nil means it is OK to return STRING itself if the encoding operation is trivial. Optional fourth arg BUFFER non-nil means that the encoded text is inserted in that buffer after point (point does not move). In this case, the return value is the length of the encoded text. This function sets `last-coding-system-used' to the precise coding system used (which may be different from CODING-SYSTEM if CODING-SYSTEM is not fully specified.) (fn STRING CODING-SYSTEM &optional NOCOPY BUFFER)Fdecode-sjis-char Decode a Japanese character which has CODE in shift_jis encoding. Return the corresponding character. (fn CODE)Fencode-sjis-char Encode a Japanese character CH to shift_jis encoding. Return the corresponding code in SJIS. (fn CH)Fdecode-big5-char Decode a Big5 character which has CODE in BIG5 coding system. Return the corresponding character. (fn CODE)Fencode-big5-char Encode the Big5 character CH to BIG5 coding system. Return the corresponding character code in Big5. (fn CH)Fset-terminal-coding-system-internal Internal use only. (fn CODING-SYSTEM &optional TERMINAL)Fset-safe-terminal-coding-system-internal Internal use only. (fn CODING-SYSTEM)Fterminal-coding-system Return coding system specified for terminal output on the given terminal. TERMINAL may be a terminal object, a frame, or nil for the selected frame's terminal device. (fn &optional TERMINAL)Fset-keyboard-coding-system-internal Internal use only. (fn CODING-SYSTEM &optional TERMINAL)Fkeyboard-coding-system Return coding system specified for decoding keyboard input. (fn &optional TERMINAL)Ffind-operation-coding-system Choose a coding system for an operation based on the target name. The value names a pair of coding systems: (DECODING-SYSTEM . ENCODING-SYSTEM). DECODING-SYSTEM is the coding system to use for decoding (in case OPERATION does decoding), and ENCODING-SYSTEM is the coding system for encoding (in case OPERATION does encoding). The first argument OPERATION specifies an I/O primitive: For file I/O, `insert-file-contents' or `write-region'. For process I/O, `call-process', `call-process-region', or `start-process'. For network I/O, `open-network-stream'. The remaining arguments should be the same arguments that were passed to the primitive. Depending on which primitive, one of those arguments is selected as the TARGET. For example, if OPERATION does file I/O, whichever argument specifies the file name is TARGET. TARGET has a meaning which depends on OPERATION: For file I/O, TARGET is a file name (except for the special case below). For process I/O, TARGET is a process name. For network I/O, TARGET is a service name or a port number. This function looks up what is specified for TARGET in `file-coding-system-alist', `process-coding-system-alist', or `network-coding-system-alist' depending on OPERATION. They may specify a coding system, a cons of coding systems, or a function symbol to call. In the last case, we call the function with one argument, which is a list of all the arguments given to this function. If the function can't decide a coding system, it can return `undecided' so that the normal code-detection is performed. If OPERATION is `insert-file-contents', the argument corresponding to TARGET may be a cons (FILENAME . BUFFER). In that case, FILENAME is a file name to look up, and BUFFER is a buffer that contains the file's contents (not yet decoded). If `file-coding-system-alist' specifies a function to call for FILENAME, that function should examine the contents of BUFFER instead of reading the file. (fn OPERATION ARGUMENTS...)Fset-coding-system-priority Assign higher priority to the coding systems given as arguments. If multiple coding systems belong to the same category, all but the first one are ignored. (fn &rest coding-systems)Fcoding-system-priority-list Return a list of coding systems ordered by their priorities. The list contains a subset of coding systems; i.e. coding systems assigned to each coding category (see `coding-category-list'). HIGHESTP non-nil means just return the highest priority one. (fn &optional HIGHESTP)Fdefine-coding-system-internal For internal use only. (fn ...)Fcoding-system-put Change value in CODING-SYSTEM's property list PROP to VAL. (fn CODING-SYSTEM PROP VAL)Fdefine-coding-system-alias Define ALIAS as an alias for CODING-SYSTEM. (fn ALIAS CODING-SYSTEM)Fcoding-system-base Return the base of CODING-SYSTEM. Any alias or subsidiary coding system is not a base coding system. (fn CODING-SYSTEM)Fcoding-system-plist Return the property list of CODING-SYSTEM. (fn CODING-SYSTEM)Fcoding-system-aliases Return the list of aliases of CODING-SYSTEM. (fn CODING-SYSTEM)Fcoding-system-eol-type Return eol-type of CODING-SYSTEM. An eol-type is an integer 0, 1, 2, or a vector of coding systems. Integer values 0, 1, and 2 indicate a format of end-of-line; LF, CRLF, and CR respectively. A vector value indicates that a format of end-of-line should be detected automatically. Nth element of the vector is the subsidiary coding system whose eol-type is N. (fn CODING-SYSTEM)Vcoding-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'.Vcoding-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'.Vcoding-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'.Vcoding-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'.Vcoding-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.Vlast-coding-system-used Coding system used in the latest file or process I/O.Vlast-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.Vinhibit-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.Vinherit-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.Vfile-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'.Vprocess-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'.Vnetwork-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'.Vlocale-coding-system Coding system to use with system messages. Also used for decoding keyboard input on X Window system, and for encoding standard output and error streams.Veol-mnemonic-unix String displayed in mode line for UNIX-like (LF) end-of-line format.Veol-mnemonic-dos String displayed in mode line for DOS-like (CRLF) end-of-line format.Veol-mnemonic-mac String displayed in mode line for MAC-like (CR) end-of-line format.Veol-mnemonic-undecided String displayed in mode line when end-of-line format is not yet determined.Venable-character-translation Non-nil enables character translation while encoding and decoding.Vstandard-translation-table-for-decode Table for translating characters while decoding.Vstandard-translation-table-for-encode Table for translating characters while encoding.Vcharset-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).Vdefault-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.Vlatin-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.Vselect-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).Vcoding-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.Vinhibit-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 \[universal-coding-system-argument].Vinhibit-nul-byte-detection If non-nil, Emacs ignores NUL 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 NUL bytes. Examples are Index nodes of Info files and NUL-byte delimited output from GNU Find and GNU Grep. Emacs will then ignore the NUL bytes and decode text as usual.Vdisable-ascii-optimization If non-nil, Emacs does not optimize code decoder for ASCII files. Internal use only. Remove after the experimental optimizer becomes stable.Vtranslation-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.Scategory.o Fmake-category-set Return a newly created category-set which contains CATEGORIES. CATEGORIES is a string of category mnemonics. The value is a bool-vector which has t at the indices corresponding to those categories. (fn CATEGORIES)Fdefine-category Define CATEGORY as a category which is described by DOCSTRING. CATEGORY should be an ASCII printing character in the range ` ' to `~'. DOCSTRING is the documentation string of the category. The first line should be a terse text (preferably less than 16 characters), and the rest lines should be the full description. The category is defined only in category table TABLE, which defaults to the current buffer's category table. (fn CATEGORY DOCSTRING &optional TABLE)Fcategory-docstring Return the documentation string of CATEGORY, as defined in TABLE. TABLE should be a category table and defaults to the current buffer's category table. (fn CATEGORY &optional TABLE)Fget-unused-category Return a category which is not yet defined in TABLE. If no category remains available, return nil. The optional argument TABLE specifies which category table to modify; it defaults to the current buffer's category table. (fn &optional TABLE)Fcategory-table-p Return t if ARG is a category table. (fn ARG)Fcategory-table Return the current category table. This is the one specified by the current buffer. (fn)Fstandard-category-table Return the standard category table. This is the one used for new buffers. (fn)Fcopy-category-table Construct a new category table and return it. It is a copy of the TABLE, which defaults to the standard category table. (fn &optional TABLE)Fmake-category-table Construct a new and empty category table and return it. (fn)Fset-category-table Specify TABLE as the category table for the current buffer. Return TABLE. (fn TABLE)Fchar-category-set Return the category set of CHAR. (fn CHAR)Fcategory-set-mnemonics Return a string containing mnemonics of the categories in CATEGORY-SET. CATEGORY-SET is a bool-vector, and the categories "in" it are those that are indexes where t occurs in the bool-vector. The return value is a string containing those same categories. (fn CATEGORY-SET)Fmodify-category-entry Modify the category set of CHARACTER by adding CATEGORY to it. The category is changed only for table TABLE, which defaults to the current buffer's category table. CHARACTER can be either a single character or a cons representing the lower and upper ends of an inclusive character range to modify. CATEGORY must be a category name (a character between ` ' and `~'). Use `describe-categories' to see existing category names. If optional fourth argument RESET is non-nil, then delete CATEGORY from the category set instead of adding it. (fn CHARACTER CATEGORY &optional TABLE RESET)Vword-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.Vword-separating-categories List of pair (cons) of categories to determine word boundary. See the documentation of the variable `word-combining-categories'.Sccl.o Fccl-program-p Return t if OBJECT is a CCL program name or a compiled CCL program code. See the documentation of `define-ccl-program' for the detail of CCL program. (fn OBJECT)Fccl-execute Execute CCL-PROGRAM with registers initialized by REGISTERS. CCL-PROGRAM is a CCL program name (symbol) or compiled code generated by `ccl-compile' (for backward compatibility. In the latter case, the execution overhead is bigger than in the former). No I/O commands should appear in CCL-PROGRAM. REGISTERS is a vector of [R0 R1 ... R7] where RN is an initial value for the Nth register. As side effect, each element of REGISTERS holds the value of the corresponding register after the execution. See the documentation of `define-ccl-program' for a definition of CCL programs. (fn CCL-PROG REG)Fccl-execute-on-string Execute CCL-PROGRAM with initial STATUS on STRING. CCL-PROGRAM is a symbol registered by `register-ccl-program', or a compiled code generated by `ccl-compile' (for backward compatibility, in this case, the execution is slower). Read buffer is set to STRING, and write buffer is allocated automatically. STATUS is a vector of [R0 R1 ... R7 IC], where R0..R7 are initial values of corresponding registers, IC is the instruction counter specifying from where to start the program. If R0..R7 are nil, they are initialized to 0. If IC is nil, it is initialized to head of the CCL program. If optional 4th arg CONTINUE is non-nil, keep IC on read operation when read buffer is exhausted, else, IC is always set to the end of CCL-PROGRAM on exit. It returns the contents of write buffer as a string, and as side effect, STATUS is updated. If the optional 5th arg UNIBYTE-P is non-nil, the returned string is a unibyte string. By default it is a multibyte string. See the documentation of `define-ccl-program' for the detail of CCL program. (fn CCL-PROGRAM STATUS STRING &optional CONTINUE UNIBYTE-P)Fregister-ccl-program Register CCL program CCL-PROG as NAME in `ccl-program-table'. CCL-PROG should be a compiled CCL program (vector), or nil. If it is nil, just reserve NAME as a CCL program name. Return index number of the registered CCL program. (fn NAME CCL-PROG)Fregister-code-conversion-map Register SYMBOL as code conversion map MAP. Return index number of the registered map. (fn SYMBOL MAP)Vcode-conversion-map-vector Vector of code conversion maps.Vfont-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.Vtranslation-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.Scharacter.o Fcharacterp Return non-nil if OBJECT is a character. In Emacs Lisp, characters are represented by character codes, which are non-negative integers. The function `max-char' returns the maximum character code. (fn OBJECT)Fmax-char Return the character of the maximum code. (fn)Funibyte-char-to-multibyte Convert the byte CH to multibyte character. (fn CH)Fmultibyte-char-to-unibyte Convert the multibyte character CH to a byte. If the multibyte character does not represent a byte, return -1. (fn CH)Fchar-width Return width of CHAR when displayed in the current buffer. The width is measured by how many columns it occupies on the screen. Tab is taken to occupy `tab-width' columns. (fn CHAR)Fstring-width Return width of STRING when displayed in the current buffer. Width is measured by how many columns it occupies on the screen. When calculating width of a multibyte character in STRING, only the base leading-code is considered; the validity of the following bytes is not checked. Tabs in STRING are always taken to occupy `tab-width' columns. (fn STRING)Fstring Concatenate all the argument characters and make the result a string. (fn &rest CHARACTERS)Funibyte-string Concatenate all the argument bytes and make the result a unibyte string. (fn &rest BYTES)Fchar-resolve-modifiers Resolve modifiers in the character CHAR. The value is a character with modifiers resolved into the character code. Unresolved modifiers are kept in the value. (fn CHAR)Fget-byte Return a byte value of a character at point. Optional 1st arg POSITION, if non-nil, is a position of a character to get a byte value. Optional 2nd arg STRING, if non-nil, is a string of which first character is a target to get a byte value. In this case, POSITION, if non-nil, is an index of a target character in the string. If the current buffer (or STRING) is multibyte, and the target character is not ASCII nor 8-bit character, an error is signaled. (fn &optional POSITION STRING)Vtranslation-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.Vauto-fill-chars A char-table for characters which invoke auto-filling. Such characters have value t in this table.Vchar-width-table A char-table for width (columns) of each character.Vprintable-chars A char-table for each printable character.Vchar-script-table Char table of script symbols. It has one extra slot whose value is a list of script symbols.Vscript-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.Vunicode-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.Schartab.o Fmake-char-table Return a newly created char-table, with purpose PURPOSE. Each element is initialized to INIT, which defaults to nil. PURPOSE should be a symbol. If it has a `char-table-extra-slots' property, the property's value should be an integer between 0 and 10 that specifies how many extra slots the char-table has. Otherwise, the char-table has no extra slot. (fn PURPOSE &optional INIT)Fchar-table-subtype Return the subtype of char-table CHAR-TABLE. The value is a symbol. (fn CHAR-TABLE)Fchar-table-parent Return the parent char-table of CHAR-TABLE. The value is either nil or another char-table. If CHAR-TABLE holds nil for a given character, then the actual applicable value is inherited from the parent char-table (or from its parents, if necessary). (fn CHAR-TABLE)Fset-char-table-parent Set the parent char-table of CHAR-TABLE to PARENT. Return PARENT. PARENT must be either nil or another char-table. (fn CHAR-TABLE PARENT)Fchar-table-extra-slot Return the value of CHAR-TABLE's extra-slot number N. (fn CHAR-TABLE N)Fset-char-table-extra-slot Set CHAR-TABLE's extra-slot number N to VALUE. (fn CHAR-TABLE N VALUE)Fchar-table-range Return the value in CHAR-TABLE for a range of characters RANGE. RANGE should be nil (for the default value), a cons of character codes (for characters in the range), or a character code. (fn CHAR-TABLE RANGE)Fset-char-table-range Set the value in CHAR-TABLE for a range of characters RANGE to VALUE. RANGE should be t (for all characters), nil (for the default value), a cons of character codes (for characters in the range), or a character code. Return VALUE. (fn CHAR-TABLE RANGE VALUE)Foptimize-char-table Optimize CHAR-TABLE. TEST is the comparison function used to decide whether two entries are equivalent and can be merged. It defaults to `equal'. (fn CHAR-TABLE &optional TEST)Fmap-char-table Call FUNCTION for each character in CHAR-TABLE that has non-nil value. FUNCTION is called with two arguments, KEY and VALUE. KEY is a character code or a cons of character codes specifying a range of characters that have the same value. VALUE is what (char-table-range CHAR-TABLE KEY) returns. (fn FUNCTION CHAR-TABLE)Funicode-property-table-internal Return a char-table for Unicode character property PROP. Use `get-unicode-property-internal' and `put-unicode-property-internal' instead of `aref' and `aset' to get and put an element value. (fn PROP)Fget-unicode-property-internal Return an element of CHAR-TABLE for character CH. CHAR-TABLE must be what returned by `unicode-property-table-internal'. (fn CHAR-TABLE CH)Fput-unicode-property-internal Set an element of CHAR-TABLE for character CH to VALUE. CHAR-TABLE must be what returned by `unicode-property-table-internal'. (fn CHAR-TABLE CH VALUE)Vchar-code-property-alist Alist of character property name vs char-table containing property values. Internal use only.Sbidi.o Scm.o Sterm.o Ftty-display-color-p Return non-nil if the tty device TERMINAL can display colors. TERMINAL can be a terminal object, a frame, or nil (meaning the selected frame's terminal). This function always returns nil if TERMINAL does not refer to a text terminal. (fn &optional TERMINAL)Ftty-display-color-cells Return the number of colors supported by the tty device TERMINAL. TERMINAL can be a terminal object, a frame, or nil (meaning the selected frame's terminal). This function always returns 0 if TERMINAL does not refer to a text terminal. (fn &optional TERMINAL)Ftty-type Return the type of the tty device that TERMINAL uses. Returns nil if TERMINAL is not on a tty device. TERMINAL can be a terminal object, a frame, or nil (meaning the selected frame's terminal). (fn &optional TERMINAL)Fcontrolling-tty-p Return non-nil if TERMINAL is the controlling tty of the Emacs process. TERMINAL can be a terminal object, a frame, or nil (meaning the selected frame's terminal). This function always returns nil if TERMINAL is not on a tty device. (fn &optional TERMINAL)Ftty-no-underline Declare that the tty used by TERMINAL does not handle underlining. This is used to override the terminfo data, for certain terminals that do not really do underlining, but say that they do. This function has no effect if used on a non-tty terminal. TERMINAL can be a terminal object, a frame or nil (meaning the selected frame's terminal). This function always returns nil if TERMINAL does not refer to a text terminal. (fn &optional TERMINAL)Ftty-top-frame Return the topmost terminal frame on TERMINAL. TERMINAL can be a terminal object, a frame or nil (meaning the selected frame's terminal). This function returns nil if TERMINAL does not refer to a text terminal. Otherwise, it returns the top-most frame on the text terminal. (fn &optional TERMINAL)Fsuspend-tty Suspend the terminal device TTY. The device is restored to its default state, and Emacs ceases all access to the tty device. Frames that use the device are not deleted, but input is not read from them and if they change, their display is not updated. TTY may be a terminal object, a frame, or nil for the terminal device of the currently selected frame. This function runs `suspend-tty-functions' after suspending the device. The functions are run with one arg, the id of the suspended terminal device. `suspend-tty' does nothing if it is called on a device that is already suspended. A suspended tty may be resumed by calling `resume-tty' on it. (fn &optional TTY)Fresume-tty Resume the previously suspended terminal device TTY. The terminal is opened and reinitialized. Frames that are on the suspended terminal are revived. It is an error to resume a terminal while another terminal is active on the same device. This function runs `resume-tty-functions' after resuming the terminal. The functions are run with one arg, the id of the resumed terminal device. `resume-tty' does nothing if it is called on a device that is not suspended. TTY may be a terminal object, a frame, or nil (meaning the selected frame's terminal). (fn &optional TTY)Fgpm-mouse-start Open a connection to Gpm. Gpm-mouse can only be activated for one tty at a time. (fn)Fgpm-mouse-stop Close a connection to Gpm. (fn)Vsystem-uses-terminfo Non-nil means the system uses terminfo rather than termcap. This variable can be used by terminal emulator packages.Vsuspend-tty-functions Functions run after suspending a tty. The functions are run with one argument, the terminal object to be suspended. See `suspend-tty'.Vresume-tty-functions Functions run after resuming a tty. The functions are run with one argument, the terminal object that was revived. See `resume-tty'.Vvisible-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.Sterminal.o Fdelete-terminal Delete TERMINAL by deleting all frames on it and closing the terminal. TERMINAL may be a terminal object, a frame, or nil (meaning the selected frame's terminal). Normally, you may not delete a display if all other displays are suspended, but if the second argument FORCE is non-nil, you may do so. (fn &optional TERMINAL FORCE)Fframe-terminal Return the terminal that FRAME is displayed on. If FRAME is nil, the selected frame is used. The terminal device is represented by its integer identifier. (fn &optional FRAME)Fterminal-live-p Return non-nil if OBJECT is a terminal which has not been deleted. Value is nil if OBJECT is not a live display terminal. If object is a live display terminal, the return value indicates what sort of output terminal it uses. See the documentation of `framep' for possible return values. (fn OBJECT)Fterminal-list Return a list of all terminal devices. (fn)Fterminal-name Return the name of the terminal device TERMINAL. It is not guaranteed that the returned value is unique among opened devices. TERMINAL may be a terminal object, a frame, or nil (meaning the selected frame's terminal). (fn &optional TERMINAL)Fterminal-parameters Return the parameter-alist of terminal TERMINAL. The value is a list of elements of the form (PARM . VALUE), where PARM is a symbol. TERMINAL can be a terminal object, a frame, or nil (meaning the selected frame's terminal). (fn &optional TERMINAL)Fterminal-parameter Return TERMINAL's value for parameter PARAMETER. TERMINAL can be a terminal object, a frame, or nil (meaning the selected frame's terminal). (fn TERMINAL PARAMETER)Fset-terminal-parameter Set TERMINAL's value for parameter PARAMETER to VALUE. Return the previous value of PARAMETER. TERMINAL can be a terminal object, a frame or nil (meaning the selected frame's terminal). (fn TERMINAL PARAMETER VALUE)Vring-bell-function Non-nil means call this function to ring the bell. The function should accept no arguments.Vdelete-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.Sxfaces.o Fdump-colors Dump currently allocated colors to stderr. (fn)Fclear-face-cache Clear face caches on all frames. Optional THOROUGHLY non-nil means try to free unused fonts, too. (fn &optional THOROUGHLY)Fbitmap-spec-p Value is non-nil if OBJECT is a valid bitmap specification. A bitmap specification is either a string, a file name, or a list (WIDTH HEIGHT DATA) where WIDTH is the pixel width of the bitmap, HEIGHT is its height, and DATA is a string containing the bits of the pixmap. Bits are stored row by row, each row occupies (WIDTH + 7)/8 bytes. (fn OBJECT)Fcolor-gray-p Return non-nil if COLOR is a shade of gray (or white or black). FRAME specifies the frame and thus the display for interpreting COLOR. If FRAME is nil or omitted, use the selected frame. (fn COLOR &optional FRAME)Fcolor-supported-p Return non-nil if COLOR can be displayed on FRAME. BACKGROUND-P non-nil means COLOR is used as a background. Otherwise, this function tells whether it can be used as a foreground. If FRAME is nil or omitted, use the selected frame. COLOR must be a valid color name. (fn COLOR &optional FRAME BACKGROUND-P)Fx-family-fonts Return a list of available fonts of family FAMILY on FRAME. If FAMILY is omitted or nil, list all families. Otherwise, FAMILY must be a string, possibly containing wildcards `?' and `*'. If FRAME is omitted or nil, use the selected frame. Each element of the result is a vector [FAMILY WIDTH POINT-SIZE WEIGHT SLANT FIXED-P FULL REGISTRY-AND-ENCODING]. FAMILY is the font family name. POINT-SIZE is the size of the font in 1/10 pt. WIDTH, WEIGHT, and SLANT are symbols describing the width, weight and slant of the font. These symbols are the same as for face attributes. FIXED-P is non-nil if the font is fixed-pitch. FULL is the full name of the font, and REGISTRY-AND-ENCODING is a string giving the registry and encoding of the font. The result list is sorted according to the current setting of the face font sort order. (fn &optional FAMILY FRAME)Fx-list-fonts Return a list of the names of available fonts matching PATTERN. If optional arguments FACE and FRAME are specified, return only fonts the same size as FACE on FRAME. PATTERN should be a string containing a font name in the XLFD, Fontconfig, or GTK format. A font name given in the XLFD format may contain wildcard characters: the * character matches any substring, and the ? character matches any single character. PATTERN is case-insensitive. The return value is a list of strings, suitable as arguments to `set-face-font'. Fonts Emacs can't use may or may not be excluded even if they match PATTERN and FACE. The optional fourth argument MAXIMUM sets a limit on how many fonts to match. The first MAXIMUM fonts are reported. The optional fifth argument WIDTH, if specified, is a number of columns occupied by a character of a font. In that case, return only fonts the WIDTH times as wide as FACE on FRAME. (fn PATTERN &optional FACE FRAME MAXIMUM WIDTH)Finternal-make-lisp-face Make FACE, a symbol, a Lisp face with all attributes nil. If FACE was not known as a face before, create a new one. If optional argument FRAME is specified, make a frame-local face for that frame. Otherwise operate on the global face definition. Value is a vector of face attributes. (fn FACE &optional FRAME)Finternal-lisp-face-p Return non-nil if FACE names a face. FACE should be a symbol or string. If optional second argument FRAME is non-nil, check for the existence of a frame-local face with name FACE on that frame. Otherwise check for the existence of a global face. (fn FACE &optional FRAME)Finternal-copy-lisp-face Copy face FROM to TO. If FRAME is t, copy the global face definition of FROM. Otherwise, copy the frame-local definition of FROM on FRAME. If NEW-FRAME is a frame, copy that data into the frame-local definition of TO on NEW-FRAME. If NEW-FRAME is nil, FRAME controls where the data is copied to. The value is TO. (fn FROM TO FRAME NEW-FRAME)Finternal-set-lisp-face-attribute Set attribute ATTR of FACE to VALUE. FRAME being a frame means change the face on that frame. FRAME nil means change the face of the selected frame. FRAME t means change the default for new frames. FRAME 0 means change the face on all frames, and change the default for new frames. (fn FACE ATTR VALUE &optional FRAME)Finternal-face-x-get-resource Get the value of X resource RESOURCE, class CLASS. Returned value is for the display of frame FRAME. If FRAME is not specified or nil, use selected frame. This function exists because ordinary `x-get-resource' doesn't take a frame argument. (fn RESOURCE CLASS &optional FRAME)Finternal-set-lisp-face-attribute-from-resource (fn FACE ATTR VALUE &optional FRAME)Fface-attribute-relative-p Check whether a face attribute value is relative. Specifically, this function returns t if the attribute ATTRIBUTE with the value VALUE is relative. A relative value is one that doesn't entirely override whatever is inherited from another face. For most possible attributes, the only relative value that users see is `unspecified'. However, for :height, floating point values are also relative. (fn ATTRIBUTE VALUE)Fmerge-face-attribute Return face ATTRIBUTE VALUE1 merged with VALUE2. If VALUE1 or VALUE2 are absolute (see `face-attribute-relative-p'), then the result will be absolute, otherwise it will be relative. (fn ATTRIBUTE VALUE1 VALUE2)Finternal-get-lisp-face-attribute Return face attribute KEYWORD of face SYMBOL. If SYMBOL does not name a valid Lisp face or KEYWORD isn't a valid face attribute name, signal an error. If the optional argument FRAME is given, report on face SYMBOL in that frame. If FRAME is t, report on the defaults for face SYMBOL (for new frames). If FRAME is omitted or nil, use the selected frame. (fn SYMBOL KEYWORD &optional FRAME)Finternal-lisp-face-attribute-values Return a list of valid discrete values for face attribute ATTR. Value is nil if ATTR doesn't have a discrete set of valid values. (fn ATTR)Finternal-merge-in-global-face Add attributes from frame-default definition of FACE to FACE on FRAME. Default face attributes override any local face attributes. (fn FACE FRAME)Fface-font Return the font name of face FACE, or nil if it is unspecified. The font name is, by default, for ASCII characters. If the optional argument FRAME is given, report on face FACE in that frame. If FRAME is t, report on the defaults for face FACE (for new frames). The font default for a face is either nil, or a list of the form (bold), (italic) or (bold italic). If FRAME is omitted or nil, use the selected frame. And, in this case, if the optional third argument CHARACTER is given, return the font name used for CHARACTER. (fn FACE &optional FRAME CHARACTER)Finternal-lisp-face-equal-p True if FACE1 and FACE2 are equal. If the optional argument FRAME is given, report on FACE1 and FACE2 in that frame. If FRAME is t, report on the defaults for FACE1 and FACE2 (for new frames). If FRAME is omitted or nil, use the selected frame. (fn FACE1 FACE2 &optional FRAME)Finternal-lisp-face-empty-p True if FACE has no attribute specified. If the optional argument FRAME is given, report on face FACE in that frame. If FRAME is t, report on the defaults for face FACE (for new frames). If FRAME is omitted or nil, use the selected frame. (fn FACE &optional FRAME)Fframe-face-alist Return an alist of frame-local faces defined on FRAME. For internal use only. (fn &optional FRAME)Fcolor-distance Return an integer distance between COLOR1 and COLOR2 on FRAME. COLOR1 and COLOR2 may be either strings containing the color name, or lists of the form (RED GREEN BLUE), each in the range 0 to 65535 inclusive. If FRAME is unspecified or nil, the current frame is used. If METRIC is specified, it should be a function that accepts two lists of the form (RED GREEN BLUE) aforementioned. (fn COLOR1 COLOR2 &optional FRAME METRIC)Fface-attributes-as-vector Return a vector of face attributes corresponding to PLIST. (fn PLIST)Fdisplay-supports-face-attributes-p Return non-nil if all the face attributes in ATTRIBUTES are supported. The optional argument DISPLAY can be a display name, a frame, or nil (meaning the selected frame's display). The definition of `supported' is somewhat heuristic, but basically means that a face containing all the attributes in ATTRIBUTES, when merged with the default face for display, can be represented in a way that's (1) different in appearance from the default face, and (2) `close in spirit' to what the attributes specify, if not exact. Point (2) implies that a `:weight black' attribute will be satisfied by any display that can display bold, and a `:foreground "yellow"' as long as it can display a yellowish color, but `:slant italic' will _not_ be satisfied by the tty display code's automatic substitution of a `dim' face for italic. (fn ATTRIBUTES &optional DISPLAY)Finternal-set-font-selection-order Set font selection order for face font selection to ORDER. ORDER must be a list of length 4 containing the symbols `:width', `:height', `:weight', and `:slant'. Face attributes appearing first in ORDER are matched first, e.g. if `:height' appears before `:weight' in ORDER, font selection first tries to find a font with a suitable height, and then tries to match the font weight. Value is ORDER. (fn ORDER)Finternal-set-alternative-font-family-alist Define alternative font families to try in face font selection. ALIST is an alist of (FAMILY ALTERNATIVE1 ALTERNATIVE2 ...) entries. Each ALTERNATIVE is tried in order if no fonts of font family FAMILY can be found. Value is ALIST. (fn ALIST)Finternal-set-alternative-font-registry-alist Define alternative font registries to try in face font selection. ALIST is an alist of (REGISTRY ALTERNATIVE1 ALTERNATIVE2 ...) entries. Each ALTERNATIVE is tried in order if no fonts of font registry REGISTRY can be found. Value is ALIST. (fn ALIST)Ftty-suppress-bold-inverse-default-colors Suppress/allow boldness of faces with inverse default colors. SUPPRESS non-nil means suppress it. This affects bold faces on TTYs whose foreground is the default background color of the display and whose background is the default foreground color. For such faces, the bold face attribute is ignored if this variable is non-nil. (fn SUPPRESS)Fx-load-color-file Create an alist of color entries from an external file. The file should define one named RGB color per line like so: R G B name where R,G,B are numbers between 0 and 255 and name is an arbitrary string. (fn FILENAME)Fdump-face (fn &optional N)Fshow-face-resources (fn)Vface-filters-always-match Non-nil means that face filters are always deemed to match. This variable is intended for use only by code that evaluates the "specifity" of a face specification and should be let-bound only for this purpose.Vface-new-frame-defaults List of global face definitions (for internal use only.)Vface-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.Vtty-defined-color-alist An alist of defined terminal colors and their RGB values. See the docstring of `tty-color-alist' for the details.Vscalable-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.Vface-ignored-fonts List of ignored fonts. Each element is a regular expression that matches names of fonts to ignore.Vface-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 one of the above forms. List values for REPLACEMENT are merged to form the final face specification, with earlier entries taking precedence, in the same way as with 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. An entry in the list can also be a filtered face expression of the form: (:filtered FILTER FACE-SPECIFICATION) This construct applies FACE-SPECIFICATION (which can have any of the forms allowed for face specifications generally) only if FILTER matches at the moment Emacs wants to draw text with the combined face. The only filters currently defined are NIL (which always matches) and (:window PARAMETER VALUE), which matches only in the context of a window with a parameter EQ-equal to VALUE. An entry in the face list can also be nil, which does nothing. If `face-remapping-alist' 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) (copy-tree \='((default my-mode-default)))). You probably want to use the face-remap package included in Emacs instead of manipulating face-remapping-alist directly. Note that many of the functions in that package modify the list destructively, so make sure you set it to a fresh value (for instance, use `copy-tree' as in the example above) before modifying. 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.Vface-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.Vface-near-same-color-threshold Threshold for using distant-foreground color instead of foreground. The value should be an integer number providing the minimum distance between two colors that will still qualify them to be used as foreground and background. If the value of `color-distance', invoked with a nil METRIC argument, for the foreground and background colors of a face is less than this threshold, the distant-foreground color, if defined, will be used for the face instead of the foreground color. Lisp programs that change the value of this variable should also clear the face cache, see `clear-face-cache'.Semacsgtkfixed.o Semacs.o Finvocation-name Return the program name that was used to run Emacs. Any directory names are omitted. (fn)Finvocation-directory Return the directory name in which the Emacs executable was located. (fn)Fkill-emacs Exit the Emacs job and kill it. If ARG is an integer, return ARG as the exit program code. If ARG is a string, stuff it as keyboard input. Any other value of ARG, or ARG omitted, means return an exit code that indicates successful program termination. This function is called upon receipt of the signals SIGTERM or SIGHUP, and upon SIGINT in batch mode. The value of `kill-emacs-hook', if not void, is a list of functions (of no args), all of which are called before Emacs is actually killed. (fn &optional ARG)Fdump-emacs Dump current state of Emacs into executable file FILENAME. Take symbols from SYMFILE (presumably the file you executed to run Emacs). This is used in the file `loadup.el' when building Emacs. You must run Emacs in batch mode in order to dump it. (fn FILENAME SYMFILE)Fdaemonp Return non-nil if the current emacs process is a daemon. If the daemon was given a name argument, return that name. (fn)Fdaemon-initialized Mark the Emacs daemon as being initialized. This finishes the daemonization process by doing the other half of detaching from the parent process and its tty file descriptors. (fn)Vcommand-line-args Args passed by shell to Emacs, as a list of strings. Many arguments are deleted from the list as they are processed.Vsystem-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, macOS, ...). `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 26, the possibilities are: aix, berkeley-unix, hpux, usg-unix-v) indicates some sort of Unix system.Vsystem-configuration Value is string indicating configuration Emacs was built for.Vsystem-configuration-options String containing the configuration options Emacs was built with.Vsystem-configuration-features String listing some of the main features this Emacs was compiled with. An element of the form "FOO" generally means that HAVE_FOO was defined during the build. This is mainly intended for diagnostic purposes in bug reports. Don't rely on it for testing whether a feature you want to use is available.Vnoninteractive Non-nil means Emacs is running without interactive terminal.Vkill-emacs-hook Hook 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.Vpath-separator String containing the character that separates directories in search paths, such as PATH and other similar environment variables.Vinvocation-name The program name that was used to run Emacs. Any directory names are omitted.Vinvocation-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.Vinstallation-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.Vsystem-messages-locale System locale for messages.Vprevious-system-messages-locale Most recently used system locale for messages.Vsystem-time-locale System locale for time.Vprevious-system-time-locale Most recently used system locale for time.Vbefore-init-time Value of `current-time' before Emacs begins initialization.Vafter-init-time Value of `current-time' after loading the init files. This is nil during initialization.Vinhibit-x-resources If non-nil, X resources, Windows Registry settings, and NS defaults are not used.Vemacs-copyright Short copyright string for this version of Emacs.Vemacs-version Version numbers of this version of Emacs. This has the form: MAJOR.MINOR[.MICRO], where MAJOR/MINOR/MICRO are integers. MICRO is only present in unreleased development versions, and is not especially meaningful. Prior to Emacs 26.1, an extra final component .BUILD is present. This is now stored separately in `emacs-build-number'.Vreport-emacs-bug-address Address of mailing list for GNU Emacs bugs.Vdump-mode Non-nil when Emacs is dumping itself.Vdynamic-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.Skeyboard.o Frecursive-edit Invoke the editor command loop recursively. To get out of the recursive edit, a command can throw to `exit' -- for instance (throw \='exit nil). If you throw a value other than t, `recursive-edit' returns normally to the function that called it. Throwing a t value causes `recursive-edit' to quit, so that control returns to the command loop one level up. This function is called by the editor initialization to begin editing. (fn)Fcommand-error-default-function Produce default output for unhandled error message. Default value of `command-error-function'. (fn DATA CONTEXT SIGNAL)Ftop-level Exit all recursive editing levels. This also exits all active minibuffers. (fn)Fexit-recursive-edit Exit from the innermost recursive edit or minibuffer. (fn)Fabort-recursive-edit Abort the command that requested this recursive edit or minibuffer input. (fn)Finternal--track-mouse Call BODYFUN with mouse movement events enabled. (fn BODYFUN)Fcurrent-idle-time Return the current length of Emacs idleness, or nil. The value when Emacs is idle is a Lisp timestamp in the style of `current-time'. The value when Emacs is not idle is nil. PSEC is a multiple of the system clock resolution. (fn)Finternal-event-symbol-parse-modifiers Parse the event symbol. For internal use. (fn SYMBOL)Fevent-convert-list Convert the event description list EVENT-DESC to an event type. EVENT-DESC should contain one base event type (a character or symbol) and zero or more modifier names (control, meta, hyper, super, shift, alt, drag, down, double or triple). The base must be last. The return value is an event type (a character or symbol) which has the same base event type and all the specified modifiers. (fn EVENT-DESC)Finternal-handle-focus-in Internally handle focus-in events. This function potentially generates an artifical switch-frame event. (fn EVENT)Fread-key-sequence Read a sequence of keystrokes and return as a string or vector. The sequence is sufficient to specify a non-prefix command in the current local and global maps. First arg PROMPT is a prompt string. If nil, do not prompt specially. Second (optional) arg CONTINUE-ECHO, if non-nil, means this key echos as a continuation of the previous key. The third (optional) arg DONT-DOWNCASE-LAST, if non-nil, means do not convert the last event to lower case. (Normally any upper case event is converted to lower case if the original event is undefined and the lower case equivalent is defined.) A non-nil value is appropriate for reading a key sequence to be defined. A C-g typed while in this function is treated like any other character, and `quit-flag' is not set. If the key sequence starts with a mouse click, then the sequence is read using the keymaps of the buffer of the window clicked in, not the buffer of the selected window as normal. `read-key-sequence' drops unbound button-down events, since you normally only care about the click or drag events which follow them. If a drag or multi-click event is unbound, but the corresponding click event would be bound, `read-key-sequence' turns the event into a click event at the drag's starting position. This means that you don't have to distinguish between click and drag, double, or triple events unless you want to. `read-key-sequence' prefixes mouse events on mode lines, the vertical lines separating windows, and scroll bars with imaginary keys `mode-line', `vertical-line', and `vertical-scroll-bar'. Optional fourth argument CAN-RETURN-SWITCH-FRAME non-nil means that this function will process a switch-frame event if the user switches frames before typing anything. If the user switches frames in the middle of a key sequence, or at the start of the sequence but CAN-RETURN-SWITCH-FRAME is nil, then the event will be put off until after the current key sequence. `read-key-sequence' checks `function-key-map' for function key sequences, where they wouldn't conflict with ordinary bindings. See `function-key-map' for more details. The optional fifth argument CMD-LOOP, if non-nil, means that this key sequence is being read by something that will read commands one after another. It should be nil if the caller will read just one key sequence. (fn PROMPT &optional CONTINUE-ECHO DONT-DOWNCASE-LAST CAN-RETURN-SWITCH-FRAME CMD-LOOP)Fread-key-sequence-vector Like `read-key-sequence' but always return a vector. (fn PROMPT &optional CONTINUE-ECHO DONT-DOWNCASE-LAST CAN-RETURN-SWITCH-FRAME CMD-LOOP)Finput-pending-p Return t if command input is currently available with no wait. Actually, the value is nil only if we can be sure that no input is available; if there is a doubt, the value is t. If CHECK-TIMERS is non-nil, timers that are ready to run will do so. (fn &optional CHECK-TIMERS)Frecent-keys Return vector of last few events, not counting those from keyboard macros. If INCLUDE-CMDS is non-nil, include the commands that were run, represented as pseudo-events of the form (nil . COMMAND). (fn &optional INCLUDE-CMDS)Fthis-command-keys Return the key sequence that invoked this command. However, if the command has called `read-key-sequence', it returns the last key sequence that has been read. The value is a string or a vector. See also `this-command-keys-vector'. (fn)Fset--this-command-keys Set the vector to be returned by `this-command-keys'. The argument KEYS must be a string. Internal use only. (fn KEYS)Fthis-command-keys-vector Return the key sequence that invoked this command, as a vector. However, if the command has called `read-key-sequence', it returns the last key sequence that has been read. See also `this-command-keys'. (fn)Fthis-single-command-keys Return the key sequence that invoked this command. More generally, it returns the last key sequence read, either by the command loop or by `read-key-sequence'. Unlike `this-command-keys', this function's value does not include prefix arguments. The value is always a vector. (fn)Fthis-single-command-raw-keys Return the raw events that were read for this command. More generally, it returns the last key sequence read, either by the command loop or by `read-key-sequence'. Unlike `this-single-command-keys', this function's value shows the events before all translations (except for input methods). The value is always a vector. (fn)Fclear-this-command-keys Clear out the vector that `this-command-keys' returns. Also clear the record of the last 300 input events, unless optional arg KEEP-RECORD is non-nil. (fn &optional KEEP-RECORD)Frecursion-depth Return the current depth in recursive edits. (fn)Fopen-dribble-file Start writing input events to a dribble file called FILE. Any previously open dribble file will be closed first. If FILE is nil, just close the dribble file, if any. If the file is still open when Emacs exits, it will be closed then. The events written to the file include keyboard and mouse input events, but not events from executing keyboard macros. The events are written to the dribble file immediately without line buffering. Be aware that this records ALL characters you type! This may include sensitive information such as passwords. (fn FILE)Fdiscard-input Discard the contents of the terminal input buffer. Also end any kbd macro being defined. (fn)Fsuspend-emacs Stop Emacs and return to superior process. You can resume later. If `cannot-suspend' is non-nil, or if the system doesn't support job control, run a subshell instead. If optional arg STUFFSTRING is non-nil, its characters are stuffed to be read as terminal input by Emacs's parent, after suspension. Before suspending, run the normal hook `suspend-hook'. After resumption run the normal hook `suspend-resume-hook'. Some operating systems cannot stop the Emacs process and resume it later. On such systems, Emacs starts a subshell instead of suspending. (fn &optional STUFFSTRING)Fset-input-interrupt-mode Set interrupt mode of reading keyboard input. If INTERRUPT is non-nil, Emacs will use input interrupts; otherwise Emacs uses CBREAK mode. See also `current-input-mode'. (fn INTERRUPT)Fset-output-flow-control Enable or disable ^S/^Q flow control for output to TERMINAL. If FLOW is non-nil, flow control is enabled and you cannot use C-s or C-q in key sequences. This setting only has an effect on tty terminals and only when Emacs reads input in CBREAK mode; see `set-input-interrupt-mode'. See also `current-input-mode'. (fn FLOW &optional TERMINAL)Fset-input-meta-mode Enable or disable 8-bit input on TERMINAL. If META is t, Emacs will accept 8-bit input, and interpret the 8th bit as the Meta modifier. If META is nil, Emacs will ignore the top bit, on the assumption it is parity. Otherwise, Emacs will accept and pass through 8-bit input without specially interpreting the top bit. This setting only has an effect on tty terminal devices. Optional parameter TERMINAL specifies the tty terminal device to use. It may be a terminal object, a frame, or nil for the terminal used by the currently selected frame. See also `current-input-mode'. (fn META &optional TERMINAL)Fset-quit-char Specify character used for quitting. QUIT must be an ASCII character. This function only has an effect on the controlling tty of the Emacs process. See also `current-input-mode'. (fn QUIT)Fset-input-mode Set mode of reading keyboard input. First arg INTERRUPT non-nil means use input interrupts; nil means use CBREAK mode. Second arg FLOW non-nil means use ^S/^Q flow control for output to terminal (no effect except in CBREAK mode). Third arg META t means accept 8-bit input (for a Meta key). META nil means ignore the top bit, on the assumption it is parity. Otherwise, accept 8-bit input and don't use the top bit for Meta. Optional fourth arg QUIT if non-nil specifies character to use for quitting. See also `current-input-mode'. (fn INTERRUPT FLOW META &optional QUIT)Fcurrent-input-mode Return information about the way Emacs currently reads keyboard input. The value is a list of the form (INTERRUPT FLOW META QUIT), where INTERRUPT is non-nil if Emacs is using interrupt-driven input; if nil, Emacs is using CBREAK mode. FLOW is non-nil if Emacs uses ^S/^Q flow control for output to the terminal; this does not apply if Emacs uses interrupt-driven input. META is t if accepting 8-bit input with 8th bit as Meta flag. META nil means ignoring the top bit, on the assumption it is parity. META is neither t nor nil if accepting 8-bit input and using all 8 bits as the character code. QUIT is the character Emacs currently uses to quit. The elements of this list correspond to the arguments of `set-input-mode'. (fn)Fposn-at-x-y Return position information for pixel coordinates X and Y. By default, X and Y are relative to text area of the selected window. Optional third arg FRAME-OR-WINDOW non-nil specifies frame or window. If optional fourth arg WHOLE is non-nil, X is relative to the left edge of the window. The return value is similar to a mouse click position: (WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW) IMAGE (DX . DY) (WIDTH . HEIGHT)) The `posn-' functions access elements of such lists. (fn X Y &optional FRAME-OR-WINDOW WHOLE)Fposn-at-point Return position information for buffer position POS in WINDOW. POS defaults to point in WINDOW; WINDOW defaults to the selected window. Return nil if POS is not visible in WINDOW. Otherwise, the return value is similar to that returned by `event-start' for a mouse click at the upper left corner of the glyph corresponding to POS: (WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW) IMAGE (DX . DY) (WIDTH . HEIGHT)) The `posn-' functions access elements of such lists. (fn &optional POS WINDOW)Vinternal--top-level-message Message displayed by `normal-top-level'.Vlast-command-event Last input event of a key sequence that called a command. See Info node `(elisp)Command Loop Info'.Vlast-nonmenu-event Last input event in a command, except for mouse menu events. Mouse menus give back keys that don't look like mouse events; this variable holds the actual mouse event that led to the menu, so that you can determine whether the command was run by mouse or not.Vlast-input-event Last input event.Vunread-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. An element of the form (no-record . EVENT) means process EVENT, but do not record it in the keyboard macros, recent-keys, and the dribble file.Vunread-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'.Vunread-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'.Vmeta-prefix-char Meta-prefix character code. Meta-foo as command input turns into this character followed by foo.Vlast-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'.Vreal-last-command Same as `last-command', but never altered by Lisp code. Taken from the previous value of `real-this-command'.Vlast-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. Taken from a previous value of `real-this-command'.Vthis-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.Vreal-this-command This is like `this-command', except that commands should never modify it.Vthis-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.Vthis-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.Vauto-save-interval Number of input events between auto-saves. Zero means disable autosaving due to number of characters typed.Vauto-save-no-message Non-nil means do not print any message when auto-saving.Vauto-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.Vecho-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.Vpolling-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.Vdouble-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.Vdouble-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.Vnum-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.Vnum-nonmacro-input-events Number of input events read from the keyboard so far. This does not include events generated by keyboard macros.Vlast-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'.Vtty-erase-char The ERASE character as set by the user with stty.Vhelp-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.Vhelp-event-list List of input events to recognize as meaning Help. These work just like the value of `help-char' (see that).Vhelp-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.Vprefix-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.Vtop-level Form to evaluate when Emacs starts up. Useful to set before you dump a modified Emacs.Vkeyboard-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'.Vcannot-suspend Non-nil means to always spawn a subshell instead of suspending. (Even if the operating system has support for stopping a process.)Vmenu-prompting Non-nil means prompt with menus when appropriate. This is done when reading from a keymap that has a prompt string, for elements that have prompt strings. The menu is displayed on the screen if X menus were enabled at configuration time and the previous event was a mouse click prefix key. Otherwise, menu prompting uses the echo area.Vmenu-prompt-more-char Character to see next line of menu prompt. Type this character while in a menu prompt to rotate around the lines of it.Vextra-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.Vdeactivate-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.Vpre-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. See also `post-command-hook'.Vpost-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. It is a bad idea to use this hook for expensive processing. If unavoidable, wrap your code in `(while-no-input (redisplay) CODE)' to avoid making Emacs unresponsive while the user types. See also `pre-command-hook'.Vecho-area-clear-hook Normal hook run when clearing the echo area.Vlucid-menu-bar-dirty-flag Non-nil means menu bar, specified Lucid style, needs to be recomputed.Vmenu-bar-final-items List of menu bar items to move to the end of the menu bar. The elements of the list are event types that may have menu bar bindings.Vtab-bar-separator-image-expression Expression evaluating to the image spec for a tab-bar separator. This is used internally by graphical displays that do not render tab-bar separators natively. Otherwise it is unused (e.g. on GTK).Vtool-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).Voverriding-terminal-local-map Per-terminal keymap that takes precedence over all other keymaps. 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'.Voverriding-local-map Keymap that replaces (overrides) local keymaps. If this variable is non-nil, Emacs looks up key bindings in this keymap INSTEAD OF the keymap char property, minor mode maps, and the buffer's local map. Hence, the only active keymaps would be `overriding-terminal-local-map', this keymap, and `global-keymap', in order of precedence.Voverriding-local-map-menu-flag Non-nil means `overriding-local-map' applies to the menu bar. Otherwise, the menu bar continues to reflect the buffer's local map and the minor mode maps regardless of `overriding-local-map'.Vspecial-event-map Keymap defining bindings for special events to execute at low level.Vtrack-mouse Non-nil means generate motion events for mouse motion. The special values `dragging' and `dropping' assert that the mouse cursor retains its appearance during mouse motion. Any non-nil value but `dropping' asserts that motion events always relate to the frame where the mouse movement started. The value `dropping' asserts that motion events relate to the frame where the mouse cursor is seen when generating the event. If there's no such frame, such motion events relate to the frame where the mouse movement started.Vsystem-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'.Vlocal-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.Vinput-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'.Vfunction-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.Vkey-translation-map Keymap of key translations that can override keymaps. This keymap works like `input-decode-map', but comes after `function-key-map'. Another difference is that it is global rather than terminal-local.Vdeferred-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.Vdeferred-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.Vdelayed-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'.Vtimer-list List of active absolute time timers in order of increasing time.Vtimer-idle-list List of active idle-time timers in order of increasing time.Vinput-method-function If non-nil, the function that implements the current input method. It's called with one argument, which must be a single-byte character that was just read. Any single-byte character is acceptable, except the DEL character, codepoint 127 decimal, 177 octal. 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.Vinput-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.Vshow-help-function If non-nil, the function that implements the display of help. It's called with one argument, the help string to display.Vdisable-point-adjustment If non-nil, suppress point adjustment after executing a command. After a command is executed, if point moved into a region that has special properties (e.g. composition, display), Emacs adjusts point to the boundary of the region. But when a command leaves this variable at a non-nil value (e.g., with a setq), this point adjustment is suppressed. This variable is set to nil before reading a command, and is checked just after executing the command.Vglobal-disable-point-adjustment If non-nil, always suppress point adjustments. The default value is nil, in which case point adjustments are suppressed only after special commands that leave `disable-point-adjustment' (which see) at a non-nil value.Vminibuffer-message-timeout How long to display an echo-area message when the minibuffer is active. If the value is a number, it should be specified in seconds. If the value is not a number, such messages never time out.Vthrow-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.Vcommand-error-function Function to output error messages. Called with three arguments: - the error data, a list of the form (SIGNALED-CONDITION . SIGNAL-DATA) such as what `condition-case' would bind its variable to, - the context (a string which normally goes at the start of the message), - the Lisp function within which the error was signaled.Venable-disabled-menus-and-buttons If non-nil, don't ignore events produced by disabled menu items and tool-bar. Help functions bind this to allow help on disabled menu items and tool-bar buttons.Vselect-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.Vsaved-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 call to the function `deactivate-mark' uses this to set the window selection.Vselection-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.Vdebug-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'.Vattempt-stack-overflow-recovery If non-nil, attempt to recover from C stack overflows. This recovery is potentially unsafe and may lead to deadlocks or data corruption, but it usually works and may preserve modified buffers that would otherwise be lost. If nil, treat stack overflow like any other kind of crash or fatal error.Vattempt-orderly-shutdown-on-fatal-signal If non-nil, attempt orderly shutdown on fatal signals. By default this variable is non-nil, and Emacs attempts to perform an orderly shutdown when it catches a fatal signal (e.g., a crash). The orderly shutdown includes an attempt to auto-save your unsaved edits and other useful cleanups. These cleanups are potentially unsafe and may lead to deadlocks or data corruption, but it usually works and may preserve data in modified buffers that would otherwise be lost. If nil, Emacs crashes immediately in response to fatal signals.Vwhile-no-input-ignore-events Ignored events from while-no-input.Vinhibit--record-char If non-nil, don't record input events. This inhibits recording input events for the purposes of keyboard macros, dribble file, and `recent-keys'. Internal use only.Smacros.o Fstart-kbd-macro Record subsequent keyboard input, defining a keyboard macro. The commands are recorded even as they are executed. Use \[end-kbd-macro] to finish recording and make the macro available. Use \[name-last-kbd-macro] to give it a permanent name. Non-nil arg (prefix arg) means append to last macro defined; this begins by re-executing that macro as if you typed it again. If optional second arg, NO-EXEC, is non-nil, do not re-execute last macro before appending to it. (fn APPEND &optional NO-EXEC)Fend-kbd-macro Finish defining a keyboard macro. The definition was started by \[start-kbd-macro]. The macro is now available for use via \[call-last-kbd-macro], or it can be given a name with \[name-last-kbd-macro] and then invoked under that name. With numeric arg, repeat macro now that many times, counting the definition just completed as the first repetition. An argument of zero means repeat until error. In Lisp, optional second arg LOOPFUNC may be a function that is called prior to each iteration of the macro. Iteration stops if LOOPFUNC returns nil. (fn &optional REPEAT LOOPFUNC)Fcancel-kbd-macro-events Cancel the events added to a keyboard macro for this command. (fn)Fstore-kbd-macro-event Store EVENT into the keyboard macro being defined. (fn EVENT)Fcall-last-kbd-macro Call the last keyboard macro that you defined with \[start-kbd-macro]. A prefix argument serves as a repeat count. Zero means repeat until error. To make a macro permanent so you can call it even after defining others, use \[name-last-kbd-macro]. In Lisp, optional second arg LOOPFUNC may be a function that is called prior to each iteration of the macro. Iteration stops if LOOPFUNC returns nil. (fn &optional PREFIX LOOPFUNC)Fexecute-kbd-macro Execute MACRO as string of editor command characters. MACRO can also be a vector of keyboard events. If MACRO is a symbol, its function definition is used. COUNT is a repeat count, or nil for once, or 0 for infinite loop. Optional third arg LOOPFUNC may be a function that is called prior to each iteration of the macro. Iteration stops if LOOPFUNC returns nil. (fn MACRO &optional COUNT LOOPFUNC)Vkbd-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.Vdefining-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.Vexecuting-kbd-macro Currently executing keyboard macro (string or vector). This is nil when not executing a keyboard macro.Vexecuting-kbd-macro-index Index in currently executing keyboard macro; undefined if none executing.Vlast-kbd-macro Last kbd macro defined, as a string or vector; nil if none defined.Skeymap.o Fmake-keymap Construct and return a new keymap, of the form (keymap CHARTABLE . ALIST). CHARTABLE is a char-table that holds the bindings for all characters without modifiers. All entries in it are initially nil, meaning "command undefined". ALIST is an assoc-list which holds bindings for function keys, mouse events, and any other things that appear in the input stream. Initially, ALIST is nil. The optional arg STRING supplies a menu name for the keymap in case you use it as a menu with `x-popup-menu'. (fn &optional STRING)Fmake-sparse-keymap Construct and return a new sparse keymap. Its car is `keymap' and its cdr is an alist of (CHAR . DEFINITION), which binds the character CHAR to DEFINITION, or (SYMBOL . DEFINITION), which binds the function key or mouse event SYMBOL to DEFINITION. Initially the alist is nil. The optional arg STRING supplies a menu name for the keymap in case you use it as a menu with `x-popup-menu'. (fn &optional STRING)Fkeymapp Return t if OBJECT is a keymap. A keymap is a list (keymap . ALIST), or a symbol whose function definition is itself a keymap. ALIST elements look like (CHAR . DEFN) or (SYMBOL . DEFN); a vector of densely packed bindings for small character codes is also allowed as an element. (fn OBJECT)Fkeymap-prompt Return the prompt-string of a keymap MAP. If non-nil, the prompt is shown in the echo-area when reading a key-sequence to be looked-up in this keymap. (fn MAP)Fkeymap-parent Return the parent keymap of KEYMAP. If KEYMAP has no parent, return nil. (fn KEYMAP)Fset-keymap-parent Modify KEYMAP to set its parent map to PARENT. Return PARENT. PARENT should be nil or another keymap. (fn KEYMAP PARENT)Fmap-keymap-internal Call FUNCTION once for each event binding in KEYMAP. FUNCTION is called with two arguments: the event that is bound, and the definition it is bound to. The event may be a character range. If KEYMAP has a parent, this function returns it without processing it. (fn FUNCTION KEYMAP)Fmap-keymap Call FUNCTION once for each event binding in KEYMAP. FUNCTION is called with two arguments: the event that is bound, and the definition it is bound to. The event may be a character range. If KEYMAP has a parent, the parent's bindings are included as well. This works recursively: if the parent has itself a parent, then the grandparent's bindings are also included and so on. (fn FUNCTION KEYMAP)Fcopy-keymap Return a copy of the keymap KEYMAP. Note that this is almost never needed. If you want a keymap that's like another yet with a few changes, you should use map inheritance rather than copying. I.e. something like: (let ((map (make-sparse-keymap))) (set-keymap-parent map ) (define-key map ...) ...) After performing `copy-keymap', the copy starts out with the same definitions of KEYMAP, but changing either the copy or KEYMAP does not affect the other. Any key definitions that are subkeymaps are recursively copied. However, a key definition which is a symbol whose definition is a keymap is not copied. (fn KEYMAP)Fdefine-key In KEYMAP, define key sequence KEY as DEF. KEYMAP is a keymap. KEY is a string or a vector of symbols and characters, representing a sequence of keystrokes and events. Non-ASCII characters with codes above 127 (such as ISO Latin-1) can be represented by vectors. Two types of vector have special meanings: [remap COMMAND] remaps any key binding for COMMAND. [t] creates a default definition, which applies to any event with no other definition in KEYMAP. DEF is anything that can be a key's definition: nil (means key is undefined in this keymap), a command (a Lisp function suitable for interactive calling), a string (treated as a keyboard macro), a keymap (to define a prefix key), a symbol (when the key is looked up, the symbol will stand for its function definition, which should at that time be one of the above, or another symbol whose function definition is used, etc.), a cons (STRING . DEFN), meaning that DEFN is the definition (DEFN should be a valid definition in its own right), or a cons (MAP . CHAR), meaning use definition of CHAR in keymap MAP, or an extended menu item definition. (See info node `(elisp)Extended Menu Items'.) If KEYMAP is a sparse keymap with a binding for KEY, the existing binding is altered. If there is no binding for KEY, the new pair binding KEY to DEF is added at the front of KEYMAP. (fn KEYMAP KEY DEF)Fcommand-remapping Return the remapping for command COMMAND. Returns nil if COMMAND is not remapped (or not a symbol). If the optional argument POSITION is non-nil, it specifies a mouse position as returned by `event-start' and `event-end', and the remapping occurs in the keymaps associated with it. It can also be a number or marker, in which case the keymap properties at the specified buffer position instead of point are used. The KEYMAPS argument is ignored if POSITION is non-nil. If the optional argument KEYMAPS is non-nil, it should be a keymap or list of keymaps to search for command remapping. Otherwise, search for the remapping in all currently active keymaps. (fn COMMAND &optional POSITION KEYMAPS)Flookup-key Look up key sequence KEY in KEYMAP. Return the definition. A value of nil means undefined. See doc of `define-key' for kinds of definitions. A number as value means KEY is "too long"; that is, characters or symbols in it except for the last one fail to be a valid sequence of prefix characters in KEYMAP. The number is how many characters at the front of KEY it takes to reach a non-prefix key. KEYMAP can also be a list of keymaps. Normally, `lookup-key' ignores bindings for t, which act as default bindings, used when nothing else in the keymap applies; this makes it usable as a general function for probing keymaps. However, if the third optional argument ACCEPT-DEFAULT is non-nil, `lookup-key' will recognize the default bindings, just as `read-key-sequence' does. (fn KEYMAP KEY &optional ACCEPT-DEFAULT)Fcurrent-active-maps Return a list of the currently active keymaps. OLP if non-nil indicates that we should obey `overriding-local-map' and `overriding-terminal-local-map'. POSITION can specify a click position like in the respective argument of `key-binding'. (fn &optional OLP POSITION)Fkey-binding Return the binding for command KEY in current keymaps. KEY is a string or vector, a sequence of keystrokes. The binding is probably a symbol with a function definition. Normally, `key-binding' ignores bindings for t, which act as default bindings, used when nothing else in the keymap applies; this makes it usable as a general function for probing keymaps. However, if the optional second argument ACCEPT-DEFAULT is non-nil, `key-binding' does recognize the default bindings, just as `read-key-sequence' does. Like the normal command loop, `key-binding' will remap the command resulting from looking up KEY by looking up the command in the current keymaps. However, if the optional third argument NO-REMAP is non-nil, `key-binding' returns the unmapped command. If KEY is a key sequence initiated with the mouse, the used keymaps will depend on the clicked mouse position with regard to the buffer and possible local keymaps on strings. If the optional argument POSITION is non-nil, it specifies a mouse position as returned by `event-start' and `event-end', and the lookup occurs in the keymaps associated with it instead of KEY. It can also be a number or marker, in which case the keymap properties at the specified buffer position instead of point are used. (fn KEY &optional ACCEPT-DEFAULT NO-REMAP POSITION)Flocal-key-binding Return the binding for command KEYS in current local keymap only. KEYS is a string or vector, a sequence of keystrokes. The binding is probably a symbol with a function definition. If optional argument ACCEPT-DEFAULT is non-nil, recognize default bindings; see the description of `lookup-key' for more details about this. (fn KEYS &optional ACCEPT-DEFAULT)Fglobal-key-binding Return the binding for command KEYS in current global keymap only. KEYS is a string or vector, a sequence of keystrokes. The binding is probably a symbol with a function definition. This function's return values are the same as those of `lookup-key' (which see). If optional argument ACCEPT-DEFAULT is non-nil, recognize default bindings; see the description of `lookup-key' for more details about this. (fn KEYS &optional ACCEPT-DEFAULT)Fminor-mode-key-binding Find the visible minor mode bindings of KEY. Return an alist of pairs (MODENAME . BINDING), where MODENAME is the symbol which names the minor mode binding KEY, and BINDING is KEY's definition in that mode. In particular, if KEY has no minor-mode bindings, return nil. If the first binding is a non-prefix, all subsequent bindings will be omitted, since they would be ignored. Similarly, the list doesn't include non-prefix bindings that come after prefix bindings. If optional argument ACCEPT-DEFAULT is non-nil, recognize default bindings; see the description of `lookup-key' for more details about this. (fn KEY &optional ACCEPT-DEFAULT)Fdefine-prefix-command Define COMMAND as a prefix command. COMMAND should be a symbol. A new sparse keymap is stored as COMMAND's function definition and its value. This prepares COMMAND for use as a prefix key's binding. If a second optional argument MAPVAR is given, it should be a symbol. The map is then stored as MAPVAR's value instead of as COMMAND's value; but COMMAND is still defined as a function. The third optional argument NAME, if given, supplies a menu name string for the map. This is required to use the keymap as a menu. This function returns COMMAND. (fn COMMAND &optional MAPVAR NAME)Fuse-global-map Select KEYMAP as the global keymap. (fn KEYMAP)Fuse-local-map Select KEYMAP as the local keymap. If KEYMAP is nil, that means no local keymap. (fn KEYMAP)Fcurrent-local-map Return current buffer's local keymap, or nil if it has none. Normally the local keymap is set by the major mode with `use-local-map'. (fn)Fcurrent-global-map Return the current global keymap. (fn)Fcurrent-minor-mode-maps Return a list of keymaps for the minor modes of the current buffer. (fn)Faccessible-keymaps Find all keymaps accessible via prefix characters from KEYMAP. Returns a list of elements of the form (KEYS . MAP), where the sequence KEYS starting from KEYMAP gets you to MAP. These elements are ordered so that the KEYS increase in length. The first element is ([] . KEYMAP). An optional argument PREFIX, if non-nil, should be a key sequence; then the value includes only maps for prefixes that start with PREFIX. (fn KEYMAP &optional PREFIX)Fkey-description Return a pretty description of key-sequence KEYS. Optional arg PREFIX is the sequence of keys leading up to KEYS. For example, [?C-x ?l] is converted into the string "C-x l". For an approximate inverse of this, see `kbd'. (fn KEYS &optional PREFIX)Fsingle-key-description Return a pretty description of a character event KEY. Control characters turn into C-whatever, etc. Optional argument NO-ANGLES non-nil means don't put angle brackets around function keys and event symbols. See `text-char-description' for describing character codes. (fn KEY &optional NO-ANGLES)Ftext-char-description Return the description of CHARACTER in standard Emacs notation. CHARACTER must be a valid character code that passes the `characterp' test. Control characters turn into "^char", and characters with Meta and other modifiers signal an error, as they are not valid character codes. This differs from `single-key-description' which accepts character events, and thus doesn't enforce the `characterp' condition, turns control characters into "C-char", and uses the 2**27 bit for Meta. See Info node `(elisp)Describing Characters' for examples. (fn CHARACTER)Fwhere-is-internal Return list of keys that invoke DEFINITION. If KEYMAP is a keymap, search only KEYMAP and the global keymap. If KEYMAP is nil, search all the currently active keymaps, except for `overriding-local-map' (which is ignored). If KEYMAP is a list of keymaps, search only those keymaps. If optional 3rd arg FIRSTONLY is non-nil, return the first key sequence found, rather than a list of all possible key sequences. If FIRSTONLY is the symbol `non-ascii', return the first binding found, no matter what it is. If FIRSTONLY has another non-nil value, prefer bindings that use the modifier key specified in `where-is-preferred-modifier' (or their meta variants) and entirely reject menu bindings. If optional 4th arg NOINDIRECT is non-nil, don't extract the commands inside menu-items. This makes it possible to search for a menu-item itself. The optional 5th arg NO-REMAP alters how command remapping is handled: - If another command OTHER-COMMAND is remapped to DEFINITION, normally search for the bindings of OTHER-COMMAND and include them in the returned list. But if NO-REMAP is non-nil, include the vector [remap OTHER-COMMAND] in the returned list instead, without searching for those other bindings. - If DEFINITION is remapped to OTHER-COMMAND, normally return the bindings for OTHER-COMMAND. But if NO-REMAP is non-nil, return the bindings for DEFINITION instead, ignoring its remapping. (fn DEFINITION &optional KEYMAP FIRSTONLY NOINDIRECT NO-REMAP)Fdescribe-buffer-bindings Insert the list of all defined keys and their definitions. The list is inserted in the current buffer, while the bindings are looked up in BUFFER. The optional argument PREFIX, if non-nil, should be a key sequence; then we display only bindings that start with that prefix. The optional argument MENUS, if non-nil, says to mention menu bindings. (Ordinarily these are omitted from the output.) (fn BUFFER &optional PREFIX MENUS)Fdescribe-vector Insert a description of contents of VECTOR. This is text showing the elements of vector matched against indices. DESCRIBER is the output function used; nil means use `princ'. (fn VECTOR &optional DESCRIBER)Fapropos-internal Show all symbols whose names contain match for REGEXP. If optional 2nd arg PREDICATE is non-nil, (funcall PREDICATE SYMBOL) is done for each symbol and a symbol is mentioned only if that returns non-nil. Return list of symbols found. (fn REGEXP &optional PREDICATE)Vdefine-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.Vminibuffer-local-map Default keymap to use when reading from the minibuffer.Vminibuffer-local-ns-map Local keymap for the minibuffer when spaces are not allowed.Vminor-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.Vminor-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.Vemulation-mode-map-alists List of keymap alists to use for emulation 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'.Vwhere-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.Ssysdep.o Fget-internal-run-time Return the current run time used by Emacs. The time is returned as in the style of `current-time'. On systems that can't determine the run time, `get-internal-run-time' does the same thing as `current-time'. (fn)Sbignum.o Sbuffer.o Fbuffer-live-p Return t if OBJECT is a buffer which has not been killed. Value is nil if OBJECT is not a buffer or if it has been killed. (fn OBJECT)Fbuffer-list Return a list of all live buffers. If the optional arg FRAME is a frame, return the buffer list in the proper order for that frame: the buffers shown in FRAME come first, followed by the rest of the buffers. (fn &optional FRAME)Fget-buffer Return the buffer named BUFFER-OR-NAME. BUFFER-OR-NAME must be either a string or a buffer. If BUFFER-OR-NAME is a string and there is no buffer with that name, return nil. If BUFFER-OR-NAME is a buffer, return it as given. (fn BUFFER-OR-NAME)Fget-file-buffer Return the buffer visiting file FILENAME (a string). The buffer's `buffer-file-name' must match exactly the expansion of FILENAME. If there is no such live buffer, return nil. See also `find-buffer-visiting'. (fn FILENAME)Fget-buffer-create Return the buffer specified by BUFFER-OR-NAME, creating a new one if needed. If BUFFER-OR-NAME is a string and a live buffer with that name exists, return that buffer. If no such buffer exists, create a new buffer with that name and return it. If BUFFER-OR-NAME starts with a space, the new buffer does not keep undo information. If BUFFER-OR-NAME is a buffer instead of a string, return it as given, even if it is dead. The return value is never nil. (fn BUFFER-OR-NAME)Fmake-indirect-buffer Create and return an indirect buffer for buffer BASE-BUFFER, named NAME. BASE-BUFFER should be a live buffer, or the name of an existing buffer. NAME should be a string which is not the name of an existing buffer. Optional argument CLONE non-nil means preserve BASE-BUFFER's state, such as major and minor modes, in the indirect buffer. CLONE nil means the indirect buffer's state is reset to default values. (fn BASE-BUFFER NAME &optional CLONE)Fgenerate-new-buffer-name Return a string that is the name of no existing buffer based on NAME. If there is no live buffer named NAME, then return NAME. Otherwise modify name by appending `', incrementing NUMBER (starting at 2) until an unused name is found, and then return that name. Optional second argument IGNORE specifies a name that is okay to use (if it is in the sequence to be tried) even if a buffer with that name exists. If NAME begins with a space (i.e., a buffer that is not normally visible to users), then if buffer NAME already exists a random number is first appended to NAME, to speed up finding a non-existent buffer. (fn NAME &optional IGNORE)Fbuffer-name Return the name of BUFFER, as a string. BUFFER defaults to the current buffer. Return nil if BUFFER has been killed. (fn &optional BUFFER)Fbuffer-file-name Return name of file BUFFER is visiting, or nil if none. No argument or nil as argument means use the current buffer. (fn &optional BUFFER)Fbuffer-base-buffer Return the base buffer of indirect buffer BUFFER. If BUFFER is not indirect, return nil. BUFFER defaults to the current buffer. (fn &optional BUFFER)Fbuffer-local-value Return the value of VARIABLE in BUFFER. If VARIABLE does not have a buffer-local binding in BUFFER, the value is the default binding of the variable. (fn VARIABLE BUFFER)Fbuffer-local-variables Return an alist of variables that are buffer-local in BUFFER. Most elements look like (SYMBOL . VALUE), describing one variable. For a symbol that is locally unbound, just the symbol appears in the value. Note that storing new VALUEs in these elements doesn't change the variables. No argument or nil as argument means use current buffer as BUFFER. (fn &optional BUFFER)Fbuffer-modified-p Return t if BUFFER was modified since its file was last read or saved. No argument or nil as argument means use current buffer as BUFFER. (fn &optional BUFFER)Fforce-mode-line-update Force redisplay of the current buffer's mode line and header line. With optional non-nil ALL, force redisplay of all mode lines, tab lines and header lines. This function also forces recomputation of the menu bar menus and the frame title. (fn &optional ALL)Fset-buffer-modified-p Mark current buffer as modified or unmodified according to FLAG. A non-nil FLAG means mark the buffer modified. In addition, this function unconditionally forces redisplay of the mode lines of the windows that display the current buffer, and also locks or unlocks the file visited by the buffer, depending on whether the function's argument is non-nil, but only if both `buffer-file-name' and `buffer-file-truename' are non-nil. (fn FLAG)Frestore-buffer-modified-p Like `set-buffer-modified-p', but doesn't redisplay buffer's mode line. This function also locks and unlocks the file visited by the buffer, if both `buffer-file-truename' and `buffer-file-name' are non-nil. It is not ensured that mode lines will be updated to show the modified state of the current buffer. Use with care. (fn FLAG)Fbuffer-modified-tick Return BUFFER's tick counter, incremented for each change in text. Each buffer has a tick counter which is incremented each time the text in that buffer is changed. No argument or nil as argument means use current buffer as BUFFER. (fn &optional BUFFER)Fbuffer-chars-modified-tick Return BUFFER's character-change tick counter. Each buffer has a character-change tick counter, which is set to the value of the buffer's tick counter (see `buffer-modified-tick'), each time text in that buffer is inserted or deleted. By comparing the values returned by two individual calls of `buffer-chars-modified-tick', you can tell whether a character change occurred in that buffer in between these calls. No argument or nil as argument means use current buffer as BUFFER. (fn &optional BUFFER)Frename-buffer Change current buffer's name to NEWNAME (a string). If second arg UNIQUE is nil or omitted, it is an error if a buffer named NEWNAME already exists. If UNIQUE is non-nil, come up with a new name using `generate-new-buffer-name'. Interactively, you can set UNIQUE with a prefix argument. We return the name we actually gave the buffer. This does not change the name of the visited file (if any). (fn NEWNAME &optional UNIQUE)Fother-buffer Return most recently selected buffer other than BUFFER. Buffers not visible in windows are preferred to visible buffers, unless optional second argument VISIBLE-OK is non-nil. Ignore the argument BUFFER unless it denotes a live buffer. If the optional third argument FRAME specifies a live frame, then use that frame's buffer list instead of the selected frame's buffer list. The buffer is found by scanning the selected or specified frame's buffer list first, followed by the list of all buffers. If no other buffer exists, return the buffer `*scratch*' (creating it if necessary). (fn &optional BUFFER VISIBLE-OK FRAME)Fbuffer-enable-undo Start keeping undo information for buffer BUFFER. No argument or nil as argument means do this for the current buffer. (fn &optional BUFFER)Fkill-buffer Kill the buffer specified by BUFFER-OR-NAME. The argument may be a buffer or the name of an existing buffer. Argument nil or omitted means kill the current buffer. Return t if the buffer is actually killed, nil otherwise. The functions in `kill-buffer-query-functions' are called with the buffer to be killed as the current buffer. If any of them returns nil, the buffer is not killed. The hook `kill-buffer-hook' is run before the buffer is actually killed. The buffer being killed will be current while the hook is running. Functions called by any of these hooks are supposed to not change the current buffer. Any processes that have this buffer as the `process-buffer' are killed with SIGHUP. This function calls `replace-buffer-in-windows' for cleaning up all windows currently displaying the buffer to be killed. (fn &optional BUFFER-OR-NAME)Fbury-buffer-internal Move BUFFER to the end of the buffer list. (fn BUFFER)Fset-buffer-major-mode Set an appropriate major mode for BUFFER. For the *scratch* buffer, use `initial-major-mode', otherwise choose a mode according to the default value of `major-mode'. Use this function before selecting the buffer, since it may need to inspect the current buffer's major mode. (fn BUFFER)Fcurrent-buffer Return the current buffer as a Lisp object. (fn)Fset-buffer Make buffer BUFFER-OR-NAME current for editing operations. BUFFER-OR-NAME may be a buffer or the name of an existing buffer. See also `with-current-buffer' when you want to make a buffer current temporarily. This function does not display the buffer, so its effect ends when the current command terminates. Use `switch-to-buffer' or `pop-to-buffer' to switch buffers permanently. The return value is the buffer made current. (fn BUFFER-OR-NAME)Fbarf-if-buffer-read-only Signal a `buffer-read-only' error if the current buffer is read-only. If the text under POSITION (which defaults to point) has the `inhibit-read-only' text property set, the error will not be raised. (fn &optional POSITION)Ferase-buffer Delete the entire contents of the current buffer. Any narrowing restriction in effect (see `narrow-to-region') is removed, so the buffer is truly empty after this. (fn)Fbuffer-swap-text Swap the text between current buffer and BUFFER. Using this function from `save-excursion' might produce surprising results, see Info node `(elisp)Swapping Text'. (fn BUFFER)Fset-buffer-multibyte Set the multibyte flag of the current buffer to FLAG. If FLAG is t, this makes the buffer a multibyte buffer. If FLAG is nil, this makes the buffer a single-byte buffer. In these cases, the buffer contents remain unchanged as a sequence of bytes but the contents viewed as characters do change. If FLAG is `to', this makes the buffer a multibyte buffer by changing all eight-bit bytes to eight-bit characters. If the multibyte flag was really changed, undo information of the current buffer is cleared. (fn FLAG)Fkill-all-local-variables Switch to Fundamental mode by killing current buffer's local variables. Most local variable bindings are eliminated so that the default values become effective once more. Also, the syntax table is set from `standard-syntax-table', the local keymap is set to nil, and the abbrev table from `fundamental-mode-abbrev-table'. This function also forces redisplay of the mode line. Every function to select a new major mode starts by calling this function. As a special exception, local variables whose names have a non-nil `permanent-local' property are not eliminated by this function. The first thing this function does is run the normal hook `change-major-mode-hook'. (fn)Foverlayp Return t if OBJECT is an overlay. (fn OBJECT)Fmake-overlay Create a new overlay with range BEG to END in BUFFER and return it. If omitted, BUFFER defaults to the current buffer. BEG and END may be integers or markers. The fourth arg FRONT-ADVANCE, if non-nil, makes the marker for the front of the overlay advance when text is inserted there (which means the text *is not* included in the overlay). The fifth arg REAR-ADVANCE, if non-nil, makes the marker for the rear of the overlay advance when text is inserted there (which means the text *is* included in the overlay). (fn BEG END &optional BUFFER FRONT-ADVANCE REAR-ADVANCE)Fmove-overlay Set the endpoints of OVERLAY to BEG and END in BUFFER. If BUFFER is omitted, leave OVERLAY in the same buffer it inhabits now. If BUFFER is omitted, and OVERLAY is in no buffer, put it in the current buffer. (fn OVERLAY BEG END &optional BUFFER)Fdelete-overlay Delete the overlay OVERLAY from its buffer. (fn OVERLAY)Fdelete-all-overlays Delete all overlays of BUFFER. BUFFER omitted or nil means delete all overlays of the current buffer. (fn &optional BUFFER)Foverlay-start Return the position at which OVERLAY starts. (fn OVERLAY)Foverlay-end Return the position at which OVERLAY ends. (fn OVERLAY)Foverlay-buffer Return the buffer OVERLAY belongs to. Return nil if OVERLAY has been deleted. (fn OVERLAY)Foverlay-properties Return a list of the properties on OVERLAY. This is a copy of OVERLAY's plist; modifying its conses has no effect on OVERLAY. (fn OVERLAY)Foverlays-at Return a list of the overlays that contain the character at POS. If SORTED is non-nil, then sort them by decreasing priority. (fn POS &optional SORTED)Foverlays-in Return a list of the overlays that overlap the region BEG ... END. Overlap means that at least one character is contained within the overlay and also contained within the specified region. Empty overlays are included in the result if they are located at BEG, between BEG and END, or at END provided END denotes the position at the end of the buffer. (fn BEG END)Fnext-overlay-change Return the next position after POS where an overlay starts or ends. If there are no overlay boundaries from POS to (point-max), the value is (point-max). (fn POS)Fprevious-overlay-change Return the previous position before POS where an overlay starts or ends. If there are no overlay boundaries from (point-min) to POS, the value is (point-min). (fn POS)Foverlay-lists Return a pair of lists giving all the overlays of the current buffer. The car has all the overlays before the overlay center; the cdr has all the overlays after the overlay center. Recentering overlays moves overlays between these lists. The lists you get are copies, so that changing them has no effect. However, the overlays you get are the real objects that the buffer uses. (fn)Foverlay-recenter Recenter the overlays of the current buffer around position POS. That makes overlay lookup faster for positions near POS (but perhaps slower for positions far away from POS). (fn POS)Foverlay-get Get the property of overlay OVERLAY with property name PROP. (fn OVERLAY PROP)Foverlay-put Set one property of overlay OVERLAY: give property PROP value VALUE. VALUE will be returned. (fn OVERLAY PROP VALUE)Vtab-line-format Analogous to `mode-line-format', but controls the tab line. The tab line appears, optionally, at the top of a window; the mode line appears at the bottom.Vheader-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.Vmode-line-format Template for displaying mode line for current buffer. The value may be nil, a string, a symbol or a list. A value of nil means don't display a mode line. For any symbol other than t or nil, the symbol's value is processed as a mode line construct. As a special exception, if that value is a string, the string is processed verbatim, without handling any %-constructs (see below). Also, unless the symbol has a non-nil `risky-local-variable' property, all properties in any strings, as well as all :eval and :propertize forms in the value, are ignored. A list whose car is a string or list is processed by processing each of the list elements recursively, as separate mode line constructs, and concatenating the results. A list of the form `(:eval FORM)' is processed by evaluating FORM and using the result as a mode line construct. Be careful--FORM should not load any files, because that can cause an infinite recursion. A list of the form `(:propertize ELT PROPS...)' is processed by processing ELT as the mode line construct, and adding the text properties PROPS to the result. A list whose car is a symbol is processed by examining the symbol's value, and, if that value is non-nil, processing the cadr of the list recursively; and if that value is nil, processing the caddr of the list recursively. A list whose car is an integer is processed by processing the cadr of the list, and padding (if the number is positive) or truncating (if negative) to the width specified by that number. A string is printed verbatim in the mode line except for %-constructs: %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). Columns are numbered starting from the left margin, and the leftmost column is displayed as zero. To make the column number update correctly in all cases, `column-number-mode' must be non-nil. %C -- Like %c, but the leftmost column is displayed as one. %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.Vmajor-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".Vmode-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.Vlocal-abbrev-table Local (mode-specific) abbrev table of current buffer.Vabbrev-mode Non-nil if Abbrev mode is enabled. Use the command `abbrev-mode' to change this variable.Vcase-fold-search Non-nil if searches and matches should ignore case.Vfill-column Column beyond which automatic line-wrapping should happen. Interactively, you can set the buffer local value using \[set-fill-column].Vleft-margin Column for the default `indent-line-function' to indent to. Linefeed indents to this column in Fundamental mode.Vtab-width Distance between tab stops (for display of tab characters), in columns. NOTE: This controls the display width of a TAB character, and not the size of an indentation step. This should be an integer greater than zero.Vctl-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).Venable-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. To prevent any attempts to set it or make it buffer-local, Emacs will signal an error in those cases. See also Info node `(elisp)Text Representations'.Vbuffer-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.Vbidi-display-reordering Non-nil means reorder bidirectional text for display in the visual order. Setting this to nil is intended for use in debugging the display code. Don't set to nil in normal sessions, as that is not supported. See also `bidi-paragraph-direction'; setting that non-nil might speed up redisplay.Vbidi-paragraph-start-re If non-nil, a regexp matching a line that starts OR separates paragraphs. The value of nil means to use empty lines as lines that start and separate paragraphs. When Emacs displays bidirectional text, it by default computes the base paragraph direction separately for each paragraph. Setting this variable changes the places where paragraph base direction is recomputed. The regexp is always matched after a newline, so it is best to anchor it by beginning it with a "^". If you change the value of this variable, be sure to change the value of `bidi-paragraph-separate-re' accordingly. For example, to have a single newline behave as a paragraph separator, set both these variables to "^". See also `bidi-paragraph-direction'.Vbidi-paragraph-separate-re If non-nil, a regexp matching a line that separates paragraphs. The value of nil means to use empty lines as paragraph separators. When Emacs displays bidirectional text, it by default computes the base paragraph direction separately for each paragraph. Setting this variable changes the places where paragraph base direction is recomputed. The regexp is always matched after a newline, so it is best to anchor it by beginning it with a "^". If you change the value of this variable, be sure to change the value of `bidi-paragraph-start-re' accordingly. For example, to have a single newline behave as a paragraph separator, set both these variables to "^". See also `bidi-paragraph-direction'.Vbidi-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.Vtruncate-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.Vword-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. Instead of setting this variable directly, most users should use Visual Line mode. Visual Line mode, when enabled, sets `word-wrap' to t, and additionally redefines simple editing commands to act on visual lines rather than logical lines. See the documentation of `visual-line-mode'.Vdefault-directory Name of default directory of current buffer. It should be an absolute directory name; on GNU and Unix systems, these names start with `/' or `~' and end with `/'. To interactively change the default directory, use command `cd'.Vauto-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.Vbuffer-file-name Name of file visited in current buffer, or nil if not visiting a file. This should be an absolute file name.Vbuffer-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'.Vbuffer-auto-save-file-name Name of file for auto-saving current buffer. If it is nil, that means don't auto-save this buffer.Vbuffer-read-only Non-nil if this buffer is read-only.Vbuffer-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.Vbuffer-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.Vselective-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. This usage is obsolete; use overlays or text properties instead.Vselective-display-ellipses Non-nil means display ... on previous line when a line is invisible.Voverwrite-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.Vbuffer-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'.Vleft-margin-width Width in columns of left marginal area for display of a buffer. A value of nil means no marginal area. Setting this variable does not take effect until a new buffer is displayed in a window. To make the change take effect, call `set-window-buffer'.Vright-margin-width Width in columns of right marginal area for display of a buffer. A value of nil means no marginal area. Setting this variable does not take effect until a new buffer is displayed in a window. To make the change take effect, call `set-window-buffer'.Vleft-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. Setting this variable does not take effect until a new buffer is displayed in a window. To make the change take effect, call `set-window-buffer'.Vright-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. Setting this variable does not take effect until a new buffer is displayed in a window. To make the change take effect, call `set-window-buffer'.Vfringes-outside-margins Non-nil means to display fringes outside display margins. A value of nil means to display fringes between margins and buffer text. Setting this variable does not take effect until a new buffer is displayed in a window. To make the change take effect, call `set-window-buffer'.Vscroll-bar-width Width of this buffer's vertical scroll bars in pixels. A value of nil means to use the scroll bar width from the window's frame.Vscroll-bar-height Height of this buffer's horizontal scroll bars in pixels. A value of nil means to use the scroll bar height from the window's frame.Vvertical-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.Vhorizontal-scroll-bar Position of this buffer's horizontal 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 `bottom' means put the horizontal scroll bar at the bottom of the window; a value of nil means don't show any horizontal scroll bars. A value of t (the default) means do whatever the window's frame specifies.Vindicate-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.Vindicate-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)).Vfringe-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.Vfringe-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.Vscroll-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.Vscroll-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.Vbefore-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.Vafter-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 chars 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 chars 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.Vfirst-change-hook A list of functions to call before changing a buffer which is unmodified. The functions are run using the `run-hooks' function.Vbuffer-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 . TIMESTAMP), where TIMESTAMP is in the style of `current-time', indicates that the buffer was previously unmodified; TIMESTAMP is 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 (t . 0) means the buffer was previously unmodified but its time stamp was unknown because it was not associated with a file. An entry (t . -1) is similar, except that it means the buffer's visited file did not exist. 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 characters 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.Vmark-active Non-nil means the mark and region are currently active in this buffer.Vcache-long-scans Non-nil means that Emacs should use caches in attempt to speedup buffer scans. There is no reason to set this to nil except for debugging purposes. 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-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-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. Bidirectional editing also requires buffer scans to find paragraph separators. If you have large paragraphs or no paragraph separators at all, these scans may be slow. If `cache-long-scans' is non-nil, results of these scans are cached. This doesn't help too much if paragraphs are of the reasonable (few thousands of characters) size. 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.Vpoint-before-scroll Value of point before the last series of scroll operations, or nil.Vbuffer-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.Vbuffer-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.Vbuffer-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. This variable can also be a list. The list can have two kinds of elements: `ATOM' and `(ATOM . ELLIPSIS)'. A text character is invisible if its `invisible' property is `ATOM', or has an `invisible' property that is a list that contains `ATOM'. If the `(ATOM . ELLIPSIS)' form is used, and `ELLIPSIS' is non-nil, an ellipsis will be displayed after the invisible characters. Setting this variable is very fast, much faster than scanning all the text in the buffer looking for properties to change.Vbuffer-display-count A number incremented each time this buffer is displayed in a window. The function `set-window-buffer' increments it.Vbuffer-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.Vtransient-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 region is highlighted with the `region' face. 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: - The symbol `lambda' enables Transient Mark mode temporarily. The mode is disabled again after any subsequent action that would normally deactivate the mark (e.g. buffer modification). - The pair (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.Vinhibit-read-only Non-nil means disregard read-only status of buffers or characters. A non-nil value that is a list means disregard `buffer-read-only' status, and disregard a `read-only' text property if the property value is a member of the list. Any other non-nil value means disregard `buffer-read-only' and all `read-only' text properties.Vcursor-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 WIDTH and HEIGHT can't exceed the frame's canonical character size. 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'.Vline-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.Vcursor-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.Vkill-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. Functions run by this hook are supposed to not change the current buffer.Vchange-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.Vbuffer-list-update-hook Hook run when the buffer list changes. Functions (implicitly) running this hook are `get-buffer-create', `make-indirect-buffer', `rename-buffer', `kill-buffer', `bury-buffer' and `select-window'. Functions run by this hook should avoid calling `select-window' with a nil NORECORD argument or `with-temp-buffer' since either may lead to infinite recursion.Sfilelock.o Flock-buffer Lock FILE, if current buffer is modified. FILE defaults to current buffer's visited file, or else nothing is done if current buffer isn't visiting a file. If the option `create-lockfiles' is nil, this does nothing. (fn &optional FILE)Funlock-buffer Unlock the file visited in the current buffer. If the buffer is not modified, this does nothing because the file should not be locked in that case. (fn)Ffile-locked-p Return a value indicating whether FILENAME is locked. The value is nil if the FILENAME is not locked, t if it is locked by you, else a string saying which user has locked it. (fn FILENAME)Vtemporary-file-directory The directory for writing temporary files.Vcreate-lockfiles Non-nil means use lockfiles to avoid editing collisions. The name of the (per-buffer) lockfile is constructed by prepending a '.#' to the name of the file being locked. See also `lock-buffer' and Info node `(emacs)Interlocking'.Sinsdel.o Fcombine-after-change-execute This function is for use internally in the function `combine-after-change-calls'. (fn)Vcombine-after-change-calls Used internally by the function `combine-after-change-calls' macro.Vinhibit-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. Setting this variable non-nil also inhibits file locks and checks whether files are locked by another Emacs session, as well as handling of the active region per `select-active-regions'. To delay change hooks during a series of changes, use `combine-change-calls' or `combine-after-change-calls' instead of binding this variable. See also the info node `(elisp) Change Hooks'.Smarker.o Fmarker-buffer Return the buffer that MARKER points into, or nil if none. Returns nil if MARKER points into a dead buffer. (fn MARKER)Fmarker-position Return the position of MARKER, or nil if it points nowhere. (fn MARKER)Fset-marker Position MARKER before character number POSITION in BUFFER. If BUFFER is omitted or nil, it defaults to the current buffer. If POSITION is nil, makes marker point nowhere so it no longer slows down editing in any buffer. Returns MARKER. (fn MARKER POSITION &optional BUFFER)Fcopy-marker Return a new marker pointing at the same place as MARKER. If argument is a number, makes a new marker pointing at that position in the current buffer. If MARKER is not specified, the new marker does not point anywhere. The optional argument TYPE specifies the insertion type of the new marker; see `marker-insertion-type'. (fn &optional MARKER TYPE)Fmarker-insertion-type Return insertion type of MARKER: t if it stays after inserted text. The value nil means the marker stays before text inserted there. (fn MARKER)Fset-marker-insertion-type Set the insertion-type of MARKER to TYPE. If TYPE is t, it means the marker advances when you insert text at it. If TYPE is nil, it means the marker stays behind when you insert text at it. (fn MARKER TYPE)Fbuffer-has-markers-at Return t if there are markers pointing at POSITION in the current buffer. (fn POSITION)Sminibuf.o Factive-minibuffer-window Return the currently active minibuffer window, or nil if none. (fn)Fset-minibuffer-window Specify which minibuffer window to use for the minibuffer. This affects where the minibuffer is displayed if you put text in it without invoking the usual minibuffer commands. (fn WINDOW)Fminibufferp Return t if BUFFER is a minibuffer. No argument or nil as argument means use current buffer as BUFFER. BUFFER can be a buffer or a buffer name. (fn &optional BUFFER)Fminibuffer-prompt-end Return the buffer position of the end of the minibuffer prompt. Return (point-min) if current buffer is not a minibuffer. (fn)Fminibuffer-contents Return the user input in a minibuffer as a string. If the current buffer is not a minibuffer, return its entire contents. (fn)Fminibuffer-contents-no-properties Return the user input in a minibuffer as a string, without text-properties. If the current buffer is not a minibuffer, return its entire contents. (fn)Fread-from-minibuffer Read a string from the minibuffer, prompting with string PROMPT. The optional second arg INITIAL-CONTENTS is an obsolete alternative to DEFAULT-VALUE. It normally should be nil in new code, except when HIST is a cons. It is discussed in more detail below. Third arg KEYMAP is a keymap to use whilst reading; if omitted or nil, the default is `minibuffer-local-map'. If fourth arg READ is non-nil, interpret the result as a Lisp object and return that object: in other words, do `(car (read-from-string INPUT-STRING))' Fifth arg HIST, if non-nil, specifies a history list and optionally the initial position in the list. It can be a symbol, which is the history list variable to use, or a cons cell (HISTVAR . HISTPOS). In that case, HISTVAR is the history list variable to use, and HISTPOS is the initial position for use by the minibuffer history commands. For consistency, you should also specify that element of the history as the value of INITIAL-CONTENTS. Positions are counted starting from 1 at the beginning of the list. If HIST is the symbol `t', history is not recorded. If `history-add-new-input' is non-nil (the default), the result will be added to the history list using `add-to-history'. Sixth arg DEFAULT-VALUE, if non-nil, should be a string, which is used as the default to `read' if READ is non-nil and the user enters empty input. But if READ is nil, this function does _not_ return DEFAULT-VALUE for empty input! Instead, it returns the empty string. Whatever the value of READ, DEFAULT-VALUE is made available via the minibuffer history commands. DEFAULT-VALUE can also be a list of strings, in which case all the strings are available in the history, and the first string is the default to `read' if READ is non-nil. Seventh arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits the current input method and the setting of `enable-multibyte-characters'. If the variable `minibuffer-allow-text-properties' is non-nil, then the string which is returned includes whatever text properties were present in the minibuffer. Otherwise the value has no text properties. The remainder of this documentation string describes the INITIAL-CONTENTS argument in more detail. It is only relevant when studying existing code, or when HIST is a cons. If non-nil, INITIAL-CONTENTS is a string to be inserted into the minibuffer before reading input. Normally, point is put at the end of that string. However, if INITIAL-CONTENTS is (STRING . POSITION), the initial input is STRING, but point is placed at _one-indexed_ position POSITION in the minibuffer. Any integer value less than or equal to one puts point at the beginning of the string. *Note* that this behavior differs from the way such arguments are used in `completing-read' and some related functions, which use zero-indexing for POSITION. (fn PROMPT &optional INITIAL-CONTENTS KEYMAP READ HIST DEFAULT-VALUE INHERIT-INPUT-METHOD)Fread-string Read a string from the minibuffer, prompting with string PROMPT. If non-nil, second arg INITIAL-INPUT is a string to insert before reading. This argument has been superseded by DEFAULT-VALUE and should normally be nil in new code. It behaves as INITIAL-CONTENTS in `read-from-minibuffer' (which see). The third arg HISTORY, if non-nil, specifies a history list and optionally the initial position in the list. See `read-from-minibuffer' for details of HISTORY argument. Fourth arg DEFAULT-VALUE is the default value or the list of default values. If non-nil, it is used for history commands, and as the value (or the first element of the list of default values) to return if the user enters the empty string. Fifth arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits the current input method and the setting of `enable-multibyte-characters'. (fn PROMPT &optional INITIAL-INPUT HISTORY DEFAULT-VALUE INHERIT-INPUT-METHOD)Fread-no-blanks-input Read a string from the terminal, not allowing blanks. Prompt with PROMPT. Whitespace terminates the input. If INITIAL is non-nil, it should be a string, which is used as initial input, with point positioned at the end, so that SPACE will accept the input. (Actually, INITIAL can also be a cons of a string and an integer. Such values are treated as in `read-from-minibuffer', but are normally not useful in this function.) Third arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits the current input method and the setting of`enable-multibyte-characters'. (fn PROMPT &optional INITIAL INHERIT-INPUT-METHOD)Fread-command Read the name of a command and return as a symbol. Prompt with PROMPT. By default, return DEFAULT-VALUE or its first element if it is a list. If DEFAULT-VALUE is omitted or nil, and the user enters null input, return a symbol whose name is an empty string. (fn PROMPT &optional DEFAULT-VALUE)Fread-function One arg PROMPT, a string. Read the name of a function and return as a symbol. Prompt with PROMPT. (fn PROMPT)Fread-variable Read the name of a user option and return it as a symbol. Prompt with PROMPT. By default, return DEFAULT-VALUE or its first element if it is a list. A user option, or customizable variable, is one for which `custom-variable-p' returns non-nil. (fn PROMPT &optional DEFAULT-VALUE)Fread-buffer Read the name of a buffer and return it as a string. Prompt with PROMPT, which should be a string ending with a colon and a space. Provides completion on buffer names the user types. Optional second arg DEF is value to return if user enters an empty line, instead of that empty string. If DEF is a list of default values, return its first element. Optional third arg REQUIRE-MATCH has the same meaning as the REQUIRE-MATCH argument of `completing-read'. Optional arg PREDICATE, if non-nil, is a function limiting the buffers that can be considered. It will be called with each potential candidate, in the form of either a string or a cons cell whose `car' is a string, and should return non-nil to accept the candidate for completion, nil otherwise. If `read-buffer-completion-ignore-case' is non-nil, completion ignores case while reading the buffer name. If `read-buffer-function' is non-nil, this works by calling it as a function, instead of the usual behavior. (fn PROMPT &optional DEF REQUIRE-MATCH PREDICATE)Ftry-completion Return common substring of all completions of STRING in COLLECTION. Test each possible completion specified by COLLECTION to see if it begins with STRING. The possible completions may be strings or symbols. Symbols are converted to strings before testing, see `symbol-name'. All that match STRING are compared together; the longest initial sequence common to all these matches is the return value. If there is no match at all, the return value is nil. For a unique match which is exact, the return value is t. If COLLECTION is an alist, the keys (cars of elements) are the possible completions. If an element is not a cons cell, then the element itself is the possible completion. If COLLECTION is a hash-table, all the keys that are strings or symbols are the possible completions. If COLLECTION is an obarray, the names of all symbols in the obarray are the possible completions. COLLECTION can also be a function to do the completion itself. It receives three arguments: the values STRING, PREDICATE and nil. Whatever it returns becomes the value of `try-completion'. If optional third argument PREDICATE is non-nil, it is used to test each possible match. The match is a candidate only if PREDICATE returns non-nil. The argument given to PREDICATE is the alist element or the symbol from the obarray. If COLLECTION is a hash-table, predicate is called with two arguments: the key and the value. Additionally to this predicate, `completion-regexp-list' is used to further constrain the set of candidates. (fn STRING COLLECTION &optional PREDICATE)Fall-completions Search for partial matches to STRING in COLLECTION. Test each of the possible completions specified by COLLECTION to see if it begins with STRING. The possible completions may be strings or symbols. Symbols are converted to strings before testing, see `symbol-name'. The value is a list of all the possible completions that match STRING. If COLLECTION is an alist, the keys (cars of elements) are the possible completions. If an element is not a cons cell, then the element itself is the possible completion. If COLLECTION is a hash-table, all the keys that are strings or symbols are the possible completions. If COLLECTION is an obarray, the names of all symbols in the obarray are the possible completions. COLLECTION can also be a function to do the completion itself. It receives three arguments: the values STRING, PREDICATE and t. Whatever it returns becomes the value of `all-completions'. If optional third argument PREDICATE is non-nil, it is used to test each possible match. The match is a candidate only if PREDICATE returns non-nil. The argument given to PREDICATE is the alist element or the symbol from the obarray. If COLLECTION is a hash-table, predicate is called with two arguments: the key and the value. Additionally to this predicate, `completion-regexp-list' is used to further constrain the set of candidates. An obsolete optional fourth argument HIDE-SPACES is still accepted for backward compatibility. If non-nil, strings in COLLECTION that start with a space are ignored unless STRING itself starts with a space. (fn STRING COLLECTION &optional PREDICATE HIDE-SPACES)Fcompleting-read Read a string in the minibuffer, with completion. PROMPT is a string to prompt with; normally it ends in a colon and a space. COLLECTION can be a list of strings, an alist, an obarray or a hash table. COLLECTION can also be a function to do the completion itself. PREDICATE limits completion to a subset of COLLECTION. See `try-completion', `all-completions', `test-completion', and `completion-boundaries', for more details on completion, COLLECTION, and PREDICATE. See also Info node `(elisp)Basic Completion' for the details about completion, and Info node `(elisp)Programmed Completion' for expectations from COLLECTION when it's a function. REQUIRE-MATCH can take the following values: - t means that the user is not allowed to exit unless the input is (or completes to) an element of COLLECTION or is null. - nil means that the user can exit with any input. - `confirm' means that the user can exit with any input, but she needs to confirm her choice if the input is not an element of COLLECTION. - `confirm-after-completion' means that the user can exit with any input, but she needs to confirm her choice if she called `minibuffer-complete' right before `minibuffer-complete-and-exit' and the input is not an element of COLLECTION. - anything else behaves like t except that typing RET does not exit if it does non-null completion. If the input is null, `completing-read' returns DEF, or the first element of the list of default values, or an empty string if DEF is nil, regardless of the value of REQUIRE-MATCH. If INITIAL-INPUT is non-nil, insert it in the minibuffer initially, with point positioned at the end. If it is (STRING . POSITION), the initial input is STRING, but point is placed at _zero-indexed_ position POSITION in STRING. (*Note* that this is different from `read-from-minibuffer' and related functions, which use one-indexing for POSITION.) This feature is deprecated--it is best to pass nil for INITIAL-INPUT and supply the default value DEF instead. The user can yank the default value into the minibuffer easily using \\[next-history-element]. HIST, if non-nil, specifies a history list and optionally the initial position in the list. It can be a symbol, which is the history list variable to use, or it can be a cons cell (HISTVAR . HISTPOS). In that case, HISTVAR is the history list variable to use, and HISTPOS is the initial position (the position in the list used by the minibuffer history commands). For consistency, you should also specify that element of the history as the value of INITIAL-INPUT. (This is the only case in which you should use INITIAL-INPUT instead of DEF.) Positions are counted starting from 1 at the beginning of the list. The variable `history-length' controls the maximum length of a history list. DEF, if non-nil, is the default value or the list of default values. If INHERIT-INPUT-METHOD is non-nil, the minibuffer inherits the current input method and the setting of `enable-multibyte-characters'. Completion ignores case if the ambient value of `completion-ignore-case' is non-nil. See also `completing-read-function'. (fn PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)Ftest-completion Return non-nil if STRING is a valid completion. Takes the same arguments as `all-completions' and `try-completion'. If COLLECTION is a function, it is called with three arguments: the values STRING, PREDICATE and `lambda'. (fn STRING COLLECTION &optional PREDICATE)Finternal-complete-buffer Perform completion on buffer names. STRING and PREDICATE have the same meanings as in `try-completion', `all-completions', and `test-completion'. If FLAG is nil, invoke `try-completion'; if it is t, invoke `all-completions'; otherwise invoke `test-completion'. (fn STRING PREDICATE FLAG)Fassoc-string Like `assoc' but specifically for strings (and symbols). This returns the first element of LIST whose car matches the string or symbol KEY, or nil if no match exists. When performing the comparison, symbols are first converted to strings, and unibyte strings to multibyte. If the optional arg CASE-FOLD is non-nil, both KEY and the elements of LIST are upcased for comparison. Unlike `assoc', KEY can also match an entry in LIST consisting of a single string, rather than a cons cell whose car is a string. (fn KEY LIST &optional CASE-FOLD)Fminibuffer-depth Return current depth of activations of minibuffer, a nonnegative integer. (fn)Fminibuffer-prompt Return the prompt string of the currently-active minibuffer. If no minibuffer is active, return nil. (fn)Vread-expression-history A history list for arguments that are Lisp expressions to evaluate. For example, `eval-expression' uses this.Vread-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'.Vread-buffer-completion-ignore-case Non-nil means completion ignores case when reading a buffer name.Vminibuffer-setup-hook Normal hook run just after entry to minibuffer.Vminibuffer-exit-hook Normal hook run just after exit from minibuffer.Vhistory-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.Vhistory-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.Vhistory-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.Vcompletion-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.Venable-recursive-minibuffers Non-nil means to allow minibuffer commands while in the minibuffer. This variable makes a difference whenever the minibuffer window is active. Also see `minibuffer-depth-indicate-mode', which may be handy if this variable is non-nil.Vminibuffer-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.Vminibuffer-completion-predicate Within call to `completing-read', this holds the PREDICATE argument.Vminibuffer-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'.Vminibuffer-completing-file-name Non-nil means completing file names.Vminibuffer-help-form Value that `help-form' takes on inside the minibuffer.Vminibuffer-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))) If the variable is the symbol `t', no history is recorded.Vminibuffer-history-position Current position of redoing in the history list.Vminibuffer-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).Vcompletion-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.Vminibuffer-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.Vminibuffer-prompt-properties Text properties that are added to minibuffer prompts. These are in addition to the basic `field' property, and stickiness properties.Vread-hide-char Whether to hide input characters in noninteractive mode. If non-nil, it must be a character, which will be used to mask the input characters. This variable should never be set globally. This variable also overrides the default character that `read-passwd' uses to hide passwords.Sfileio.o Ffind-file-name-handler Return FILENAME's handler function for OPERATION, if it has one. Otherwise, return nil. A file name is handled if one of the regular expressions in `file-name-handler-alist' matches it. If OPERATION equals `inhibit-file-name-operation', then ignore any handlers that are members of `inhibit-file-name-handlers', but still do run any other handlers. This lets handlers use the standard functions without calling themselves recursively. (fn FILENAME OPERATION)Ffile-name-directory Return the directory component in file name FILENAME. Return nil if FILENAME does not include a directory. Otherwise return a directory name. Given a Unix syntax file name, returns a string ending in slash. (fn FILENAME)Ffile-name-nondirectory Return file name FILENAME sans its directory. For example, in a Unix-syntax file name, this is everything after the last slash, or the entire name if it contains no slash. (fn FILENAME)Funhandled-file-name-directory Return a directly usable directory name somehow associated with FILENAME. A `directly usable' directory name is one that may be used without the intervention of any file name handler. If FILENAME is a directly usable file itself, return (file-name-as-directory FILENAME). If FILENAME refers to a file which is not accessible from a local process, then this should return nil. The `call-process' and `start-process' functions use this function to get a current directory to run processes in. (fn FILENAME)Ffile-name-as-directory Return a string representing the file name FILE interpreted as a directory. This operation exists because a directory is also a file, but its name as a directory is different from its name as a file. The result can be used as the value of `default-directory' or passed as second argument to `expand-file-name'. For a Unix-syntax file name, just appends a slash unless a trailing slash is already present. (fn FILE)Fdirectory-name-p Return non-nil if NAME ends with a directory separator character. (fn NAME)Fdirectory-file-name Returns the file name of the directory named DIRECTORY. This is the name of the file that holds the data for the directory DIRECTORY. This operation exists because a directory is also a file, but its name as a directory is different from its name as a file. In Unix-syntax, this function just removes the final slash. (fn DIRECTORY)Fmake-temp-file-internal Generate a new file whose name starts with PREFIX, a string. Return the name of the generated file. If DIR-FLAG is zero, do not create the file, just its name. Otherwise, if DIR-FLAG is non-nil, create an empty directory. The file name should end in SUFFIX. Do not expand PREFIX; a non-absolute PREFIX is relative to the Emacs working directory. If TEXT is a string, insert it into the newly created file. Signal an error if the file could not be created. This function does not grok magic file names. (fn PREFIX DIR-FLAG SUFFIX TEXT)Fmake-temp-name Generate temporary file name (string) starting with PREFIX (a string). This function tries to choose a name that has no existing file. For this to work, PREFIX should be an absolute file name, and PREFIX and the returned string should both be non-magic. There is a race condition between calling `make-temp-name' and later creating the file, which opens all kinds of security holes. For that reason, you should normally use `make-temp-file' instead. (fn PREFIX)Fexpand-file-name Convert filename NAME to absolute, and canonicalize it. Second arg DEFAULT-DIRECTORY is directory to start with if NAME is relative (does not start with slash or tilde); both the directory name and a directory's file name are accepted. If DEFAULT-DIRECTORY is nil or missing, the current buffer's value of `default-directory' is used. NAME should be a string that is a valid file name for the underlying filesystem. File name components that are `.' are removed, and so are file name components followed by `..', along with the `..' itself; note that these simplifications are done without checking the resulting file names in the file system. Multiple consecutive slashes are collapsed into a single slash, except at the beginning of the file name when they are significant (e.g., UNC file names on MS-Windows.) An initial "~" in NAME expands to your home directory. An initial "~USER" in NAME expands to USER's home directory. If USER doesn't exist, "~USER" is not expanded. To do other file name substitutions, see `substitute-in-file-name'. For technical reasons, this function can return correct but non-intuitive results for the root directory; for instance, (expand-file-name ".." "/") returns "/..". For this reason, use (directory-file-name (file-name-directory dirname)) to traverse a filesystem tree, not (expand-file-name ".." dirname). Note: make sure DIRNAME in this example doesn't end in a slash, unless it's the root directory. (fn NAME &optional DEFAULT-DIRECTORY)Fsubstitute-in-file-name Substitute environment variables referred to in FILENAME. `$FOO' where FOO is an environment variable name means to substitute the value of that variable. The variable name should be terminated with a character not a letter, digit or underscore; otherwise, enclose the entire variable name in braces. If `/~' appears, all of FILENAME through that `/' is discarded. If `//' appears, everything up to and including the first of those `/' is discarded. (fn FILENAME)Fcopy-file Copy FILE to NEWNAME. Both args must be strings. If NEWNAME is a directory name, copy FILE to a like-named file under NEWNAME. For NEWNAME to be recognized as a directory name, it should end in a slash. This function always sets the file modes of the output file to match the input file. The optional third argument OK-IF-ALREADY-EXISTS specifies what to do if file NEWNAME already exists. If OK-IF-ALREADY-EXISTS is nil, signal a `file-already-exists' error without overwriting. If OK-IF-ALREADY-EXISTS is an integer, request confirmation from the user about overwriting; this is what happens in interactive use with M-x. Any other value for OK-IF-ALREADY-EXISTS means to overwrite the existing file. Fourth arg KEEP-TIME non-nil means give the output file the same last-modified time as the old one. (This works on only some systems.) A prefix arg makes KEEP-TIME non-nil. If PRESERVE-UID-GID is non-nil, try to transfer the uid and gid of FILE to NEWNAME. If PRESERVE-PERMISSIONS is non-nil, copy permissions of FILE to NEWNAME; this includes the file modes, along with ACL entries and SELinux context if present. Otherwise, if NEWNAME is created its file permission bits are those of FILE, masked by the default file permissions. (fn FILE NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-TIME PRESERVE-UID-GID PRESERVE-PERMISSIONS)Fmake-directory-internal Create a new directory named DIRECTORY. (fn DIRECTORY)Fdelete-directory-internal Delete the directory named DIRECTORY. Does not follow symlinks. (fn DIRECTORY)Fdelete-file Delete file named FILENAME. If it is a symlink, remove the symlink. If file has multiple names, it continues to exist with the other names. TRASH non-nil means to trash the file instead of deleting, provided `delete-by-moving-to-trash' is non-nil. When called interactively, TRASH is t if no prefix argument is given. With a prefix argument, TRASH is nil. (fn FILENAME &optional TRASH)Ffile-name-case-insensitive-p Return t if file FILENAME is on a case-insensitive filesystem. Return nil if FILENAME does not exist or is not on a case-insensitive filesystem, or if there was trouble determining whether the filesystem is case-insensitive. (fn FILENAME)Frename-file Rename FILE as NEWNAME. Both args must be strings. If file has names other than FILE, it continues to have those names. If NEWNAME is a directory name, rename FILE to a like-named file under NEWNAME. For NEWNAME to be recognized as a directory name, it should end in a slash. Signal a `file-already-exists' error if a file NEWNAME already exists unless optional third argument OK-IF-ALREADY-EXISTS is non-nil. An integer third arg means request confirmation if NEWNAME already exists. This is what happens in interactive use with M-x. (fn FILE NEWNAME &optional OK-IF-ALREADY-EXISTS)Fadd-name-to-file Give FILE additional name NEWNAME. Both args must be strings. If NEWNAME is a directory name, give FILE a like-named new name under NEWNAME. Signal a `file-already-exists' error if a file NEWNAME already exists unless optional third argument OK-IF-ALREADY-EXISTS is non-nil. An integer third arg means request confirmation if NEWNAME already exists. This is what happens in interactive use with M-x. (fn FILE NEWNAME &optional OK-IF-ALREADY-EXISTS)Fmake-symbolic-link Make a symbolic link to TARGET, named LINKNAME. If LINKNAME is a directory name, make a like-named symbolic link under LINKNAME. Signal a `file-already-exists' error if a file LINKNAME already exists unless optional third argument OK-IF-ALREADY-EXISTS is non-nil. An integer third arg means request confirmation if LINKNAME already exists, and expand leading "~" or strip leading "/:" in TARGET. This happens for interactive use with M-x. (fn TARGET LINKNAME &optional OK-IF-ALREADY-EXISTS)Ffile-name-absolute-p Return t if FILENAME is an absolute file name. On Unix, absolute file names start with `/'. In Emacs, an absolute file name can also start with an initial `~' or `~USER' component, where USER is a valid login name. (fn FILENAME)Ffile-exists-p Return t if file FILENAME exists (whether or not you can read it). Return nil if FILENAME does not exist, or if there was trouble determining whether the file exists. See also `file-readable-p' and `file-attributes'. This returns nil for a symlink to a nonexistent file. Use `file-symlink-p' to test for such links. (fn FILENAME)Ffile-executable-p Return t if FILENAME can be executed by you. For a directory, this means you can access files in that directory. (It is generally better to use `file-accessible-directory-p' for that purpose, though.) (fn FILENAME)Ffile-readable-p Return t if file FILENAME exists and you can read it. See also `file-exists-p' and `file-attributes'. (fn FILENAME)Ffile-writable-p Return t if file FILENAME can be written or created by you. (fn FILENAME)Faccess-file Access file FILENAME, and get an error if that does not work. The second argument STRING is prepended to the error message. If there is no error, returns nil. (fn FILENAME STRING)Ffile-symlink-p Return non-nil if file FILENAME is the name of a symbolic link. The value is the link target, as a string. Return nil if FILENAME does not exist or is not a symbolic link, of there was trouble determining whether the file is a symbolic link. This function does not check whether the link target exists. (fn FILENAME)Ffile-directory-p Return t if FILENAME names an existing directory. Return nil if FILENAME does not name a directory, or if there was trouble determining whether FILENAME is a directory. Symbolic links to directories count as directories. See `file-symlink-p' to distinguish symlinks. (fn FILENAME)Ffile-accessible-directory-p Return t if FILENAME names a directory you can open. For the value to be t, FILENAME must specify the name of a directory as a file, and the directory must allow you to open files in it. In order to use a directory as a buffer's current directory, this predicate must return true. A directory name spec may be given instead; then the value is t if the directory so specified exists and really is a readable and searchable directory. (fn FILENAME)Ffile-regular-p Return t if FILENAME names a regular file. This is the sort of file that holds an ordinary stream of data bytes. Return nil if FILENAME does not exist or is not a regular file, or there was trouble determining whether FILENAME is a regular file. Symbolic links to regular files count as regular files. See `file-symlink-p' to distinguish symlinks. (fn FILENAME)Ffile-selinux-context Return SELinux context of file named FILENAME. The return value is a list (USER ROLE TYPE RANGE), where the list elements are strings naming the user, role, type, and range of the file's SELinux security context. Return (nil nil nil nil) if the file is nonexistent, or if SELinux is disabled, or if Emacs lacks SELinux support. (fn FILENAME)Fset-file-selinux-context Set SELinux context of file named FILENAME to CONTEXT. CONTEXT should be a list (USER ROLE TYPE RANGE), where the list elements are strings naming the components of a SELinux context. Value is t if setting of SELinux context was successful, nil otherwise. This function does nothing and returns nil if SELinux is disabled, or if Emacs was not compiled with SELinux support. (fn FILENAME CONTEXT)Ffile-acl Return ACL entries of file named FILENAME. The entries are returned in a format suitable for use in `set-file-acl' but is otherwise undocumented and subject to change. Return nil if file does not exist. (fn FILENAME)Fset-file-acl Set ACL of file named FILENAME to ACL-STRING. ACL-STRING should contain the textual representation of the ACL entries in a format suitable for the platform. Value is t if setting of ACL was successful, nil otherwise. Setting ACL for local files requires Emacs to be built with ACL support. (fn FILENAME ACL-STRING)Ffile-modes Return mode bits of file named FILENAME, as an integer. Return nil if FILENAME does not exist. (fn FILENAME)Fset-file-modes Set mode bits of file named FILENAME to MODE (an integer). Only the 12 low bits of MODE are used. Interactively, mode bits are read by `read-file-modes', which accepts symbolic notation, like the `chmod' command from GNU Coreutils. (fn FILENAME MODE)Fset-default-file-modes Set the file permission bits for newly created files. The argument MODE should be an integer; only the low 9 bits are used. On Posix hosts, this setting is inherited by subprocesses. This function works by setting the Emacs's file mode creation mask. Each bit that is set in the mask means that the corresponding bit in the permissions of newly created files will be disabled. Note that when `write-region' creates a file, it resets the execute bit, even if the mask set by this function allows that bit by having the corresponding bit in the mask reset. (fn MODE)Fdefault-file-modes Return the default file protection for created files. The value is an integer. (fn)Fset-file-times Set times of file FILENAME to TIMESTAMP. Set both access and modification times. Return t on success, else nil. Use the current time if TIMESTAMP is nil. TIMESTAMP is in the format of `current-time'. (fn FILENAME &optional TIMESTAMP)Funix-sync Tell Unix to finish all pending disk updates. (fn)Ffile-newer-than-file-p Return t if file FILE1 is newer than file FILE2. If FILE1 does not exist, the answer is nil; otherwise, if FILE2 does not exist, the answer is t. (fn FILE1 FILE2)Finsert-file-contents Insert contents of file FILENAME after point. Returns list of absolute file name and number of characters inserted. If second argument VISIT is non-nil, the buffer's visited filename and last save file modtime are set, and it is marked unmodified. If visiting and the file does not exist, visiting is completed before the error is signaled. The optional third and fourth arguments BEG and END specify what portion of the file to insert. These arguments count bytes in the file, not characters in the buffer. If VISIT is non-nil, BEG and END must be nil. If optional fifth argument REPLACE is non-nil, replace the current buffer contents (in the accessible portion) with the file contents. This is better than simply deleting and inserting the whole thing because (1) it preserves some marker positions and (2) it puts less data in the undo list. When REPLACE is non-nil, the second return value is the number of characters that replace previous buffer contents. This function does code conversion according to the value of `coding-system-for-read' or `file-coding-system-alist', and sets the variable `last-coding-system-used' to the coding system actually used. In addition, this function decodes the inserted text from known formats by calling `format-decode', which see. (fn FILENAME &optional VISIT BEG END REPLACE)Fwrite-region Write current region into specified file. When called from a program, requires three arguments: START, END and FILENAME. START and END are normally buffer positions specifying the part of the buffer to write. If START is nil, that means to use the entire buffer contents; END is ignored. If START is a string, then output that string to the file instead of any buffer contents; END is ignored. Optional fourth argument APPEND if non-nil means append to existing file contents (if any). If it is a number, seek to that offset in the file before writing. Optional fifth argument VISIT, if t or a string, means set the last-save-file-modtime of buffer to this file's modtime and mark buffer not modified. If VISIT is t, the buffer is marked as visiting FILENAME. If VISIT is a string, it is a second file name; the output goes to FILENAME, but the buffer is marked as visiting VISIT. VISIT is also the file name to lock and unlock for clash detection. If VISIT is neither t nor nil nor a string, or if Emacs is in batch mode, do not display the "Wrote file" message. The optional sixth arg LOCKNAME, if non-nil, specifies the name to use for locking and unlocking, overriding FILENAME and VISIT. The optional seventh arg MUSTBENEW, if non-nil, insists on a check for an existing file with the same name. If MUSTBENEW is `excl', that means to get an error if the file already exists; never overwrite. If MUSTBENEW is neither nil nor `excl', that means ask for confirmation before overwriting, but do go ahead and overwrite the file if the user confirms. This does code conversion according to the value of `coding-system-for-write', `buffer-file-coding-system', or `file-coding-system-alist', and sets the variable `last-coding-system-used' to the coding system actually used. This calls `write-region-annotate-functions' at the start, and `write-region-post-annotation-function' at the end. (fn START END FILENAME &optional APPEND VISIT LOCKNAME MUSTBENEW)Fcar-less-than-car Return t if (car A) is numerically less than (car B). (fn A B)Fverify-visited-file-modtime Return t if last mod time of BUF's visited file matches what BUF records. This means that the file has not been changed since it was visited or saved. If BUF is omitted or nil, it defaults to the current buffer. See Info node `(elisp)Modification Time' for more details. (fn &optional BUF)Fvisited-file-modtime Return the current buffer's recorded visited file modification time. Return a Lisp timestamp (as in `current-time') if the current buffer has a recorded file modification time, 0 if it doesn't, and -1 if the visited file doesn't exist. See Info node `(elisp)Modification Time' for more details. (fn)Fset-visited-file-modtime Update buffer's recorded modification time from the visited file's time. Useful if the buffer was not read from the file normally or if the file itself has been changed for some known benign reason. An argument specifies the modification time value to use (instead of that of the visited file), in the form of a time value as in `current-time' or an integer flag as returned by `visited-file-modtime'. (fn &optional TIME-FLAG)Fdo-auto-save Auto-save all buffers that need it. This is all buffers that have auto-saving enabled and are changed since last auto-saved. Auto-saving writes the buffer into a file so that your editing is not lost if the system crashes. This file is not the file you visited; that changes only when you save. Normally, run the normal hook `auto-save-hook' before saving. A non-nil NO-MESSAGE argument means do not print any message if successful. A non-nil CURRENT-ONLY argument means save only current buffer. (fn &optional NO-MESSAGE CURRENT-ONLY)Fset-buffer-auto-saved Mark current buffer as auto-saved with its current text. No auto-save file will be written until the buffer changes again. (fn)Fclear-buffer-auto-save-failure Clear any record of a recent auto-save failure in the current buffer. (fn)Frecent-auto-save-p Return t if current buffer has been auto-saved recently. More precisely, if it has been auto-saved since last read from or saved in the visited file. If the buffer has no visited file, then any auto-save counts as "recent". (fn)Fnext-read-file-uses-dialog-p Return t if a call to `read-file-name' will use a dialog. The return value is only relevant for a call to `read-file-name' that happens before any other event (mouse or keypress) is handled. (fn)Fset-binary-mode Switch STREAM to binary I/O mode or text I/O mode. STREAM can be one of the symbols `stdin', `stdout', or `stderr'. If MODE is non-nil, switch STREAM to binary mode, otherwise switch it to text mode. As a side effect, this function flushes any pending STREAM's data. Value is the previous value of STREAM's I/O mode, nil for text mode, non-nil for binary mode. On MS-Windows and MS-DOS, binary mode is needed to read or write arbitrary binary data, and for disabling translation between CR-LF pairs and a single newline character. Examples include generation of text files with Unix-style end-of-line format using `princ' in batch mode, with standard output redirected to a file. On Posix systems, this function always returns non-nil, and has no effect except for flushing STREAM's data. (fn STREAM MODE)Ffile-system-info Return storage information about the file system FILENAME is on. Value is a list of numbers (TOTAL FREE AVAIL), where TOTAL is the total storage of the file system, FREE is the free storage, and AVAIL is the storage available to a non-superuser. All 3 numbers are in bytes. If the underlying system call fails, value is nil. (fn FILENAME)Vfile-name-coding-system Coding system for encoding file names. If it is nil, `default-file-name-coding-system' (which see) is used. On MS-Windows, the value of this variable is largely ignored if `w32-unicode-filenames' (which see) is non-nil. Emacs on Windows behaves as if file names were encoded in `utf-8'.Vdefault-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. On MS-Windows, the value of this variable is largely ignored if `w32-unicode-filenames' (which see) is non-nil. Emacs on Windows behaves as if file names were encoded in `utf-8'.Vfile-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.Vset-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.Vafter-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.Vwrite-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.Vwrite-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.Vwrite-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'.Vinhibit-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'.Vinhibit-file-name-operation The operation for which `inhibit-file-name-handlers' is applicable.Vauto-save-list-file-name File name in which to 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 init file, if you have not yet given it a non-nil value.Vauto-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.Vauto-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.Vwrite-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. Setting this to nil may avoid data loss if the system loses power or the operating system crashes. By default, it is non-nil in batch mode.Vdelete-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.Sdired.o Fdirectory-files Return a list of names of files in DIRECTORY. There are three optional arguments: If FULL is non-nil, return absolute file names. Otherwise return names that are relative to the specified directory. If MATCH is non-nil, mention only file names that match the regexp MATCH. If NOSORT is non-nil, the list is not sorted--its order is unpredictable. Otherwise, the list returned is sorted with `string-lessp'. NOSORT is useful if you plan to sort the result yourself. (fn DIRECTORY &optional FULL MATCH NOSORT)Fdirectory-files-and-attributes Return a list of names of files and their attributes in DIRECTORY. Value is a list of the form: ((FILE1 . FILE1-ATTRS) (FILE2 . FILE2-ATTRS) ...) where each FILEn-ATTRS is the attributes of FILEn as returned by `file-attributes'. This function accepts four optional arguments: If FULL is non-nil, return absolute file names. Otherwise return names that are relative to the specified directory. If MATCH is non-nil, mention only file names that match the regexp MATCH. If NOSORT is non-nil, the list is not sorted--its order is unpredictable. NOSORT is useful if you plan to sort the result yourself. ID-FORMAT specifies the preferred format of attributes uid and gid, see `file-attributes' for further documentation. On MS-Windows, performance depends on `w32-get-true-file-attributes', which see. (fn DIRECTORY &optional FULL MATCH NOSORT ID-FORMAT)Ffile-name-completion Complete file name FILE in directory DIRECTORY. Returns the longest string common to all file names in DIRECTORY that start with FILE. If there is only one and FILE matches it exactly, returns t. Returns nil if DIRECTORY contains no name starting with FILE. If PREDICATE is non-nil, call PREDICATE with each possible completion (in absolute form) and ignore it if PREDICATE returns nil. This function ignores some of the possible completions as determined by the variables `completion-regexp-list' and `completion-ignored-extensions', which see. `completion-regexp-list' is matched against file and directory names relative to DIRECTORY. (fn FILE DIRECTORY &optional PREDICATE)Ffile-name-all-completions Return a list of all completions of file name FILE in directory DIRECTORY. These are all file names in directory DIRECTORY which begin with FILE. This function ignores some of the possible completions as determined by `completion-regexp-list', which see. `completion-regexp-list' is matched against file and directory names relative to DIRECTORY. (fn FILE DIRECTORY)Ffile-attributes Return a list of attributes of file FILENAME. Value is nil if specified file does not exist. ID-FORMAT specifies the preferred format of attributes uid and gid (see below) - valid values are `string' and `integer'. The latter is the default, but we plan to change that, so you should specify a non-nil value for ID-FORMAT if you use the returned uid or gid. To access the elements returned, the following access functions are provided: `file-attribute-type', `file-attribute-link-number', `file-attribute-user-id', `file-attribute-group-id', `file-attribute-access-time', `file-attribute-modification-time', `file-attribute-status-change-time', `file-attribute-size', `file-attribute-modes', `file-attribute-inode-number', and `file-attribute-device-number'. Elements of the attribute list are: 0. t for directory, string (name linked to) for symbolic link, or nil. 1. Number of links to file. 2. File uid as a string or (if ID-FORMAT is `integer' or a string value cannot be looked up) as an integer. 3. File gid, likewise. 4. Last access time, in the style of `current-time'. (See a note below about access time on FAT-based filesystems.) 5. Last modification time, likewise. This is the time of the last change to the file's contents. 6. Last status change time, likewise. This is the time of last change to the file's attributes: owner and group, access mode bits, etc. 7. Size in bytes, as an integer. 8. File modes, as a string of ten letters or dashes as in ls -l. 9. An unspecified value, present only for backward compatibility. 10. inode number, as a nonnegative integer. 11. Filesystem device number, as an integer. Large integers are bignums, so `eq' might not work on them. On most filesystems, the combination of the inode and the device number uniquely identifies the file. On MS-Windows, performance depends on `w32-get-true-file-attributes', which see. On some FAT-based filesystems, only the date of last access is recorded, so last access time will always be midnight of that day. (fn FILENAME &optional ID-FORMAT)Ffile-attributes-lessp Return t if first arg file attributes list is less than second. Comparison is in lexicographic order and case is significant. (fn F1 F2)Fsystem-users Return a list of user names currently registered in the system. If we don't know how to determine that on this platform, just return a list with one element, taken from `user-real-login-name'. (fn)Fsystem-groups Return a list of user group names currently registered in the system. The value may be nil if not supported on this platform. (fn)Vcompletion-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.Scmds.o Fforward-point Return buffer position N characters after (before if N negative) point. (fn N)Fforward-char Move point N characters forward (backward if N is negative). On reaching end or beginning of buffer, stop and signal error. Interactively, N is the numeric prefix argument. If N is omitted or nil, move point 1 character forward. Depending on the bidirectional context, the movement may be to the right or to the left on the screen. This is in contrast with \[right-char], which see. (fn &optional N)Fbackward-char Move point N characters backward (forward if N is negative). On attempt to pass beginning or end of buffer, stop and signal error. Interactively, N is the numeric prefix argument. If N is omitted or nil, move point 1 character backward. Depending on the bidirectional context, the movement may be to the right or to the left on the screen. This is in contrast with \[left-char], which see. (fn &optional N)Fforward-line Move N lines forward (backward if N is negative). Precisely, if point is on line I, move to the start of line I + N ("start of line" in the logical order). If there isn't room, go as far as possible (no error). Returns the count of lines left to move. If moving forward, that is N minus number of lines moved; if backward, N plus number moved. Exception: With positive N, a non-empty line at the end of the buffer, or of its accessible portion, counts as one line successfully moved (for the return value). This means that the function will move point to the end of such a line and will count it as a line moved across, even though there is no next line to go to its beginning. (fn &optional N)Fbeginning-of-line Move point to beginning of current line (in the logical order). With argument N not nil or 1, move forward N - 1 lines first. If point reaches the beginning or end of buffer, it stops there. This function constrains point to the current field unless this moves point to a different line from the original, unconstrained result. If N is nil or 1, and a front-sticky field starts at point, the point does not move. To ignore field boundaries bind `inhibit-field-text-motion' to t, or use the `forward-line' function instead. For instance, `(forward-line 0)' does the same thing as `(beginning-of-line)', except that it ignores field boundaries. (fn &optional N)Fend-of-line Move point to end of current line (in the logical order). With argument N not nil or 1, move forward N - 1 lines first. If point reaches the beginning or end of buffer, it stops there. To ignore intangibility, bind `inhibit-point-motion-hooks' to t. This function constrains point to the current field unless this moves point to a different line from the original, unconstrained result. If N is nil or 1, and a rear-sticky field ends at point, the point does not move. To ignore field boundaries bind `inhibit-field-text-motion' to t. (fn &optional N)Fdelete-char Delete the following N characters (previous if N is negative). Optional second arg KILLFLAG non-nil means kill instead (save in kill ring). Interactively, N is the prefix arg, and KILLFLAG is set if N was explicitly specified. The command `delete-forward-char' is preferable for interactive use, e.g. because it respects values of `delete-active-region' and `overwrite-mode'. (fn N &optional KILLFLAG)Fself-insert-command Insert the character you type. Whichever character C you type to run this command is inserted. The numeric prefix argument N says how many times to repeat the insertion. Before insertion, `expand-abbrev' is executed if the inserted character does not have word syntax and the previous character in the buffer does. After insertion, `internal-auto-fill' is called if `auto-fill-function' is non-nil and if the `auto-fill-chars' table has a non-nil value for the inserted character. At the end, it runs `post-self-insert-hook'. (fn N &optional C)Vpost-self-insert-hook Hook run at the end of `self-insert-command'. This is run after inserting the character.Scasetab.o Fcase-table-p Return t if OBJECT is a case table. See `set-case-table' for more information on these data structures. (fn OBJECT)Fcurrent-case-table Return the case table of the current buffer. (fn)Fstandard-case-table Return the standard case table. This is the one used for new buffers. (fn)Fset-case-table Select a new case table for the current buffer. A case table is a char-table which maps characters to their lower-case equivalents. It also has three "extra" slots which may be additional char-tables or nil. These slots are called UPCASE, CANONICALIZE and EQUIVALENCES. UPCASE maps each non-upper-case character to its upper-case equivalent. (The value in UPCASE for an upper-case character is never used.) If lower and upper case characters are in 1-1 correspondence, you may use nil and the upcase table will be deduced from DOWNCASE. CANONICALIZE maps each character to a canonical equivalent; any two characters that are related by case-conversion have the same canonical equivalent character; it may be nil, in which case it is deduced from DOWNCASE and UPCASE. EQUIVALENCES is a map that cyclically permutes each equivalence class (of characters with the same canonical equivalent); it may be nil, in which case it is deduced from CANONICALIZE. (fn TABLE)Fset-standard-case-table Select a new standard case table for new buffers. See `set-case-table' for more info on case tables. (fn TABLE)Scasefiddle.o Fupcase Convert argument to upper case and return that. The argument may be a character or string. The result has the same type. The argument object is not altered--the value is a copy. If argument is a character, characters which map to multiple code points when cased, e.g. fi, are returned unchanged. See also `capitalize', `downcase' and `upcase-initials'. (fn OBJ)Fdowncase Convert argument to lower case and return that. The argument may be a character or string. The result has the same type. The argument object is not altered--the value is a copy. (fn OBJ)Fcapitalize Convert argument to capitalized form and return that. This means that each word's first character is converted to either title case or upper case, and the rest to lower case. The argument may be a character or string. The result has the same type. The argument object is not altered--the value is a copy. If argument is a character, characters which map to multiple code points when cased, e.g. fi, are returned unchanged. (fn OBJ)Fupcase-initials Convert the initial of each word in the argument to upper case. This means that each word's first character is converted to either title case or upper case, and the rest are left unchanged. The argument may be a character or string. The result has the same type. The argument object is not altered--the value is a copy. If argument is a character, characters which map to multiple code points when cased, e.g. fi, are returned unchanged. (fn OBJ)Fupcase-region Convert the region to upper case. In programs, wants two arguments. These arguments specify the starting and ending character numbers of the region to operate on. When used as a command, the text between point and the mark is operated on. See also `capitalize-region'. (fn BEG END &optional REGION-NONCONTIGUOUS-P)Fdowncase-region Convert the region to lower case. In programs, wants two arguments. These arguments specify the starting and ending character numbers of the region to operate on. When used as a command, the text between point and the mark is operated on. (fn BEG END &optional REGION-NONCONTIGUOUS-P)Fcapitalize-region Convert the region to capitalized form. This means that each word's first character is converted to either title case or upper case, and the rest to lower case. In programs, give two arguments, the starting and ending character positions to operate on. (fn BEG END &optional REGION-NONCONTIGUOUS-P)Fupcase-initials-region Upcase the initial of each word in the region. This means that each word's first character is converted to either title case or upper case, and the rest are left unchanged. In programs, give two arguments, the starting and ending character positions to operate on. (fn BEG END &optional REGION-NONCONTIGUOUS-P)Fupcase-word Convert to upper case from point to end of word, moving over. If point is in the middle of a word, the part of that word before point is ignored when moving forward. With negative argument, convert previous words but do not move. See also `capitalize-word'. (fn ARG)Fdowncase-word Convert to lower case from point to end of word, moving over. If point is in the middle of a word, the part of that word before point is ignored when moving forward. With negative argument, convert previous words but do not move. (fn ARG)Fcapitalize-word Capitalize from point to the end of word, moving over. With numerical argument ARG, capitalize the next ARG-1 words as well. This gives the word(s) a first character in upper case and the rest lower case. If point is in the middle of a word, the part of that word before point is ignored when moving forward. With negative argument, capitalize previous words but do not move. (fn ARG)Vregion-extract-function Function to get the region's content. Called with one argument METHOD which can be: - nil: return the content as a string (list of strings for non-contiguous regions). - `delete-only': delete the region; the return value is undefined. - `bounds': return the boundaries of the region as a list of one or more cons cells of the form (START . END). - anything else: delete the region and return its content as a string (or list of strings for non-contiguous regions), after filtering it with `filter-buffer-substring', which is called, for each contiguous sub-region, with METHOD as its 3rd argument.Sindent.o Fcurrent-column Return the horizontal position of point. Beginning of line is column 0. This is calculated by adding together the widths of all the displayed representations of the character between the start of the previous line and point (e.g., control characters will have a width of 2 or 4, tabs will have a variable width). Ignores finite width of frame, which means that this function may return values greater than (frame-width). Whether the line is visible (if `selective-display' is t) has no effect; however, ^M is treated as end of line when `selective-display' is t. Text that has an invisible property is considered as having width 0, unless `buffer-invisibility-spec' specifies that it is replaced by an ellipsis. (fn)Findent-to Indent from point with tabs and spaces until COLUMN is reached. Optional second argument MINIMUM says always do at least MINIMUM spaces even if that goes past COLUMN; by default, MINIMUM is zero. The return value is the column where the insertion ends. (fn COLUMN &optional MINIMUM)Fcurrent-indentation Return the indentation of the current line. This is the horizontal position of the character following any initial whitespace. (fn)Fmove-to-column Move point to column COLUMN in the current line. Interactively, COLUMN is the value of prefix numeric argument. The column of a character is calculated by adding together the widths as displayed of the previous characters in the line. This function ignores line-continuation; there is no upper limit on the column number a character can have and horizontal scrolling has no effect. If specified column is within a character, point goes after that character. If it's past end of line, point goes to end of line. Optional second argument FORCE non-nil means if COLUMN is in the middle of a tab character, either change it to spaces (when `indent-tabs-mode' is nil), or insert enough spaces before it to reach COLUMN (otherwise). In addition, if FORCE is t, and the line is too short to reach COLUMN, add spaces/tabs to get there. The return value is the current column. (fn COLUMN &optional FORCE)Fcompute-motion Scan through the current buffer, calculating screen position. Scan the current buffer forward from offset FROM, assuming it is at position FROMPOS--a cons of the form (HPOS . VPOS)-- to position TO or position TOPOS--another cons of the form (HPOS . VPOS)-- and return the ending buffer position and screen location. If TOPOS is nil, the actual width and height of the window's text area are used. There are three additional arguments: WIDTH is the number of columns available to display text; this affects handling of continuation lines. A value of nil corresponds to the actual number of available text columns. OFFSETS is either nil or a cons cell (HSCROLL . TAB-OFFSET). HSCROLL is the number of columns not being displayed at the left margin; this is usually taken from a window's hscroll member. TAB-OFFSET is the number of columns of the first tab that aren't being displayed, perhaps because the line was continued within it. If OFFSETS is nil, HSCROLL and TAB-OFFSET are assumed to be zero. WINDOW is the window to operate on. It is used to choose the display table; if it is showing the current buffer, it is used also for deciding which overlay properties apply. Note that `compute-motion' always operates on the current buffer. The value is a list of five elements: (POS HPOS VPOS PREVHPOS CONTIN) POS is the buffer position where the scan stopped. VPOS is the vertical position where the scan stopped. HPOS is the horizontal position where the scan stopped. PREVHPOS is the horizontal position one character back from POS. CONTIN is t if a line was continued after (or within) the previous character. For example, to find the buffer position of column COL of line LINE of a certain window, pass the window's starting location as FROM and the window's upper-left coordinates as FROMPOS. Pass the buffer's (point-max) as TO, to limit the scan to the end of the visible section of the buffer, and pass LINE and COL as TOPOS. (fn FROM FROMPOS TO TOPOS WIDTH OFFSETS WINDOW)Fline-number-display-width Return the width used for displaying line numbers in the selected window. If optional argument PIXELWISE is the symbol `columns', return the width in units of the frame's canonical character width. In this case, the value is a float. If optional argument PIXELWISE is t or any other non-nil value, return the width as an integer number of pixels. Otherwise return the value as an integer number of columns of the face used to display line numbers, `line-number'. Note that in the latter case, the value doesn't include the 2 columns used for padding the numbers on display. (fn &optional PIXELWISE)Fvertical-motion Move point to start of the screen line LINES lines down. If LINES is negative, this means moving up. This function is an ordinary cursor motion function which calculates the new position based on how text would be displayed. The new position may be the start of a line, or just the start of a continuation line. The function returns number of screen lines moved over; that usually equals LINES, but may be closer to zero if beginning or end of buffer was reached. The optional second argument WINDOW specifies the window to use for parameters such as width, horizontal scrolling, and so on. The default is to use the selected window's parameters. LINES can optionally take the form (COLS . LINES), in which case the motion will not stop at the start of a screen line but COLS column from the visual start of the line (if such exists on that line, that is). If the line is scrolled horizontally, COLS is interpreted visually, i.e., as addition to the columns of text beyond the left edge of the window. The optional third argument CUR-COL specifies the horizontal window-relative coordinate of point, in units of frame's canonical character width, where the function is invoked. If this argument is omitted or nil, the function will determine the point coordinate by going back to the beginning of the line. `vertical-motion' always uses the current buffer, regardless of which buffer is displayed in WINDOW. This is consistent with other cursor motion functions and makes it possible to use `vertical-motion' in any buffer, whether or not it is currently displayed in some window. (fn LINES &optional WINDOW CUR-COL)Vindent-tabs-mode Indentation can insert tabs if this is non-nil.Ssearch.o Flooking-at Return t if text after point matches regular expression REGEXP. This function modifies the match data that `match-beginning', `match-end' and `match-data' access; save and restore the match data if you want to preserve them. (fn REGEXP)Fposix-looking-at Return t if text after point matches regular expression REGEXP. Find the longest match, in accord with Posix regular expression rules. This function modifies the match data that `match-beginning', `match-end' and `match-data' access; save and restore the match data if you want to preserve them. (fn REGEXP)Fstring-match Return index of start of first match for REGEXP in STRING, or nil. Matching ignores case if `case-fold-search' is non-nil. If third arg START is non-nil, start search at that index in STRING. For index of first char beyond the match, do (match-end 0). `match-end' and `match-beginning' also give indices of substrings matched by parenthesis constructs in the pattern. You can use the function `match-string' to extract the substrings matched by the parenthesis constructions in REGEXP. (fn REGEXP STRING &optional START)Fposix-string-match Return index of start of first match for REGEXP in STRING, or nil. Find the longest match, in accord with Posix regular expression rules. Case is ignored if `case-fold-search' is non-nil in the current buffer. If third arg START is non-nil, start search at that index in STRING. For index of first char beyond the match, do (match-end 0). `match-end' and `match-beginning' also give indices of substrings matched by parenthesis constructs in the pattern. (fn REGEXP STRING &optional START)Fsearch-backward Search backward from point for STRING. Set point to the beginning of the occurrence found, and return point. An optional second argument bounds the search; it is a buffer position. The match found must not begin before that position. A value of nil means search to the beginning of the accessible portion of the buffer. Optional third argument, if t, means if fail just return nil (no error). If not nil and not t, position at limit of search and return nil. Optional fourth argument COUNT, if a positive number, means to search for COUNT successive occurrences. If COUNT is negative, search forward, instead of backward, for -COUNT occurrences. A value of nil means the same as 1. With COUNT positive, the match found is the COUNTth to last one (or last, if COUNT is 1 or nil) in the buffer located entirely before the origin of the search; correspondingly with COUNT negative. Search case-sensitivity is determined by the value of the variable `case-fold-search', which see. See also the functions `match-beginning', `match-end' and `replace-match'. (fn STRING &optional BOUND NOERROR COUNT)Fsearch-forward Search forward from point for STRING. Set point to the end of the occurrence found, and return point. An optional second argument bounds the search; it is a buffer position. The match found must not end after that position. A value of nil means search to the end of the accessible portion of the buffer. Optional third argument, if t, means if fail just return nil (no error). If not nil and not t, move to limit of search and return nil. Optional fourth argument COUNT, if a positive number, means to search for COUNT successive occurrences. If COUNT is negative, search backward, instead of forward, for -COUNT occurrences. A value of nil means the same as 1. With COUNT positive, the match found is the COUNTth one (or first, if COUNT is 1 or nil) in the buffer located entirely after the origin of the search; correspondingly with COUNT negative. Search case-sensitivity is determined by the value of the variable `case-fold-search', which see. See also the functions `match-beginning', `match-end' and `replace-match'. (fn STRING &optional BOUND NOERROR COUNT)Fre-search-backward Search backward from point for regular expression REGEXP. This function is almost identical to `re-search-forward', except that by default it searches backward instead of forward, and the sign of COUNT also indicates exactly the opposite searching direction. See `re-search-forward' for details. Note that searching backwards may give a shorter match than expected, because REGEXP is still matched in the forward direction. See Info anchor `(elisp) re-search-backward' for details. (fn REGEXP &optional BOUND NOERROR COUNT)Fre-search-forward Search forward from point for regular expression REGEXP. Set point to the end of the occurrence found, and return point. The optional second argument BOUND is a buffer position that bounds the search. The match found must not end after that position. A value of nil means search to the end of the accessible portion of the buffer. The optional third argument NOERROR indicates how errors are handled when the search fails. If it is nil or omitted, emit an error; if it is t, simply return nil and do nothing; if it is neither nil nor t, move to the limit of search and return nil. The optional fourth argument COUNT is a number that indicates the search direction and the number of occurrences to search for. If it is positive, search forward for COUNT successive occurrences; if it is negative, search backward, instead of forward, for -COUNT occurrences. A value of nil means the same as 1. With COUNT positive/negative, the match found is the COUNTth/-COUNTth one in the buffer located entirely after/before the origin of the search. Search case-sensitivity is determined by the value of the variable `case-fold-search', which see. See also the functions `match-beginning', `match-end', `match-string', and `replace-match'. (fn REGEXP &optional BOUND NOERROR COUNT)Fposix-search-backward Search backward from point for match for regular expression REGEXP. Find the longest match in accord with Posix regular expression rules. Set point to the beginning of the occurrence found, and return point. An optional second argument bounds the search; it is a buffer position. The match found must not begin before that position. A value of nil means search to the beginning of the accessible portion of the buffer. Optional third argument, if t, means if fail just return nil (no error). If not nil and not t, position at limit of search and return nil. Optional fourth argument COUNT, if a positive number, means to search for COUNT successive occurrences. If COUNT is negative, search forward, instead of backward, for -COUNT occurrences. A value of nil means the same as 1. With COUNT positive, the match found is the COUNTth to last one (or last, if COUNT is 1 or nil) in the buffer located entirely before the origin of the search; correspondingly with COUNT negative. Search case-sensitivity is determined by the value of the variable `case-fold-search', which see. See also the functions `match-beginning', `match-end', `match-string', and `replace-match'. (fn REGEXP &optional BOUND NOERROR COUNT)Fposix-search-forward Search forward from point for regular expression REGEXP. Find the longest match in accord with Posix regular expression rules. Set point to the end of the occurrence found, and return point. An optional second argument bounds the search; it is a buffer position. The match found must not end after that position. A value of nil means search to the end of the accessible portion of the buffer. Optional third argument, if t, means if fail just return nil (no error). If not nil and not t, move to limit of search and return nil. Optional fourth argument COUNT, if a positive number, means to search for COUNT successive occurrences. If COUNT is negative, search backward, instead of forward, for -COUNT occurrences. A value of nil means the same as 1. With COUNT positive, the match found is the COUNTth one (or first, if COUNT is 1 or nil) in the buffer located entirely after the origin of the search; correspondingly with COUNT negative. Search case-sensitivity is determined by the value of the variable `case-fold-search', which see. See also the functions `match-beginning', `match-end', `match-string', and `replace-match'. (fn REGEXP &optional BOUND NOERROR COUNT)Freplace-match Replace text matched by last search with NEWTEXT. Leave point at the end of the replacement text. If optional second arg FIXEDCASE is non-nil, do not alter the case of the replacement text. Otherwise, maybe capitalize the whole text, or maybe just word initials, based on the replaced text. If the replaced text has only capital letters and has at least one multiletter word, convert NEWTEXT to all caps. Otherwise if all words are capitalized in the replaced text, capitalize each word in NEWTEXT. If optional third arg LITERAL is non-nil, insert NEWTEXT literally. Otherwise treat `\' as special: `\&' in NEWTEXT means substitute original matched text. `\N' means substitute what matched the Nth `\(...\)'. If Nth parens didn't match, substitute nothing. `\\' means insert one `\'. `\?' is treated literally (for compatibility with `query-replace-regexp'). Any other character following `\' signals an error. Case conversion does not apply to these substitutions. If optional fourth argument STRING is non-nil, it should be a string to act on; this should be the string on which the previous match was done via `string-match'. In this case, `replace-match' creates and returns a new string, made by copying STRING and replacing the part of STRING that was matched (the original STRING itself is not altered). The optional fifth argument SUBEXP specifies a subexpression; it says to replace just that subexpression with NEWTEXT, rather than replacing the entire matched text. This is, in a vague sense, the inverse of using `\N' in NEWTEXT; `\N' copies subexp N into NEWTEXT, but using N as SUBEXP puts NEWTEXT in place of subexp N. This is useful only after a regular expression search or match, since only regular expressions have distinguished subexpressions. (fn NEWTEXT &optional FIXEDCASE LITERAL STRING SUBEXP)Fmatch-beginning Return position of start of text matched by last search. SUBEXP, a number, specifies which parenthesized expression in the last regexp. Value is nil if SUBEXPth pair didn't match, or there were less than SUBEXP pairs. Zero means the entire text matched by the whole regexp or whole string. Return value is undefined if the last search failed. (fn SUBEXP)Fmatch-end Return position of end of text matched by last search. SUBEXP, a number, specifies which parenthesized expression in the last regexp. Value is nil if SUBEXPth pair didn't match, or there were less than SUBEXP pairs. Zero means the entire text matched by the whole regexp or whole string. Return value is undefined if the last search failed. (fn SUBEXP)Fmatch-data Return a list describing what the last search matched. Element 2N is `(match-beginning N)'; element 2N + 1 is `(match-end N)'. All the elements are markers or nil (nil if the Nth pair didn't match) if the last match was on a buffer; integers or nil if a string was matched. Use `set-match-data' to reinstate the data in this list. If INTEGERS (the optional first argument) is non-nil, always use integers (rather than markers) to represent buffer positions. In this case, and if the last match was in a buffer, the buffer will get stored as one additional element at the end of the list. If REUSE is a list, reuse it as part of the value. If REUSE is long enough to hold all the values, and if INTEGERS is non-nil, no consing is done. If optional third arg RESEAT is non-nil, any previous markers on the REUSE list will be modified to point to nowhere. Return value is undefined if the last search failed. (fn &optional INTEGERS REUSE RESEAT)Fset-match-data Set internal data on last search match from elements of LIST. LIST should have been created by calling `match-data' previously. If optional arg RESEAT is non-nil, make markers on LIST point nowhere. (fn LIST &optional RESEAT)Fregexp-quote Return a regexp string which matches exactly STRING and nothing else. (fn STRING)Fnewline-cache-check Check the newline cache of BUFFER against buffer contents. BUFFER defaults to the current buffer. Value is an array of 2 sub-arrays of buffer positions for newlines, the first based on the cache, the second based on actually scanning the buffer. If the buffer doesn't have a cache, the value is nil. (fn &optional BUFFER)Vsearch-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. Note that a value with capturing groups can change the numbering of existing capture groups in unexpected ways.Vinhibit-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.Sregex-emacs.o Sundo.o Fundo-boundary Mark a boundary between units of undo. An undo command will stop at this point, but another undo command will undo to the previous boundary. (fn)Vundo-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.Vundo-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.Vundo-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.Vundo-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.Vundo-inhibit-record-point Non-nil means do not record `point' in `buffer-undo-list'.Salloc.o Fmake-string Return a newly created string of length LENGTH, with INIT in each element. LENGTH must be an integer. INIT must be an integer that represents a character. If optional argument MULTIBYTE is non-nil, the result will be a multibyte string even if INIT is an ASCII character. (fn LENGTH INIT &optional MULTIBYTE)Fmake-bool-vector Return a new bool-vector of length LENGTH, using INIT for each element. LENGTH must be a number. INIT matters only in whether it is t or nil. (fn LENGTH INIT)Fbool-vector Return a new bool-vector with specified arguments as elements. Allows any number of arguments, including zero. (fn &rest OBJECTS)Fcons Create a new cons, give it CAR and CDR as components, and return it. (fn CAR CDR)Flist Return a newly created list with specified arguments as elements. Allows any number of arguments, including zero. (fn &rest OBJECTS)Fmake-list Return a newly created list of length LENGTH, with each element being INIT. (fn LENGTH INIT)Fmake-record Create a new record. TYPE is its type as returned by `type-of'; it should be either a symbol or a type descriptor. SLOTS is the number of non-type slots, each initialized to INIT. (fn TYPE SLOTS INIT)Frecord Create a new record. TYPE is its type as returned by `type-of'; it should be either a symbol or a type descriptor. SLOTS is used to initialize the record slots with shallow copies of the arguments. (fn TYPE &rest SLOTS)Fmake-vector Return a newly created vector of length LENGTH, with each element being INIT. See also the function `vector'. (fn LENGTH INIT)Fvector Return a newly created vector with specified arguments as elements. Allows any number of arguments, including zero. (fn &rest OBJECTS)Fmake-byte-code Create a byte-code object with specified arguments as elements. The arguments should be the ARGLIST, bytecode-string BYTE-CODE, constant vector CONSTANTS, maximum stack size DEPTH, (optional) DOCSTRING, and (optional) INTERACTIVE-SPEC. The first four arguments are required; at most six have any significance. The ARGLIST can be either like the one of `lambda', in which case the arguments will be dynamically bound before executing the byte code, or it can be an integer of the form NNNNNNNRMMMMMMM where the 7bit MMMMMMM specifies the minimum number of arguments, the 7-bit NNNNNNN specifies the maximum number of arguments (ignoring &rest) and the R bit specifies whether there is a &rest argument to catch the left-over arguments. If such an integer is used, the arguments will not be dynamically bound but will be instead pushed on the stack before executing the byte-code. (fn ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INTERACTIVE-SPEC &rest ELEMENTS)Fmake-symbol Return a newly allocated uninterned symbol whose name is NAME. Its value is void, and its function definition and property list are nil. (fn NAME)Fmake-marker Return a newly allocated marker which does not point at any place. (fn)Fmake-finalizer Make a finalizer that will run FUNCTION. FUNCTION will be called after garbage collection when the returned finalizer object becomes unreachable. If the finalizer object is reachable only through references from finalizer objects, it does not count as reachable for the purpose of deciding whether to run FUNCTION. FUNCTION will be run once per finalizer object. (fn FUNCTION)Fpurecopy Make a copy of object OBJ in pure storage. Recursively copies contents of vectors and cons cells. Does not copy symbols. Copies strings without text properties. (fn OBJ)Fgarbage-collect Reclaim storage for Lisp objects no longer needed. Garbage collection happens automatically if you cons more than `gc-cons-threshold' bytes of Lisp data since previous garbage collection. `garbage-collect' normally returns a list with info on amount of space in use, where each entry has the form (NAME SIZE USED FREE), where: - NAME is a symbol describing the kind of objects this entry represents, - SIZE is the number of bytes used by each one, - USED is the number of those objects that were found live in the heap, - FREE is the number of those objects that are not live but that Emacs keeps around for future allocations (maybe because it does not know how to return them to the OS). However, if there was overflow in pure space, and Emacs was dumped using the 'unexec' method, `garbage-collect' returns nil, because real GC can't be done. See Info node `(elisp)Garbage Collection'. (fn)Fmemory-info Return a list of (TOTAL-RAM FREE-RAM TOTAL-SWAP FREE-SWAP). All values are in Kbytes. If there is no swap space, last two values are zero. If the system is not supported or memory information can't be obtained, return nil. (fn)Fmemory-use-counts Return a list of counters that measure how much consing there has been. Each of these counters increments for a certain kind of object. The counters wrap around from the largest positive integer to zero. Garbage collection does not decrease them. The elements of the value are as follows: (CONSES FLOATS VECTOR-CELLS SYMBOLS STRING-CHARS INTERVALS STRINGS) All are in units of 1 = one object consed except for VECTOR-CELLS and STRING-CHARS, which count the total length of objects consed. Frames, windows, buffers, and subprocesses count as vectors (but the contents of a buffer's text do not count here). (fn)Fsuspicious-object Return OBJ, maybe marking it for extra scrutiny. If Emacs is compiled with suspicious object checking, capture a stack trace when OBJ is freed in order to help track down garbage collection bugs. Otherwise, do nothing and return OBJ. (fn OBJ)Vgc-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'.Vgc-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.Vpure-bytes-used Number of bytes of shareable Lisp data allocated so far.Vcons-cells-consed Number of cons cells that have been consed so far.Vfloats-consed Number of floats that have been consed so far.Vvector-cells-consed Number of vector cells that have been consed so far.Vsymbols-consed Number of symbols that have been consed so far.Vstring-chars-consed Number of string characters that have been consed so far.Vintervals-consed Number of intervals that have been consed so far.Vstrings-consed Number of strings that have been consed so far.Vpurify-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.Vgarbage-collection-messages Non-nil means display messages at start and end of garbage collection.Vpost-gc-hook Hook run after garbage collection has finished.Vmemory-signal-data Precomputed `signal' argument for memory-full error.Vmemory-full Non-nil means Emacs cannot get much more Lisp memory.Vgc-elapsed Accumulated time elapsed in garbage collections. The time is in seconds as a floating point value.Vgcs-done Accumulated number of garbage collections done.Vinteger-width Maximum number N of bits in safely-calculated integers. Integers with absolute values less than 2**N do not signal a range error. N should be nonnegative.Spdumper.o Fdump-emacs-portable Dump current state of Emacs into dump file FILENAME. If TRACK-REFERRERS is non-nil, keep additional debugging information that can help track down the provenance of unsupported object types. (fn FILENAME &optional TRACK-REFERRERS)Fdump-emacs-portable--sort-predicate Internal relocation sorting function. (fn A B)Fdump-emacs-portable--sort-predicate-copied Internal relocation sorting function. (fn A B)Fpdumper-stats Return statistics about portable dumping used by this session. If this Emacs session was started from a dump file, the return value is an alist of the form: ((dumped-with-pdumper . t) (load-time . TIME) (dump-file-name . FILE)) where TIME is the time in seconds it took to restore Emacs state from the dump file, and FILE is the name of the dump file. Value is nil if this session was not started using a dump file. (fn)Sdata.o Feq Return t if the two args are the same Lisp object. (fn OBJ1 OBJ2)Fnull Return t if OBJECT is nil, and return nil otherwise. (fn OBJECT)Ftype-of Return a symbol representing the type of OBJECT. The symbol returned names the object's basic type; for example, (type-of 1) returns `integer'. (fn OBJECT)Fconsp Return t if OBJECT is a cons cell. (fn OBJECT)Fatom Return t if OBJECT is not a cons cell. This includes nil. (fn OBJECT)Flistp Return t if OBJECT is a list, that is, a cons cell or nil. Otherwise, return nil. (fn OBJECT)Fnlistp Return t if OBJECT is not a list. Lists include nil. (fn OBJECT)Fsymbolp Return t if OBJECT is a symbol. (fn OBJECT)Fkeywordp Return t if OBJECT is a keyword. This means that it is a symbol with a print name beginning with `:' interned in the initial obarray. (fn OBJECT)Fvectorp Return t if OBJECT is a vector. (fn OBJECT)Frecordp Return t if OBJECT is a record. (fn OBJECT)Fstringp Return t if OBJECT is a string. (fn OBJECT)Fmultibyte-string-p Return t if OBJECT is a multibyte string. Return nil if OBJECT is either a unibyte string, or not a string. (fn OBJECT)Fchar-table-p Return t if OBJECT is a char-table. (fn OBJECT)Fvector-or-char-table-p Return t if OBJECT is a char-table or vector. (fn OBJECT)Fbool-vector-p Return t if OBJECT is a bool-vector. (fn OBJECT)Farrayp Return t if OBJECT is an array (string or vector). (fn OBJECT)Fsequencep Return t if OBJECT is a sequence (list or array). (fn OBJECT)Fbufferp Return t if OBJECT is an editor buffer. (fn OBJECT)Fmarkerp Return t if OBJECT is a marker (editor pointer). (fn OBJECT)Fuser-ptrp Return t if OBJECT is a module user pointer. (fn OBJECT)Fsubrp Return t if OBJECT is a built-in function. (fn OBJECT)Fbyte-code-function-p Return t if OBJECT is a byte-compiled function object. (fn OBJECT)Fmodule-function-p Return t if OBJECT is a function loaded from a dynamic module. (fn OBJECT)Fchar-or-string-p Return t if OBJECT is a character or a string. (fn OBJECT)Fintegerp Return t if OBJECT is an integer. (fn OBJECT)Finteger-or-marker-p Return t if OBJECT is an integer or a marker (editor pointer). (fn OBJECT)Fnatnump Return t if OBJECT is a nonnegative integer. (fn OBJECT)Fnumberp Return t if OBJECT is a number (floating point or integer). (fn OBJECT)Fnumber-or-marker-p Return t if OBJECT is a number or a marker. (fn OBJECT)Ffloatp Return t if OBJECT is a floating point number. (fn OBJECT)Fthreadp Return t if OBJECT is a thread. (fn OBJECT)Fmutexp Return t if OBJECT is a mutex. (fn OBJECT)Fcondition-variable-p Return t if OBJECT is a condition variable. (fn OBJECT)Fcar Return the car of LIST. If arg is nil, return nil. Error if arg is not nil and not a cons cell. See also `car-safe'. See Info node `(elisp)Cons Cells' for a discussion of related basic Lisp concepts such as car, cdr, cons cell and list. (fn LIST)Fcar-safe Return the car of OBJECT if it is a cons cell, or else nil. (fn OBJECT)Fcdr Return the cdr of LIST. If arg is nil, return nil. Error if arg is not nil and not a cons cell. See also `cdr-safe'. See Info node `(elisp)Cons Cells' for a discussion of related basic Lisp concepts such as cdr, car, cons cell and list. (fn LIST)Fcdr-safe Return the cdr of OBJECT if it is a cons cell, or else nil. (fn OBJECT)Fsetcar Set the car of CELL to be NEWCAR. Returns NEWCAR. (fn CELL NEWCAR)Fsetcdr Set the cdr of CELL to be NEWCDR. Returns NEWCDR. (fn CELL NEWCDR)Fboundp Return t if SYMBOL's value is not void. Note that if `lexical-binding' is in effect, this refers to the global value outside of any lexical scope. (fn SYMBOL)Ffboundp Return t if SYMBOL's function definition is not void. (fn SYMBOL)Fmakunbound Empty out the value cell of SYMBOL, making it void as a variable. Return SYMBOL. If a variable is void, trying to evaluate the variable signals a `void-variable' error, instead of returning a value. For more details, see Info node `(elisp) Void Variables'. See also `fmakunbound'. (fn SYMBOL)Ffmakunbound Make SYMBOL's function definition be void. Return SYMBOL. If a function definition is void, trying to call a function by that name will cause a `void-function' error. For more details, see Info node `(elisp) Function Cells'. See also `makunbound'. (fn SYMBOL)Fsymbol-function Return SYMBOL's function definition, or nil if that is void. (fn SYMBOL)Fsymbol-plist Return SYMBOL's property list. (fn SYMBOL)Fsymbol-name Return SYMBOL's name, a string. (fn SYMBOL)Ffset Set SYMBOL's function definition to DEFINITION, and return DEFINITION. (fn SYMBOL DEFINITION)Fdefalias Set SYMBOL's function definition to DEFINITION. Associates the function with the current load file, if any. The optional third argument DOCSTRING specifies the documentation string for SYMBOL; if it is omitted or nil, SYMBOL uses the documentation string determined by DEFINITION. Internally, this normally uses `fset', but if SYMBOL has a `defalias-fset-function' property, the associated value is used instead. The return value is undefined. (fn SYMBOL DEFINITION &optional DOCSTRING)Fsetplist Set SYMBOL's property list to NEWPLIST, and return NEWPLIST. (fn SYMBOL NEWPLIST)Fsubr-arity Return minimum and maximum number of args allowed for SUBR. SUBR must be a built-in function. The returned value is a pair (MIN . MAX). MIN is the minimum number of args. MAX is the maximum number or the symbol `many', for a function with `&rest' args, or `unevalled' for a special form. (fn SUBR)Fsubr-name Return name of subroutine SUBR. SUBR must be a built-in function. (fn SUBR)Finteractive-form Return the interactive form of CMD or nil if none. If CMD is not a command, the return value is nil. Value, if non-nil, is a list (interactive SPEC). (fn CMD)Findirect-variable Return the variable at the end of OBJECT's variable chain. If OBJECT is a symbol, follow its variable indirections (if any), and return the variable at the end of the chain of aliases. See Info node `(elisp)Variable Aliases'. If OBJECT is not a symbol, just return it. If there is a loop in the chain of aliases, signal a `cyclic-variable-indirection' error. (fn OBJECT)Fsymbol-value Return SYMBOL's value. Error if that is void. Note that if `lexical-binding' is in effect, this returns the global value outside of any lexical scope. (fn SYMBOL)Fset Set SYMBOL's value to NEWVAL, and return NEWVAL. (fn SYMBOL NEWVAL)Fadd-variable-watcher Cause WATCH-FUNCTION to be called when SYMBOL is about to be set. It will be called with 4 arguments: (SYMBOL NEWVAL OPERATION WHERE). SYMBOL is the variable being changed. NEWVAL is the value it will be changed to. (The variable still has the old value when WATCH-FUNCTION is called.) OPERATION is a symbol representing the kind of change, one of: `set', `let', `unlet', `makunbound', and `defvaralias'. WHERE is a buffer if the buffer-local value of the variable is being changed, nil otherwise. All writes to aliases of SYMBOL will call WATCH-FUNCTION too. (fn SYMBOL WATCH-FUNCTION)Fremove-variable-watcher Undo the effect of `add-variable-watcher'. Remove WATCH-FUNCTION from the list of functions to be called when SYMBOL (or its aliases) are set. (fn SYMBOL WATCH-FUNCTION)Fget-variable-watchers Return a list of SYMBOL's active watchers. (fn SYMBOL)Fdefault-boundp Return t if SYMBOL has a non-void default value. This is the value that is seen in buffers that do not have their own values for this variable. (fn SYMBOL)Fdefault-value Return SYMBOL's default value. This is the value that is seen in buffers that do not have their own values for this variable. The default value is meaningful for variables with local bindings in certain buffers. (fn SYMBOL)Fset-default Set SYMBOL's default value to VALUE. SYMBOL and VALUE are evaluated. The default value is seen in buffers that do not have their own values for this variable. (fn SYMBOL VALUE)Fmake-variable-buffer-local Make VARIABLE become buffer-local whenever it is set. At any time, the value for the current buffer is in effect, unless the variable has never been set in this buffer, in which case the default value is in effect. Note that binding the variable with `let', or setting it while a `let'-style binding made in this buffer is in effect, does not make the variable buffer-local. Return VARIABLE. This globally affects all uses of this variable, so it belongs together with the variable declaration, rather than with its uses (if you just want to make a variable local to the current buffer for one particular use, use `make-local-variable'). Buffer-local bindings are normally cleared while setting up a new major mode, unless they have a `permanent-local' property. The function `default-value' gets the default value and `set-default' sets it. (fn VARIABLE)Fmake-local-variable Make VARIABLE have a separate value in the current buffer. Other buffers will continue to share a common default value. (The buffer-local value of VARIABLE starts out as the same value VARIABLE previously had. If VARIABLE was void, it remains void.) Return VARIABLE. If the variable is already arranged to become local when set, this function causes a local value to exist for this buffer, just as setting the variable would do. This function returns VARIABLE, and therefore (set (make-local-variable \='VARIABLE) VALUE-EXP) works. See also `make-variable-buffer-local'. Do not use `make-local-variable' to make a hook variable buffer-local. Instead, use `add-hook' and specify t for the LOCAL argument. (fn VARIABLE)Fkill-local-variable Make VARIABLE no longer have a separate value in the current buffer. From now on the default value will apply in this buffer. Return VARIABLE. (fn VARIABLE)Flocal-variable-p Non-nil if VARIABLE has a local binding in buffer BUFFER. BUFFER defaults to the current buffer. (fn VARIABLE &optional BUFFER)Flocal-variable-if-set-p Non-nil if VARIABLE is local in buffer BUFFER when set there. BUFFER defaults to the current buffer. More precisely, return non-nil if either VARIABLE already has a local value in BUFFER, or if VARIABLE is automatically buffer-local (see `make-variable-buffer-local'). (fn VARIABLE &optional BUFFER)Fvariable-binding-locus Return a value indicating where VARIABLE's current binding comes from. If the current binding is buffer-local, the value is the current buffer. If the current binding is global (the default), the value is nil. (fn VARIABLE)Findirect-function Return the function at the end of OBJECT's function chain. If OBJECT is not a symbol, just return it. Otherwise, follow all function indirections to find the final function binding and return it. Signal a cyclic-function-indirection error if there is a loop in the function chain of symbols. (fn OBJECT &optional NOERROR)Faref Return the element of ARRAY at index IDX. ARRAY may be a vector, a string, a char-table, a bool-vector, a record, or a byte-code object. IDX starts at 0. (fn ARRAY IDX)Faset Store into the element of ARRAY at index IDX the value NEWELT. Return NEWELT. ARRAY may be a vector, a string, a char-table or a bool-vector. IDX starts at 0. (fn ARRAY IDX NEWELT)F= Return t if args, all numbers or markers, are equal. (fn NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)F< Return t if each arg (a number or marker), is less than the next arg. (fn NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)F> Return t if each arg (a number or marker) is greater than the next arg. (fn NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)F<= Return t if each arg (a number or marker) is less than or equal to the next. (fn NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)F>= Return t if each arg (a number or marker) is greater than or equal to the next. (fn NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)F/= Return t if first arg is not equal to second arg. Both must be numbers or markers. (fn NUM1 NUM2)Fnumber-to-string Return the decimal representation of NUMBER as a string. Uses a minus sign if negative. NUMBER may be an integer or a floating point number. (fn NUMBER)Fstring-to-number Parse STRING as a decimal number and return the number. Ignore leading spaces and tabs, and all trailing chars. Return 0 if STRING cannot be parsed as an integer or floating point number. If BASE, interpret STRING as a number in that base. If BASE isn't present, base 10 is used. BASE must be between 2 and 16 (inclusive). If the base used is not 10, STRING is always parsed as an integer. (fn STRING &optional BASE)F+ Return sum of any number of arguments, which are numbers or markers. (fn &rest NUMBERS-OR-MARKERS)F- Negate number or subtract numbers or markers and return the result. With one arg, negates it. With more than one arg, subtracts all but the first from the first. (fn &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS)F* Return product of any number of arguments, which are numbers or markers. (fn &rest NUMBERS-OR-MARKERS)F/ Divide number by divisors and return the result. With two or more arguments, return first argument divided by the rest. With one argument, return 1 divided by the argument. The arguments must be numbers or markers. (fn NUMBER &rest DIVISORS)F% Return remainder of X divided by Y. Both must be integers or markers. (fn X Y)Fmod Return X modulo Y. The result falls between zero (inclusive) and Y (exclusive). Both X and Y must be numbers or markers. (fn X Y)Fmax Return largest of all the arguments (which must be numbers or markers). The value is always a number; markers are converted to numbers. (fn NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)Fmin Return smallest of all the arguments (which must be numbers or markers). The value is always a number; markers are converted to numbers. (fn NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)Flogand Return bitwise-and of all the arguments. Arguments may be integers, or markers converted to integers. (fn &rest INTS-OR-MARKERS)Flogior Return bitwise-or of all the arguments. Arguments may be integers, or markers converted to integers. (fn &rest INTS-OR-MARKERS)Flogxor Return bitwise-exclusive-or of all the arguments. Arguments may be integers, or markers converted to integers. (fn &rest INTS-OR-MARKERS)Flogcount Return population count of VALUE. This is the number of one bits in the two's complement representation of VALUE. If VALUE is negative, return the number of zero bits in the representation. (fn VALUE)Fash Return VALUE with its bits shifted left by COUNT. If COUNT is negative, shifting is actually to the right. In this case, the sign bit is duplicated. (fn VALUE COUNT)F1+ Return NUMBER plus one. NUMBER may be a number or a marker. Markers are converted to integers. (fn NUMBER)F1- Return NUMBER minus one. NUMBER may be a number or a marker. Markers are converted to integers. (fn NUMBER)Flognot Return the bitwise complement of NUMBER. NUMBER must be an integer. (fn NUMBER)Fbyteorder Return the byteorder for the machine. Returns 66 (ASCII uppercase B) for big endian machines or 108 (ASCII lowercase l) for small endian machines. (fn)Fbool-vector-exclusive-or Return A ^ B, bitwise exclusive or. If optional third argument C is given, store result into C. A, B, and C must be bool vectors of the same length. Return the destination vector if it changed or nil otherwise. (fn A B &optional C)Fbool-vector-union Return A | B, bitwise or. If optional third argument C is given, store result into C. A, B, and C must be bool vectors of the same length. Return the destination vector if it changed or nil otherwise. (fn A B &optional C)Fbool-vector-intersection Return A & B, bitwise and. If optional third argument C is given, store result into C. A, B, and C must be bool vectors of the same length. Return the destination vector if it changed or nil otherwise. (fn A B &optional C)Fbool-vector-set-difference Return A &~ B, set difference. If optional third argument C is given, store result into C. A, B, and C must be bool vectors of the same length. Return the destination vector if it changed or nil otherwise. (fn A B &optional C)Fbool-vector-subsetp Return t if every t value in A is also t in B, nil otherwise. A and B must be bool vectors of the same length. (fn A B)Fbool-vector-not Compute ~A, set complement. If optional second argument B is given, store result into B. A and B must be bool vectors of the same length. Return the destination vector. (fn A &optional B)Fbool-vector-count-population Count how many elements in A are t. A is a bool vector. To count A's nil elements, subtract the return value from A's length. (fn A)Fbool-vector-count-consecutive Count how many consecutive elements in A equal B starting at I. A is a bool vector, B is t or nil, and I is an index into A. (fn A B I)Vmost-positive-fixnum The greatest integer that is represented efficiently. This variable cannot be set; trying to do so will signal an error.Vmost-negative-fixnum The least integer that is represented efficiently. This variable cannot be set; trying to do so will signal an error.Sdoc.o Fdocumentation Return the documentation string of FUNCTION. Unless a non-nil second argument RAW is given, the string is passed through `substitute-command-keys'. (fn FUNCTION &optional RAW)Fdocumentation-property Return the documentation string that is SYMBOL's PROP property. Third argument RAW omitted or nil means pass the result through `substitute-command-keys' if it is a string. This differs from `get' in that it can refer to strings stored in the `etc/DOC' file; and that it evaluates documentation properties that aren't strings. (fn SYMBOL PROP &optional RAW)FSnarf-documentation Used during Emacs initialization to scan the `etc/DOC...' file. This searches the `etc/DOC...' file for doc strings and records them in function and variable definitions. The function takes one argument, FILENAME, a string; it specifies the file name (without a directory) of the DOC file. That file is found in `../etc' now; later, when the dumped Emacs is run, the same file name is found in the `doc-directory'. (fn FILENAME)Fsubstitute-command-keys Substitute key descriptions for command names in STRING. Each substring of the form \=\[COMMAND] is replaced by either a keystroke sequence that invokes COMMAND, or "M-x COMMAND" if COMMAND is not on any keys. Each substring of the form \=\{MAPVAR} is replaced by a summary of the value of MAPVAR as a keymap. This summary is similar to the one produced by `describe-bindings'. The summary ends in two newlines (used by the helper function `help-make-xrefs' to find the end of the summary). Each substring of the form \=\ specifies the use of MAPVAR as the keymap for future \=\[COMMAND] substrings. Each grave accent \=` is replaced by left quote, and each apostrophe \=' is replaced by right quote. Left and right quote characters are specified by `text-quoting-style'. \=\= quotes the following character and is discarded; thus, \=\=\=\= puts \=\= into the output, \=\=\=\[ puts \=\[ into the output, and \=\=\=` puts \=` into the output. Return the original STRING if no substitutions are made. Otherwise, return a new string (without any text properties). (fn STRING)Vinternal-doc-file-name Name of file containing documentation strings of built-in symbols.Vbuild-files A list of files used to build this Emacs binary.Vtext-quoting-style Style to use for single quotes in help and messages. Its value should be a symbol. It works by substituting certain single quotes for grave accent and apostrophe. This is done in help output (but not for display of Info manuals) and in functions like `message' and `format-message'. It is not done in `format'. `curve' means quote with curved single quotes ‘like this’. `straight' means quote with straight apostrophes \='like this\='. `grave' means quote with grave accent and apostrophe \=`like this\='; i.e., do not alter quote marks. The default value nil acts like `curve' if curved single quotes are displayable, and like `grave' otherwise.Vinternal--text-quoting-flag If nil, a nil `text-quoting-style' is treated as `grave'.Seditfns.o Fchar-to-string Convert arg CHAR to a string containing that character. (fn CHAR)Fbyte-to-string Convert arg BYTE to a unibyte string containing that byte. (fn BYTE)Fstring-to-char Return the first character in STRING. (fn STRING)Fpoint Return value of point, as an integer. Beginning of buffer is position (point-min). (fn)Fpoint-marker Return value of point, as a marker object. (fn)Fgoto-char Set point to POSITION, a number or marker. Beginning of buffer is position (point-min), end is (point-max). The return value is POSITION. (fn POSITION)Fregion-beginning Return the integer value of point or mark, whichever is smaller. (fn)Fregion-end Return the integer value of point or mark, whichever is larger. (fn)Fmark-marker Return this buffer's mark, as a marker object. Watch out! Moving this marker changes the mark position. If you set the marker not to point anywhere, the buffer will have no mark. (fn)Fget-pos-property Return the value of POSITION's property PROP, in OBJECT. Almost identical to `get-char-property' except for the following difference: Whereas `get-char-property' returns the property of the char at (i.e. right after) POSITION, this pays attention to properties's stickiness and overlays's advancement settings, in order to find the property of POSITION itself, i.e. the property that a char would inherit if it were inserted at POSITION. (fn POSITION PROP &optional OBJECT)Fdelete-field Delete the field surrounding POS. A field is a region of text with the same `field' property. If POS is nil, the value of point is used for POS. (fn &optional POS)Ffield-string Return the contents of the field surrounding POS as a string. A field is a region of text with the same `field' property. If POS is nil, the value of point is used for POS. (fn &optional POS)Ffield-string-no-properties Return the contents of the field around POS, without text properties. A field is a region of text with the same `field' property. If POS is nil, the value of point is used for POS. (fn &optional POS)Ffield-beginning Return the beginning of the field surrounding POS. A field is a region of text with the same `field' property. If POS is nil, the value of point is used for POS. If ESCAPE-FROM-EDGE is non-nil and POS is at the beginning of its field, then the beginning of the *previous* field is returned. If LIMIT is non-nil, it is a buffer position; if the beginning of the field is before LIMIT, then LIMIT will be returned instead. (fn &optional POS ESCAPE-FROM-EDGE LIMIT)Ffield-end Return the end of the field surrounding POS. A field is a region of text with the same `field' property. If POS is nil, the value of point is used for POS. If ESCAPE-FROM-EDGE is non-nil and POS is at the end of its field, then the end of the *following* field is returned. If LIMIT is non-nil, it is a buffer position; if the end of the field is after LIMIT, then LIMIT will be returned instead. (fn &optional POS ESCAPE-FROM-EDGE LIMIT)Fconstrain-to-field Return the position closest to NEW-POS that is in the same field as OLD-POS. A field is a region of text with the same `field' property. If NEW-POS is nil, then use the current point instead, and move point to the resulting constrained position, in addition to returning that position. If OLD-POS is at the boundary of two fields, then the allowable positions for NEW-POS depends on the value of the optional argument ESCAPE-FROM-EDGE: If ESCAPE-FROM-EDGE is nil, then NEW-POS is constrained to the field that has the same `field' char-property as any new characters inserted at OLD-POS, whereas if ESCAPE-FROM-EDGE is non-nil, NEW-POS is constrained to the union of the two adjacent fields. Additionally, if two fields are separated by another field with the special value `boundary', then any point within this special field is also considered to be `on the boundary'. If the optional argument ONLY-IN-LINE is non-nil and constraining NEW-POS would move it to a different line, NEW-POS is returned unconstrained. This is useful for commands that move by line, like \[next-line] or \[beginning-of-line], which should generally respect field boundaries only in the case where they can still move to the right line. If the optional argument INHIBIT-CAPTURE-PROPERTY is non-nil, and OLD-POS has a non-nil property of that name, then any field boundaries are ignored. Field boundaries are not noticed if `inhibit-field-text-motion' is non-nil. (fn NEW-POS OLD-POS &optional ESCAPE-FROM-EDGE ONLY-IN-LINE INHIBIT-CAPTURE-PROPERTY)Fline-beginning-position Return the character position of the first character on the current line. With optional argument N, scan forward N - 1 lines first. If the scan reaches the end of the buffer, return that position. This function ignores text display directionality; it returns the position of the first character in logical order, i.e. the smallest character position on the line. This function constrains the returned position to the current field unless that position would be on a different line from the original, unconstrained result. If N is nil or 1, and a front-sticky field starts at point, the scan stops as soon as it starts. To ignore field boundaries, bind `inhibit-field-text-motion' to t. This function does not move point. (fn &optional N)Fline-end-position Return the character position of the last character on the current line. With argument N not nil or 1, move forward N - 1 lines first. If scan reaches end of buffer, return that position. This function ignores text display directionality; it returns the position of the last character in logical order, i.e. the largest character position on the line. This function constrains the returned position to the current field unless that would be on a different line from the original, unconstrained result. If N is nil or 1, and a rear-sticky field ends at point, the scan stops as soon as it starts. To ignore field boundaries bind `inhibit-field-text-motion' to t. This function does not move point. (fn &optional N)Fsave-excursion Save point, and current buffer; execute BODY; restore those things. Executes BODY just like `progn'. The values of point and the current buffer are restored even in case of abnormal exit (throw or error). If you only want to save the current buffer but not point, then just use `save-current-buffer', or even `with-current-buffer'. Before Emacs 25.1, `save-excursion' used to save the mark state. To save the mark state as well as point and the current buffer, use `save-mark-and-excursion'. (fn &rest BODY)Fsave-current-buffer Record which buffer is current; execute BODY; make that buffer current. BODY is executed just like `progn'. (fn &rest BODY)Fbuffer-size Return the number of characters in the current buffer. If BUFFER is not nil, return the number of characters in that buffer instead. This does not take narrowing into account; to count the number of characters in the accessible portion of the current buffer, use `(- (point-max) (point-min))', and to count the number of characters in the accessible portion of some other BUFFER, use `(with-current-buffer BUFFER (- (point-max) (point-min)))'. (fn &optional BUFFER)Fpoint-min Return the minimum permissible value of point in the current buffer. This is 1, unless narrowing (a buffer restriction) is in effect. (fn)Fpoint-min-marker Return a marker to the minimum permissible value of point in this buffer. This is the beginning, unless narrowing (a buffer restriction) is in effect. (fn)Fpoint-max Return the maximum permissible value of point in the current buffer. This is (1+ (buffer-size)), unless narrowing (a buffer restriction) is in effect, in which case it is less. (fn)Fpoint-max-marker Return a marker to the maximum permissible value of point in this buffer. This is (1+ (buffer-size)), unless narrowing (a buffer restriction) is in effect, in which case it is less. (fn)Fgap-position Return the position of the gap, in the current buffer. See also `gap-size'. (fn)Fgap-size Return the size of the current buffer's gap. See also `gap-position'. (fn)Fposition-bytes Return the byte position for character position POSITION. If POSITION is out of range, the value is nil. (fn POSITION)Fbyte-to-position Return the character position for byte position BYTEPOS. If BYTEPOS is out of range, the value is nil. (fn BYTEPOS)Ffollowing-char Return the character following point, as a number. At the end of the buffer or accessible region, return 0. (fn)Fpreceding-char Return the character preceding point, as a number. At the beginning of the buffer or accessible region, return 0. (fn)Fbobp Return t if point is at the beginning of the buffer. If the buffer is narrowed, this means the beginning of the narrowed part. (fn)Feobp Return t if point is at the end of the buffer. If the buffer is narrowed, this means the end of the narrowed part. (fn)Fbolp Return t if point is at the beginning of a line. (fn)Feolp Return t if point is at the end of a line. `End of a line' includes point being at the end of the buffer. (fn)Fchar-after Return character in current buffer at position POS. POS is an integer or a marker and defaults to point. If POS is out of range, the value is nil. (fn &optional POS)Fchar-before Return character in current buffer preceding position POS. POS is an integer or a marker and defaults to point. If POS is out of range, the value is nil. (fn &optional POS)Fuser-login-name Return the name under which the user logged in, as a string. This is based on the effective uid, not the real uid. Also, if the environment variables LOGNAME or USER are set, that determines the value of this function. If optional argument UID is an integer, return the login name of the user with that uid, or nil if there is no such user. (fn &optional UID)Fuser-real-login-name Return the name of the user's real uid, as a string. This ignores the environment variables LOGNAME and USER, so it differs from `user-login-name' when running under `su'. (fn)Fuser-uid Return the effective uid of Emacs. Value is a fixnum, if it's small enough, otherwise a bignum. (fn)Fuser-real-uid Return the real uid of Emacs. Value is a fixnum, if it's small enough, otherwise a bignum. (fn)Fgroup-name Return the name of the group whose numeric group ID is GID. The argument GID should be an integer or a float. Return nil if a group with such GID does not exists or is not known. (fn GID)Fgroup-gid Return the effective gid of Emacs. Value is a fixnum, if it's small enough, otherwise a bignum. (fn)Fgroup-real-gid Return the real gid of Emacs. Value is a fixnum, if it's small enough, otherwise a bignum. (fn)Fuser-full-name Return the full name of the user logged in, as a string. If the full name corresponding to Emacs's userid is not known, return "unknown". If optional argument UID is an integer, return the full name of the user with that uid, or nil if there is no such user. If UID is a string, return the full name of the user with that login name, or nil if there is no such user. (fn &optional UID)Fsystem-name Return the host name of the machine you are running on, as a string. (fn)Femacs-pid Return the process ID of Emacs, as a number. Value is a fixnum, if it's small enough, otherwise a bignum. (fn)Finsert Insert the arguments, either strings or characters, at point. Point and after-insertion markers move forward to end up after the inserted text. Any other markers at the point of insertion remain before the text. If the current buffer is multibyte, unibyte strings are converted to multibyte for insertion (see `string-make-multibyte'). If the current buffer is unibyte, multibyte strings are converted to unibyte for insertion (see `string-make-unibyte'). When operating on binary data, it may be necessary to preserve the original bytes of a unibyte string when inserting it into a multibyte buffer; to accomplish this, apply `string-as-multibyte' to the string and insert the result. (fn &rest ARGS)Finsert-and-inherit Insert the arguments at point, inheriting properties from adjoining text. Point and after-insertion markers move forward to end up after the inserted text. Any other markers at the point of insertion remain before the text. If the current buffer is multibyte, unibyte strings are converted to multibyte for insertion (see `unibyte-char-to-multibyte'). If the current buffer is unibyte, multibyte strings are converted to unibyte for insertion. (fn &rest ARGS)Finsert-before-markers Insert strings or characters at point, relocating markers after the text. Point and markers move forward to end up after the inserted text. If the current buffer is multibyte, unibyte strings are converted to multibyte for insertion (see `unibyte-char-to-multibyte'). If the current buffer is unibyte, multibyte strings are converted to unibyte for insertion. If an overlay begins at the insertion point, the inserted text falls outside the overlay; if a nonempty overlay ends at the insertion point, the inserted text falls inside that overlay. (fn &rest ARGS)Finsert-before-markers-and-inherit Insert text at point, relocating markers and inheriting properties. Point and markers move forward to end up after the inserted text. If the current buffer is multibyte, unibyte strings are converted to multibyte for insertion (see `unibyte-char-to-multibyte'). If the current buffer is unibyte, multibyte strings are converted to unibyte for insertion. (fn &rest ARGS)Finsert-char Insert COUNT copies of CHARACTER. Interactively, prompt for CHARACTER. You can specify CHARACTER in one of these ways: - As its Unicode character name, e.g. "LATIN SMALL LETTER A". Completion is available; if you type a substring of the name preceded by an asterisk `*', Emacs shows all names which include that substring, not necessarily at the beginning of the name. - As a hexadecimal code point, e.g. 263A. Note that code points in Emacs are equivalent to Unicode up to 10FFFF (which is the limit of the Unicode code space). - As a code point with a radix specified with #, e.g. #o21430 (octal), #x2318 (hex), or #10r8984 (decimal). If called interactively, COUNT is given by the prefix argument. If omitted or nil, it defaults to 1. Inserting the character(s) relocates point and before-insertion markers in the same ways as the function `insert'. The optional third argument INHERIT, if non-nil, says to inherit text properties from adjoining text, if those properties are sticky. If called interactively, INHERIT is t. (fn CHARACTER &optional COUNT INHERIT)Finsert-byte Insert COUNT (second arg) copies of BYTE (first arg). Both arguments are required. BYTE is a number of the range 0..255. If BYTE is 128..255 and the current buffer is multibyte, the corresponding eight-bit character is inserted. Point, and before-insertion markers, are relocated as in the function `insert'. The optional third arg INHERIT, if non-nil, says to inherit text properties from adjoining text, if those properties are sticky. (fn BYTE COUNT &optional INHERIT)Fbuffer-substring Return the contents of part of the current buffer as a string. The two arguments START and END are character positions; they can be in either order. The string returned is multibyte if the buffer is multibyte. This function copies the text properties of that part of the buffer into the result string; if you don't want the text properties, use `buffer-substring-no-properties' instead. (fn START END)Fbuffer-substring-no-properties Return the characters of part of the buffer, without the text properties. The two arguments START and END are character positions; they can be in either order. (fn START END)Fbuffer-string Return the contents of the current buffer as a string. If narrowing is in effect, this function returns only the visible part of the buffer. (fn)Finsert-buffer-substring Insert before point a substring of the contents of BUFFER. BUFFER may be a buffer or a buffer name. Arguments START and END are character positions specifying the substring. They default to the values of (point-min) and (point-max) in BUFFER. Point and before-insertion markers move forward to end up after the inserted text. Any other markers at the point of insertion remain before the text. If the current buffer is multibyte and BUFFER is unibyte, or vice versa, strings are converted from unibyte to multibyte or vice versa using `string-make-multibyte' or `string-make-unibyte', which see. (fn BUFFER &optional START END)Fcompare-buffer-substrings Compare two substrings of two buffers; return result as number. Return -N if first string is less after N-1 chars, +N if first string is greater after N-1 chars, or 0 if strings match. The first substring is in BUFFER1 from START1 to END1 and the second is in BUFFER2 from START2 to END2. All arguments may be nil. If BUFFER1 or BUFFER2 is nil, the current buffer is used. If START1 or START2 is nil, the value of `point-min' in the respective buffers is used. If END1 or END2 is nil, the value of `point-max' in the respective buffers is used. The value of `case-fold-search' in the current buffer determines whether case is significant or ignored. (fn BUFFER1 START1 END1 BUFFER2 START2 END2)Freplace-buffer-contents Replace accessible portion of current buffer with that of SOURCE. SOURCE can be a buffer or a string that names a buffer. Interactively, prompt for SOURCE. As far as possible the replacement is non-destructive, i.e. existing buffer contents, markers, properties, and overlays in the current buffer stay intact. Because this function can be very slow if there is a large number of differences between the two buffers, there are two optional arguments mitigating this issue. The MAX-SECS argument, if given, defines a hard limit on the time used for comparing the buffers. If it takes longer than MAX-SECS, the function falls back to a plain `delete-region' and `insert-buffer-substring'. (Note that the checks are not performed too evenly over time, so in some cases it may run a bit longer than allowed). The optional argument MAX-COSTS defines the quality of the difference computation. If the actual costs exceed this limit, heuristics are used to provide a faster but suboptimal solution. The default value is 1000000. This function returns t if a non-destructive replacement could be performed. Otherwise, i.e., if MAX-SECS was exceeded, it returns nil. (fn SOURCE &optional MAX-SECS MAX-COSTS)Fsubst-char-in-region From START to END, replace FROMCHAR with TOCHAR each time it occurs. If optional arg NOUNDO is non-nil, don't record this change for undo and don't mark the buffer as really changed. Both characters must have the same length of multi-byte form. (fn START END FROMCHAR TOCHAR &optional NOUNDO)Ftranslate-region-internal Internal use only. From START to END, translate characters according to TABLE. TABLE is a string or a char-table; the Nth character in it is the mapping for the character with code N. It returns the number of characters changed. (fn START END TABLE)Fdelete-region Delete the text between START and END. If called interactively, delete the region between point and mark. This command deletes buffer text without modifying the kill ring. (fn START END)Fdelete-and-extract-region Delete the text between START and END and return it. (fn START END)Fwiden Remove restrictions (narrowing) from current buffer. This allows the buffer's full text to be seen and edited. (fn)Fnarrow-to-region Restrict editing in this buffer to the current region. The rest of the text becomes temporarily invisible and untouchable but is not deleted; if you save the buffer in a file, the invisible text is included in the file. \[widen] makes all visible again. See also `save-restriction'. When calling from Lisp, pass two arguments START and END: positions (integers or markers) bounding the text that should remain visible. (fn START END)Fsave-restriction Execute BODY, saving and restoring current buffer's restrictions. The buffer's restrictions make parts of the beginning and end invisible. (They are set up with `narrow-to-region' and eliminated with `widen'.) This special form, `save-restriction', saves the current buffer's restrictions when it is entered, and restores them when it is exited. So any `narrow-to-region' within BODY lasts only until the end of the form. The old restrictions settings are restored even in case of abnormal exit (throw or error). The value returned is the value of the last form in BODY. Note: if you are using both `save-excursion' and `save-restriction', use `save-excursion' outermost: (save-excursion (save-restriction ...)) (fn &rest BODY)Fngettext Return the translation of MSGID (plural MSGID-PLURAL) depending on N. MSGID is the singular form of the string to be converted; use it as the key for the search in the translation catalog. MSGID-PLURAL is the plural form. Use N to select the proper translation. If no message catalog is found, MSGID is returned if N is equal to 1, otherwise MSGID-PLURAL. (fn MSGID MSGID-PLURAL N)Fmessage Display a message at the bottom of the screen. The message also goes into the `*Messages*' buffer, if `message-log-max' is non-nil. (In keyboard macros, that's all it does.) Return the message. In batch mode, the message is printed to the standard error stream, followed by a newline. The first argument is a format control string, and the rest are data to be formatted under control of the string. Percent sign (%), grave accent (\=`) and apostrophe (\=') are special in the format; see `format-message' for details. To display STRING without special treatment, use (message "%s" STRING). If the first argument is nil or the empty string, the function clears any existing message; this lets the minibuffer contents show. See also `current-message'. (fn FORMAT-STRING &rest ARGS)Fmessage-box Display a message, in a dialog box if possible. If a dialog box is not available, use the echo area. The first argument is a format control string, and the rest are data to be formatted under control of the string. See `format-message' for details. If the first argument is nil or the empty string, clear any existing message; let the minibuffer contents show. (fn FORMAT-STRING &rest ARGS)Fmessage-or-box Display a message in a dialog box or in the echo area. If this command was invoked with the mouse, use a dialog box if `use-dialog-box' is non-nil. Otherwise, use the echo area. The first argument is a format control string, and the rest are data to be formatted under control of the string. See `format-message' for details. If the first argument is nil or the empty string, clear any existing message; let the minibuffer contents show. (fn FORMAT-STRING &rest ARGS)Fcurrent-message Return the string currently displayed in the echo area, or nil if none. (fn)Fpropertize Return a copy of STRING with text properties added. First argument is the string to copy. Remaining arguments form a sequence of PROPERTY VALUE pairs for text properties to add to the result. (fn STRING &rest PROPERTIES)Fformat Format a string out of a format-string and arguments. The first argument is a format control string. The other arguments are substituted into it to make the result, a string. The format control string may contain %-sequences meaning to substitute the next available argument, or the argument explicitly specified: %s means print a string argument. Actually, prints any object, with `princ'. %d means print as signed number in decimal. %o means print a number in octal. %x means print a number in hex. %X is like %x, but uses upper case. %e means print a number in exponential notation. %f means print a number in decimal-point notation. %g means print a number in exponential notation if the exponent would be less than -4 or greater than or equal to the precision (default: 6); otherwise it prints in decimal-point notation. %c means print a number as a single character. %S means print any object as an s-expression (using `prin1'). The argument used for %d, %o, %x, %e, %f, %g or %c must be a number. %o, %x, and %X treat arguments as unsigned if `binary-as-unsigned' is t (this is experimental; email 32252@debbugs.gnu.org if you need it). Use %% to put a single % into the output. A %-sequence other than %% may contain optional field number, flag, width, and precision specifiers, as follows: %character where field is [0-9]+ followed by a literal dollar "$", flags is [+ #0-]+, width is [0-9]+, and precision is a literal period "." followed by [0-9]+. If a %-sequence is numbered with a field with positive value N, the Nth argument is substituted instead of the next one. A format can contain either numbered or unnumbered %-sequences but not both, except that %% can be mixed with numbered %-sequences. The + flag character inserts a + before any nonnegative number, while a space inserts a space before any nonnegative number; these flags affect only numeric %-sequences, and the + flag takes precedence. The - and 0 flags affect the width specifier, as described below. The # flag means to use an alternate display form for %o, %x, %X, %e, %f, and %g sequences: for %o, it ensures that the result begins with "0"; for %x and %X, it prefixes nonzero results with "0x" or "0X"; for %e and %f, it causes a decimal point to be included even if the precision is zero; for %g, it causes a decimal point to be included even if the precision is zero, and also forces trailing zeros after the decimal point to be left in place. The width specifier supplies a lower limit for the length of the printed representation. The padding, if any, normally goes on the left, but it goes on the right if the - flag is present. The padding character is normally a space, but it is 0 if the 0 flag is present. The 0 flag is ignored if the - flag is present, or the format sequence is something other than %d, %o, %x, %e, %f, and %g. For %e and %f sequences, the number after the "." in the precision specifier says how many decimal places to show; if zero, the decimal point itself is omitted. For %g, the precision specifies how many significant digits to print; zero or omitted are treated as 1. For %s and %S, the precision specifier truncates the string to the given width. Text properties, if any, are copied from the format-string to the produced text. (fn STRING &rest OBJECTS)Fformat-message Format a string out of a format-string and arguments. The first argument is a format control string. The other arguments are substituted into it to make the result, a string. This acts like `format', except it also replaces each grave accent (\=`) by a left quote, and each apostrophe (\=') by a right quote. The left and right quote replacement characters are specified by `text-quoting-style'. (fn STRING &rest OBJECTS)Fchar-equal Return t if two characters match, optionally ignoring case. Both arguments must be characters (i.e. integers). Case is ignored if `case-fold-search' is non-nil in the current buffer. (fn C1 C2)Ftranspose-regions Transpose region STARTR1 to ENDR1 with STARTR2 to ENDR2. The regions should not be overlapping, because the size of the buffer is never changed in a transposition. Optional fifth arg LEAVE-MARKERS, if non-nil, means don't update any markers that happen to be located in the regions. Transposing beyond buffer boundaries is an error. Interactively, STARTR1 and ENDR1 are point and mark; STARTR2 and ENDR2 are the last two marks pushed to the mark ring; LEAVE-MARKERS is nil. If a prefix argument N is given, STARTR2 and ENDR2 are the two successive marks N entries back in the mark ring. A negative prefix argument instead counts forward from the oldest mark in the mark ring. (fn STARTR1 ENDR1 STARTR2 ENDR2 &optional LEAVE-MARKERS)Vinhibit-field-text-motion Non-nil means text motion commands don't notice fields.Vbuffer-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.Vbuffer-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.Vsystem-name The host name of the machine Emacs is running on.Vuser-full-name The full name of the user logged in.Vuser-login-name The user's name, taken from environment variables if possible.Vuser-real-login-name The user's name, based upon the real uid only.Voperating-system-release The release of the operating system Emacs is running on.Vbinary-as-unsigned Non-nil means `format' %x and %o treat integers as unsigned. This has machine-dependent results. Nil means to treat integers as signed, which is portable and is the default; for example, if N is a negative integer, (read (format "#x%x" N)) returns N only when this variable is nil. This variable is experimental; email 32252@debbugs.gnu.org if you need it to be non-nil.Scallint.o Finteractive Specify a way of parsing arguments for interactive use of a function. For example, write (defun foo (arg buf) "Doc string" (interactive "P\nbbuffer: ") .... ) to make ARG be the raw prefix argument, and set BUF to an existing buffer, when `foo' is called as a command. The "call" to `interactive' is actually a declaration rather than a function; it tells `call-interactively' how to read arguments to pass to the function. When actually called, `interactive' just returns nil. Usually the argument of `interactive' is a string containing a code letter followed optionally by a prompt. (Some code letters do not use I/O to get the argument and do not use prompts.) To pass several arguments to the command, concatenate the individual strings, separating them by newline characters. Prompts are passed to `format', and may use %s escapes to print the arguments that have already been read. If the argument is not a string, it is evaluated to get a list of arguments to pass to the command. Just `(interactive)' means pass no arguments to the command when calling interactively. Code letters available are: a -- Function name: symbol with a function definition. b -- Name of existing buffer. B -- Name of buffer, possibly nonexistent. c -- Character (no input method is used). C -- Command name: symbol with interactive function definition. d -- Value of point as number. Does not do I/O. D -- Directory name. e -- Parameterized event (i.e., one that's a list) that invoked this command. If used more than once, the Nth `e' returns the Nth parameterized event. This skips events that are integers or symbols. f -- Existing file name. F -- Possibly nonexistent file name. G -- Possibly nonexistent file name, defaulting to just directory name. i -- Ignored, i.e. always nil. Does not do I/O. k -- Key sequence (downcase the last event if needed to get a definition). K -- Key sequence to be redefined (do not downcase the last event). m -- Value of mark as number. Does not do I/O. M -- Any string. Inherits the current input method. n -- Number read using minibuffer. N -- Numeric prefix arg, or if none, do like code `n'. p -- Prefix arg converted to number. Does not do I/O. P -- Prefix arg in raw form. Does not do I/O. r -- Region: point and mark as 2 numeric args, smallest first. Does no I/O. s -- Any string. Does not inherit the current input method. S -- Any symbol. U -- Mouse up event discarded by a previous k or K argument. v -- Variable name: symbol that is `custom-variable-p'. x -- Lisp expression read but not evaluated. X -- Lisp expression read and evaluated. z -- Coding system. Z -- Coding system, nil if no prefix arg. In addition, if the string begins with `*', an error is signaled if the buffer is read-only. If `@' appears at the beginning of the string, and if the key sequence used to invoke the command includes any mouse events, then the window associated with the first of those events is selected before the command is run. If the string begins with `^' and `shift-select-mode' is non-nil, Emacs first calls the function `handle-shift-selection'. You may use `@', `*', and `^' together. They are processed in the order that they appear, before reading any arguments. (fn &optional ARG-DESCRIPTOR)Ffuncall-interactively Like `funcall' but marks the call as interactive. I.e. arrange that within the called function `called-interactively-p' will return non-nil. (fn FUNCTION &rest ARGUMENTS)Fcall-interactively Call FUNCTION, providing args according to its interactive calling specs. Return the value FUNCTION returns. The function contains a specification of how to do the argument reading. In the case of user-defined functions, this is specified by placing a call to the function `interactive' at the top level of the function body. See `interactive'. Optional second arg RECORD-FLAG non-nil means unconditionally put this command in the variable `command-history'. Otherwise, this is done only if an arg is read using the minibuffer. Optional third arg KEYS, if given, specifies the sequence of events to supply, as a vector, if FUNCTION inquires which events were used to invoke it (via an `interactive' spec that contains, for instance, an "e" code letter). If KEYS is omitted or nil, the return value of `this-command-keys-vector' is used. (fn FUNCTION &optional RECORD-FLAG KEYS)Fprefix-numeric-value Return numeric meaning of raw prefix argument RAW. A raw prefix argument is what you get from `(interactive "P")'. Its numeric meaning is what you would get from `(interactive "p")'. (fn RAW)Vprefix-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").Vlast-prefix-arg The value of the prefix argument for the previous editing command. See `prefix-arg' for the meaning of the value.Vcurrent-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.Vcommand-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.Vcommand-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.Vmark-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.Vmouse-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.Seval.o For Eval args until one of them yields non-nil, then return that value. The remaining args are not evalled at all. If all args return nil, return nil. (fn CONDITIONS...)Fand Eval args until one of them yields nil, then return nil. The remaining args are not evalled at all. If no arg yields nil, return the last arg's value. (fn CONDITIONS...)Fif If COND yields non-nil, do THEN, else do ELSE... Returns the value of THEN or the value of the last of the ELSE's. THEN must be one expression, but ELSE... can be zero or more expressions. If COND yields nil, and there are no ELSE's, the value is nil. (fn COND THEN ELSE...)Fcond Try each clause until one succeeds. Each clause looks like (CONDITION BODY...). CONDITION is evaluated and, if the value is non-nil, this clause succeeds: then the expressions in BODY are evaluated and the last one's value is the value of the cond-form. If a clause has one element, as in (CONDITION), then the cond-form returns CONDITION's value, if that is non-nil. If no clause succeeds, cond returns nil. (fn CLAUSES...)Fprogn Eval BODY forms sequentially and return value of last one. (fn BODY...)Fprog1 Eval FIRST and BODY sequentially; return value from FIRST. The value of FIRST is saved during the evaluation of the remaining args, whose values are discarded. (fn FIRST BODY...)Fsetq Set each SYM to the value of its VAL. The symbols SYM are variables; they are literal (not evaluated). The values VAL are expressions; they are evaluated. Thus, (setq x (1+ y)) sets `x' to the value of `(1+ y)'. The second VAL is not computed until after the first SYM is set, and so on; each VAL can use the new value of variables set earlier in the `setq'. The return value of the `setq' form is the value of the last VAL. (fn [SYM VAL]...)Fquote Return the argument, without evaluating it. `(quote x)' yields `x'. Warning: `quote' does not construct its return value, but just returns the value that was pre-constructed by the Lisp reader (see info node `(elisp)Printed Representation'). This means that \='(a . b) is not identical to (cons \='a \='b): the former does not cons. Quoting should be reserved for constants that will never be modified by side-effects, unless you like self-modifying code. See the common pitfall in info node `(elisp)Rearrangement' for an example of unexpected results when a quoted object is modified. (fn ARG)Ffunction Like `quote', but preferred for objects which are functions. In byte compilation, `function' causes its argument to be handled by the byte compiler. `quote' cannot do that. (fn ARG)Fdefvaralias Make NEW-ALIAS a variable alias for symbol BASE-VARIABLE. Aliased variables always have the same value; setting one sets the other. Third arg DOCSTRING, if non-nil, is documentation for NEW-ALIAS. If it is omitted or nil, NEW-ALIAS gets the documentation string of BASE-VARIABLE, or of the variable at the end of the chain of aliases, if BASE-VARIABLE is itself an alias. If NEW-ALIAS is bound, and BASE-VARIABLE is not, then the value of BASE-VARIABLE is set to that of NEW-ALIAS. The return value is BASE-VARIABLE. (fn NEW-ALIAS BASE-VARIABLE &optional DOCSTRING)Fdefault-toplevel-value Return SYMBOL's toplevel default value. "Toplevel" means outside of any let binding. (fn SYMBOL)Fset-default-toplevel-value Set SYMBOL's toplevel default value to VALUE. "Toplevel" means outside of any let binding. (fn SYMBOL VALUE)Finternal--define-uninitialized-variable Define SYMBOL as a variable, with DOC as its docstring. This is like `defvar' and `defconst' but without affecting the variable's value. (fn SYMBOL &optional DOC)Fdefvar Define SYMBOL as a variable, and return SYMBOL. You are not required to define a variable in order to use it, but defining it lets you supply an initial value and documentation, which can be referred to by the Emacs help facilities and other programming tools. The `defvar' form also declares the variable as "special", so that it is always dynamically bound even if `lexical-binding' is t. If SYMBOL's value is void and the optional argument INITVALUE is provided, INITVALUE is evaluated and the result used to set SYMBOL's value. If SYMBOL is buffer-local, its default value is what is set; buffer-local values are not affected. If INITVALUE is missing, SYMBOL's value is not set. If SYMBOL has a local binding, then this form affects the local binding. This is usually not what you want. Thus, if you need to load a file defining variables, with this form or with `defconst' or `defcustom', you should always load that file _outside_ any bindings for these variables. (`defconst' and `defcustom' behave similarly in this respect.) The optional argument DOCSTRING is a documentation string for the variable. To define a user option, use `defcustom' instead of `defvar'. (fn SYMBOL &optional INITVALUE DOCSTRING)Fdefconst Define SYMBOL as a constant variable. This declares that neither programs nor users should ever change the value. This constancy is not actually enforced by Emacs Lisp, but SYMBOL is marked as a special variable so that it is never lexically bound. The `defconst' form always sets the value of SYMBOL to the result of evalling INITVALUE. If SYMBOL is buffer-local, its default value is what is set; buffer-local values are not affected. If SYMBOL has a local binding, then this form sets the local binding's value. However, you should normally not make local bindings for variables defined with this form. The optional DOCSTRING specifies the variable's documentation string. (fn SYMBOL INITVALUE [DOCSTRING])Finternal-make-var-non-special Internal function. (fn SYMBOL)Flet* Bind variables according to VARLIST then eval BODY. The value of the last form in BODY is returned. Each element of VARLIST is a symbol (which is bound to nil) or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM). Each VALUEFORM can refer to the symbols already bound by this VARLIST. (fn VARLIST BODY...)Flet Bind variables according to VARLIST then eval BODY. The value of the last form in BODY is returned. Each element of VARLIST is a symbol (which is bound to nil) or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM). All the VALUEFORMs are evalled before any symbols are bound. (fn VARLIST BODY...)Fwhile If TEST yields non-nil, eval BODY... and repeat. The order of execution is thus TEST, BODY, TEST, BODY and so on until TEST returns nil. The value of a `while' form is always nil. (fn TEST BODY...)Fmacroexpand Return result of expanding macros at top level of FORM. If FORM is not a macro call, it is returned unchanged. Otherwise, the macro is expanded and the expansion is considered in place of FORM. When a non-macro-call results, it is returned. The second optional arg ENVIRONMENT specifies an environment of macro definitions to shadow the loaded ones for use in file byte-compilation. (fn FORM &optional ENVIRONMENT)Fcatch Eval BODY allowing nonlocal exits using `throw'. TAG is evalled to get the tag to use; it must not be nil. Then the BODY is executed. Within BODY, a call to `throw' with the same TAG exits BODY and this `catch'. If no throw happens, `catch' returns the value of the last BODY form. If a throw happens, it specifies the value to return from `catch'. (fn TAG BODY...)Fthrow Throw to the catch for TAG and return VALUE from it. Both TAG and VALUE are evalled. (fn TAG VALUE)Funwind-protect Do BODYFORM, protecting with UNWINDFORMS. If BODYFORM completes normally, its value is returned after executing the UNWINDFORMS. If BODYFORM exits nonlocally, the UNWINDFORMS are executed anyway. (fn BODYFORM UNWINDFORMS...)Fcondition-case Regain control when an error is signaled. Executes BODYFORM and returns its value if no error happens. Each element of HANDLERS looks like (CONDITION-NAME BODY...) where the BODY is made of Lisp expressions. A handler is applicable to an error if CONDITION-NAME is one of the error's condition names. Handlers may also apply when non-error symbols are signaled (e.g., `quit'). A CONDITION-NAME of t applies to any symbol, including non-error symbols. If multiple handlers are applicable, only the first one runs. The car of a handler may be a list of condition names instead of a single condition name; then it handles all of them. If the special condition name `debug' is present in this list, it allows another condition in the list to run the debugger if `debug-on-error' and the other usual mechanisms say it should (otherwise, `condition-case' suppresses the debugger). When a handler handles an error, control returns to the `condition-case' and it executes the handler's BODY... with VAR bound to (ERROR-SYMBOL . SIGNAL-DATA) from the error. (If VAR is nil, the handler can't access that information.) Then the value of the last BODY form is returned from the `condition-case' expression. See also the function `signal' for more info. (fn VAR BODYFORM &rest HANDLERS)Fsignal Signal an error. Args are ERROR-SYMBOL and associated DATA. This function does not return. An error symbol is a symbol with an `error-conditions' property that is a list of condition names. The symbol should be non-nil. A handler for any of those names will get to handle this signal. The symbol `error' should normally be one of them. DATA should be a list. Its elements are printed as part of the error message. See Info anchor `(elisp)Definition of signal' for some details on how this error message is constructed. If the signal is handled, DATA is made available to the handler. See also the function `condition-case'. (fn ERROR-SYMBOL DATA)Fcommandp Non-nil if FUNCTION makes provisions for interactive calling. This means it contains a description for how to read arguments to give it. The value is nil for an invalid function or a symbol with no function definition. Interactively callable functions include strings and vectors (treated as keyboard macros), lambda-expressions that contain a top-level call to `interactive', autoload definitions made by `autoload' with non-nil fourth argument, and some of the built-in functions of Lisp. Also, a symbol satisfies `commandp' if its function definition does so. If the optional argument FOR-CALL-INTERACTIVELY is non-nil, then strings and vectors are not accepted. (fn FUNCTION &optional FOR-CALL-INTERACTIVELY)Fautoload Define FUNCTION to autoload from FILE. FUNCTION is a symbol; FILE is a file name string to pass to `load'. Third arg DOCSTRING is documentation for the function. Fourth arg INTERACTIVE if non-nil says function can be called interactively. Fifth arg TYPE indicates the type of the object: nil or omitted says FUNCTION is a function, `keymap' says FUNCTION is really a keymap, and `macro' or t says FUNCTION is really a macro. Third through fifth args give info about the real definition. They default to nil. If FUNCTION is already defined other than as an autoload, this does nothing and returns nil. (fn FUNCTION FILE &optional DOCSTRING INTERACTIVE TYPE)Fautoload-do-load Load FUNDEF which should be an autoload. If non-nil, FUNNAME should be the symbol whose function value is FUNDEF, in which case the function returns the new autoloaded function value. If equal to `macro', MACRO-ONLY specifies that FUNDEF should only be loaded if it defines a macro. (fn FUNDEF &optional FUNNAME MACRO-ONLY)Feval Evaluate FORM and return its value. If LEXICAL is t, evaluate using lexical scoping. LEXICAL can also be an actual lexical environment, in the form of an alist mapping symbols to their value. (fn FORM &optional LEXICAL)Fapply Call FUNCTION with our remaining args, using our last arg as list of args. Then return the value FUNCTION returns. Thus, (apply \='+ 1 2 \='(3 4)) returns 10. (fn FUNCTION &rest ARGUMENTS)Frun-hooks Run each hook in HOOKS. Each argument should be a symbol, a hook variable. These symbols are processed in the order specified. If a hook symbol has a non-nil value, that value may be a function or a list of functions to be called to run the hook. If the value is a function, it is called with no arguments. If it is a list, the elements are called, in order, with no arguments. Major modes should not use this function directly to run their mode hook; they should use `run-mode-hooks' instead. Do not use `make-local-variable' to make a hook variable buffer-local. Instead, use `add-hook' and specify t for the LOCAL argument. (fn &rest HOOKS)Frun-hook-with-args Run HOOK with the specified arguments ARGS. HOOK should be a symbol, a hook variable. The value of HOOK may be nil, a function, or a list of functions. Call each function in order with arguments ARGS. The final return value is unspecified. Do not use `make-local-variable' to make a hook variable buffer-local. Instead, use `add-hook' and specify t for the LOCAL argument. (fn HOOK &rest ARGS)Frun-hook-with-args-until-success Run HOOK with the specified arguments ARGS. HOOK should be a symbol, a hook variable. The value of HOOK may be nil, a function, or a list of functions. Call each function in order with arguments ARGS, stopping at the first one that returns non-nil, and return that value. Otherwise (if all functions return nil, or if there are no functions to call), return nil. Do not use `make-local-variable' to make a hook variable buffer-local. Instead, use `add-hook' and specify t for the LOCAL argument. (fn HOOK &rest ARGS)Frun-hook-with-args-until-failure Run HOOK with the specified arguments ARGS. HOOK should be a symbol, a hook variable. The value of HOOK may be nil, a function, or a list of functions. Call each function in order with arguments ARGS, stopping at the first one that returns nil, and return nil. Otherwise (if all functions return non-nil, or if there are no functions to call), return non-nil (do not rely on the precise return value in this case). Do not use `make-local-variable' to make a hook variable buffer-local. Instead, use `add-hook' and specify t for the LOCAL argument. (fn HOOK &rest ARGS)Frun-hook-wrapped Run HOOK, passing each function through WRAP-FUNCTION. I.e. instead of calling each function FUN directly with arguments ARGS, it calls WRAP-FUNCTION with arguments FUN and ARGS. As soon as a call to WRAP-FUNCTION returns non-nil, `run-hook-wrapped' aborts and returns that value. (fn HOOK WRAP-FUNCTION &rest ARGS)Ffunctionp Return t if OBJECT is a function. (fn OBJECT)Ffuncall Call first argument as a function, passing remaining arguments to it. Return the value that function returns. Thus, (funcall \='cons \='x \='y) returns (x . y). (fn FUNCTION &rest ARGUMENTS)Ffunc-arity Return minimum and maximum number of args allowed for FUNCTION. FUNCTION must be a function of some kind. The returned value is a cons cell (MIN . MAX). MIN is the minimum number of args. MAX is the maximum number, or the symbol `many', for a function with `&rest' args, or `unevalled' for a special form. (fn FUNCTION)Ffetch-bytecode If byte-compiled OBJECT is lazy-loaded, fetch it now. (fn OBJECT)Fspecial-variable-p Return non-nil if SYMBOL's global binding has been declared special. A special variable is one that will be bound dynamically, even in a context where binding is lexical by default. (fn SYMBOL)Fbacktrace-debug Set the debug-on-exit flag of eval frame LEVEL levels down to FLAG. The debugger is entered when that frame exits, if the flag is non-nil. (fn LEVEL FLAG)Fmapbacktrace Call FUNCTION for each frame in backtrace. If BASE is non-nil, it should be a function and iteration will start from its nearest activation frame. FUNCTION is called with 4 arguments: EVALD, FUNC, ARGS, and FLAGS. If a frame has not evaluated its arguments yet or is a special form, EVALD is nil and ARGS is a list of forms. If a frame has evaluated its arguments and called its function already, EVALD is t and ARGS is a list of values. FLAGS is a plist of properties of the current frame: currently, the only supported property is :debug-on-exit. `mapbacktrace' always returns nil. (fn FUNCTION &optional BASE)Fbacktrace-frame--internal Call FUNCTION on stack frame NFRAMES away from BASE. Return the result of FUNCTION, or nil if no matching frame could be found. (fn FUNCTION NFRAMES BASE)Fbacktrace--frames-from-thread Return the list of backtrace frames from current execution point in THREAD. If a frame has not evaluated the arguments yet (or is a special form), the value of the list element is (nil FUNCTION ARG-FORMS...). If a frame has evaluated its arguments and called its function already, the value of the list element is (t FUNCTION ARG-VALUES...). A &rest arg is represented as the tail of the list ARG-VALUES. FUNCTION is whatever was supplied as car of evaluated list, or a lambda expression for macro calls. (fn THREAD)Fbacktrace-eval Evaluate EXP in the context of some activation frame. NFRAMES and BASE specify the activation frame to use, as in `backtrace-frame'. (fn EXP NFRAMES &optional BASE)Fbacktrace--locals Return names and values of local variables of a stack frame. NFRAMES and BASE specify the activation frame to use, as in `backtrace-frame'. (fn NFRAMES &optional BASE)Vmax-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. Note that this limit may be silently increased by the debugger if `debug-on-error' or `debug-on-quit' is set.Vmax-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.Vquit-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.Vinhibit-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.Vinhibit-debugger Non-nil means never enter the debugger. Normally set while the debugger is already active, to avoid recursive invocations.Vdebug-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' and `inhibit-debugger'.Vdebug-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'.Vdebug-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'.Vdebug-on-next-call Non-nil means enter debugger before next `eval', `apply' or `funcall'.Vdebugger-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.Vdebugger-stack-frame-as-list Non-nil means display call stack frames as lists.Vdebugger 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.Vsignal-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.Vdebug-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.Vinternal-when-entered-debugger The number of keyboard events as of last time `debugger' was called. Used to avoid infinite loops if the debugger itself has an error. Don't set this unless you're sure that can't happen.Vinternal-interpreter-environment If non-nil, the current lexical environment of the lisp interpreter. When lexical binding is not being used, this variable is nil. A value of `(t)' indicates an empty environment, otherwise it is an alist of active lexical bindings.Sfloatfns.o Facos Return the inverse cosine of ARG. (fn ARG)Fasin Return the inverse sine of ARG. (fn ARG)Fatan Return the inverse tangent of the arguments. If only one argument Y is given, return the inverse tangent of Y. If two arguments Y and X are given, return the inverse tangent of Y divided by X, i.e. the angle in radians between the vector (X, Y) and the x-axis. (fn Y &optional X)Fcos Return the cosine of ARG. (fn ARG)Fsin Return the sine of ARG. (fn ARG)Ftan Return the tangent of ARG. (fn ARG)Fisnan Return non-nil if argument X is a NaN. (fn X)Fcopysign Copy sign of X2 to value of X1, and return the result. Cause an error if X1 or X2 is not a float. (fn X1 X2)Ffrexp Get significand and exponent of a floating point number. Breaks the floating point number X into its binary significand SGNFCAND (a floating point value between 0.5 (included) and 1.0 (excluded)) and an integral exponent EXP for 2, such that: X = SGNFCAND * 2^EXP The function returns the cons cell (SGNFCAND . EXP). If X is zero, both parts (SGNFCAND and EXP) are zero. (fn X)Fldexp Return SGNFCAND * 2**EXPONENT, as a floating point number. EXPONENT must be an integer. (fn SGNFCAND EXPONENT)Fexp Return the exponential base e of ARG. (fn ARG)Fexpt Return the exponential ARG1 ** ARG2. (fn ARG1 ARG2)Flog Return the natural logarithm of ARG. If the optional argument BASE is given, return log ARG using that base. (fn ARG &optional BASE)Fsqrt Return the square root of ARG. (fn ARG)Fabs Return the absolute value of ARG. (fn ARG)Ffloat Return the floating point number equal to ARG. (fn ARG)Flogb Returns largest integer <= the base 2 log of the magnitude of ARG. This is the same as the exponent of a float. (fn ARG)Fceiling Return the smallest integer no less than ARG. This rounds the value towards +inf. With optional DIVISOR, return the smallest integer no less than ARG/DIVISOR. (fn ARG &optional DIVISOR)Ffloor Return the largest integer no greater than ARG. This rounds the value towards -inf. With optional DIVISOR, return the largest integer no greater than ARG/DIVISOR. (fn ARG &optional DIVISOR)Fround Return the nearest integer to ARG. With optional DIVISOR, return the nearest integer to ARG/DIVISOR. Rounding a value equidistant between two integers may choose the integer closer to zero, or it may prefer an even integer, depending on your machine. For example, (round 2.5) can return 3 on some systems, but 2 on others. (fn ARG &optional DIVISOR)Ftruncate Truncate a floating point number to an int. Rounds ARG toward zero. With optional DIVISOR, truncate ARG/DIVISOR. (fn ARG &optional DIVISOR)Ffceiling Return the smallest integer no less than ARG, as a float. (Round toward +inf.) (fn ARG)Fffloor Return the largest integer no greater than ARG, as a float. (Round toward -inf.) (fn ARG)Ffround Return the nearest integer to ARG, as a float. (fn ARG)Fftruncate Truncate a floating point number to an integral float value. (Round toward zero.) (fn ARG)Sfns.o Fidentity Return the ARGUMENT unchanged. (fn ARGUMENT)Frandom Return a pseudo-random integer. By default, return a fixnum; all fixnums are equally likely. With positive fixnum LIMIT, return random integer in interval [0,LIMIT). With argument t, set the random number seed from the system's entropy pool if available, otherwise from less-random volatile data such as the time. With a string argument, set the seed based on the string's contents. See Info node `(elisp)Random Numbers' for more details. (fn &optional LIMIT)Flength Return the length of vector, list or string SEQUENCE. A byte-code function object is also allowed. If the string contains multibyte characters, this is not necessarily the number of bytes in the string; it is the number of characters. To get the number of bytes, use `string-bytes'. (fn SEQUENCE)Fsafe-length Return the length of a list, but avoid error or infinite loop. This function never gets an error. If LIST is not really a list, it returns 0. If LIST is circular, it returns an integer that is at least the number of distinct elements. (fn LIST)Fproper-list-p Return OBJECT's length if it is a proper list, nil otherwise. A proper list is neither circular nor dotted (i.e., its last cdr is nil). (fn OBJECT)Fstring-bytes Return the number of bytes in STRING. If STRING is multibyte, this may be greater than the length of STRING. (fn STRING)Fstring-distance Return Levenshtein distance between STRING1 and STRING2. The distance is the number of deletions, insertions, and substitutions required to transform STRING1 into STRING2. If BYTECOMPARE is nil or omitted, compute distance in terms of characters. If BYTECOMPARE is non-nil, compute distance in terms of bytes. Letter-case is significant, but text properties are ignored. (fn STRING1 STRING2 &optional BYTECOMPARE)Fstring-equal Return t if two strings have identical contents. Case is significant, but text properties are ignored. Symbols are also allowed; their print names are used instead. (fn S1 S2)Fcompare-strings Compare the contents of two strings, converting to multibyte if needed. The arguments START1, END1, START2, and END2, if non-nil, are positions specifying which parts of STR1 or STR2 to compare. In string STR1, compare the part between START1 (inclusive) and END1 (exclusive). If START1 is nil, it defaults to 0, the beginning of the string; if END1 is nil, it defaults to the length of the string. Likewise, in string STR2, compare the part between START2 and END2. Like in `substring', negative values are counted from the end. The strings are compared by the numeric values of their characters. For instance, STR1 is "less than" STR2 if its first differing character has a smaller numeric value. If IGNORE-CASE is non-nil, characters are converted to upper-case before comparing them. Unibyte strings are converted to multibyte for comparison. The value is t if the strings (or specified portions) match. If string STR1 is less, the value is a negative number N; - 1 - N is the number of characters that match at the beginning. If string STR1 is greater, the value is a positive number N; N - 1 is the number of characters that match at the beginning. (fn STR1 START1 END1 STR2 START2 END2 &optional IGNORE-CASE)Fstring-lessp Return non-nil if STRING1 is less than STRING2 in lexicographic order. Case is significant. Symbols are also allowed; their print names are used instead. (fn STRING1 STRING2)Fstring-version-lessp Return non-nil if S1 is less than S2, as version strings. This function compares version strings S1 and S2: 1) By prefix lexicographically. 2) Then by version (similarly to version comparison of Debian's dpkg). Leading zeros in version numbers are ignored. 3) If both prefix and version are equal, compare as ordinary strings. For example, "foo2.png" compares less than "foo12.png". Case is significant. Symbols are also allowed; their print names are used instead. (fn STRING1 STRING2)Fstring-collate-lessp Return t if first arg string is less than second in collation order. Symbols are also allowed; their print names are used instead. This function obeys the conventions for collation order in your locale settings. For example, punctuation and whitespace characters might be considered less significant for sorting: (sort \='("11" "12" "1 1" "1 2" "1.1" "1.2") \='string-collate-lessp) => ("11" "1 1" "1.1" "12" "1 2" "1.2") The optional argument LOCALE, a string, overrides the setting of your current locale identifier for collation. The value is system dependent; a LOCALE "en_US.UTF-8" is applicable on POSIX systems, while it would be, e.g., "enu_USA.1252" on MS-Windows systems. If IGNORE-CASE is non-nil, characters are converted to lower-case before comparing them. To emulate Unicode-compliant collation on MS-Windows systems, bind `w32-collate-ignore-punctuation' to a non-nil value, since the codeset part of the locale cannot be "UTF-8" on MS-Windows. If your system does not support a locale environment, this function behaves like `string-lessp'. (fn S1 S2 &optional LOCALE IGNORE-CASE)Fstring-collate-equalp Return t if two strings have identical contents. Symbols are also allowed; their print names are used instead. This function obeys the conventions for collation order in your locale settings. For example, characters with different coding points but the same meaning might be considered as equal, like different grave accent Unicode characters: (string-collate-equalp (string ?\uFF40) (string ?\u1FEF)) => t The optional argument LOCALE, a string, overrides the setting of your current locale identifier for collation. The value is system dependent; a LOCALE "en_US.UTF-8" is applicable on POSIX systems, while it would be "enu_USA.1252" on MS Windows systems. If IGNORE-CASE is non-nil, characters are converted to lower-case before comparing them. To emulate Unicode-compliant collation on MS-Windows systems, bind `w32-collate-ignore-punctuation' to a non-nil value, since the codeset part of the locale cannot be "UTF-8" on MS-Windows. If your system does not support a locale environment, this function behaves like `string-equal'. Do NOT use this function to compare file names for equality. (fn S1 S2 &optional LOCALE IGNORE-CASE)Fappend Concatenate all the arguments and make the result a list. The result is a list whose elements are the elements of all the arguments. Each argument may be a list, vector or string. The last argument is not copied, just used as the tail of the new list. (fn &rest SEQUENCES)Fconcat Concatenate all the arguments and make the result a string. The result is a string whose elements are the elements of all the arguments. Each argument may be a string or a list or vector of characters (integers). (fn &rest SEQUENCES)Fvconcat Concatenate all the arguments and make the result a vector. The result is a vector whose elements are the elements of all the arguments. Each argument may be a list, vector or string. (fn &rest SEQUENCES)Fcopy-sequence Return a copy of a list, vector, string, char-table or record. The elements of a list, vector or record are not copied; they are shared with the original. If the original sequence is empty, this function may return the same empty object instead of its copy. (fn ARG)Fstring-make-multibyte Return the multibyte equivalent of STRING. If STRING is unibyte and contains non-ASCII characters, the function `unibyte-char-to-multibyte' is used to convert each unibyte character to a multibyte character. In this case, the returned string is a newly created string with no text properties. If STRING is multibyte or entirely ASCII, it is returned unchanged. In particular, when STRING is unibyte and entirely ASCII, the returned string is unibyte. (When the characters are all ASCII, Emacs primitives will treat the string the same way whether it is unibyte or multibyte.) (fn STRING)Fstring-make-unibyte Return the unibyte equivalent of STRING. Multibyte character codes above 255 are converted to unibyte by taking just the low 8 bits of each character's code. (fn STRING)Fstring-as-unibyte Return a unibyte string with the same individual bytes as STRING. If STRING is unibyte, the result is STRING itself. Otherwise it is a newly created string, with no text properties. If STRING is multibyte and contains a character of charset `eight-bit', it is converted to the corresponding single byte. (fn STRING)Fstring-as-multibyte Return a multibyte string with the same individual bytes as STRING. If STRING is multibyte, the result is STRING itself. Otherwise it is a newly created string, with no text properties. If STRING is unibyte and contains an individual 8-bit byte (i.e. not part of a correct utf-8 sequence), it is converted to the corresponding multibyte character of charset `eight-bit'. See also `string-to-multibyte'. Beware, this often doesn't really do what you think it does. It is similar to (decode-coding-string STRING \='utf-8-emacs). If you're not sure, whether to use `string-as-multibyte' or `string-to-multibyte', use `string-to-multibyte'. (fn STRING)Fstring-to-multibyte Return a multibyte string with the same individual chars as STRING. If STRING is multibyte, the result is STRING itself. Otherwise it is a newly created string, with no text properties. If STRING is unibyte and contains an 8-bit byte, it is converted to the corresponding multibyte character of charset `eight-bit'. This differs from `string-as-multibyte' by converting each byte of a correct utf-8 sequence to an eight-bit character, not just bytes that don't form a correct sequence. (fn STRING)Fstring-to-unibyte Return a unibyte string with the same individual chars as STRING. If STRING is unibyte, the result is STRING itself. Otherwise it is a newly created string, with no text properties, where each `eight-bit' character is converted to the corresponding byte. If STRING contains a non-ASCII, non-`eight-bit' character, an error is signaled. (fn STRING)Fcopy-alist Return a copy of ALIST. This is an alist which represents the same mapping from objects to objects, but does not share the alist structure with ALIST. The objects mapped (cars and cdrs of elements of the alist) are shared, however. Elements of ALIST that are not conses are also shared. (fn ALIST)Fsubstring Return a new string whose contents are a substring of STRING. The returned string consists of the characters between index FROM (inclusive) and index TO (exclusive) of STRING. FROM and TO are zero-indexed: 0 means the first character of STRING. Negative values are counted from the end of STRING. If TO is nil, the substring runs to the end of STRING. The STRING argument may also be a vector. In that case, the return value is a new vector that contains the elements between index FROM (inclusive) and index TO (exclusive) of that vector argument. With one argument, just copy STRING (with properties, if any). (fn STRING &optional FROM TO)Fsubstring-no-properties Return a substring of STRING, without text properties. It starts at index FROM and ends before TO. TO may be nil or omitted; then the substring runs to the end of STRING. If FROM is nil or omitted, the substring starts at the beginning of STRING. If FROM or TO is negative, it counts from the end. With one argument, just copy STRING without its properties. (fn STRING &optional FROM TO)Fnthcdr Take cdr N times on LIST, return the result. (fn N LIST)Fnth Return the Nth element of LIST. N counts from zero. If LIST is not that long, nil is returned. (fn N LIST)Felt Return element of SEQUENCE at index N. (fn SEQUENCE N)Fmember Return non-nil if ELT is an element of LIST. Comparison done with `equal'. The value is actually the tail of LIST whose car is ELT. (fn ELT LIST)Fmemq Return non-nil if ELT is an element of LIST. Comparison done with `eq'. The value is actually the tail of LIST whose car is ELT. (fn ELT LIST)Fmemql Return non-nil if ELT is an element of LIST. Comparison done with `eql'. The value is actually the tail of LIST whose car is ELT. (fn ELT LIST)Fassq Return non-nil if KEY is `eq' to the car of an element of ALIST. The value is actually the first element of ALIST whose car is KEY. Elements of ALIST that are not conses are ignored. (fn KEY ALIST)Fassoc Return non-nil if KEY is equal to the car of an element of ALIST. The value is actually the first element of ALIST whose car equals KEY. Equality is defined by TESTFN if non-nil or by `equal' if nil. (fn KEY ALIST &optional TESTFN)Frassq Return non-nil if KEY is `eq' to the cdr of an element of ALIST. The value is actually the first element of ALIST whose cdr is KEY. (fn KEY ALIST)Frassoc Return non-nil if KEY is `equal' to the cdr of an element of ALIST. The value is actually the first element of ALIST whose cdr equals KEY. (fn KEY ALIST)Fdelq Delete members of LIST which are `eq' to ELT, and return the result. More precisely, this function skips any members `eq' to ELT at the front of LIST, then removes members `eq' to ELT from the remaining sublist by modifying its list structure, then returns the resulting list. Write `(setq foo (delq element foo))' to be sure of correctly changing the value of a list `foo'. See also `remq', which does not modify the argument. (fn ELT LIST)Fdelete Delete members of SEQ which are `equal' to ELT, and return the result. SEQ must be a sequence (i.e. a list, a vector, or a string). The return value is a sequence of the same type. If SEQ is a list, this behaves like `delq', except that it compares with `equal' instead of `eq'. In particular, it may remove elements by altering the list structure. If SEQ is not a list, deletion is never performed destructively; instead this function creates and returns a new vector or string. Write `(setq foo (delete element foo))' to be sure of correctly changing the value of a sequence `foo'. (fn ELT SEQ)Fnreverse Reverse order of items in a list, vector or string SEQ. If SEQ is a list, it should be nil-terminated. This function may destructively modify SEQ to produce the value. (fn SEQ)Freverse Return the reversed copy of list, vector, or string SEQ. See also the function `nreverse', which is used more often. (fn SEQ)Fsort Sort SEQ, stably, comparing elements using PREDICATE. Returns the sorted sequence. SEQ should be a list or vector. SEQ is modified by side effects. PREDICATE is called with two elements of SEQ, and should return non-nil if the first element should sort before the second. (fn SEQ PREDICATE)Fplist-get Extract a value from a property list. PLIST is a property list, which is a list of the form (PROP1 VALUE1 PROP2 VALUE2...). This function returns the value corresponding to the given PROP, or nil if PROP is not one of the properties on the list. The comparison with PROP is done using `eq'. This function never signals an error. (fn PLIST PROP)Fget Return the value of SYMBOL's PROPNAME property. This is the last value stored with `(put SYMBOL PROPNAME VALUE)'. (fn SYMBOL PROPNAME)Fplist-put Change value in PLIST of PROP to VAL. PLIST is a property list, which is a list of the form (PROP1 VALUE1 PROP2 VALUE2 ...). PROP is a symbol and VAL is any object. If PROP is already a property on the list, its value is set to VAL, otherwise the new PROP VAL pair is added. The new plist is returned; use `(setq x (plist-put x prop val))' to be sure to use the new value. The PLIST is modified by side effects. (fn PLIST PROP VAL)Fput Store SYMBOL's PROPNAME property with value VALUE. It can be retrieved with `(get SYMBOL PROPNAME)'. (fn SYMBOL PROPNAME VALUE)Flax-plist-get Extract a value from a property list, comparing with `equal'. This function is otherwise like `plist-get', but may signal an error if PLIST isn't a valid plist. (fn PLIST PROP)Flax-plist-put Change value in PLIST of PROP to VAL, comparing with `equal'. PLIST is a property list, which is a list of the form (PROP1 VALUE1 PROP2 VALUE2 ...). PROP and VAL are any objects. If PROP is already a property on the list, its value is set to VAL, otherwise the new PROP VAL pair is added. The new plist is returned; use `(setq x (lax-plist-put x prop val))' to be sure to use the new value. The PLIST is modified by side effects. (fn PLIST PROP VAL)Feql Return t if the two args are `eq' or are indistinguishable numbers. Floating-point values with the same sign, exponent and fraction are `eql'. This differs from numeric comparison: (eql 0.0 -0.0) returns nil and (eql 0.0e+NaN 0.0e+NaN) returns t, whereas `=' does the opposite. (fn OBJ1 OBJ2)Fequal Return t if two Lisp objects have similar structure and contents. They must have the same data type. Conses are compared by comparing the cars and the cdrs. Vectors and strings are compared element by element. Numbers are compared via `eql', so integers do not equal floats. (Use `=' if you want integers and floats to be able to be equal.) Symbols must match exactly. (fn O1 O2)Fequal-including-properties Return t if two Lisp objects have similar structure and contents. This is like `equal' except that it compares the text properties of strings. (`equal' ignores text properties.) (fn O1 O2)Ffillarray Store each element of ARRAY with ITEM. ARRAY is a vector, string, char-table, or bool-vector. (fn ARRAY ITEM)Fclear-string Clear the contents of STRING. This makes STRING unibyte and may change its length. (fn STRING)Fnconc Concatenate any number of lists by altering them. Only the last argument is not altered, and need not be a list. (fn &rest LISTS)Fmapconcat Apply FUNCTION to each element of SEQUENCE, and concat the results as strings. In between each pair of results, stick in SEPARATOR. Thus, " " as SEPARATOR results in spaces between the values returned by FUNCTION. SEQUENCE may be a list, a vector, a bool-vector, or a string. SEPARATOR must be a string, a vector, or a list of characters. FUNCTION must be a function of one argument, and must return a value that is a sequence of characters: either a string, or a vector or list of numbers that are valid character codepoints. (fn FUNCTION SEQUENCE SEPARATOR)Fmapcar Apply FUNCTION to each element of SEQUENCE, and make a list of the results. The result is a list just as long as SEQUENCE. SEQUENCE may be a list, a vector, a bool-vector, or a string. (fn FUNCTION SEQUENCE)Fmapc Apply FUNCTION to each element of SEQUENCE for side effects only. Unlike `mapcar', don't accumulate the results. Return SEQUENCE. SEQUENCE may be a list, a vector, a bool-vector, or a string. (fn FUNCTION SEQUENCE)Fmapcan Apply FUNCTION to each element of SEQUENCE, and concatenate the results by altering them (using `nconc'). SEQUENCE may be a list, a vector, a bool-vector, or a string. (fn FUNCTION SEQUENCE)Fyes-or-no-p Ask user a yes-or-no question. Return t if answer is yes, and nil if the answer is no. PROMPT is the string to display to ask the question. It should end in a space; `yes-or-no-p' adds "(yes or no) " to it. The user must confirm the answer with RET, and can edit it until it has been confirmed. If dialog boxes are supported, a dialog box will be used if `last-nonmenu-event' is nil, and `use-dialog-box' is non-nil. (fn PROMPT)Fload-average Return list of 1 minute, 5 minute and 15 minute load averages. Each of the three load averages is multiplied by 100, then converted to integer. When USE-FLOATS is non-nil, floats will be used instead of integers. These floats are not multiplied by 100. If the 5-minute or 15-minute load averages are not available, return a shortened list, containing only those averages which are available. An error is thrown if the load average can't be obtained. In some cases making it work would require Emacs being installed setuid or setgid so that it can read kernel information, and that usually isn't advisable. (fn &optional USE-FLOATS)Ffeaturep Return t if FEATURE is present in this Emacs. Use this to conditionalize execution of lisp code based on the presence or absence of Emacs or environment extensions. Use `provide' to declare that a feature is available. This function looks at the value of the variable `features'. The optional argument SUBFEATURE can be used to check a specific subfeature of FEATURE. (fn FEATURE &optional SUBFEATURE)Fprovide Announce that FEATURE is a feature of the current Emacs. The optional argument SUBFEATURES should be a list of symbols listing particular subfeatures supported in this version of FEATURE. (fn FEATURE &optional SUBFEATURES)Frequire If feature FEATURE is not loaded, load it from FILENAME. If FEATURE is not a member of the list `features', then the feature is not loaded; so load the file FILENAME. If FILENAME is omitted, the printname of FEATURE is used as the file name, and `load' will try to load this name appended with the suffix `.elc', `.el', or the system-dependent suffix for dynamic module files, in that order. The name without appended suffix will not be used. See `get-load-suffixes' for the complete list of suffixes. The directories in `load-path' are searched when trying to find the file name. If the optional third argument NOERROR is non-nil, then return nil if the file is not found instead of signaling an error. Normally the return value is FEATURE. The normal messages at start and end of loading FILENAME are suppressed. (fn FEATURE &optional FILENAME NOERROR)Fplist-member Return non-nil if PLIST has the property PROP. PLIST is a property list, which is a list of the form (PROP1 VALUE1 PROP2 VALUE2 ...). PROP is a symbol. Unlike `plist-get', this allows you to distinguish between a missing property and a property with the value nil. The value is actually the tail of PLIST whose car is PROP. (fn PLIST PROP)Fwidget-put In WIDGET, set PROPERTY to VALUE. The value can later be retrieved with `widget-get'. (fn WIDGET PROPERTY VALUE)Fwidget-get In WIDGET, get the value of PROPERTY. The value could either be specified when the widget was created, or later with `widget-put'. (fn WIDGET PROPERTY)Fwidget-apply Apply the value of WIDGET's PROPERTY to the widget itself. Return the result of applying the value of PROPERTY to WIDGET. ARGS are passed as extra arguments to the function. (fn WIDGET PROPERTY &rest ARGS)Flocale-info Access locale data ITEM for the current C locale, if available. ITEM should be one of the following: `codeset', returning the character set as a string (locale item CODESET); `days', returning a 7-element vector of day names (locale items DAY_n); `months', returning a 12-element vector of month names (locale items MON_n); `paper', returning a list of 2 integers (WIDTH HEIGHT) for the default paper size, both measured in millimeters (locale items _NL_PAPER_WIDTH, _NL_PAPER_HEIGHT). If the system can't provide such information through a call to `nl_langinfo', or if ITEM isn't from the list above, return nil. See also Info node `(libc)Locales'. The data read from the system are decoded using `locale-coding-system'. (fn ITEM)Fbase64-encode-region Base64-encode the region between BEG and END. The data in the region is assumed to represent bytes, not text. If you want to base64-encode text, the text has to be converted into data first by using `encode-coding-region' with the appropriate coding system first. Return the length of the encoded data. Optional third argument NO-LINE-BREAK means do not break long lines into shorter lines. (fn BEG END &optional NO-LINE-BREAK)Fbase64url-encode-region Base64url-encode the region between BEG and END. Return the length of the encoded text. Optional second argument NO-PAD means do not add padding char =. This produces the URL variant of base 64 encoding defined in RFC 4648. (fn BEG END &optional NO-PAD)Fbase64-encode-string Base64-encode STRING and return the result. Optional second argument NO-LINE-BREAK means do not break long lines into shorter lines. (fn STRING &optional NO-LINE-BREAK)Fbase64url-encode-string Base64url-encode STRING and return the result. Optional second argument NO-PAD means do not add padding char =. This produces the URL variant of base 64 encoding defined in RFC 4648. (fn STRING &optional NO-PAD)Fbase64-decode-region Base64-decode the region between BEG and END. Return the length of the decoded data. Note that after calling this function, the data in the region will represent bytes, not text. If you want to end up with text, you have to call `decode-coding-region' afterwards with an appropriate coding system. If the region can't be decoded, signal an error and don't modify the buffer. Optional third argument BASE64URL determines whether to use the URL variant of the base 64 encoding, as defined in RFC 4648. (fn BEG END &optional BASE64URL)Fbase64-decode-string Base64-decode STRING and return the result as a string. Optional argument BASE64URL determines whether to use the URL variant of the base 64 encoding, as defined in RFC 4648. (fn STRING &optional BASE64URL)Fsxhash-eq Return an integer hash code for OBJ suitable for `eq'. If (eq A B), then (= (sxhash-eq A) (sxhash-eq B)). Hash codes are not guaranteed to be preserved across Emacs sessions. (fn OBJ)Fsxhash-eql Return an integer hash code for OBJ suitable for `eql'. If (eql A B), then (= (sxhash-eql A) (sxhash-eql B)). Hash codes are not guaranteed to be preserved across Emacs sessions. (fn OBJ)Fsxhash-equal Return an integer hash code for OBJ suitable for `equal'. If (equal A B), then (= (sxhash-equal A) (sxhash-equal B)). Hash codes are not guaranteed to be preserved across Emacs sessions. (fn OBJ)Fmake-hash-table Create and return a new hash table. Arguments are specified as keyword/argument pairs. The following arguments are defined: :test TEST -- TEST must be a symbol that specifies how to compare keys. Default is `eql'. Predefined are the tests `eq', `eql', and `equal'. User-supplied test and hash functions can be specified via `define-hash-table-test'. :size SIZE -- A hint as to how many elements will be put in the table. Default is 65. :rehash-size REHASH-SIZE - Indicates how to expand the table when it fills up. If REHASH-SIZE is an integer, increase the size by that amount. If it is a float, it must be > 1.0, and the new size is the old size multiplied by that factor. Default is 1.5. :rehash-threshold THRESHOLD -- THRESHOLD must a float > 0, and <= 1.0. Resize the hash table when the ratio (table entries / table size) exceeds an approximation to THRESHOLD. Default is 0.8125. :weakness WEAK -- WEAK must be one of nil, t, `key', `value', `key-or-value', or `key-and-value'. If WEAK is not nil, the table returned is a weak table. Key/value pairs are removed from a weak hash table when there are no non-weak references pointing to their key, value, one of key or value, or both key and value, depending on WEAK. WEAK t is equivalent to `key-and-value'. Default value of WEAK is nil. :purecopy PURECOPY -- If PURECOPY is non-nil, the table can be copied to pure storage when Emacs is being dumped, making the contents of the table read only. Any further changes to purified tables will result in an error. (fn &rest KEYWORD-ARGS)Fcopy-hash-table Return a copy of hash table TABLE. (fn TABLE)Fhash-table-count Return the number of elements in TABLE. (fn TABLE)Fhash-table-rehash-size Return the current rehash size of TABLE. (fn TABLE)Fhash-table-rehash-threshold Return the current rehash threshold of TABLE. (fn TABLE)Fhash-table-size Return the size of TABLE. The size can be used as an argument to `make-hash-table' to create a hash table than can hold as many elements as TABLE holds without need for resizing. (fn TABLE)Fhash-table-test Return the test TABLE uses. (fn TABLE)Fhash-table-weakness Return the weakness of TABLE. (fn TABLE)Fhash-table-p Return t if OBJ is a Lisp hash table object. (fn OBJ)Fclrhash Clear hash table TABLE and return it. (fn TABLE)Fgethash Look up KEY in TABLE and return its associated value. If KEY is not found, return DFLT which defaults to nil. (fn KEY TABLE &optional DFLT)Fputhash Associate KEY with VALUE in hash table TABLE. If KEY is already present in table, replace its current value with VALUE. In any case, return VALUE. (fn KEY VALUE TABLE)Fremhash Remove KEY from TABLE. (fn KEY TABLE)Fmaphash Call FUNCTION for all entries in hash table TABLE. FUNCTION is called with two arguments, KEY and VALUE. `maphash' always returns nil. (fn FUNCTION TABLE)Fdefine-hash-table-test Define a new hash table test with name NAME, a symbol. In hash tables created with NAME specified as test, use TEST to compare keys, and HASH for computing hash codes of keys. TEST must be a function taking two arguments and returning non-nil if both arguments are the same. HASH must be a function taking one argument and returning an object that is the hash code of the argument. It should be the case that if (eq (funcall HASH x1) (funcall HASH x2)) returns nil, then (funcall TEST x1 x2) also returns nil. (fn NAME TEST HASH)Fsecure-hash-algorithms Return a list of all the supported `secure-hash' algorithms. (fn)Fmd5 Return MD5 message digest of OBJECT, a buffer or string. A message digest is a cryptographic checksum of a document, and the algorithm to calculate it is defined in RFC 1321. The two optional arguments START and END are character positions specifying for which part of OBJECT the message digest should be computed. If nil or omitted, the digest is computed for the whole OBJECT. The MD5 message digest is computed from the result of encoding the text in a coding system, not directly from the internal Emacs form of the text. The optional fourth argument CODING-SYSTEM specifies which coding system to encode the text with. It should be the same coding system that you used or will use when actually writing the text into a file. If CODING-SYSTEM is nil or omitted, the default depends on OBJECT. If OBJECT is a buffer, the default for CODING-SYSTEM is whatever coding system would be chosen by default for writing this text into a file. If OBJECT is a string, the most preferred coding system (see the command `prefer-coding-system') is used. If NOERROR is non-nil, silently assume the `raw-text' coding if the guesswork fails. Normally, an error is signaled in such case. Note that MD5 is not collision resistant and should not be used for anything security-related. See `secure-hash' for alternatives. (fn OBJECT &optional START END CODING-SYSTEM NOERROR)Fsecure-hash Return the secure hash of OBJECT, a buffer or string. ALGORITHM is a symbol specifying the hash to use: - md5 corresponds to MD5 - sha1 corresponds to SHA-1 - sha224 corresponds to SHA-2 (SHA-224) - sha256 corresponds to SHA-2 (SHA-256) - sha384 corresponds to SHA-2 (SHA-384) - sha512 corresponds to SHA-2 (SHA-512) The two optional arguments START and END are positions specifying for which part of OBJECT to compute the hash. If nil or omitted, uses the whole OBJECT. The full list of algorithms can be obtained with `secure-hash-algorithms'. If BINARY is non-nil, returns a string in binary form. Note that MD5 and SHA-1 are not collision resistant and should not be used for anything security-related. For these applications, use one of the other hash types instead, e.g. sha256 or sha512. (fn ALGORITHM OBJECT &optional START END BINARY)Fbuffer-hash Return a hash of the contents of BUFFER-OR-NAME. This hash is performed on the raw internal format of the buffer, disregarding any coding systems. If nil, use the current buffer. This function is useful for comparing two buffers running in the same Emacs, but is not guaranteed to return the same hash between different Emacs versions. It should not be used for anything security-related. See `secure-hash' for these applications. (fn &optional BUFFER-OR-NAME)Voverriding-plist-environment An alist that overrides the plists of the symbols which it lists. Used by the byte-compiler to apply `define-symbol-prop' during compilation.Vfeatures A list of symbols which are the features of the executing Emacs. Used by `featurep' and `require', and altered by `provide'.Vuse-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.Vuse-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.Sfont.o Ffontp Return t if OBJECT is a font-spec, font-entity, or font-object. Return nil otherwise. Optional 2nd argument EXTRA-TYPE, if non-nil, specifies to check which kind of font it is. It must be one of `font-spec', `font-entity', `font-object'. (fn OBJECT &optional EXTRA-TYPE)Ffont-spec Return a newly created font-spec with arguments as properties. ARGS must come in pairs KEY VALUE of font properties. KEY must be a valid font property name listed below: `:family', `:weight', `:slant', `:width' They are the same as face attributes of the same name. See `set-face-attribute'. `:foundry' VALUE must be a string or a symbol specifying the font foundry, e.g. `misc'. `:adstyle' VALUE must be a string or a symbol specifying the additional typographic style information of a font, e.g. `sans'. `:registry' VALUE must be a string or a symbol specifying the charset registry and encoding of a font, e.g. `iso8859-1'. `:size' VALUE must be a non-negative integer or a floating point number specifying the font size. It specifies the font size in pixels (if VALUE is an integer), or in points (if VALUE is a float). `:name' VALUE must be a string of XLFD-style or fontconfig-style font name. `:script' VALUE must be a symbol representing a script that the font must support. It may be a symbol representing a subgroup of a script listed in the variable `script-representative-chars'. `:lang' VALUE must be a symbol whose name is a two-letter ISO-639 language name, e.g. `ja'. The value is matched against the "Additional Style" field of the XLFD spec of a font, if it's non-empty, on X, and against the codepages supported by the font on w32. `:otf' VALUE must be a list (SCRIPT-TAG LANGSYS-TAG GSUB [ GPOS ]) to specify required OpenType features. SCRIPT-TAG: OpenType script tag symbol (e.g. `deva'). LANGSYS-TAG: OpenType language system tag symbol, or nil for the default language system. GSUB: List of OpenType GSUB feature tag symbols, or nil if none required. GPOS: List of OpenType GPOS feature tag symbols, or nil if none required. GSUB and GPOS may contain nil elements. In such a case, the font must not have any of the remaining elements. For instance, if the VALUE is `(thai nil nil (mark))', the font must be an OpenType font whose GPOS table of `thai' script's default language system must contain `mark' feature. (fn ARGS...)Ffont-get Return the value of FONT's property KEY. FONT is a font-spec, a font-entity, or a font-object. KEY is any symbol, but these are reserved for specific meanings: :family, :weight, :slant, :width, :foundry, :adstyle, :registry, :size, :name, :script, :otf See the documentation of `font-spec' for their meanings. In addition, if FONT is a font-entity or a font-object, values of :script and :otf are different from those of a font-spec as below: The value of :script may be a list of scripts that are supported by the font. The value of :otf is a cons (GSUB . GPOS) where GSUB and GPOS are lists representing the OpenType features supported by the font by this form: ((SCRIPT (LANGSYS FEATURE ...) ...) ...) SCRIPT, LANGSYS, and FEATURE are all symbols representing OpenType Layout tags. In addition to the keys listed abobe, the following keys are reserved for the specific meanings as below: The value of :combining-capability is non-nil if the font-backend of FONT supports rendering of combining characters for non-OTF fonts. (fn FONT KEY)Ffont-face-attributes Return a plist of face attributes generated by FONT. FONT is a font name, a font-spec, a font-entity, or a font-object. The return value is a list of the form (:family FAMILY :height HEIGHT :weight WEIGHT :slant SLANT :width WIDTH) where FAMILY, HEIGHT, WEIGHT, SLANT, and WIDTH are face attribute values compatible with `set-face-attribute'. Some of these key-attribute pairs may be omitted from the list if they are not specified by FONT. The optional argument FRAME specifies the frame that the face attributes are to be displayed on. If omitted, the selected frame is used. (fn FONT &optional FRAME)Ffont-put Set one property of FONT: give property KEY value VAL. FONT is a font-spec, a font-entity, or a font-object. If FONT is a font-spec, KEY can be any symbol. But if KEY is the one accepted by the function `font-spec' (which see), VAL must be what allowed in `font-spec'. If FONT is a font-entity or a font-object, KEY must not be the one accepted by `font-spec'. (fn FONT PROP VAL)Flist-fonts List available fonts matching FONT-SPEC on the current frame. Optional 2nd argument FRAME specifies the target frame. Optional 3rd argument NUM, if non-nil, limits the number of returned fonts. Optional 4th argument PREFER, if non-nil, is a font-spec to control the order of the returned list. Fonts are sorted by how close they are to PREFER. (fn FONT-SPEC &optional FRAME NUM PREFER)Ffont-family-list List available font families on the current frame. If FRAME is omitted or nil, the selected frame is used. (fn &optional FRAME)Ffind-font Return a font-entity matching with FONT-SPEC on the current frame. Optional 2nd argument FRAME, if non-nil, specifies the target frame. (fn FONT-SPEC &optional FRAME)Ffont-xlfd-name Return XLFD name of FONT. FONT is a font-spec, font-entity, or font-object. If the name is too long for XLFD (maximum 255 chars), return nil. If the 2nd optional arg FOLD-WILDCARDS is non-nil, the consecutive wildcards are folded into one. (fn FONT &optional FOLD-WILDCARDS)Fclear-font-cache Clear font cache of each frame. (fn)Ffont-shape-gstring Shape the glyph-string GSTRING subject to bidi DIRECTION. Shaping means substituting glyphs and/or adjusting positions of glyphs to get the correct visual image of character sequences set in the header of the glyph-string. DIRECTION should be produced by the UBA, the Unicode Bidirectional Algorithm, and should be a symbol, either L2R or R2L. It can also be nil if the bidi context is unknown. If the shaping was successful, the value is GSTRING itself or a newly created glyph-string. Otherwise, the value is nil. See the documentation of `composition-get-gstring' for the format of GSTRING. (fn GSTRING DIRECTION)Ffont-variation-glyphs Return a list of variation glyphs for CHARACTER in FONT-OBJECT. Each element of the value is a cons (VARIATION-SELECTOR . GLYPH-ID), where VARIATION-SELECTOR is a character code of variation selector (#xFE00..#xFE0F or #xE0100..#xE01EF). GLYPH-ID is a glyph code of the corresponding variation glyph, a fixnum, if it's small enough, otherwise a bignum. (fn FONT-OBJECT CHARACTER)Finternal-char-font For internal use only. (fn POSITION &optional CH)Ffont-drive-otf Apply OpenType features on glyph-string GSTRING-IN. OTF-FEATURES specifies which features to apply in this format: (SCRIPT LANGSYS GSUB GPOS) where SCRIPT is a symbol specifying a script tag of OpenType, LANGSYS is a symbol specifying a langsys tag of OpenType, GSUB and GPOS, if non-nil, are lists of symbols specifying feature tags. If LANGSYS is nil, the default langsys is selected. The features are applied in the order they appear in the list. The symbol `*' means to apply all available features not present in this list, and the remaining features are ignored. For instance, (vatu pstf * haln) is to apply vatu and pstf in this order, then to apply all available features other than vatu, pstf, and haln. The features are applied to the glyphs in the range FROM and TO of the glyph-string GSTRING-IN. If some feature is actually applicable, the resulting glyphs are produced in the glyph-string GSTRING-OUT from the index INDEX. In this case, the value is the number of produced glyphs. If no feature is applicable, no glyph is produced in GSTRING-OUT, and the value is 0. If GSTRING-OUT is too short to hold produced glyphs, no glyphs are produced in GSTRING-OUT, and the value is nil. See the documentation of `composition-get-gstring' for the format of glyph-string. (fn OTF-FEATURES GSTRING-IN FROM TO GSTRING-OUT INDEX)Ffont-otf-alternates Return a list of alternate glyphs of CHARACTER in FONT-OBJECT. OTF-FEATURES specifies which features of the font FONT-OBJECT to apply in this format: (SCRIPT LANGSYS FEATURE ...) See the documentation of `font-drive-otf' for more detail. The value is a list of cons cells of the format (GLYPH-ID . CHARACTER), where GLYPH-ID is a glyph index of the font, and CHARACTER is a character code corresponding to the glyph or nil if there's no corresponding character. (fn FONT-OBJECT CHARACTER OTF-FEATURES)Fopen-font Open FONT-ENTITY. (fn FONT-ENTITY &optional SIZE FRAME)Fclose-font Close FONT-OBJECT. (fn FONT-OBJECT &optional FRAME)Fquery-font Return information about FONT-OBJECT. The value is a vector: [ NAME FILENAME PIXEL-SIZE SIZE ASCENT DESCENT SPACE-WIDTH AVERAGE-WIDTH CAPABILITY ] NAME is the font name, a string (or nil if the font backend doesn't provide a name). FILENAME is the font file name, a string (or nil if the font backend doesn't provide a file name). PIXEL-SIZE is a pixel size by which the font is opened. SIZE is a maximum advance width of the font in pixels. ASCENT, DESCENT, SPACE-WIDTH, AVERAGE-WIDTH are metrics of the font in pixels. CAPABILITY is a list whose first element is a symbol representing the font format (x, opentype, truetype, type1, pcf, or bdf) and the remaining elements describe the details of the font capability. If the font is OpenType font, the form of the list is (opentype GSUB GPOS) where GSUB shows which "GSUB" features the font supports, and GPOS shows which "GPOS" features the font supports. Both GSUB and GPOS are lists of the format: ((SCRIPT (LANGSYS FEATURE ...) ...) ...) If the font is not OpenType font, currently the length of the form is one. SCRIPT is a symbol representing OpenType script tag. LANGSYS is a symbol representing OpenType langsys tag, or nil representing the default langsys. FEATURE is a symbol representing OpenType feature tag. If the font is not OpenType font, CAPABILITY is nil. (fn FONT-OBJECT)Ffont-get-glyphs Return a vector of FONT-OBJECT's glyphs for the specified characters. FROM and TO are positions (integers or markers) specifying a region of the current buffer, and can be in either order. If the optional fourth arg OBJECT is not nil, it is a string or a vector containing the target characters between indices FROM and TO, which are treated as in `substring'. Each element is a vector containing information of a glyph in this format: [FROM-IDX TO-IDX C CODE WIDTH LBEARING RBEARING ASCENT DESCENT ADJUSTMENT] where FROM is an index numbers of a character the glyph corresponds to. TO is the same as FROM. C is the character of the glyph. CODE is the glyph-code of C in FONT-OBJECT. WIDTH thru DESCENT are the metrics (in pixels) of the glyph. ADJUSTMENT is always nil. If FONT-OBJECT doesn't have a glyph for a character, the corresponding element is nil. (fn FONT-OBJECT FROM TO &optional OBJECT)Ffont-match-p Return t if and only if font-spec SPEC matches with FONT. FONT is a font-spec, font-entity, or font-object. (fn SPEC FONT)Ffont-at Return a font-object for displaying a character at POSITION. Optional second arg WINDOW, if non-nil, is a window displaying the current buffer. It defaults to the currently selected window. Optional third arg STRING, if non-nil, is a string containing the target character at index specified by POSITION. (fn POSITION &optional WINDOW STRING)Fdraw-string Draw STRING by FONT-OBJECT on the top left corner of the current frame. The value is a number of glyphs drawn. Type C-l to recover what previously shown. (fn FONT-OBJECT STRING)Fframe-font-cache Return FRAME's font cache. Mainly used for debugging. If FRAME is omitted or nil, use the selected frame. (fn &optional FRAME)Ffont-info Return information about a font named NAME on frame FRAME. If FRAME is omitted or nil, use the selected frame. The returned value is a vector of 14 elements: [ OPENED-NAME FULL-NAME SIZE HEIGHT BASELINE-OFFSET RELATIVE-COMPOSE DEFAULT-ASCENT MAX-WIDTH ASCENT DESCENT SPACE-WIDTH AVERAGE-WIDTH FILENAME CAPABILITY ] where OPENED-NAME is the name used for opening the font, FULL-NAME is the full name of the font, SIZE is the pixelsize of the font, HEIGHT is the pixel-height of the font (i.e., ascent + descent), BASELINE-OFFSET is the upward offset pixels from ASCII baseline, RELATIVE-COMPOSE and DEFAULT-ASCENT are the numbers controlling how to compose characters, MAX-WIDTH is the maximum advance width of the font, ASCENT, DESCENT, SPACE-WIDTH, and AVERAGE-WIDTH are metrics of the font in pixels, FILENAME is the font file name, a string (or nil if the font backend doesn't provide a file name). CAPABILITY is a list whose first element is a symbol representing the font format, one of `x', `opentype', `truetype', `type1', `pcf', or `bdf'. The remaining elements describe the details of the font capabilities, as follows: If the font is OpenType font, the form of the list is (opentype GSUB GPOS) where GSUB shows which "GSUB" features the font supports, and GPOS shows which "GPOS" features the font supports. Both GSUB and GPOS are lists of the form: ((SCRIPT (LANGSYS FEATURE ...) ...) ...) where SCRIPT is a symbol representing OpenType script tag. LANGSYS is a symbol representing OpenType langsys tag, or nil representing the default langsys. FEATURE is a symbol representing OpenType feature tag. If the font is not an OpenType font, there are no elements in CAPABILITY except the font format symbol. If the named font cannot be opened and loaded, return nil. (fn NAME &optional FRAME)Vfont-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.Vfont-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. This variable cannot be set; trying to do so will signal an error.Vfont-slant-table Vector of font slant symbols vs the corresponding numeric values. See `font-weight-table' for the format of the vector. This variable cannot be set; trying to do so will signal an error.Vfont-width-table Alist of font width symbols vs the corresponding numeric values. See `font-weight-table' for the format of the vector. This variable cannot be set; trying to do so will signal an error.Vfont-log A list that logs font-related actions and results, for debugging. The default value is t, which means to suppress logging. Set it to nil to enable logging. If the environment variable EMACS_FONT_LOG is set at startup, it defaults to nil.Vinhibit-compacting-font-caches If non-nil, don't compact font caches during GC. Some large fonts cause lots of consing and trigger GC. If they are removed from the font caches, they will need to be opened again during redisplay, which slows down redisplay. If you see font-related delays in displaying some special characters, and cannot switch to a smaller font for those characters, set this variable non-nil. Disabling compaction of font caches might enlarge the Emacs memory footprint in sessions that use lots of different fonts.Vxft-ignore-color-fonts Non-nil means don't query fontconfig for color fonts, since they often cause Xft crashes. Only has an effect in Xft builds.Sprint.o Fwrite-char Output character CHARACTER to stream PRINTCHARFUN. PRINTCHARFUN defaults to the value of `standard-output' (which see). (fn CHARACTER &optional PRINTCHARFUN)Fterpri Output a newline to stream PRINTCHARFUN. If ENSURE is non-nil only output a newline if not already at the beginning of a line. Value is non-nil if a newline is printed. If PRINTCHARFUN is omitted or nil, the value of `standard-output' is used. (fn &optional PRINTCHARFUN ENSURE)Fprin1 Output the printed representation of OBJECT, any Lisp object. Quoting characters are printed when needed to make output that `read' can handle, whenever this is possible. For complex objects, the behavior is controlled by `print-level' and `print-length', which see. OBJECT is any of the Lisp data types: a number, a string, a symbol, a list, a buffer, a window, a frame, etc. A printed representation of an object is text which describes that object. Optional argument PRINTCHARFUN is the output stream, which can be one of these: - a buffer, in which case output is inserted into that buffer at point; - a marker, in which case output is inserted at marker's position; - a function, in which case that function is called once for each character of OBJECT's printed representation; - a symbol, in which case that symbol's function definition is called; or - t, in which case the output is displayed in the echo area. If PRINTCHARFUN is omitted, the value of `standard-output' (which see) is used instead. (fn OBJECT &optional PRINTCHARFUN)Fprin1-to-string Return a string containing the printed representation of OBJECT. OBJECT can be any Lisp object. This function outputs quoting characters when necessary to make output that `read' can handle, whenever possible, unless the optional second argument NOESCAPE is non-nil. For complex objects, the behavior is controlled by `print-level' and `print-length', which see. OBJECT is any of the Lisp data types: a number, a string, a symbol, a list, a buffer, a window, a frame, etc. A printed representation of an object is text which describes that object. (fn OBJECT &optional NOESCAPE)Fprinc Output the printed representation of OBJECT, any Lisp object. No quoting characters are used; no delimiters are printed around the contents of strings. OBJECT is any of the Lisp data types: a number, a string, a symbol, a list, a buffer, a window, a frame, etc. A printed representation of an object is text which describes that object. Optional argument PRINTCHARFUN is the output stream, which can be one of these: - a buffer, in which case output is inserted into that buffer at point; - a marker, in which case output is inserted at marker's position; - a function, in which case that function is called once for each character of OBJECT's printed representation; - a symbol, in which case that symbol's function definition is called; or - t, in which case the output is displayed in the echo area. If PRINTCHARFUN is omitted, the value of `standard-output' (which see) is used instead. (fn OBJECT &optional PRINTCHARFUN)Fprint Output the printed representation of OBJECT, with newlines around it. Quoting characters are printed when needed to make output that `read' can handle, whenever this is possible. For complex objects, the behavior is controlled by `print-level' and `print-length', which see. OBJECT is any of the Lisp data types: a number, a string, a symbol, a list, a buffer, a window, a frame, etc. A printed representation of an object is text which describes that object. Optional argument PRINTCHARFUN is the output stream, which can be one of these: - a buffer, in which case output is inserted into that buffer at point; - a marker, in which case output is inserted at marker's position; - a function, in which case that function is called once for each character of OBJECT's printed representation; - a symbol, in which case that symbol's function definition is called; or - t, in which case the output is displayed in the echo area. If PRINTCHARFUN is omitted, the value of `standard-output' (which see) is used instead. (fn OBJECT &optional PRINTCHARFUN)Fexternal-debugging-output Write CHARACTER to stderr. You can call `print' while debugging emacs, and pass it this function to make it write to the debugging output. (fn CHARACTER)Fredirect-debugging-output Redirect debugging output (stderr stream) to file FILE. If FILE is nil, reset target to the initial stderr stream. Optional arg APPEND non-nil (interactively, with prefix arg) means append to existing target file. (fn FILE &optional APPEND)Ferror-message-string Convert an error value (ERROR-SYMBOL . DATA) to an error message. See Info anchor `(elisp)Definition of signal' for some details on how this error message is constructed. (fn OBJ)Fprint--preprocess Extract sharing info from OBJECT needed to print it. Fills `print-number-table' if `print-circle' is non-nil. Does nothing if `print-circle' is nil. (fn OBJECT)Vstandard-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).Vfloat-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.Vprint-length Maximum length of list to print before abbreviating. A value of nil means no limit. See also `eval-expression-print-length'.Vprint-level Maximum depth of list nesting to print before abbreviating. A value of nil means no limit. See also `eval-expression-print-level'.Vprint-escape-newlines Non-nil means print newlines in strings as `\n'. Also print formfeeds as `\f'.Vprint-escape-control-characters Non-nil means print control characters in strings as `\OOO'. (OOO is the octal representation of the character code.)Vprint-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.Vprint-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'.Vprint-quoted Non-nil means print quoted forms with reader syntax. I.e., (quote foo) prints as \='foo, (function foo) as #\='foo.Vprint-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 multiple times within the printed expression, and `print-circle' is non-nil, 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.Vprint-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.Vprint-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.Vprint-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.Vprint-charset-text-property A flag to control printing of `charset' text property on printing a string. The value should 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. Values other than nil or t are also treated as `default'.Slread.o Fread-char Read a character event from the command input (keyboard or macro). It is returned as a number. If the event has modifiers, they are resolved and reflected in the returned character code if possible (e.g. C-SPC yields 0 and C-a yields 97). If some of the modifiers cannot be reflected in the character code, the returned value will include those modifiers, and will not be a valid character code: it will fail the `characterp' test. Use `event-basic-type' to recover the character code with the modifiers removed. If the user generates an event which is not a character (i.e. a mouse click or function key event), `read-char' signals an error. As an exception, switch-frame events are put off until non-character events can be read. If you want to read non-character events, or ignore them, call `read-event' or `read-char-exclusive' instead. If the optional argument PROMPT is non-nil, display that as a prompt. If PROMPT is nil or the string "", the key sequence/events that led to the current command is used as the prompt. If the optional argument INHERIT-INPUT-METHOD is non-nil and some input method is turned on in the current buffer, that input method is used for reading a character. If the optional argument SECONDS is non-nil, it should be a number specifying the maximum number of seconds to wait for input. If no input arrives in that time, return nil. SECONDS may be a floating-point value. (fn &optional PROMPT INHERIT-INPUT-METHOD SECONDS)Fread-event Read an event object from the input stream. If the optional argument PROMPT is non-nil, display that as a prompt. If PROMPT is nil or the string "", the key sequence/events that led to the current command is used as the prompt. If the optional argument INHERIT-INPUT-METHOD is non-nil and some input method is turned on in the current buffer, that input method is used for reading a character. If the optional argument SECONDS is non-nil, it should be a number specifying the maximum number of seconds to wait for input. If no input arrives in that time, return nil. SECONDS may be a floating-point value. (fn &optional PROMPT INHERIT-INPUT-METHOD SECONDS)Fread-char-exclusive Read a character event from the command input (keyboard or macro). It is returned as a number. Non-character events are ignored. If the event has modifiers, they are resolved and reflected in the returned character code if possible (e.g. C-SPC yields 0 and C-a yields 97). If some of the modifiers cannot be reflected in the character code, the returned value will include those modifiers, and will not be a valid character code: it will fail the `characterp' test. Use `event-basic-type' to recover the character code with the modifiers removed. If the optional argument PROMPT is non-nil, display that as a prompt. If PROMPT is nil or the string "", the key sequence/events that led to the current command is used as the prompt. If the optional argument INHERIT-INPUT-METHOD is non-nil and some input method is turned on in the current buffer, that input method is used for reading a character. If the optional argument SECONDS is non-nil, it should be a number specifying the maximum number of seconds to wait for input. If no input arrives in that time, return nil. SECONDS may be a floating-point value. (fn &optional PROMPT INHERIT-INPUT-METHOD SECONDS)Fget-file-char Don't use this yourself. (fn)Fget-load-suffixes Return the suffixes that `load' should try if a suffix is required. This uses the variables `load-suffixes' and `load-file-rep-suffixes'. (fn)Fload Execute a file of Lisp code named FILE. First try FILE with `.elc' appended, then try with `.el', then try with a system-dependent suffix of dynamic modules (see `load-suffixes'), then try FILE unmodified (the exact suffixes in the exact order are determined by `load-suffixes'). Environment variable references in FILE are replaced with their values by calling `substitute-in-file-name'. This function searches the directories in `load-path'. If optional second arg NOERROR is non-nil, report no error if FILE doesn't exist. Print messages at start and end of loading unless optional third arg NOMESSAGE is non-nil (but `force-load-messages' overrides that). If optional fourth arg NOSUFFIX is non-nil, don't try adding suffixes to the specified name FILE. If optional fifth arg MUST-SUFFIX is non-nil, insist on the suffix `.elc' or `.el' or the module suffix; don't accept just FILE unless it ends in one of those suffixes or includes a directory name. If NOSUFFIX is nil, then if a file could not be found, try looking for a different representation of the file by adding non-empty suffixes to its name, before trying another file. Emacs uses this feature to find compressed versions of files when Auto Compression mode is enabled. If NOSUFFIX is non-nil, disable this feature. The suffixes that this function tries out, when NOSUFFIX is nil, are given by the return value of `get-load-suffixes' and the values listed in `load-file-rep-suffixes'. If MUST-SUFFIX is non-nil, only the return value of `get-load-suffixes' is used, i.e. the file name is required to have a non-empty suffix. When searching suffixes, this function normally stops at the first one that exists. If the option `load-prefer-newer' is non-nil, however, it tries all suffixes, and uses whichever file is the newest. Loading a file records its definitions, and its `provide' and `require' calls, in an element of `load-history' whose car is the file name loaded. See `load-history'. While the file is in the process of being loaded, the variable `load-in-progress' is non-nil and the variable `load-file-name' is bound to the file's name. Return t if the file exists and loads successfully. (fn FILE &optional NOERROR NOMESSAGE NOSUFFIX MUST-SUFFIX)Flocate-file-internal Search for FILENAME through PATH. Returns the file's name in absolute form, or nil if not found. If SUFFIXES is non-nil, it should be a list of suffixes to append to file name when searching. If non-nil, PREDICATE is used instead of `file-readable-p'. PREDICATE can also be an integer to pass to the faccessat(2) function, in which case file-name-handlers are ignored. This function will normally skip directories, so if you want it to find directories, make sure the PREDICATE function returns `dir-ok' for them. (fn FILENAME PATH &optional SUFFIXES PREDICATE)Feval-buffer Execute the accessible portion of current buffer as Lisp code. You can use \[narrow-to-region] to limit the part of buffer to be evaluated. When called from a Lisp program (i.e., not interactively), this function accepts up to five optional arguments: BUFFER is the buffer to evaluate (nil means use current buffer), or a name of a buffer (a string). PRINTFLAG controls printing of output by any output functions in the evaluated code, such as `print', `princ', and `prin1': a value of nil means discard it; anything else is the stream to print to. See Info node `(elisp)Output Streams' for details on streams. FILENAME specifies the file name to use for `load-history'. UNIBYTE, if non-nil, specifies `load-convert-to-unibyte' for this invocation. DO-ALLOW-PRINT, if non-nil, specifies that output functions in the evaluated code should work normally even if PRINTFLAG is nil, in which case the output is displayed in the echo area. This function ignores the current value of the `lexical-binding' variable. Instead it will heed any -*- lexical-binding: t -*- settings in the buffer, and if there is no such setting, the buffer will be evaluated without lexical binding. This function preserves the position of point. (fn &optional BUFFER PRINTFLAG FILENAME UNIBYTE DO-ALLOW-PRINT)Feval-region Execute the region as Lisp code. When called from programs, expects two arguments, giving starting and ending indices in the current buffer of the text to be executed. Programs can pass third argument PRINTFLAG which controls output: a value of nil means discard it; anything else is stream for printing it. See Info node `(elisp)Output Streams' for details on streams. Also the fourth argument READ-FUNCTION, if non-nil, is used instead of `read' to read each expression. It gets one argument which is the input stream for reading characters. This function does not move point. (fn START END &optional PRINTFLAG READ-FUNCTION)Fread Read one Lisp expression as text from STREAM, return as Lisp object. If STREAM is nil, use the value of `standard-input' (which see). STREAM or the value of `standard-input' may be: a buffer (read from point and advance it) a marker (read from where it points and advance it) a function (call it with no arguments for each character, call it with a char as argument to push a char back) a string (takes text from string, starting at the beginning) t (read text line using minibuffer and use it, or read from standard input in batch mode). (fn &optional STREAM)Fread-from-string Read one Lisp expression which is represented as text by STRING. Returns a cons: (OBJECT-READ . FINAL-STRING-INDEX). FINAL-STRING-INDEX is an integer giving the position of the next remaining character in STRING. START and END optionally delimit a substring of STRING from which to read; they default to 0 and (length STRING) respectively. Negative values are counted from the end of STRING. (fn STRING &optional START END)Flread--substitute-object-in-subtree In OBJECT, replace every occurrence of PLACEHOLDER with OBJECT. COMPLETED is a hash table of objects that might be circular, or is t if any object might be circular. (fn OBJECT PLACEHOLDER COMPLETED)Fintern Return the canonical symbol whose name is STRING. If there is none, one is created by this function and returned. A second optional argument specifies the obarray to use; it defaults to the value of `obarray'. (fn STRING &optional OBARRAY)Fintern-soft Return the canonical symbol named NAME, or nil if none exists. NAME may be a string or a symbol. If it is a symbol, that exact symbol is searched for. A second optional argument specifies the obarray to use; it defaults to the value of `obarray'. (fn NAME &optional OBARRAY)Funintern Delete the symbol named NAME, if any, from OBARRAY. The value is t if a symbol was found and deleted, nil otherwise. NAME may be a string or a symbol. If it is a symbol, that symbol is deleted, if it belongs to OBARRAY--no other symbol is deleted. OBARRAY, if nil, defaults to the value of the variable `obarray'. (fn NAME OBARRAY)Fmapatoms Call FUNCTION on every symbol in OBARRAY. OBARRAY defaults to the value of `obarray'. (fn FUNCTION &optional OBARRAY)Vobarray 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'.Vvalues List of values of all expressions which were read, evaluated and printed. Order is reverse chronological.Vstandard-input Stream for read to get input from. See documentation of `read' for possible values.Vread-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.Vread-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.Vread-circle Non-nil means read recursive structures using #N= and #N# syntax.Vload-path List of directories to search for files to load. Each element is a string (directory file name) or nil (meaning `default-directory'). This list is consulted by the `require' function. Initialized during startup as described in Info node `(elisp)Library Search'. Use `directory-file-name' when adding items to this path. However, Lisp programs that process this list should tolerate directories both with and without trailing slashes.Vload-suffixes List of suffixes for Emacs Lisp files and dynamic modules. This list includes suffixes for both compiled and 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 suffix is allowed or required.Vmodule-file-suffix Suffix of loadable module file, or nil if modules are not supported.Vload-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.Vload-in-progress Non-nil if inside of `load'.Vafter-load-alist An alist of functions to be evalled when particular files are loaded. Each element looks like (REGEXP-OR-FEATURE FUNCS...). 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 FUNCS in the element are called. An error in FUNCS does not undo the load, but does prevent calling the rest of the FUNCS.Vload-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)', `(define-type . SYMBOL)', `(cl-defmethod METHOD SPECIALIZERS)', or `(t . SYMBOL)'. Entries like `(t . SYMBOL)' may precede a `(defun . FUNCTION)' entry, and mean 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.Vload-file-name Full name of file being loaded by `load'.Vuser-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 any init file, value is the real name of the file, regardless of whether or not it has the `.elc' extension.Vcurrent-load-list Used for internal purposes by `load'.Vload-read-function Function used by `load' and `eval-region' for reading expressions. Called with a single argument (the stream from which to read). The default is to use the function `read'.Vload-source-file-function Function called in `load' to load an Emacs Lisp source file. The value should be a function for doing code conversion before reading a source file. It can also be nil, in which case loading is done without any code conversion. If the value is a function, it is called with four arguments, FULLNAME, FILE, NOERROR, NOMESSAGE. FULLNAME is the absolute name of the file to load, FILE is the non-absolute name (for messages etc.), and NOERROR and NOMESSAGE are the corresponding arguments passed to `load'. The function should return t if the file was loaded.Vload-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.Vload-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.Vsource-directory Directory in which Emacs sources were found when Emacs was built. You cannot count on them to still be there!Vpreloaded-file-list List of files that were preloaded (when dumping Emacs).Vbyte-boolean-vars List of all DEFVAR_BOOL variables, used by the byte code optimizer.Vload-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.Vforce-load-messages Non-nil means force printing messages when loading Lisp files. This overrides the value of the NOMESSAGE argument to `load'.Vbytecomp-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'.Vlexical-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.Veval-buffer-list List of buffers being read from by calls to `eval-buffer' and `eval-region'.Vlread--unescaped-character-literals List of deprecated unescaped character literals encountered by `read'. For internal use only.Vload-prefer-newer Non-nil means `load' prefers the newest version of a file. This applies when a filename suffix is not explicitly specified and `load' is trying various possible suffixes (see `load-suffixes' and `load-file-rep-suffixes'). Normally, it stops at the first file that exists unless you explicitly specify one or the other. If this option is non-nil, it checks all suffixes and uses whichever file is newest. Note that if you customize this, obviously it will not affect files that are loaded before your customizations are read!Vforce-new-style-backquotes Non-nil means to always use the current syntax for backquotes. If nil, `load' and `read' raise errors when encountering some old-style variants of backquote and comma. If non-nil, these constructs are always interpreted as described in the Info node `(elisp)Backquote', even if that interpretation is incompatible with previous versions of Emacs. Setting this variable to non-nil makes Emacs compatible with the behavior planned for Emacs 28. In Emacs 28, this variable will become obsolete.Sdynlib.o Semacs-module.o Fmodule-load Load module FILE. (fn FILE)Ssyntax.o Fsyntax-table-p Return t if OBJECT is a syntax table. Currently, any char-table counts as a syntax table. (fn OBJECT)Fsyntax-table Return the current syntax table. This is the one specified by the current buffer. (fn)Fstandard-syntax-table Return the standard syntax table. This is the one used for new buffers. (fn)Fcopy-syntax-table Construct a new syntax table and return it. It is a copy of the TABLE, which defaults to the standard syntax table. (fn &optional TABLE)Fset-syntax-table Select a new syntax table for the current buffer. One argument, a syntax table. (fn TABLE)Fchar-syntax Return the syntax code of CHARACTER, described by a character. For example, if CHARACTER is a word constituent, the character `w' (119) is returned. The characters that correspond to various syntax codes are listed in the documentation of `modify-syntax-entry'. If you're trying to determine the syntax of characters in the buffer, this is probably the wrong function to use, because it can't take `syntax-table' text properties into account. Consider using `syntax-after' instead. (fn CHARACTER)Fmatching-paren Return the matching parenthesis of CHARACTER, or nil if none. (fn CHARACTER)Fstring-to-syntax Convert a syntax descriptor STRING into a raw syntax descriptor. STRING should be a string of the form allowed as argument of `modify-syntax-entry'. The return value is a raw syntax descriptor: a cons cell (CODE . MATCHING-CHAR) which can be used, for example, as the value of a `syntax-table' text property. (fn STRING)Fmodify-syntax-entry Set syntax for character CHAR according to string NEWENTRY. The syntax is changed only for table SYNTAX-TABLE, which defaults to the current buffer's syntax table. CHAR may be a cons (MIN . MAX), in which case, syntaxes of all characters in the range MIN to MAX are changed. The first character of NEWENTRY should be one of the following: Space or - whitespace syntax. w word constituent. _ symbol constituent. . punctuation. ( open-parenthesis. ) close-parenthesis. " string quote. \ escape. $ paired delimiter. \=' expression quote or prefix operator. < comment starter. > comment ender. / character-quote. @ inherit from parent table. | generic string fence. ! generic comment fence. Only single-character comment start and end sequences are represented thus. Two-character sequences are represented as described below. The second character of NEWENTRY is the matching parenthesis, used only if the first character is `(' or `)'. Any additional characters are flags. Defined flags are the characters 1, 2, 3, 4, b, p, and n. 1 means CHAR is the start of a two-char comment start sequence. 2 means CHAR is the second character of such a sequence. 3 means CHAR is the start of a two-char comment end sequence. 4 means CHAR is the second character of such a sequence. There can be several orthogonal comment sequences. This is to support language modes such as C++. By default, all comment sequences are of style a, but you can set the comment sequence style to b (on the second character of a comment-start, and the first character of a comment-end sequence) and/or c (on any of its chars) using this flag: b means CHAR is part of comment sequence b. c means CHAR is part of comment sequence c. n means CHAR is part of a nestable comment sequence. p means CHAR is a prefix character for `backward-prefix-chars'; such characters are treated as whitespace when they occur between expressions. (fn CHAR NEWENTRY &optional SYNTAX-TABLE)Finternal-describe-syntax-value Insert a description of the internal syntax description SYNTAX at point. (fn SYNTAX)Fforward-word Move point forward ARG words (backward if ARG is negative). If ARG is omitted or nil, move point forward one word. Normally returns t. If an edge of the buffer or a field boundary is reached, point is left there and the function returns nil. Field boundaries are not noticed if `inhibit-field-text-motion' is non-nil. The word boundaries are normally determined by the buffer's syntax table and character script (according to `char-script-table'), but `find-word-boundary-function-table', such as set up by `subword-mode', can change that. If a Lisp program needs to move by words determined strictly by the syntax table, it should use `forward-word-strictly' instead. See Info node `(elisp) Word Motion' for details. (fn &optional ARG)Fskip-chars-forward Move point forward, stopping before a char not in STRING, or at pos LIM. STRING is like the inside of a `[...]' in a regular expression except that `]' is never special and `\' quotes `^', `-' or `\' (but not at the end of a range; quoting is never needed there). Thus, with arg "a-zA-Z", this skips letters stopping before first nonletter. With arg "^a-zA-Z", skips nonletters stopping before first letter. Char classes, e.g. `[:alpha:]', are supported. Returns the distance traveled, either zero or positive. (fn STRING &optional LIM)Fskip-chars-backward Move point backward, stopping after a char not in STRING, or at pos LIM. See `skip-chars-forward' for details. Returns the distance traveled, either zero or negative. (fn STRING &optional LIM)Fskip-syntax-forward Move point forward across chars in specified syntax classes. SYNTAX is a string of syntax code characters. Stop before a char whose syntax is not in SYNTAX, or at position LIM. If SYNTAX starts with ^, skip characters whose syntax is NOT in SYNTAX. This function returns the distance traveled, either zero or positive. (fn SYNTAX &optional LIM)Fskip-syntax-backward Move point backward across chars in specified syntax classes. SYNTAX is a string of syntax code characters. Stop on reaching a char whose syntax is not in SYNTAX, or at position LIM. If SYNTAX starts with ^, skip characters whose syntax is NOT in SYNTAX. This function returns either zero or a negative number, and the absolute value of this is the distance traveled. (fn SYNTAX &optional LIM)Fforward-comment Move forward across up to COUNT comments. If COUNT is negative, move backward. Stop scanning if we find something other than a comment or whitespace. Set point to where scanning stops. If COUNT comments are found as expected, with nothing except whitespace between them, return t; otherwise return nil. (fn COUNT)Fscan-lists Scan from character number FROM by COUNT lists. Scan forward if COUNT is positive, backward if COUNT is negative. Return the character number of the position thus found. A "list", in this context, refers to a balanced parenthetical grouping, as determined by the syntax table. If DEPTH is nonzero, treat that as the nesting depth of the starting point (i.e. the starting point is DEPTH parentheses deep). This function scans over parentheses until the depth goes to zero COUNT times. Hence, positive DEPTH moves out that number of levels of parentheses, while negative DEPTH moves to a deeper level. Comments are ignored if `parse-sexp-ignore-comments' is non-nil. If we reach the beginning or end of the accessible part of the buffer before we have scanned over COUNT lists, return nil if the depth at that point is zero, and signal an error if the depth is nonzero. (fn FROM COUNT DEPTH)Fscan-sexps Scan from character number FROM by COUNT balanced expressions. If COUNT is negative, scan backwards. Returns the character number of the position thus found. Comments are ignored if `parse-sexp-ignore-comments' is non-nil. If the beginning or end of (the accessible part of) the buffer is reached in the middle of a parenthetical grouping, an error is signaled. If the beginning or end is reached between groupings but before count is used up, nil is returned. (fn FROM COUNT)Fbackward-prefix-chars Move point backward over any number of chars with prefix syntax. This includes chars with expression prefix syntax class (\=') and those with the prefix syntax flag (p). (fn)Fparse-partial-sexp Parse Lisp syntax starting at FROM until TO; return status of parse at TO. Parsing stops at TO or when certain criteria are met; point is set to where parsing stops. If fifth arg OLDSTATE is omitted or nil, parsing assumes that FROM is the beginning of a function. Value is a list of elements describing final state of parsing: 0. depth in parens. 1. character address of start of innermost containing list; nil if none. 2. character address of start of last complete sexp terminated. 3. non-nil if inside a string. (it is the character that will terminate the string, or t if the string should be terminated by a generic string delimiter.) 4. nil if outside a comment, t if inside a non-nestable comment, else an integer (the current comment nesting). 5. t if following a quote character. 6. the minimum paren-depth encountered during this scan. 7. style of comment, if any. 8. character address of start of comment or string; nil if not in one. 9. List of positions of currently open parens, outermost first. 10. When the last position scanned holds the first character of a (potential) two character construct, the syntax of that position, otherwise nil. That construct can be a two character comment delimiter or an Escaped or Char-quoted character. 11..... Possible further internal information used by `parse-partial-sexp'. If third arg TARGETDEPTH is non-nil, parsing stops if the depth in parentheses becomes equal to TARGETDEPTH. Fourth arg STOPBEFORE non-nil means stop when we come to any character that starts a sexp. Fifth arg OLDSTATE is a list like what this function returns. It is used to initialize the state of the parse. Elements number 1, 2, 6 are ignored. Sixth arg COMMENTSTOP non-nil means stop after the start of a comment. If it is the symbol `syntax-table', stop after the start of a comment or a string, or after end of a comment or a string. (fn FROM TO &optional TARGETDEPTH STOPBEFORE OLDSTATE COMMENTSTOP)Vcomment-use-syntax-ppss Non-nil means `forward-comment' can use `syntax-ppss' internally.Vparse-sexp-ignore-comments Non-nil means `forward-sexp', etc., should treat comments as whitespace.Vparse-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.Vsyntax-propertize--done Position up to which syntax-table properties have been set.Vwords-include-escapes Non-nil means `forward-word', etc., should treat escape chars part of words.Vmultibyte-syntax-as-symbol Non-nil means `scan-sexps' treats all multibyte characters as symbol.Vopen-paren-in-column-0-is-defun-start Non-nil means an open paren in column 0 denotes the start of a defun.Vfind-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 should be 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 should be a position at the first character of that word. In both cases, LIMIT bounds the search.Vcomment-end-can-be-escaped Non-nil means an escaped ender inside a comment doesn't end the comment.Sbytecode.o Fbyte-code Function used internally in byte-compiled code. The first argument, BYTESTR, is a string of byte code; the second, VECTOR, a vector of constants; the third, MAXDEPTH, the maximum stack depth used in this function. If the third argument is incorrect, Emacs may crash. (fn BYTESTR VECTOR MAXDEPTH)Vbyte-code-meter A vector of vectors which holds a histogram of byte-code usage. (aref (aref byte-code-meter 0) CODE) indicates how many times the byte opcode CODE has been executed. (aref (aref byte-code-meter CODE1) CODE2), where CODE1 is not 0, indicates how many times the byte opcodes CODE1 and CODE2 have been executed in succession.Vbyte-metering-on If non-nil, keep profiling information on byte code usage. The variable byte-code-meter indicates how often each byte opcode is used. If a symbol has a property named `byte-code-meter' whose value is an integer, it is incremented each time that symbol's function is called.Sprocess.o Fprocessp Return t if OBJECT is a process. (fn OBJECT)Fget-process Return the process named NAME, or nil if there is none. (fn NAME)Fdelete-process Delete PROCESS: kill it and forget about it immediately. PROCESS may be a process, a buffer, the name of a process or buffer, or nil, indicating the current buffer's process. (fn PROCESS)Fprocess-status Return the status of PROCESS. The returned value is one of the following symbols: run -- for a process that is running. stop -- for a process stopped but continuable. exit -- for a process that has exited. signal -- for a process that has got a fatal signal. open -- for a network stream connection that is open. listen -- for a network stream server that is listening. closed -- for a network stream connection that is closed. connect -- when waiting for a non-blocking connection to complete. failed -- when a non-blocking connection has failed. nil -- if arg is a process name and no such process exists. PROCESS may be a process, a buffer, the name of a process, or nil, indicating the current buffer's process. (fn PROCESS)Fprocess-exit-status Return the exit status of PROCESS or the signal number that killed it. If PROCESS has not yet exited or died, return 0. (fn PROCESS)Fprocess-id Return the process id of PROCESS. This is the pid of the external process which PROCESS uses or talks to. It is a fixnum if the value is small enough, otherwise a bignum. For a network, serial, and pipe connections, this value is nil. (fn PROCESS)Fprocess-name Return the name of PROCESS, as a string. This is the name of the program invoked in PROCESS, possibly modified to make it unique among process names. (fn PROCESS)Fprocess-command Return the command that was executed to start PROCESS. This is a list of strings, the first string being the program executed and the rest of the strings being the arguments given to it. For a network or serial or pipe connection, this is nil (process is running) or t (process is stopped). (fn PROCESS)Fprocess-tty-name Return the name of the terminal PROCESS uses, or nil if none. This is the terminal that the process itself reads and writes on, not the name of the pty that Emacs uses to talk with that terminal. (fn PROCESS)Fset-process-buffer Set buffer associated with PROCESS to BUFFER (a buffer, or nil). Return BUFFER. (fn PROCESS BUFFER)Fprocess-buffer Return the buffer PROCESS is associated with. The default process filter inserts output from PROCESS into this buffer. (fn PROCESS)Fprocess-mark Return the marker for the end of the last output from PROCESS. (fn PROCESS)Fset-process-filter Give PROCESS the filter function FILTER; nil means default. A value of t means stop accepting output from the process. When a process has a non-default filter, its buffer is not used for output. Instead, each time it does output, the entire string of output is passed to the filter. The filter gets two arguments: the process and the string of output. The string argument is normally a multibyte string, except: - if the process's input coding system is no-conversion or raw-text, it is a unibyte string (the non-converted input). (fn PROCESS FILTER)Fprocess-filter Return the filter function of PROCESS. See `set-process-filter' for more info on filter functions. (fn PROCESS)Fset-process-sentinel Give PROCESS the sentinel SENTINEL; nil for default. The sentinel is called as a function when the process changes state. It gets two arguments: the process, and a string describing the change. (fn PROCESS SENTINEL)Fprocess-sentinel Return the sentinel of PROCESS. See `set-process-sentinel' for more info on sentinels. (fn PROCESS)Fset-process-thread Set the locking thread of PROCESS to be THREAD. If THREAD is nil, the process is unlocked. (fn PROCESS THREAD)Fprocess-thread Return the locking thread of PROCESS. If PROCESS is unlocked, this function returns nil. (fn PROCESS)Fset-process-window-size Tell PROCESS that it has logical window size WIDTH by HEIGHT. Value is t if PROCESS was successfully told about the window size, nil otherwise. (fn PROCESS HEIGHT WIDTH)Fset-process-inherit-coding-system-flag Determine whether buffer of PROCESS will inherit coding-system. If the second argument FLAG is non-nil, then the variable `buffer-file-coding-system' of the buffer associated with PROCESS will be bound to the value of the coding system used to decode the process output. This is useful when the coding system specified for the process buffer leaves either the character code conversion or the end-of-line conversion unspecified, or if the coding system used to decode the process output is more appropriate for saving the process buffer. Binding the variable `inherit-process-coding-system' to non-nil before starting the process is an alternative way of setting the inherit flag for the process which will run. This function returns FLAG. (fn PROCESS FLAG)Fset-process-query-on-exit-flag Specify if query is needed for PROCESS when Emacs is exited. If the second argument FLAG is non-nil, Emacs will query the user before exiting or killing a buffer if PROCESS is running. This function returns FLAG. (fn PROCESS FLAG)Fprocess-query-on-exit-flag Return the current value of query-on-exit flag for PROCESS. (fn PROCESS)Fprocess-contact Return the contact info of PROCESS; t for a real child. For a network or serial or pipe connection, the value depends on the optional KEY arg. If KEY is nil, value is a cons cell of the form (HOST SERVICE) for a network connection or (PORT SPEED) for a serial connection; it is t for a pipe connection. If KEY is t, the complete contact information for the connection is returned, else the specific value for the keyword KEY is returned. See `make-network-process', `make-serial-process', or `make-pipe-process' for the list of keywords. If PROCESS is a non-blocking network process that hasn't been fully set up yet, this function will block until socket setup has completed. If the optional NO-BLOCK parameter is specified, return nil instead of waiting for the process to be fully set up. (fn PROCESS &optional KEY NO-BLOCK)Fprocess-plist Return the plist of PROCESS. (fn PROCESS)Fset-process-plist Replace the plist of PROCESS with PLIST. Return PLIST. (fn PROCESS PLIST)Fprocess-connection Return the connection type of PROCESS. The value is nil for a pipe, t or `pty' for a pty, or `stream' for a socket connection. (fn PROCESS)Fprocess-type Return the connection type of PROCESS. The value is either the symbol `real', `network', `serial', or `pipe'. PROCESS may be a process, a buffer, the name of a process or buffer, or nil, indicating the current buffer's process. (fn PROCESS)Fformat-network-address Convert network ADDRESS from internal format to a string. A 4 or 5 element vector represents an IPv4 address (with port number). An 8 or 9 element vector represents an IPv6 address (with port number). If optional second argument OMIT-PORT is non-nil, don't include a port number in the string, even when present in ADDRESS. Return nil if format of ADDRESS is invalid. (fn ADDRESS &optional OMIT-PORT)Fprocess-list Return a list of all processes that are Emacs sub-processes. (fn)Fmake-process Start a program in a subprocess. Return the process object for it. This is similar to `start-process', but arguments are specified as keyword/argument pairs. The following arguments are defined: :name NAME -- NAME is name for process. It is modified if necessary to make it unique. :buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate with the process. Process output goes at end of that buffer, unless you specify a filter function to handle the output. BUFFER may be also nil, meaning that this process is not associated with any buffer. :command COMMAND -- COMMAND is a list starting with the program file name, followed by strings to give to the program as arguments. :coding CODING -- If CODING is a symbol, it specifies the coding system used for both reading and writing for this process. If CODING is a cons (DECODING . ENCODING), DECODING is used for reading, and ENCODING is used for writing. :noquery BOOL -- When exiting Emacs, query the user if BOOL is nil and the process is running. If BOOL is not given, query before exiting. :stop BOOL -- BOOL must be nil. The `:stop' key is ignored otherwise and is retained for compatibility with other process types such as pipe processes. Asynchronous subprocesses never start in the `stopped' state. Use `stop-process' and `continue-process' to send signals to stop and continue a process. :connection-type TYPE -- TYPE is control type of device used to communicate with subprocesses. Values are `pipe' to use a pipe, `pty' to use a pty, or nil to use the default specified through `process-connection-type'. :filter FILTER -- Install FILTER as the process filter. :sentinel SENTINEL -- Install SENTINEL as the process sentinel. :stderr STDERR -- STDERR is either a buffer or a pipe process attached to the standard error of subprocess. Specifying this implies `:connection-type' is set to `pipe'. If STDERR is nil, standard error is mixed with standard output and sent to BUFFER or FILTER. :file-handler FILE-HANDLER -- If FILE-HANDLER is non-nil, then look for a file name handler for the current buffer's `default-directory' and invoke that file name handler to make the process. If there is no such handler, proceed as if FILE-HANDLER were nil. (fn &rest ARGS)Fmake-pipe-process Create and return a bidirectional pipe process. In Emacs, pipes are represented by process objects, so input and output work as for subprocesses, and `delete-process' closes a pipe. However, a pipe process has no process id, it cannot be signaled, and the status codes are different from normal processes. Arguments are specified as keyword/argument pairs. The following arguments are defined: :name NAME -- NAME is the name of the process. It is modified if necessary to make it unique. :buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate with the process. Process output goes at the end of that buffer, unless you specify a filter function to handle the output. If BUFFER is not given, the value of NAME is used. :coding CODING -- If CODING is a symbol, it specifies the coding system used for both reading and writing for this process. If CODING is a cons (DECODING . ENCODING), DECODING is used for reading, and ENCODING is used for writing. :noquery BOOL -- When exiting Emacs, query the user if BOOL is nil and the process is running. If BOOL is not given, query before exiting. :stop BOOL -- Start process in the `stopped' state if BOOL non-nil. In the stopped state, a pipe process does not accept incoming data, but you can send outgoing data. The stopped state is cleared by `continue-process' and set by `stop-process'. :filter FILTER -- Install FILTER as the process filter. :sentinel SENTINEL -- Install SENTINEL as the process sentinel. (fn &rest ARGS)Fprocess-datagram-address Get the current datagram address associated with PROCESS. If PROCESS is a non-blocking network process that hasn't been fully set up yet, this function will block until socket setup has completed. (fn PROCESS)Fset-process-datagram-address Set the datagram address for PROCESS to ADDRESS. Return nil upon error setting address, ADDRESS otherwise. If PROCESS is a non-blocking network process that hasn't been fully set up yet, this function will block until socket setup has completed. (fn PROCESS ADDRESS)Fset-network-process-option For network process PROCESS set option OPTION to value VALUE. See `make-network-process' for a list of options and values. If optional fourth arg NO-ERROR is non-nil, don't signal an error if OPTION is not a supported option, return nil instead; otherwise return t. If PROCESS is a non-blocking network process that hasn't been fully set up yet, this function will block until socket setup has completed. (fn PROCESS OPTION VALUE &optional NO-ERROR)Fserial-process-configure Configure speed, bytesize, etc. of a serial process. Arguments are specified as keyword/argument pairs. Attributes that are not given are re-initialized from the process's current configuration (available via the function `process-contact') or set to reasonable default values. The following arguments are defined: :process PROCESS :name NAME :buffer BUFFER :port PORT -- Any of these arguments can be given to identify the process that is to be configured. If none of these arguments is given, the current buffer's process is used. :speed SPEED -- SPEED is the speed of the serial port in bits per second, also called baud rate. Any value can be given for SPEED, but most serial ports work only at a few defined values between 1200 and 115200, with 9600 being the most common value. If SPEED is nil, the serial port is not configured any further, i.e., all other arguments are ignored. This may be useful for special serial ports such as Bluetooth-to-serial converters which can only be configured through AT commands. A value of nil for SPEED can be used only when passed through `make-serial-process' or `serial-term'. :bytesize BYTESIZE -- BYTESIZE is the number of bits per byte, which can be 7 or 8. If BYTESIZE is not given or nil, a value of 8 is used. :parity PARITY -- PARITY can be nil (don't use parity), the symbol `odd' (use odd parity), or the symbol `even' (use even parity). If PARITY is not given, no parity is used. :stopbits STOPBITS -- STOPBITS is the number of stopbits used to terminate a byte transmission. STOPBITS can be 1 or 2. If STOPBITS is not given or nil, 1 stopbit is used. :flowcontrol FLOWCONTROL -- FLOWCONTROL determines the type of flowcontrol to be used, which is either nil (don't use flowcontrol), the symbol `hw' (use RTS/CTS hardware flowcontrol), or the symbol `sw' (use XON/XOFF software flowcontrol). If FLOWCONTROL is not given, no flowcontrol is used. `serial-process-configure' is called by `make-serial-process' for the initial configuration of the serial port. Examples: (serial-process-configure :process "/dev/ttyS0" :speed 1200) (serial-process-configure :buffer "COM1" :stopbits 1 :parity \='odd :flowcontrol \='hw) (serial-process-configure :port "\\.\COM13" :bytesize 7) (fn &rest ARGS)Fmake-serial-process Create and return a serial port process. In Emacs, serial port connections are represented by process objects, so input and output work as for subprocesses, and `delete-process' closes a serial port connection. However, a serial process has no process id, it cannot be signaled, and the status codes are different from normal processes. `make-serial-process' creates a process and a buffer, on which you probably want to use `process-send-string'. Try \[serial-term] for an interactive terminal. See below for examples. Arguments are specified as keyword/argument pairs. The following arguments are defined: :port PORT -- (mandatory) PORT is the path or name of the serial port. For example, this could be "/dev/ttyS0" on Unix. On Windows, this could be "COM1", or "\\.\COM10" for ports higher than COM9 (double the backslashes in strings). :speed SPEED -- (mandatory) is handled by `serial-process-configure', which this function calls. :name NAME -- NAME is the name of the process. If NAME is not given, the value of PORT is used. :buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate with the process. Process output goes at the end of that buffer, unless you specify a filter function to handle the output. If BUFFER is not given, the value of NAME is used. :coding CODING -- If CODING is a symbol, it specifies the coding system used for both reading and writing for this process. If CODING is a cons (DECODING . ENCODING), DECODING is used for reading, and ENCODING is used for writing. :noquery BOOL -- When exiting Emacs, query the user if BOOL is nil and the process is running. If BOOL is not given, query before exiting. :stop BOOL -- Start process in the `stopped' state if BOOL is non-nil. In the stopped state, a serial process does not accept incoming data, but you can send outgoing data. The stopped state is cleared by `continue-process' and set by `stop-process'. :filter FILTER -- Install FILTER as the process filter. :sentinel SENTINEL -- Install SENTINEL as the process sentinel. :plist PLIST -- Install PLIST as the initial plist of the process. :bytesize :parity :stopbits :flowcontrol -- This function calls `serial-process-configure' to handle these arguments. The original argument list, possibly modified by later configuration, is available via the function `process-contact'. Examples: (make-serial-process :port "/dev/ttyS0" :speed 9600) (make-serial-process :port "COM1" :speed 115200 :stopbits 2) (make-serial-process :port "\\.\COM13" :speed 1200 :bytesize 7 :parity \='odd) (make-serial-process :port "/dev/tty.BlueConsole-SPP-1" :speed nil) (fn &rest ARGS)Fmake-network-process Create and return a network server or client process. In Emacs, network connections are represented by process objects, so input and output work as for subprocesses and `delete-process' closes a network connection. However, a network process has no process id, it cannot be signaled, and the status codes are different from normal processes. Arguments are specified as keyword/argument pairs. The following arguments are defined: :name NAME -- NAME is name for process. It is modified if necessary to make it unique. :buffer BUFFER -- BUFFER is the buffer (or buffer-name) to associate with the process. Process output goes at end of that buffer, unless you specify a filter function to handle the output. BUFFER may be also nil, meaning that this process is not associated with any buffer. :host HOST -- HOST is name of the host to connect to, or its IP address. The symbol `local' specifies the local host. If specified for a server process, it must be a valid name or address for the local host, and only clients connecting to that address will be accepted. If all interfaces should be bound, an address of "0.0.0.0" (for IPv4) or "::" (for IPv6) can be used. (On some operating systems, using "::" listens on both IPv4 and IPv6.) `local' will use IPv4 by default, use a FAMILY of `ipv6' to override this. :service SERVICE -- SERVICE is name of the service desired, or an integer specifying a port number to connect to. If SERVICE is t, a random port number is selected for the server. A port number can be specified as an integer string, e.g., "80", as well as an integer. :type TYPE -- TYPE is the type of connection. The default (nil) is a stream type connection, `datagram' creates a datagram type connection, `seqpacket' creates a reliable datagram connection. :family FAMILY -- FAMILY is the address (and protocol) family for the service specified by HOST and SERVICE. The default (nil) is to use whatever address family (IPv4 or IPv6) that is defined for the host and port number specified by HOST and SERVICE. Other address families supported are: local -- for a local (i.e. UNIX) address specified by SERVICE. ipv4 -- use IPv4 address family only. ipv6 -- use IPv6 address family only. :local ADDRESS -- ADDRESS is the local address used for the connection. This parameter is ignored when opening a client process. When specified for a server process, the FAMILY, HOST and SERVICE args are ignored. :remote ADDRESS -- ADDRESS is the remote partner's address for the connection. This parameter is ignored when opening a stream server process. For a datagram server process, it specifies the initial setting of the remote datagram address. When specified for a client process, the FAMILY, HOST, and SERVICE args are ignored. The format of ADDRESS depends on the address family: - An IPv4 address is represented as a vector of integers [A B C D P] corresponding to numeric IP address A.B.C.D and port number P. - An IPv6 address has the same format as an IPv4 address but with 9 elements rather than 5. - A local address is represented as a string with the address in the local address space. - An "unsupported family" address is represented by a cons (F . AV) where F is the family number and AV is a vector containing the socket address data with one element per address data byte. Do not rely on this format in portable code, as it may depend on implementation defined constants, data sizes, and data structure alignment. :coding CODING -- If CODING is a symbol, it specifies the coding system used for both reading and writing for this process. If CODING is a cons (DECODING . ENCODING), DECODING is used for reading, and ENCODING is used for writing. :nowait BOOL -- If NOWAIT is non-nil for a stream type client process, return without waiting for the connection to complete; instead, the sentinel function will be called with second arg matching "open" (if successful) or "failed" when the connect completes. Default is to use a blocking connect (i.e. wait) for stream type connections. :noquery BOOL -- Query the user unless BOOL is non-nil, and process is running when Emacs is exited. :stop BOOL -- Start process in the `stopped' state if BOOL non-nil. In the stopped state, a server process does not accept new connections, and a client process does not handle incoming traffic. The stopped state is cleared by `continue-process' and set by `stop-process'. :filter FILTER -- Install FILTER as the process filter. :filter-multibyte BOOL -- If BOOL is non-nil, strings given to the process filter are multibyte, otherwise they are unibyte. If this keyword is not specified, the strings are multibyte. :sentinel SENTINEL -- Install SENTINEL as the process sentinel. :log LOG -- Install LOG as the server process log function. This function is called when the server accepts a network connection from a client. The arguments are SERVER, CLIENT, and MESSAGE, where SERVER is the server process, CLIENT is the new process for the connection, and MESSAGE is a string. :plist PLIST -- Install PLIST as the new process's initial plist. :tls-parameters LIST -- is a list that should be supplied if you're opening a TLS connection. The first element is the TLS type (either `gnutls-x509pki' or `gnutls-anon'), and the remaining elements should be a keyword list accepted by gnutls-boot (as returned by `gnutls-boot-parameters'). :server QLEN -- if QLEN is non-nil, create a server process for the specified FAMILY, SERVICE, and connection type (stream or datagram). If QLEN is an integer, it is used as the max. length of the server's pending connection queue (also known as the backlog); the default queue length is 5. Default is to create a client process. The following network options can be specified for this connection: :broadcast BOOL -- Allow send and receive of datagram broadcasts. :dontroute BOOL -- Only send to directly connected hosts. :keepalive BOOL -- Send keep-alive messages on network stream. :linger BOOL or TIMEOUT -- Send queued messages before closing. :oobinline BOOL -- Place out-of-band data in receive data stream. :priority INT -- Set protocol defined priority for sent packets. :reuseaddr BOOL -- Allow reusing a recently used local address (this is allowed by default for a server process). :bindtodevice NAME -- bind to interface NAME. Using this may require special privileges on some systems. :use-external-socket BOOL -- Use any pre-allocated sockets that have been passed to Emacs. If Emacs wasn't passed a socket, this option is silently ignored. Consult the relevant system programmer's manual pages for more information on using these options. A server process will listen for and accept connections from clients. When a client connection is accepted, a new network process is created for the connection with the following parameters: - The client's process name is constructed by concatenating the server process's NAME and a client identification string. - If the FILTER argument is non-nil, the client process will not get a separate process buffer; otherwise, the client's process buffer is a newly created buffer named after the server process's BUFFER name or process NAME concatenated with the client identification string. - The connection type and the process filter and sentinel parameters are inherited from the server process's TYPE, FILTER and SENTINEL. - The client process's contact info is set according to the client's addressing information (typically an IP address and a port number). - The client process's plist is initialized from the server's plist. Notice that the FILTER and SENTINEL args are never used directly by the server process. Also, the BUFFER argument is not used directly by the server process, but via the optional :log function, accepted (and failed) connections may be logged in the server process's buffer. The original argument list, modified with the actual connection information, is available via the `process-contact' function. (fn &rest ARGS)Fnetwork-interface-list Return an alist of all network interfaces and their network address. Each element is cons of the form (IFNAME . IP) where IFNAME is a string containing the interface name, and IP is the network address in internal format; see the description of ADDRESS in `make-network-process'. The interface name is not guaranteed to be unique. Optional parameter FULL non-nil means return all IP address info for each interface. Each element is then a list of the form (IFNAME IP BCAST MASK) where IFNAME is the interface name, IP the IP address, BCAST the broadcast address, and MASK the network mask. Optional parameter FAMILY controls the type of addresses to return. The default of nil means both IPv4 and IPv6, symbol `ipv4' means IPv4 only, symbol `ipv6' means IPv6 only. See also `network-interface-info', which is limited to IPv4 only. If the information is not available, return nil. (fn &optional FULL FAMILY)Fnetwork-interface-info Return information about network interface named IFNAME. The return value is a list (ADDR BCAST NETMASK HWADDR FLAGS), where ADDR is the layer 3 address, BCAST is the layer 3 broadcast address, NETMASK is the layer 3 network mask, HWADDR is the layer 2 address, and FLAGS is the current flags of the interface. Data that is unavailable is returned as nil. (fn IFNAME)Fnetwork-lookup-address-info Look up ip address info of NAME. Optional parameter FAMILY controls whether to look up IPv4 or IPv6 addresses. The default of nil means both, symbol `ipv4' means IPv4 only, symbol `ipv6' means IPv6 only. Returns a list of addresses, or nil if none were found. Each address is a vector of integers, as per the description of ADDRESS in `make-network-process'. (fn NAME &optional FAMILY)Faccept-process-output Allow any pending output from subprocesses to be read by Emacs. It is given to their filter functions. Optional argument PROCESS means to return only after output is received from PROCESS or PROCESS closes the connection. Optional second argument SECONDS and third argument MILLISEC specify a timeout; return after that much time even if there is no subprocess output. If SECONDS is a floating point number, it specifies a fractional number of seconds to wait. The MILLISEC argument is obsolete and should be avoided. If optional fourth argument JUST-THIS-ONE is non-nil, accept output from PROCESS only, suspending reading output from other processes. If JUST-THIS-ONE is an integer, don't run any timers either. Return non-nil if we received any output from PROCESS (or, if PROCESS is nil, from any process) before the timeout expired or the corresponding connection was closed. (fn &optional PROCESS SECONDS MILLISEC JUST-THIS-ONE)Finternal-default-process-filter Function used as default process filter. This inserts the process's output into its buffer, if there is one. Otherwise it discards the output. (fn PROC TEXT)Fprocess-send-region Send current contents of region as input to PROCESS. PROCESS may be a process, a buffer, the name of a process or buffer, or nil, indicating the current buffer's process. Called from program, takes three arguments, PROCESS, START and END. If the region is larger than the input buffer of the process (the length of which depends on the process connection type and the operating system), it is sent in several bunches. This may happen even for shorter regions. Output from processes can arrive in between bunches. If PROCESS is a non-blocking network process that hasn't been fully set up yet, this function will block until socket setup has completed. (fn PROCESS START END)Fprocess-send-string Send PROCESS the contents of STRING as input. PROCESS may be a process, a buffer, the name of a process or buffer, or nil, indicating the current buffer's process. If STRING is larger than the input buffer of the process (the length of which depends on the process connection type and the operating system), it is sent in several bunches. This may happen even for shorter strings. Output from processes can arrive in between bunches. If PROCESS is a non-blocking network process that hasn't been fully set up yet, this function will block until socket setup has completed. (fn PROCESS STRING)Fprocess-running-child-p Return non-nil if PROCESS has given the terminal to a child. If the operating system does not make it possible to find out, return t. If we can find out, return the numeric ID of the foreground process group. (fn &optional PROCESS)Finternal-default-interrupt-process Default function to interrupt process PROCESS. It shall be the last element in list `interrupt-process-functions'. See function `interrupt-process' for more details on usage. (fn &optional PROCESS CURRENT-GROUP)Finterrupt-process Interrupt process PROCESS. PROCESS may be a process, a buffer, or the name of a process or buffer. No arg or nil means current buffer's process. Second arg CURRENT-GROUP non-nil means send signal to the current process-group of the process's controlling terminal rather than to the process's own process group. If the process is a shell, this means interrupt current subjob rather than the shell. If CURRENT-GROUP is `lambda', and if the shell owns the terminal, don't send the signal. This function calls the functions of `interrupt-process-functions' in the order of the list, until one of them returns non-`nil'. (fn &optional PROCESS CURRENT-GROUP)Fkill-process Kill process PROCESS. May be process or name of one. See function `interrupt-process' for more details on usage. (fn &optional PROCESS CURRENT-GROUP)Fquit-process Send QUIT signal to process PROCESS. May be process or name of one. See function `interrupt-process' for more details on usage. (fn &optional PROCESS CURRENT-GROUP)Fstop-process Stop process PROCESS. May be process or name of one. See function `interrupt-process' for more details on usage. If PROCESS is a network or serial or pipe connection, inhibit handling of incoming traffic. (fn &optional PROCESS CURRENT-GROUP)Fcontinue-process Continue process PROCESS. May be process or name of one. See function `interrupt-process' for more details on usage. If PROCESS is a network or serial process, resume handling of incoming traffic. (fn &optional PROCESS CURRENT-GROUP)Fsignal-process Send PROCESS the signal with code SIGCODE. PROCESS may also be a number specifying the process id of the process to signal; in this case, the process need not be a child of this Emacs. SIGCODE may be an integer, or a symbol whose name is a signal name. (fn PROCESS SIGCODE)Fprocess-send-eof Make PROCESS see end-of-file in its input. EOF comes after any text already sent to it. PROCESS may be a process, a buffer, the name of a process or buffer, or nil, indicating the current buffer's process. If PROCESS is a network connection, or is a process communicating through a pipe (as opposed to a pty), then you cannot send any more text to PROCESS after you call this function. If PROCESS is a serial process, wait until all output written to the process has been transmitted to the serial port. (fn &optional PROCESS)Finternal-default-process-sentinel Function used as default sentinel for processes. This inserts a status message into the process's buffer, if there is one. (fn PROC MSG)Fset-process-coding-system Set coding systems of PROCESS to DECODING and ENCODING. DECODING will be used to decode subprocess output and ENCODING to encode subprocess input. (fn PROCESS &optional DECODING ENCODING)Fprocess-coding-system Return a cons of coding systems for decoding and encoding of PROCESS. (fn PROCESS)Fset-process-filter-multibyte Set multibyteness of the strings given to PROCESS's filter. If FLAG is non-nil, the filter is given multibyte strings. If FLAG is nil, the filter is given unibyte strings. In this case, all character code conversion except for end-of-line conversion is suppressed. (fn PROCESS FLAG)Fprocess-filter-multibyte-p Return t if a multibyte string is given to PROCESS's filter. (fn PROCESS)Fget-buffer-process Return the (or a) live process associated with BUFFER. BUFFER may be a buffer or the name of one. Return nil if all processes associated with BUFFER have been deleted or killed. (fn BUFFER)Fprocess-inherit-coding-system-flag Return the value of inherit-coding-system flag for PROCESS. If this flag is t, `buffer-file-coding-system' of the buffer associated with PROCESS will inherit the coding system used to decode the process output. (fn PROCESS)Fwaiting-for-user-input-p Return non-nil if Emacs is waiting for input from the user. This is intended for use by asynchronous process output filters and sentinels. (fn)Flist-system-processes Return a list of numerical process IDs of all running processes. If this functionality is unsupported, return nil. See `process-attributes' for getting attributes of a process given its ID. (fn)Fprocess-attributes Return attributes of the process given by its PID, a number. Value is an alist where each element is a cons cell of the form (KEY . VALUE) If this functionality is unsupported, the value is nil. See `list-system-processes' for getting a list of all process IDs. The KEYs of the attributes that this function may return are listed below, together with the type of the associated VALUE (in parentheses). Not all platforms support all of these attributes; unsupported attributes will not appear in the returned alist. Unless explicitly indicated otherwise, numbers can have either integer or floating point values. euid -- Effective user User ID of the process (number) user -- User name corresponding to euid (string) egid -- Effective user Group ID of the process (number) group -- Group name corresponding to egid (string) comm -- Command name (executable name only) (string) state -- Process state code, such as "S", "R", or "T" (string) ppid -- Parent process ID (number) pgrp -- Process group ID (number) sess -- Session ID, i.e. process ID of session leader (number) ttname -- Controlling tty name (string) tpgid -- ID of foreground process group on the process's tty (number) minflt -- number of minor page faults (number) majflt -- number of major page faults (number) cminflt -- cumulative number of minor page faults (number) cmajflt -- cumulative number of major page faults (number) utime -- user time used by the process, in `current-time' format stime -- system time used by the process (current-time) time -- sum of utime and stime (current-time) cutime -- user time used by the process and its children (current-time) cstime -- system time used by the process and its children (current-time) ctime -- sum of cutime and cstime (current-time) pri -- priority of the process (number) nice -- nice value of the process (number) thcount -- process thread count (number) start -- time the process started (current-time) vsize -- virtual memory size of the process in KB's (number) rss -- resident set size of the process in KB's (number) etime -- elapsed time the process is running (current-time) pcpu -- percents of CPU time used by the process (floating-point number) pmem -- percents of total physical memory used by process's resident set (floating-point number) args -- command line which invoked the process (string). (fn PID)Vdelete-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.Vprocess-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.Vprocess-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.Vinterrupt-process-functions List of functions to be called for `interrupt-process'. The arguments of the functions are the same as for `interrupt-process'. These functions are called in the order of the list, until one of them returns non-`nil'.Vinternal--daemon-sockname Name of external socket passed to Emacs, or nil if none.Vread-process-output-max Maximum number of bytes to read from subprocess in a single chunk. Enlarge the value only if the subprocess generates very large (megabytes) amounts of data in one go.Sgnutls.o Fgnutls-asynchronous-parameters Mark this process as being a pre-init GnuTLS process. The second parameter is the list of parameters to feed to gnutls-boot to finish setting up the connection. (fn PROC PARAMS)Fgnutls-get-initstage Return the GnuTLS init stage of process PROC. See also `gnutls-boot'. (fn PROC)Fgnutls-errorp Return t if ERROR indicates a GnuTLS problem. ERROR is an integer or a symbol with an integer `gnutls-code' property. (fn ERROR)Fgnutls-error-fatalp Return non-nil if ERROR is fatal. ERROR is an integer or a symbol with an integer `gnutls-code' property. Usage: (gnutls-error-fatalp ERROR) (fn ERR)Fgnutls-error-string Return a description of ERROR. ERROR is an integer or a symbol with an integer `gnutls-code' property. (fn ERROR)Fgnutls-deinit Deallocate GnuTLS resources associated with process PROC. See also `gnutls-init'. (fn PROC)Fgnutls-peer-status-warning-describe Describe the warning of a GnuTLS peer status from `gnutls-peer-status'. (fn STATUS-SYMBOL)Fgnutls-peer-status Describe a GnuTLS PROC peer certificate and any warnings about it. The return value is a property list with top-level keys :warnings and :certificates. The :warnings entry is a list of symbols you can get a description of with `gnutls-peer-status-warning-describe', and :certificates is the certificate chain for the connection, with the host certificate first, and intermediary certificates (if any) following it. In addition, for backwards compatibility, the host certificate is also returned as the :certificate entry. (fn PROC)Fgnutls-format-certificate Format a X.509 certificate to a string. Given a PEM-encoded X.509 certificate CERT, returns a human-readable string representation. (fn CERT)Fgnutls-boot Initialize GnuTLS client for process PROC with TYPE+PROPLIST. Currently only client mode is supported. Return a success/failure value you can check with `gnutls-errorp'. TYPE is a symbol, either `gnutls-anon' or `gnutls-x509pki'. PROPLIST is a property list with the following keys: :hostname is a string naming the remote host. :priority is a GnuTLS priority string, defaults to "NORMAL". :trustfiles is a list of PEM-encoded trust files for `gnutls-x509pki'. :crlfiles is a list of PEM-encoded CRL lists for `gnutls-x509pki'. :keylist is an alist of PEM-encoded key files and PEM-encoded certificates for `gnutls-x509pki'. :callbacks is an alist of callback functions, see below. :loglevel is the debug level requested from GnuTLS, try 4. :verify-flags is a bitset as per GnuTLS' gnutls_certificate_set_verify_flags. :verify-hostname-error is ignored. Pass :hostname in :verify-error instead. :verify-error is a list of symbols to express verification checks or t to do all checks. Currently it can contain `:trustfiles' and `:hostname' to verify the certificate or the hostname respectively. :min-prime-bits is the minimum accepted number of bits the client will accept in Diffie-Hellman key exchange. :complete-negotiation, if non-nil, will make negotiation complete before returning even on non-blocking sockets. The debug level will be set for this process AND globally for GnuTLS. So if you set it higher or lower at any point, it affects global debugging. Note that the priority is set on the client. The server does not use the protocols's priority except for disabling protocols that were not specified. Processes must be initialized with this function before other GnuTLS functions are used. This function allocates resources which can only be deallocated by calling `gnutls-deinit' or by calling it again. The callbacks alist can have a `verify' key, associated with a verification function (UNUSED). Each authentication type may need additional information in order to work. For X.509 PKI (`gnutls-x509pki'), you probably need at least one trustfile (usually a CA bundle). (fn PROC TYPE PROPLIST)Fgnutls-bye Terminate current GnuTLS connection for process PROC. The connection should have been initiated using `gnutls-handshake'. If CONT is not nil the TLS connection gets terminated and further receives and sends will be disallowed. If the return value is zero you may continue using the connection. If CONT is nil, GnuTLS actually sends an alert containing a close request and waits for the peer to reply with the same message. In order to reuse the connection you should wait for an EOF from the peer. This function may also return `gnutls-e-again', or `gnutls-e-interrupted'. (fn PROC CONT)Fgnutls-ciphers Return alist of GnuTLS symmetric cipher descriptions as plists. The alist key is the cipher name. (fn)Fgnutls-symmetric-encrypt Encrypt INPUT with symmetric CIPHER, KEY+AEAD_AUTH, and IV to a unibyte string. Return nil on error. The KEY can be specified as a buffer or string or in other ways (see Info node `(elisp)Format of GnuTLS Cryptography Inputs'). The KEY will be wiped after use if it's a string. The IV and INPUT and the optional AEAD_AUTH can also be specified as a buffer or string or in other ways. The alist of symmetric ciphers can be obtained with `gnutls-ciphers'. The CIPHER may be a string or symbol matching a key in that alist, or a plist with the :cipher-id numeric property, or the number itself. AEAD ciphers: these ciphers will have a `gnutls-ciphers' entry with :cipher-aead-capable set to t. AEAD_AUTH can be supplied for these AEAD ciphers, but it may still be omitted (nil) as well. (fn CIPHER KEY IV INPUT &optional AEAD-AUTH)Fgnutls-symmetric-decrypt Decrypt INPUT with symmetric CIPHER, KEY+AEAD_AUTH, and IV to a unibyte string. Return nil on error. The KEY can be specified as a buffer or string or in other ways (see Info node `(elisp)Format of GnuTLS Cryptography Inputs'). The KEY will be wiped after use if it's a string. The IV and INPUT and the optional AEAD_AUTH can also be specified as a buffer or string or in other ways. The alist of symmetric ciphers can be obtained with `gnutls-ciphers'. The CIPHER may be a string or symbol matching a key in that alist, or a plist with the `:cipher-id' numeric property, or the number itself. AEAD ciphers: these ciphers will have a `gnutls-ciphers' entry with :cipher-aead-capable set to t. AEAD_AUTH can be supplied for these AEAD ciphers, but it may still be omitted (nil) as well. (fn CIPHER KEY IV INPUT &optional AEAD-AUTH)Fgnutls-macs Return alist of GnuTLS mac-algorithm method descriptions as plists. Use the value of the alist (extract it with `alist-get' for instance) with `gnutls-hash-mac'. The alist key is the mac-algorithm method name. (fn)Fgnutls-digests Return alist of GnuTLS digest-algorithm method descriptions as plists. Use the value of the alist (extract it with `alist-get' for instance) with `gnutls-hash-digest'. The alist key is the digest-algorithm method name. (fn)Fgnutls-hash-mac Hash INPUT with HASH-METHOD and KEY into a unibyte string. Return nil on error. The KEY can be specified as a buffer or string or in other ways (see Info node `(elisp)Format of GnuTLS Cryptography Inputs'). The KEY will be wiped after use if it's a string. The INPUT can also be specified as a buffer or string or in other ways. The alist of MAC algorithms can be obtained with `gnutls-macs'. The HASH-METHOD may be a string or symbol matching a key in that alist, or a plist with the `:mac-algorithm-id' numeric property, or the number itself. (fn HASH-METHOD KEY INPUT)Fgnutls-hash-digest Digest INPUT with DIGEST-METHOD into a unibyte string. Return nil on error. The INPUT can be specified as a buffer or string or in other ways (see Info node `(elisp)Format of GnuTLS Cryptography Inputs'). The alist of digest algorithms can be obtained with `gnutls-digests'. The DIGEST-METHOD may be a string or symbol matching a key in that alist, or a plist with the `:digest-algorithm-id' numeric property, or the number itself. (fn DIGEST-METHOD INPUT)Fgnutls-available-p Return list of capabilities if GnuTLS is available in this instance of Emacs. ...if supported : then... GnuTLS 3 or higher : the list will contain `gnutls3'. GnuTLS MACs : the list will contain `macs'. GnuTLS digests : the list will contain `digests'. GnuTLS symmetric ciphers: the list will contain `ciphers'. GnuTLS AEAD ciphers : the list will contain `AEAD-ciphers'. %DUMBFW : the list will contain `ClientHello Padding'. Any GnuTLS extension with ID up to 100 : the list will contain its name. (fn)Vlibgnutls-version The version of libgnutls that Emacs was compiled with. The version number is encoded as an integer with the major version in the ten thousands place, minor version in the hundreds, and patch level in the ones. For builds without libgnutls, the value is -1.Vgnutls-log-level Logging level used by the GnuTLS functions. Set this larger than 0 to get debug output in the *Messages* buffer. 1 is for important messages, 2 is for debug data, and higher numbers are as per the GnuTLS logging conventions.Scallproc.o Fcall-process Call PROGRAM synchronously in separate process. The remaining arguments are optional. The program's input comes from file INFILE (nil means `null-device'). If you want to make the input come from an Emacs buffer, use `call-process-region' instead. Third argument DESTINATION specifies how to handle program's output. If DESTINATION is a buffer, or t that stands for the current buffer, it means insert output in that buffer before point. If DESTINATION is nil, it means discard output; 0 means discard and don't wait for the program to terminate. If DESTINATION is `(:file FILE)', where FILE is a file name string, it means that output should be written to that file (if the file already exists it is overwritten). DESTINATION can also have the form (REAL-BUFFER STDERR-FILE); in that case, REAL-BUFFER says what to do with standard output, as above, while STDERR-FILE says what to do with standard error in the child. STDERR-FILE may be nil (discard standard error output), t (mix it with ordinary output), or a file name string. Fourth arg DISPLAY non-nil means redisplay buffer as output is inserted. Remaining arguments ARGS are strings passed as command arguments to PROGRAM. If executable PROGRAM can't be found as an executable, `call-process' signals a Lisp error. `call-process' reports errors in execution of the program only through its return and output. If DESTINATION is 0, `call-process' returns immediately with value nil. Otherwise it waits for PROGRAM to terminate and returns a numeric exit status or a signal description string. If you quit, the process is killed with SIGINT, or SIGKILL if you quit again. The process runs in `default-directory' if that is local (as determined by `unhandled-file-name-directory'), or "~" otherwise. If you want to run a process in a remote directory use `process-file'. (fn PROGRAM &optional INFILE DESTINATION DISPLAY &rest ARGS)Fcall-process-region Send text from START to END to a synchronous process running PROGRAM. START and END are normally buffer positions specifying the part of the buffer to send to the process. If START is nil, that means to use the entire buffer contents; END is ignored. If START is a string, then send that string to the process instead of any buffer contents; END is ignored. The remaining arguments are optional. Delete the text if fourth arg DELETE is non-nil. Insert output in BUFFER before point; t means current buffer; nil for BUFFER means discard it; 0 means discard and don't wait; and `(:file FILE)', where FILE is a file name string, means that it should be written to that file (if the file already exists it is overwritten). BUFFER can also have the form (REAL-BUFFER STDERR-FILE); in that case, REAL-BUFFER says what to do with standard output, as above, while STDERR-FILE says what to do with standard error in the child. STDERR-FILE may be nil (discard standard error output), t (mix it with ordinary output), or a file name string. Sixth arg DISPLAY non-nil means redisplay buffer as output is inserted. Remaining arguments ARGS are passed to PROGRAM at startup as command-line arguments. If BUFFER is 0, `call-process-region' returns immediately with value nil. Otherwise it waits for PROGRAM to terminate and returns a numeric exit status or a signal description string. If you quit, the process is killed with SIGINT, or SIGKILL if you quit again. (fn START END PROGRAM &optional DELETE BUFFER DISPLAY &rest ARGS)Fgetenv-internal Get the value of environment variable VARIABLE. VARIABLE should be a string. Value is nil if VARIABLE is undefined in the environment. Otherwise, value is a string. This function searches `process-environment' for VARIABLE. If optional parameter ENV is a list, then search this list instead of `process-environment', and return t when encountering a negative entry (an entry for a variable with no value). (fn VARIABLE &optional ENV)Vshell-file-name File name to load inferior shells from. Initialized from the SHELL environment variable, or to a system-dependent default if SHELL is unset. See Info node `(elisp)Security Considerations'.Vexec-path List of directories to search programs to run in subprocesses. Each element is a string (directory name) or nil (try default directory). By default the last element of this list is `exec-directory'. The last element is not always used, for example in shell completion (`shell-dynamic-complete-command').Vexec-suffixes List of suffixes to try to find executable file names. Each element is a string.Vexec-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.Vdata-directory Directory of machine-independent files that come with GNU Emacs. These are files intended for Emacs to use while it runs.Vdoc-directory Directory containing the DOC file that comes with GNU Emacs. This is usually the same as `data-directory'.Vconfigure-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.Vshared-game-score-directory Directory of score files for games which come with GNU Emacs. If this variable is nil, then Emacs is unable to use a shared directory.Vinitial-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.Vprocess-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'.Sregion-cache.o Ssound.o Fplay-sound-internal Play sound SOUND. Internal use only, use `play-sound' instead. (fn SOUND)Stimefns.o Ftime-add Return the sum of two time values A and B, as a time value. See `format-time-string' for the various forms of a time value. For example, nil stands for the current time. (fn A B)Ftime-subtract Return the difference between two time values A and B, as a time value. You can use `float-time' to convert the difference into elapsed seconds. See `format-time-string' for the various forms of a time value. For example, nil stands for the current time. (fn A B)Ftime-less-p Return non-nil if time value A is less than time value B. See `format-time-string' for the various forms of a time value. For example, nil stands for the current time. (fn A B)Ftime-equal-p Return non-nil if A and B are equal time values. See `format-time-string' for the various forms of a time value. (fn A B)Ffloat-time Return the current time, as a float number of seconds since the epoch. If SPECIFIED-TIME is given, it is a time value to convert to float instead of the current time. See `format-time-string' for the various forms of a time value. WARNING: Since the result is floating point, it may not be exact. If precise time stamps are required, use either `encode-time', or (if you need time as a string) `format-time-string'. (fn &optional SPECIFIED-TIME)Fformat-time-string Use FORMAT-STRING to format the time value TIME. A time value that is omitted or nil stands for the current time, a number stands for that many seconds, an integer pair (TICKS . HZ) stands for TICKS/HZ seconds, and an integer list (HI LO US PS) stands for HI*2**16 + LO + US/10**6 + PS/10**12 seconds. This function treats seconds as time since the epoch of 1970-01-01 00:00:00 UTC. The optional ZONE is omitted or nil for Emacs local time, t for Universal Time, `wall' for system wall clock time, or a string as in the TZ environment variable. It can also be a list (as from `current-time-zone') or an integer (as from `decode-time') applied without consideration for daylight saving time. The value is a copy of FORMAT-STRING, but with certain constructs replaced by text that describes the specified date and time in TIME: %Y is the year, %y within the century, %C the century. %G is the year corresponding to the ISO week, %g within the century. %m is the numeric month. %b and %h are the locale's abbreviated month name, %B the full name. (%h is not supported on MS-Windows.) %d is the day of the month, zero-padded, %e is blank-padded. %u is the numeric day of week from 1 (Monday) to 7, %w from 0 (Sunday) to 6. %a is the locale's abbreviated name of the day of week, %A the full name. %U is the week number starting on Sunday, %W starting on Monday, %V according to ISO 8601. %j is the day of the year. %H is the hour on a 24-hour clock, %I is on a 12-hour clock, %k is like %H only blank-padded, %l is like %I blank-padded. %p is the locale's equivalent of either AM or PM. %q is the calendar quarter (1–4). %M is the minute (00-59). %S is the second (00-59; 00-60 on platforms with leap seconds) %s is the number of seconds since 1970-01-01 00:00:00 +0000. %N is the nanosecond, %6N the microsecond, %3N the millisecond, etc. %Z is the time zone abbreviation, %z is the numeric form. %c is the locale's date and time format. %x is the locale's "preferred" date format. %D is like "%m/%d/%y". %F is the ISO 8601 date format (like "%+4Y-%m-%d"). %R is like "%H:%M", %T is like "%H:%M:%S", %r is like "%I:%M:%S %p". %X is the locale's "preferred" time format. Finally, %n is a newline, %t is a tab, %% is a literal %, and unrecognized %-sequences stand for themselves. A %-sequence can contain optional flags, field width, and a modifier (in that order) after the `%'. The flags are: `-' Do not pad the field. `_' Pad with spaces. `0' Pad with zeros. `+' Pad with zeros and put `+' before nonnegative year numbers with >4 digits. `^' Use upper case characters if possible. `#' Use opposite case characters if possible. A field width N is an unsigned decimal integer with a leading digit nonzero. %NX is like %X, but takes up at least N positions. The field width is (on GNU/Linux and some other systems) in measured in bytes, not characters. It depends on the locale what the width (in characters) %NX will end up being, especially when there are non-ASCII characters in %X. The modifiers are: `E' Use the locale's alternative version. `O' Use the locale's number symbols. For example, to produce full ISO 8601 format, use "%FT%T%z". (fn FORMAT-STRING &optional TIME ZONE)Fdecode-time Decode a time value as (SEC MINUTE HOUR DAY MONTH YEAR DOW DST UTCOFF). The optional TIME is the time value to convert. See `format-time-string' for the various forms of a time value. The optional ZONE is omitted or nil for Emacs local time, t for Universal Time, `wall' for system wall clock time, or a string as in the TZ environment variable. It can also be a list (as from `current-time-zone') or an integer (the UTC offset in seconds) applied without consideration for daylight saving time. The optional FORM specifies the form of the SEC member. If `integer', SEC is an integer; if t, SEC is an integer or (TICKS . HZ) timestamp with the same precision as TIME. An omitted or nil FORM is currently treated like `integer', but this may change in future Emacs versions. To access (or alter) the elements in the time value, the `decoded-time-second', `decoded-time-minute', `decoded-time-hour', `decoded-time-day', `decoded-time-month', `decoded-time-year', `decoded-time-weekday', `decoded-time-dst' and `decoded-time-zone' accessors can be used. The list has the following nine members: SEC is an integer or Lisp timestamp representing a nonnegative value less than 60 (or less than 61 if the operating system supports leap seconds). MINUTE is an integer between 0 and 59. HOUR is an integer between 0 and 23. DAY is an integer between 1 and 31. MONTH is an integer between 1 and 12. YEAR is the year number, an integer; 0 represents 1 BC. DOW is the day of week, an integer between 0 and 6, where 0 is Sunday. DST is t if daylight saving time is in effect, nil if it is not in effect, and -1 if daylight saving information is not available. UTCOFF is an integer indicating the UTC offset in seconds, i.e., the number of seconds east of Greenwich. (Note that Common Lisp has different meanings for DOW and UTCOFF, and its SEC is always an integer between 0 and 59.) (fn &optional TIME ZONE FORM)Fencode-time Convert TIME to a timestamp. TIME is a list (SECOND MINUTE HOUR DAY MONTH YEAR IGNORED DST ZONE). in the style of `decode-time', so that (encode-time (decode-time ...)) works. In this list, ZONE can be nil for Emacs local time, t for Universal Time, `wall' for system wall clock time, or a string as in the TZ environment variable. It can also be a list (as from `current-time-zone') or an integer (as from `decode-time') applied without consideration for daylight saving time. If ZONE specifies a time zone with daylight-saving transitions, DST is t for daylight saving time, nil for standard time, and -1 to cause the daylight saving flag to be guessed. As an obsolescent calling convention, if this function is called with 6 or more arguments, the first 6 arguments are SECOND, MINUTE, HOUR, DAY, MONTH, and YEAR, and specify the components of a decoded time, where DST assumed to be -1 and FORM is omitted. If there are more than 6 arguments the *last* argument is used as ZONE and any other extra arguments are ignored, so that (apply #\='encode-time (decode-time ...)) works. In this obsolescent convention, DST and ZONE default to -1 and nil respectively. Years before 1970 are not guaranteed to work. On some systems, year values as low as 1901 do work. (fn TIME &rest OBSOLESCENT-ARGUMENTS)Ftime-convert Convert TIME value to a Lisp timestamp. With optional FORM, convert to that timestamp form. Truncate the returned value toward minus infinity. If FORM is nil (the default), return the same form as `current-time'. If FORM is a positive integer, return a pair of integers (TICKS . FORM), where TICKS is the number of clock ticks and FORM is the clock frequency in ticks per second. (Currently the positive integer should be at least 65536 if the returned value is expected to be given to standard functions expecting Lisp timestamps.) If FORM is t, return (TICKS . PHZ), where PHZ is a suitable clock frequency in ticks per second. If FORM is `integer', return an integer count of seconds. If FORM is `list', return an integer list (HIGH LOW USEC PSEC), where HIGH has the most significant bits of the seconds, LOW has the least significant 16 bits, and USEC and PSEC are the microsecond and picosecond counts. (fn TIME &optional FORM)Fcurrent-time Return the current time, as the number of seconds since 1970-01-01 00:00:00. The time is returned as a list of integers (HIGH LOW USEC PSEC). HIGH has the most significant bits of the seconds, while LOW has the least significant 16 bits. USEC and PSEC are the microsecond and picosecond counts. In a future Emacs version, the format of the returned timestamp is planned to change. Use `time-convert' if you need a particular timestamp form; for example, (time-convert nil \='integer) returns the current time in seconds. (fn)Fcurrent-time-string Return the current local time, as a human-readable string. Programs can use this function to decode a time, since the number of columns in each field is fixed if the year is in the range 1000-9999. The format is `Sun Sep 16 01:03:52 1973'. However, see also the functions `decode-time' and `format-time-string' which provide a much more powerful and general facility. If SPECIFIED-TIME is given, it is the time value to format instead of the current time. See `format-time-string' for the various forms of a time value. The optional ZONE is omitted or nil for Emacs local time, t for Universal Time, `wall' for system wall clock time, or a string as in the TZ environment variable. It can also be a list (as from `current-time-zone') or an integer (as from `decode-time') applied without consideration for daylight saving time. (fn &optional SPECIFIED-TIME ZONE)Fcurrent-time-zone Return the offset and name for the local time zone. This returns a list of the form (OFFSET NAME). OFFSET is an integer number of seconds ahead of UTC (east of Greenwich). A negative value means west of Greenwich. NAME is a string giving the name of the time zone. If SPECIFIED-TIME is given, the time zone offset is determined from it instead of using the current time. The argument should be a Lisp time value; see `format-time-string' for the various forms of a time value. The optional ZONE is omitted or nil for Emacs local time, t for Universal Time, `wall' for system wall clock time, or a string as in the TZ environment variable. It can also be a list (as from `current-time-zone') or an integer (as from `decode-time') applied without consideration for daylight saving time. Some operating systems cannot provide all this information to Emacs; in this case, `current-time-zone' returns a list containing nil for the data it can't find. (fn &optional SPECIFIED-TIME ZONE)Fset-time-zone-rule Set the Emacs local time zone using TZ, a string specifying a time zone rule. If TZ is nil or `wall', use system wall clock time; this differs from the usual Emacs convention where nil means current local time. If TZ is t, use Universal Time. If TZ is a list (as from `current-time-zone') or an integer (as from `decode-time'), use the specified time zone without consideration for daylight saving time. Instead of calling this function, you typically want something else. To temporarily use a different time zone rule for just one invocation of `decode-time', `encode-time', or `format-time-string', pass the function a ZONE argument. To change local time consistently throughout Emacs, call (setenv "TZ" TZ): this changes both the environment of the Emacs process and the variable `process-environment', whereas `set-time-zone-rule' affects only the former. (fn TZ)Satimer.o Fdebug-timer-check Run internal self-tests to check timers subsystem. Return t if all self-tests are passed, nil otherwise. (fn)Sdoprnt.o Sintervals.o Stextprop.o Ftext-properties-at Return the list of properties of the character at POSITION in OBJECT. If the optional second argument OBJECT is a buffer (or nil, which means the current buffer), POSITION is a buffer position (integer or marker). If OBJECT is a string, POSITION is a 0-based index into it. If POSITION is at the end of OBJECT, the value is nil. If you want to display the text properties at point in a human-readable form, use the `describe-text-properties' command. (fn POSITION &optional OBJECT)Fget-text-property Return the value of POSITION's property PROP, in OBJECT. OBJECT should be a buffer or a string; if omitted or nil, it defaults to the current buffer. If POSITION is at the end of OBJECT, the value is nil. (fn POSITION PROP &optional OBJECT)Fget-char-property Return the value of POSITION's property PROP, in OBJECT. Both overlay properties and text properties are checked. OBJECT is optional and defaults to the current buffer. If POSITION is at the end of OBJECT, the value is nil. If OBJECT is a buffer, then overlay properties are considered as well as text properties. If OBJECT is a window, then that window's buffer is used, but window-specific overlays are considered only if they are associated with OBJECT. (fn POSITION PROP &optional OBJECT)Fget-char-property-and-overlay Like `get-char-property', but with extra overlay information. The value is a cons cell. Its car is the return value of `get-char-property' with the same arguments--that is, the value of POSITION's property PROP in OBJECT. Its cdr is the overlay in which the property was found, or nil, if it was found as a text property or not found at all. OBJECT is optional and defaults to the current buffer. OBJECT may be a string, a buffer or a window. For strings, the cdr of the return value is always nil, since strings do not have overlays. If OBJECT is a window, then that window's buffer is used, but window-specific overlays are considered only if they are associated with OBJECT. If POSITION is at the end of OBJECT, both car and cdr are nil. (fn POSITION PROP &optional OBJECT)Fnext-char-property-change Return the position of next text property or overlay change. This scans characters forward in the current buffer from POSITION till it finds a change in some text property, or the beginning or end of an overlay, and returns the position of that. If none is found, and LIMIT is nil or omitted, the function returns (point-max). If the optional second argument LIMIT is non-nil, the function doesn't search past position LIMIT, and returns LIMIT if nothing is found before LIMIT. LIMIT is a no-op if it is greater than (point-max). (fn POSITION &optional LIMIT)Fprevious-char-property-change Return the position of previous text property or overlay change. Scans characters backward in the current buffer from POSITION till it finds a change in some text property, or the beginning or end of an overlay, and returns the position of that. If none is found, and LIMIT is nil or omitted, the function returns (point-min). If the optional second argument LIMIT is non-nil, the function doesn't search before position LIMIT, and returns LIMIT if nothing is found before LIMIT. LIMIT is a no-op if it is less than (point-min). (fn POSITION &optional LIMIT)Fnext-single-char-property-change Return the position of next text property or overlay change for a specific property. Scans characters forward from POSITION till it finds a change in the PROP property, then returns the position of the change. If the optional third argument OBJECT is a buffer (or nil, which means the current buffer), POSITION is a buffer position (integer or marker). If OBJECT is a string, POSITION is a 0-based index into it. In a string, scan runs to the end of the string, unless LIMIT is non-nil. In a buffer, if LIMIT is nil or omitted, it runs to (point-max), and the value cannot exceed that. If the optional fourth argument LIMIT is non-nil, don't search past position LIMIT; return LIMIT if nothing is found before LIMIT. The property values are compared with `eq'. If the property is constant all the way to the end of OBJECT, return the last valid position in OBJECT. (fn POSITION PROP &optional OBJECT LIMIT)Fprevious-single-char-property-change Return the position of previous text property or overlay change for a specific property. Scans characters backward from POSITION till it finds a change in the PROP property, then returns the position of the change. If the optional third argument OBJECT is a buffer (or nil, which means the current buffer), POSITION is a buffer position (integer or marker). If OBJECT is a string, POSITION is a 0-based index into it. In a string, scan runs to the start of the string, unless LIMIT is non-nil. In a buffer, if LIMIT is nil or omitted, it runs to (point-min), and the value cannot be less than that. If the optional fourth argument LIMIT is non-nil, don't search back past position LIMIT; return LIMIT if nothing is found before reaching LIMIT. The property values are compared with `eq'. If the property is constant all the way to the start of OBJECT, return the first valid position in OBJECT. (fn POSITION PROP &optional OBJECT LIMIT)Fnext-property-change Return the position of next property change. Scans characters forward from POSITION in OBJECT till it finds a change in some text property, then returns the position of the change. If the optional second argument OBJECT is a buffer (or nil, which means the current buffer), POSITION is a buffer position (integer or marker). If OBJECT is a string, POSITION is a 0-based index into it. Return nil if LIMIT is nil or omitted, and the property is constant all the way to the end of OBJECT; if the value is non-nil, it is a position greater than POSITION, never equal. If the optional third argument LIMIT is non-nil, don't search past position LIMIT; return LIMIT if nothing is found before LIMIT. (fn POSITION &optional OBJECT LIMIT)Fnext-single-property-change Return the position of next property change for a specific property. Scans characters forward from POSITION till it finds a change in the PROP property, then returns the position of the change. If the optional third argument OBJECT is a buffer (or nil, which means the current buffer), POSITION is a buffer position (integer or marker). If OBJECT is a string, POSITION is a 0-based index into it. The property values are compared with `eq'. Return nil if LIMIT is nil or omitted, and the property is constant all the way to the end of OBJECT; if the value is non-nil, it is a position greater than POSITION, never equal. If the optional fourth argument LIMIT is non-nil, don't search past position LIMIT; return LIMIT if nothing is found before LIMIT. (fn POSITION PROP &optional OBJECT LIMIT)Fprevious-property-change Return the position of previous property change. Scans characters backwards from POSITION in OBJECT till it finds a change in some text property, then returns the position of the change. If the optional second argument OBJECT is a buffer (or nil, which means the current buffer), POSITION is a buffer position (integer or marker). If OBJECT is a string, POSITION is a 0-based index into it. Return nil if LIMIT is nil or omitted, and the property is constant all the way to the start of OBJECT; if the value is non-nil, it is a position less than POSITION, never equal. If the optional third argument LIMIT is non-nil, don't search back past position LIMIT; return LIMIT if nothing is found until LIMIT. (fn POSITION &optional OBJECT LIMIT)Fprevious-single-property-change Return the position of previous property change for a specific property. Scans characters backward from POSITION till it finds a change in the PROP property, then returns the position of the change. If the optional third argument OBJECT is a buffer (or nil, which means the current buffer), POSITION is a buffer position (integer or marker). If OBJECT is a string, POSITION is a 0-based index into it. The property values are compared with `eq'. Return nil if LIMIT is nil or omitted, and the property is constant all the way to the start of OBJECT; if the value is non-nil, it is a position less than POSITION, never equal. If the optional fourth argument LIMIT is non-nil, don't search back past position LIMIT; return LIMIT if nothing is found until LIMIT. (fn POSITION PROP &optional OBJECT LIMIT)Fadd-text-properties Add properties to the text from START to END. The third argument PROPERTIES is a property list specifying the property values to add. If the optional fourth argument OBJECT is a buffer (or nil, which means the current buffer), START and END are buffer positions (integers or markers). If OBJECT is a string, START and END are 0-based indices into it. Return t if any property value actually changed, nil otherwise. (fn START END PROPERTIES &optional OBJECT)Fput-text-property Set one property of the text from START to END. The third and fourth arguments PROPERTY and VALUE specify the property to add. If the optional fifth argument OBJECT is a buffer (or nil, which means the current buffer), START and END are buffer positions (integers or markers). If OBJECT is a string, START and END are 0-based indices into it. (fn START END PROPERTY VALUE &optional OBJECT)Fset-text-properties Completely replace properties of text from START to END. The third argument PROPERTIES is the new property list. If the optional fourth argument OBJECT is a buffer (or nil, which means the current buffer), START and END are buffer positions (integers or markers). If OBJECT is a string, START and END are 0-based indices into it. If PROPERTIES is nil, the effect is to remove all properties from the designated part of OBJECT. (fn START END PROPERTIES &optional OBJECT)Fadd-face-text-property Add the face property to the text from START to END. FACE specifies the face to add. It should be a valid value of the `face' property (typically a face name or a plist of face attributes and values). If any text in the region already has a non-nil `face' property, those face(s) are retained. This is done by setting the `face' property to a list of faces, with FACE as the first element (by default) and the pre-existing faces as the remaining elements. If optional fourth argument APPEND is non-nil, append FACE to the end of the face list instead. If optional fifth argument OBJECT is a buffer (or nil, which means the current buffer), START and END are buffer positions (integers or markers). If OBJECT is a string, START and END are 0-based indices into it. (fn START END FACE &optional APPEND OBJECT)Fremove-text-properties Remove some properties from text from START to END. The third argument PROPERTIES is a property list whose property names specify the properties to remove. (The values stored in PROPERTIES are ignored.) If the optional fourth argument OBJECT is a buffer (or nil, which means the current buffer), START and END are buffer positions (integers or markers). If OBJECT is a string, START and END are 0-based indices into it. Return t if any property was actually removed, nil otherwise. Use `set-text-properties' if you want to remove all text properties. (fn START END PROPERTIES &optional OBJECT)Fremove-list-of-text-properties Remove some properties from text from START to END. The third argument LIST-OF-PROPERTIES is a list of property names to remove. If the optional fourth argument OBJECT is a buffer (or nil, which means the current buffer), START and END are buffer positions (integers or markers). If OBJECT is a string, START and END are 0-based indices into it. Return t if any property was actually removed, nil otherwise. (fn START END LIST-OF-PROPERTIES &optional OBJECT)Ftext-property-any Check text from START to END for property PROPERTY equaling VALUE. If so, return the position of the first character whose property PROPERTY is `eq' to VALUE. Otherwise return nil. If the optional fifth argument OBJECT is a buffer (or nil, which means the current buffer), START and END are buffer positions (integers or markers). If OBJECT is a string, START and END are 0-based indices into it. (fn START END PROPERTY VALUE &optional OBJECT)Ftext-property-not-all Check text from START to END for property PROPERTY not equaling VALUE. If so, return the position of the first character whose property PROPERTY is not `eq' to VALUE. Otherwise, return nil. If the optional fifth argument OBJECT is a buffer (or nil, which means the current buffer), START and END are buffer positions (integers or markers). If OBJECT is a string, START and END are 0-based indices into it. (fn START END PROPERTY VALUE &optional OBJECT)Vdefault-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.Vchar-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.Vinhibit-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. This variable is obsolete since Emacs-25.1. Use `cursor-intangible-mode' or `cursor-sensor-mode' instead.Vtext-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.Scomposite.o Fclear-composition-cache Internal use only. Clear composition cache. (fn)Fcomposition-get-gstring Return a glyph-string for characters between FROM and TO. If the glyph string is for graphic display, FONT-OBJECT must be a font-object to use for those characters. Otherwise (for terminal display), FONT-OBJECT must be a terminal ID, a frame, or nil for the selected frame's terminal device. If the optional 4th argument STRING is not nil, it is a string containing the target characters between indices FROM and TO, which are treated as in `substring'. Otherwise FROM and TO are character positions in current buffer; they can be in either order, and can be integers or markers. A glyph-string is a vector containing information about how to display a specific character sequence. The format is: [HEADER ID GLYPH ...] HEADER is a vector of this form: [FONT-OBJECT CHAR ...] where FONT-OBJECT is a font-object for all glyphs in the glyph-string, or the terminal coding system of the specified terminal. CHARs are characters to be composed by GLYPHs. ID is an identification number of the glyph-string. It may be nil if not yet shaped. GLYPH is a vector whose elements have this form: [ FROM-IDX TO-IDX C CODE WIDTH LBEARING RBEARING ASCENT DESCENT [ [X-OFF Y-OFF WADJUST] | nil] ] where FROM-IDX and TO-IDX are used internally and should not be touched. C is the character of the glyph. CODE is the glyph-code of C in FONT-OBJECT. WIDTH thru DESCENT are the metrics (in pixels) of the glyph. X-OFF and Y-OFF are offsets to the base position for the glyph. WADJUST is the adjustment to the normal width of the glyph. If GLYPH is nil, the remaining elements of the glyph-string vector should be ignored. (fn FROM TO FONT-OBJECT STRING)Fcompose-region-internal Internal use only. Compose text in the region between START and END. Optional 3rd and 4th arguments are COMPONENTS and MODIFICATION-FUNC for the composition. See `compose-region' for more details. (fn START END &optional COMPONENTS MODIFICATION-FUNC)Fcompose-string-internal Internal use only. Compose text between indices START and END of STRING, where START and END are treated as in `substring'. Optional 4th and 5th arguments are COMPONENTS and MODIFICATION-FUNC for the composition. See `compose-string' for more details. (fn STRING START END &optional COMPONENTS MODIFICATION-FUNC)Ffind-composition-internal Internal use only. Return information about composition at or nearest to position POS. See `find-composition' for more details. (fn POS LIMIT STRING DETAIL-P)Vcompose-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'.Vauto-composition-mode Non-nil if Auto-Composition mode is enabled. Use the command `auto-composition-mode' to change this variable.Vauto-composition-function Function to call to compose characters automatically. This function is called from the display engine with 6 arguments: FUNC, FROM, TO, FONT-OBJECT, STRING, and DIRECTION. FUNC is the function to compose characters. On text-mode display, FUNC is ignored and `compose-gstring-for-terminal' is used instead. 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. FONT-OBJECT is the font to use, or nil if characters are to be composed on a text-mode display. DIRECTION is the bidi directionality of the text to shape. It could be L2R or R2L, or nil if unknown.Vcomposition-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'.Sxml.o Flibxml-parse-html-region Parse the region as an HTML document and return the parse tree. If BASE-URL is non-nil, it is used to expand relative URLs. If you want comments to be stripped, use the `xml-remove-comments' function to strip comments before calling this function. (fn START END &optional BASE-URL DISCARD-COMMENTS)Flibxml-parse-xml-region Parse the region as an XML document and return the parse tree. If BASE-URL is non-nil, it is used to expand relative URLs. If you want comments to be stripped, use the `xml-remove-comments' function to strip comments before calling this function. (fn START END &optional BASE-URL DISCARD-COMMENTS)Flibxml-available-p Return t if libxml2 support is available in this instance of Emacs. (fn)Slcms.o Flcms-cie-de2000 Compute CIEDE2000 metric distance between COLOR1 and COLOR2. Each color is a list of L*a*b* coordinates, where the L* channel ranges from 0 to 100, and the a* and b* channels range from -128 to 128. Optional arguments KL, KC, KH are weighting parameters for lightness, chroma, and hue, respectively. The parameters each default to 1. (fn COLOR1 COLOR2 &optional KL KC KH)Flcms-xyz->jch Convert CIE CAM02 JCh to CIE XYZ. COLOR is a list (X Y Z), with Y scaled about unity. Optional arguments WHITEPOINT and VIEW are the same as in `lcms-cam02-ucs', which see. (fn COLOR &optional WHITEPOINT VIEW)Flcms-jch->xyz Convert CIE XYZ to CIE CAM02 JCh. COLOR is a list (J C h), where lightness of white is equal to 100, and hue is given in degrees. Optional arguments WHITEPOINT and VIEW are the same as in `lcms-cam02-ucs', which see. (fn COLOR &optional WHITEPOINT VIEW)Flcms-jch->jab Convert CIE CAM02 JCh to CAM02-UCS J'a'b'. COLOR is a list (J C h) as described in `lcms-jch->xyz', which see. Optional arguments WHITEPOINT and VIEW are the same as in `lcms-cam02-ucs', which see. (fn COLOR &optional WHITEPOINT VIEW)Flcms-jab->jch Convert CAM02-UCS J'a'b' to CIE CAM02 JCh. COLOR is a list (J' a' b'), where white corresponds to lightness J equal to 100. Optional arguments WHITEPOINT and VIEW are the same as in `lcms-cam02-ucs', which see. (fn COLOR &optional WHITEPOINT VIEW)Flcms-cam02-ucs Compute CAM02-UCS metric distance between COLOR1 and COLOR2. Each color is a list of XYZ tristimulus values, with Y scaled about unity. Optional argument WHITEPOINT is the XYZ white point, which defaults to illuminant D65. Optional argument VIEW is a list containing the viewing conditions, and is of the form (YB LA SURROUND DVALUE) where SURROUND corresponds to 1 AVG_SURROUND 2 DIM_SURROUND 3 DARK_SURROUND 4 CUTSHEET_SURROUND The default viewing conditions are (20 100 1 1). (fn COLOR1 COLOR2 &optional WHITEPOINT VIEW)Flcms-temp->white-point Return XYZ black body chromaticity from TEMPERATURE given in K. Valid range of TEMPERATURE is from 4000K to 25000K. (fn TEMPERATURE)Flcms2-available-p Return t if lcms2 color calculations are available in this instance of Emacs. (fn)Sinotify.o Finotify-add-watch Add a watch for FILE-NAME to inotify. Return a watch descriptor. The watch will look for ASPECT events and invoke CALLBACK when an event occurs. ASPECT might be one of the following symbols or a list of those symbols: access attrib close-write close-nowrite create delete delete-self modify move-self moved-from moved-to open all-events or t move close ASPECT can also contain the following symbols, which control whether the watch descriptor will be created: dont-follow onlydir Watching a directory is not recursive. CALLBACK is passed a single argument EVENT which contains an event structure of the format (WATCH-DESCRIPTOR ASPECTS NAME COOKIE) WATCH-DESCRIPTOR is the same object that was returned by this function. It can be tested for equality using `equal'. ASPECTS describes the event. It is a list of ASPECT symbols described above and can also contain one of the following symbols ignored isdir q-overflow unmount If a directory is watched then NAME is the name of file that caused the event. COOKIE is an object that can be compared using `equal' to identify two matching renames (moved-from and moved-to). See inotify(7) and inotify_add_watch(2) for further information. The inotify fd is managed internally and there is no corresponding inotify_init. Use `inotify-rm-watch' to remove a watch. The following inotify bit-masks cannot be used because descriptors are shared across different callers. IN_EXCL_UNLINK IN_MASK_ADD IN_ONESHOT (fn FILENAME ASPECT CALLBACK)Finotify-rm-watch Remove an existing WATCH-DESCRIPTOR. WATCH-DESCRIPTOR should be an object returned by `inotify-add-watch'. See inotify_rm_watch(2) for more information. (fn WATCH-DESCRIPTOR)Finotify-valid-p Check a watch specified by its WATCH-DESCRIPTOR. WATCH-DESCRIPTOR should be an object returned by `inotify-add-watch'. A watch can become invalid if the file or directory it watches is deleted, or if the watcher thread exits abnormally for any other reason. Removing the watch by calling `inotify-rm-watch' also makes it invalid. (fn WATCH-DESCRIPTOR)Finotify-watch-list Return a copy of the internal watch_list. (fn WATCH-LIST)Finotify-allocated-p Return non-nil, if an inotify instance is allocated. (fn)Sprofiler.o Fprofiler-cpu-start Start or restart the cpu profiler. It takes call-stack samples each SAMPLING-INTERVAL nanoseconds, approximately. See also `profiler-log-size' and `profiler-max-stack-depth'. (fn SAMPLING-INTERVAL)Fprofiler-cpu-stop Stop the cpu profiler. The profiler log is not affected. Return non-nil if the profiler was running. (fn)Fprofiler-cpu-running-p Return non-nil if cpu profiler is running. (fn)Fprofiler-cpu-log Return the current cpu profiler log. The log is a hash-table mapping backtraces to counters which represent the amount of time spent at those points. Every backtrace is a vector of functions, where the last few elements may be nil. Before returning, a new log is allocated for future samples. (fn)Fprofiler-memory-start Start/restart the memory profiler. The memory profiler will take samples of the call-stack whenever a new allocation takes place. Note that most small allocations only trigger the profiler occasionally. See also `profiler-log-size' and `profiler-max-stack-depth'. (fn)Fprofiler-memory-stop Stop the memory profiler. The profiler log is not affected. Return non-nil if the profiler was running. (fn)Fprofiler-memory-running-p Return non-nil if memory profiler is running. (fn)Fprofiler-memory-log Return the current memory profiler log. The log is a hash-table mapping backtraces to counters which represent the amount of memory allocated at those points. Every backtrace is a vector of functions, where the last few elements may be nil. Before returning, a new log is allocated for future samples. (fn)Ffunction-equal Return non-nil if F1 and F2 come from the same source. Used to determine if different closures are just different instances of the same lambda expression, or are really unrelated function. (fn F1 F2)Vprofiler-max-stack-depth Number of elements from the call-stack recorded in the log.Vprofiler-log-size Number of distinct call-stacks that can be recorded in a profiler log. If the log gets full, some of the least-seen call-stacks will be evicted to make room for new entries.Sdecompress.o Fzlib-available-p Return t if zlib decompression is available in this instance of Emacs. (fn)Fzlib-decompress-region Decompress a gzip- or zlib-compressed region. Replace the text in the region by the decompressed data. If optional parameter ALLOW-PARTIAL is nil or omitted, then on failure, return nil and leave the data in place. Otherwise, return the number of bytes that were not decompressed and replace the region text by whatever data was successfully decompressed (similar to gzip). If decompression is completely successful return t. This function can be called only in unibyte buffers. (fn START END &optional ALLOW-PARTIAL)Sthread.o Fmake-mutex Create a mutex. A mutex provides a synchronization point for threads. Only one thread at a time can hold a mutex. Other threads attempting to acquire it will block until the mutex is available. A thread can acquire a mutex any number of times. NAME, if given, is used as the name of the mutex. The name is informational only. (fn &optional NAME)Fmutex-lock Acquire a mutex. If the current thread already owns MUTEX, increment the count and return. Otherwise, if no thread owns MUTEX, make the current thread own it. Otherwise, block until MUTEX is available, or until the current thread is signaled using `thread-signal'. Note that calls to `mutex-lock' and `mutex-unlock' must be paired. (fn MUTEX)Fmutex-unlock Release the mutex. If this thread does not own MUTEX, signal an error. Otherwise, decrement the mutex's count. If the count is zero, release MUTEX. (fn MUTEX)Fmutex-name Return the name of MUTEX. If no name was given when MUTEX was created, return nil. (fn MUTEX)Fmake-condition-variable Make a condition variable associated with MUTEX. A condition variable provides a way for a thread to sleep while waiting for a state change. MUTEX is the mutex associated with this condition variable. NAME, if given, is the name of this condition variable. The name is informational only. (fn MUTEX &optional NAME)Fcondition-wait Wait for the condition variable COND to be notified. COND is the condition variable to wait on. The mutex associated with COND must be held when this is called. It is an error if it is not held. This releases the mutex and waits for COND to be notified or for this thread to be signaled with `thread-signal'. When `condition-wait' returns, COND's mutex will again be locked by this thread. (fn COND)Fcondition-notify Notify COND, a condition variable. This wakes a thread waiting on COND. If ALL is non-nil, all waiting threads are awoken. The mutex associated with COND must be held when this is called. It is an error if it is not held. This releases COND's mutex when notifying COND. When `condition-notify' returns, the mutex will again be locked by this thread. (fn COND &optional ALL)Fcondition-mutex Return the mutex associated with condition variable COND. (fn COND)Fcondition-name Return the name of condition variable COND. If no name was given when COND was created, return nil. (fn COND)Fthread-yield Yield the CPU to another thread. (fn)Fmake-thread Start a new thread and run FUNCTION in it. When the function exits, the thread dies. If NAME is given, it must be a string; it names the new thread. (fn FUNCTION &optional NAME)Fcurrent-thread Return the current thread. (fn)Fthread-name Return the name of the THREAD. The name is the same object that was passed to `make-thread'. (fn THREAD)Fthread-signal Signal an error in a thread. This acts like `signal', but arranges for the signal to be raised in THREAD. If THREAD is the current thread, acts just like `signal'. This will interrupt a blocked call to `mutex-lock', `condition-wait', or `thread-join' in the target thread. If THREAD is the main thread, just the error message is shown. (fn THREAD ERROR-SYMBOL DATA)Fthread-live-p Return t if THREAD is alive, or nil if it has exited. (fn THREAD)Fthread--blocker Return the object that THREAD is blocking on. If THREAD is blocked in `thread-join' on a second thread, return that thread. If THREAD is blocked in `mutex-lock', return the mutex. If THREAD is blocked in `condition-wait', return the condition variable. Otherwise, if THREAD is not blocked, return nil. (fn THREAD)Fthread-join Wait for THREAD to exit. This blocks the current thread until THREAD exits or until the current thread is signaled. It returns the result of the THREAD function. It is an error for a thread to try to join itself. (fn THREAD)Fall-threads Return a list of all the live threads. (fn)Fthread-last-error Return the last error form recorded by a dying thread. If CLEANUP is non-nil, remove this error form from history. (fn &optional CLEANUP)Vmain-thread The main thread of Emacs.Ssysthread.o Sftcrfont.o Sjson.o Fjson-serialize Return the JSON representation of OBJECT as a string. OBJECT must be a vector, hashtable, alist, or plist and its elements can recursively contain the Lisp equivalents to the JSON null and false values, t, numbers, strings, or other vectors hashtables, alists or plists. t will be converted to the JSON true value. Vectors will be converted to JSON arrays, whereas hashtables, alists and plists are converted to JSON objects. Hashtable keys must be strings without embedded NUL characters and must be unique within each object. Alist and plist keys must be symbols; if a key is duplicate, the first instance is used. The Lisp equivalents to the JSON null and false values are configurable in the arguments ARGS, a list of keyword/argument pairs: The keyword argument `:null-object' specifies which object to use to represent a JSON null value. It defaults to `:null'. The keyword argument `:false-object' specifies which object to use to represent a JSON false value. It defaults to `:false'. In you specify the same value for `:null-object' and `:false-object', a potentially ambiguous situation, the JSON output will not contain any JSON false values. (fn OBJECT &rest ARGS)Fjson-insert Insert the JSON representation of OBJECT before point. This is the same as (insert (json-serialize OBJECT)), but potentially faster. See the function `json-serialize' for allowed values of OBJECT. (fn OBJECT &rest ARGS)Fjson-parse-string Parse the JSON STRING into a Lisp object. This is essentially the reverse operation of `json-serialize', which see. The returned object will be a vector, list, hashtable, alist, or plist. Its elements will be the JSON null value, the JSON false value, t, numbers, strings, or further vectors, hashtables, alists, or plists. If there are duplicate keys in an object, all but the last one are ignored. If STRING doesn't contain a valid JSON object, this function signals an error of type `json-parse-error'. The arguments ARGS are a list of keyword/argument pairs: The keyword argument `:object-type' specifies which Lisp type is used to represent objects; it can be `hash-table', `alist' or `plist'. It defaults to `hash-table'. The keyword argument `:array-type' specifies which Lisp type is used to represent arrays; it can be `array' (the default) or `list'. The keyword argument `:null-object' specifies which object to use to represent a JSON null value. It defaults to `:null'. The keyword argument `:false-object' specifies which object to use to represent a JSON false value. It defaults to `:false'. (fn STRING &rest ARGS)Fjson-parse-buffer Read JSON object from current buffer starting at point. Move point after the end of the object if parsing was successful. On error, don't move point. The returned object will be a vector, list, hashtable, alist, or plist. Its elements will be the JSON null value, the JSON false value, t, numbers, strings, or further vectors, lists, hashtables, alists, or plists. If there are duplicate keys in an object, all but the last one are ignored. If the current buffer doesn't contain a valid JSON object, the function signals an error of type `json-parse-error'. The arguments ARGS are a list of keyword/argument pairs: The keyword argument `:object-type' specifies which Lisp type is used to represent objects; it can be `hash-table', `alist' or `plist'. It defaults to `hash-table'. The keyword argument `:array-type' specifies which Lisp type is used to represent arrays; it can be `array' (the default) or `list'. The keyword argument `:null-object' specifies which object to use to represent a JSON null value. It defaults to `:null'. The keyword argument `:false-object' specifies which object to use to represent a JSON false value. It defaults to `:false'. (fn &rest args)Sloaddefs.el F5x5 Play 5x5. The object of 5x5 is very simple, by moving around the grid and flipping squares you must fill the grid. 5x5 keyboard bindings are: \<5x5-mode-map> Flip \[5x5-flip-current] Move up \[5x5-up] Move down \[5x5-down] Move left \[5x5-left] Move right \[5x5-right] Start new game \[5x5-new-game] New game with random grid \[5x5-randomize] Random cracker \[5x5-crack-randomly] Mutate current cracker \[5x5-crack-mutating-current] Mutate best cracker \[5x5-crack-mutating-best] Mutate xor cracker \[5x5-crack-xor-mutate] Solve with Calc \[5x5-solve-suggest] Rotate left Calc Solutions \[5x5-solve-rotate-left] Rotate right Calc Solutions \[5x5-solve-rotate-right] Quit current game \[5x5-quit-game] (fn &optional SIZE)F5x5-crack-randomly Attempt to crack 5x5 using random solutions.F5x5-crack-mutating-current Attempt to crack 5x5 by mutating the current solution.F5x5-crack-mutating-best Attempt to crack 5x5 by mutating the best solution.F5x5-crack-xor-mutate Attempt to crack 5x5 by xoring the current and best solution. Mutate the result.F5x5-crack Attempt to find a solution for 5x5. 5x5-crack takes the argument BREEDER which should be a function that takes two parameters, the first will be a grid vector array that is the current solution and the second will be the best solution so far. The function should return a grid vector array that is the new solution. (fn BREEDER)Vadd-log-current-defun-function If non-nil, function to guess name of surrounding function. It is called by `add-log-current-defun' with no argument, and should return the function's name as a string, or nil if point is outside a function.Vadd-log-full-name Full name of user, for inclusion in ChangeLog daily headers. This defaults to the value returned by the function `user-full-name'.Vadd-log-mailing-address Email addresses of user, for inclusion in ChangeLog headers. This defaults to the value of `user-mail-address'. In addition to being a simple string, this value can also be a list. All elements will be recognized as referring to the same user; when creating a new ChangeLog entry, one element will be chosen at random.Fprompt-for-change-log-name Prompt for a change log name.Ffind-change-log Find a change log file for \[add-change-log-entry] and return the name. Optional arg FILE-NAME specifies the file to use. If FILE-NAME is nil, use the value of `change-log-default-name'. If `change-log-default-name' is nil, behave as though it were "ChangeLog" (or whatever we use on this operating system). If `change-log-default-name' contains a leading directory component, then simply find it in the current directory. Otherwise, search in the current directory and its successive parents for a file so named. Stop at the first such file that exists (or has a buffer visiting it), or the first directory that contains any of `change-log-directory-files'. If no match is found, use the current directory. To override the choice of this function, simply create an empty ChangeLog file first by hand in the desired place. Once a file is found, `change-log-default-name' is set locally in the current buffer to the complete file name. Optional arg BUFFER-FILE overrides `buffer-file-name'. (fn &optional FILE-NAME BUFFER-FILE)Fadd-change-log-entry Find ChangeLog buffer, add an entry for today and an item for this file. Optional arg WHOAMI (interactive prefix) non-nil means prompt for user name and email (stored in `add-log-full-name' and `add-log-mailing-address'). Second arg CHANGELOG-FILE-NAME is the file name of the change log. If nil, use the value of `change-log-default-name'. If the file thus named exists, it is used for the new entry. If it doesn't exist, it is created, unless `add-log-dont-create-changelog-file' is t, in which case a suitably named buffer that doesn't visit any file is used for keeping entries pertaining to CHANGELOG-FILE-NAME's directory. Third arg OTHER-WINDOW non-nil means visit in other window. Fourth arg NEW-ENTRY non-nil means always create a new entry at the front; never append to an existing entry. Option `add-log-keep-changes-together' otherwise affects whether a new entry is created. Fifth arg PUT-NEW-ENTRY-ON-NEW-LINE non-nil means that if a new entry is created, put it on a new line by itself, do not put it after a comma on an existing line. Option `add-log-always-start-new-record' non-nil means always create a new record, even when the last record was made on the same date and by the same person. The change log file can start with a copyright notice and a copying permission notice. The first blank line indicates the end of these notices. Today's date is calculated according to `add-log-time-zone-rule' if non-nil, otherwise in local time. (fn &optional WHOAMI CHANGELOG-FILE-NAME OTHER-WINDOW NEW-ENTRY PUT-NEW-ENTRY-ON-NEW-LINE)Fadd-change-log-entry-other-window Find change log file in other window and add entry and item. This is just like `add-change-log-entry' except that it displays the change log file in another window. (fn &optional WHOAMI FILE-NAME)Fchange-log-mode Major mode for editing change logs; like Indented Text mode. Prevents numeric backups and sets `left-margin' to 8 and `fill-column' to 74. New log entries are usually made with \[add-change-log-entry] or \[add-change-log-entry-other-window]. Each entry behaves as a paragraph, and the entries for one day as a page. Runs `change-log-mode-hook'. \{change-log-mode-map} (fn)Fadd-log-current-defun Return name of function definition point is in, or nil. Understands C, Lisp, LaTeX ("functions" are chapters, sections, ...), Texinfo (@node titles) and Perl. Other modes are handled by a heuristic that looks in the 10K before point for uppercase headings starting in the first column or identifiers followed by `:' or `='. See variables `add-log-current-defun-header-regexp' and `add-log-current-defun-function'. Has a preference of looking backwards.Fchange-log-merge Merge the contents of change log file OTHER-LOG with this buffer. Both must be found in Change Log mode (since the merging depends on the appropriate motion commands). OTHER-LOG can be either a file name or a buffer. Entries are inserted in chronological order. Both the current and old-style time formats for entries are supported. (fn OTHER-LOG)Vad-redefinition-action Defines what to do with redefinitions during Advice de/activation. Redefinition occurs if a previously activated function that already has an original definition associated with it gets redefined and then de/activated. In such a case we can either accept the current definition as the new original definition, discard the current definition and replace it with the old original, or keep it and raise an error. The values `accept', `discard', `error' or `warn' govern what will be done. `warn' is just like `accept' but it additionally prints a warning message. All other values will be interpreted as `error'.Vad-default-compilation-action Defines whether to compile advised definitions during activation. A value of `always' will result in unconditional compilation, `never' will always avoid compilation, `maybe' will compile if the byte-compiler is already loaded, and `like-original' will compile if the original definition of the advised function is compiled or a built-in function. Every other value will be interpreted as `maybe'. This variable will only be considered if the COMPILE argument of `ad-activate' was supplied as nil.Fad-enable-advice Enables the advice of FUNCTION with CLASS and NAME. (fn FUNCTION CLASS NAME)Fad-disable-advice Disable the advice of FUNCTION with CLASS and NAME. (fn FUNCTION CLASS NAME)Fad-add-advice Add a piece of ADVICE to FUNCTION's list of advices in CLASS. ADVICE has the form (NAME PROTECTED ENABLED DEFINITION), where NAME is the advice name; PROTECTED is a flag specifying whether to protect against non-local exits; ENABLED is a flag specifying whether to initially enable the advice; and DEFINITION has the form (advice . LAMBDA), where LAMBDA is a lambda expression. If FUNCTION already has a piece of advice with the same name, then POSITION is ignored, and the old advice is overwritten with the new one. If FUNCTION already has one or more pieces of advice of the specified CLASS, then POSITION determines where the new piece goes. POSITION can either be `first', `last' or a number (where 0 corresponds to `first', and numbers outside the valid range are mapped to the closest extremal position). If FUNCTION was not advised already, its advice info will be initialized. Redefining a piece of advice whose name is part of the cache-id will clear the cache. (fn FUNCTION ADVICE CLASS POSITION)Fad-activate Activate all the advice information of an advised FUNCTION. If FUNCTION has a proper original definition then an advised definition will be generated from FUNCTION's advice info and the definition of FUNCTION will be replaced with it. If a previously cached advised definition was available, it will be used. The optional COMPILE argument determines whether the resulting function or a compilable cached definition will be compiled. If it is negative no compilation will be performed, if it is positive or otherwise non-nil the resulting function will be compiled, if it is nil the behavior depends on the value of `ad-default-compilation-action' (which see). Activation of an advised function that has an advice info but no actual pieces of advice is equivalent to a call to `ad-unadvise'. Activation of an advised function that has actual pieces of advice but none of them are enabled is equivalent to a call to `ad-deactivate'. The current advised definition will always be cached for later usage. (fn FUNCTION &optional COMPILE)Fdefadvice Define a piece of advice for FUNCTION (a symbol). The syntax of `defadvice' is as follows: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...) [DOCSTRING] [INTERACTIVE-FORM] BODY...) FUNCTION ::= Name of the function to be advised. CLASS ::= `before' | `around' | `after' | `activation' | `deactivation'. NAME ::= Non-nil symbol that names this piece of advice. POSITION ::= `first' | `last' | NUMBER. Optional, defaults to `first', see also `ad-add-advice'. ARGLIST ::= An optional argument list to be used for the advised function instead of the argument list of the original. The first one found in before/around/after-advices will be used. FLAG ::= `protect'|`disable'|`activate'|`compile'|`preactivate'. All flags can be specified with unambiguous initial substrings. DOCSTRING ::= Optional documentation for this piece of advice. INTERACTIVE-FORM ::= Optional interactive form to be used for the advised function. The first one found in before/around/after-advices will be used. BODY ::= Any s-expression. Semantics of the various flags: `protect': The piece of advice will be protected against non-local exits in any code that precedes it. If any around-advice of a function is protected then automatically all around-advices will be protected (the complete onion). `activate': All advice of FUNCTION will be activated immediately if FUNCTION has been properly defined prior to this application of `defadvice'. `compile': In conjunction with `activate' specifies that the resulting advised function should be compiled. `disable': The defined advice will be disabled, hence, it will not be used during activation until somebody enables it. `preactivate': Preactivates the advised FUNCTION at macro-expansion/compile time. This generates a compiled advised definition according to the current advice state that will be used during activation if appropriate. Only use this if the `defadvice' gets actually compiled. usage: (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...) [DOCSTRING] [INTERACTIVE-FORM] BODY...) (fn FUNCTION ARGS &rest BODY)Falign Attempt to align a region based on a set of alignment rules. BEG and END mark the region. If BEG and END are specifically set to nil (this can only be done programmatically), the beginning and end of the current alignment section will be calculated based on the location of point, and the value of `align-region-separate' (or possibly each rule's `separate' attribute). If SEPARATE is non-nil, it overrides the value of `align-region-separate' for all rules, except those that have their `separate' attribute set. RULES and EXCLUDE-RULES, if either is non-nil, will replace the default rule lists defined in `align-rules-list' and `align-exclude-rules-list'. See `align-rules-list' for more details on the format of these lists. (fn BEG END &optional SEPARATE RULES EXCLUDE-RULES)Falign-regexp Align the current region using an ad-hoc rule read from the minibuffer. BEG and END mark the limits of the region. Interactively, this function prompts for the regular expression REGEXP to align with. For example, let's say you had a list of phone numbers, and wanted to align them so that the opening parentheses would line up: Fred (123) 456-7890 Alice (123) 456-7890 Mary-Anne (123) 456-7890 Joe (123) 456-7890 There is no predefined rule to handle this, but you could easily do it using a REGEXP like "(". Interactively, all you would have to do is to mark the region, call `align-regexp' and enter that regular expression. REGEXP must contain at least one parenthesized subexpression, typically whitespace of the form "\\(\\s-*\\)". In normal interactive use, this is automatically added to the start of your regular expression after you enter it. You only need to supply the characters to be lined up, and any preceding whitespace is replaced. If you specify a prefix argument (or use this function non-interactively), you must enter the full regular expression, including the subexpression. The function also then prompts for which subexpression parenthesis GROUP (default 1) within REGEXP to modify, the amount of SPACING (default `align-default-spacing') to use, and whether or not to REPEAT the rule throughout the line. See `align-rules-list' for more information about these options. The non-interactive form of the previous example would look something like: (align-regexp (point-min) (point-max) "\\(\\s-*\\)(") This function is a nothing more than a small wrapper that helps you construct a rule to pass to `align-region', which does the real work. (fn BEG END REGEXP &optional GROUP SPACING REPEAT)Falign-entire Align the selected region as if it were one alignment section. BEG and END mark the extent of the region. If RULES or EXCLUDE-RULES is set to a list of rules (see `align-rules-list'), it can be used to override the default alignment rules that would have been used to align that section. (fn BEG END &optional RULES EXCLUDE-RULES)Falign-current Call `align' on the current alignment section. This function assumes you want to align only the current section, and so saves you from having to specify the region. If RULES or EXCLUDE-RULES is set to a list of rules (see `align-rules-list'), it can be used to override the default alignment rules that would have been used to align that section. (fn &optional RULES EXCLUDE-RULES)Falign-highlight-rule Highlight the whitespace which a given rule would have modified. BEG and END mark the extent of the region. TITLE identifies the rule that should be highlighted. If RULES or EXCLUDE-RULES is set to a list of rules (see `align-rules-list'), it can be used to override the default alignment rules that would have been used to identify the text to be colored. (fn BEG END TITLE &optional RULES EXCLUDE-RULES)Falign-unhighlight-rule Remove any highlighting that was added by `align-highlight-rule'.Falign-newline-and-indent A replacement function for `newline-and-indent', aligning as it goes. The alignment is done by calling `align' on the region that was indented.Fallout-auto-activation-helper Institute `allout-auto-activation'. Intended to be used as the `allout-auto-activation' :set function. (fn VAR VALUE)Fallout-setup Do fundamental Emacs session for allout auto-activation. Establishes allout processing as part of visiting a file if `allout-auto-activation' is non-nil, or removes it otherwise. The proper way to use this is through customizing the setting of `allout-auto-activation'.Vallout-auto-activation Configure allout outline mode auto-activation. Control whether and how allout outline mode is automatically activated when files are visited with non-nil buffer-specific file variable `allout-layout'. When allout-auto-activation is "On" (t), allout mode is activated in buffers with non-nil `allout-layout', and the specified layout is applied. With value "ask", auto-mode-activation is enabled, and endorsement for performing auto-layout is asked of the user each time. With value "activate", only auto-mode-activation is enabled. Auto-layout is not. With value nil, inhibit any automatic allout-mode activation.Fallout-mode-p Return t if `allout-mode' is active in current buffer.Fallout-mode Toggle Allout outline mode. If called interactively, enable Allout mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. \ Allout outline mode is a minor mode that provides extensive outline oriented formatting and manipulation. It enables structural editing of outlines, as well as navigation and exposure. It also is specifically aimed at accommodating syntax-sensitive text like programming languages. (For example, see the allout code itself, which is organized as an allout outline.) In addition to typical outline navigation and exposure, allout includes: - topic-oriented authoring, including keystroke-based topic creation, repositioning, promotion/demotion, cut, and paste - incremental search with dynamic exposure and reconcealment of hidden text - adjustable format, so programming code can be developed in outline-structure - easy topic encryption and decryption, symmetric or key-pair - "Hot-spot" operation, for single-keystroke maneuvering and exposure control - integral outline layout, for automatic initial exposure when visiting a file - independent extensibility, using comprehensive exposure and authoring hooks and many other features. Below is a description of the key bindings, and then description of special `allout-mode' features and terminology. See also the outline menubar additions for quick reference to many of the features. Customize `allout-auto-activation' to prepare your Emacs session for automatic activation of `allout-mode'. The bindings are those listed in `allout-prefixed-keybindings' and `allout-unprefixed-keybindings'. We recommend customizing `allout-command-prefix' to use just `\C-c' as the command prefix, if the allout bindings don't conflict with any personal bindings you have on \C-c. In any case, outline structure navigation and authoring is simplified by positioning the cursor on an item's bullet character, the "hot-spot" -- then you can invoke allout commands with just the un-prefixed, un-control-shifted command letters. This is described further in the HOT-SPOT Operation section. Exposure Control: ---------------- \[allout-hide-current-subtree] `allout-hide-current-subtree' \[allout-show-children] `allout-show-children' \[allout-show-current-subtree] `allout-show-current-subtree' \[allout-show-current-entry] `allout-show-current-entry' \[allout-show-all] `allout-show-all' Navigation: ---------- \[allout-next-visible-heading] `allout-next-visible-heading' \[allout-previous-visible-heading] `allout-previous-visible-heading' \[allout-up-current-level] `allout-up-current-level' \[allout-forward-current-level] `allout-forward-current-level' \[allout-backward-current-level] `allout-backward-current-level' \[allout-end-of-entry] `allout-end-of-entry' \[allout-beginning-of-current-entry] `allout-beginning-of-current-entry' (alternately, goes to hot-spot) \[allout-beginning-of-line] `allout-beginning-of-line' -- like regular beginning-of-line, but if immediately repeated cycles to the beginning of the current item and then to the hot-spot (if `allout-beginning-of-line-cycles' is set). Topic Header Production: ----------------------- \[allout-open-sibtopic] `allout-open-sibtopic' Create a new sibling after current topic. \[allout-open-subtopic] `allout-open-subtopic' ... an offspring of current topic. \[allout-open-supertopic] `allout-open-supertopic' ... a sibling of the current topic's parent. Topic Level and Prefix Adjustment: --------------------------------- \[allout-shift-in] `allout-shift-in' Shift current topic and all offspring deeper \[allout-shift-out] `allout-shift-out' ... less deep \[allout-rebullet-current-heading] `allout-rebullet-current-heading' Prompt for alternate bullet for current topic \[allout-rebullet-topic] `allout-rebullet-topic' Reconcile bullets of topic and its offspring -- distinctive bullets are not changed, others are alternated according to nesting depth. \[allout-number-siblings] `allout-number-siblings' Number bullets of topic and siblings -- the offspring are not affected. With repeat count, revoke numbering. Topic-oriented Killing and Yanking: ---------------------------------- \[allout-kill-topic] `allout-kill-topic' Kill current topic, including offspring. \[allout-copy-topic-as-kill] `allout-copy-topic-as-kill' Copy current topic, including offspring. \[allout-kill-line] `allout-kill-line' Kill line, attending to outline structure. \[allout-copy-line-as-kill] `allout-copy-line-as-kill' Copy line but don't delete it. \[allout-yank] `allout-yank' Yank, adjusting depth of yanked topic to depth of heading if yanking into bare topic heading (ie, prefix sans text). \[allout-yank-pop] `allout-yank-pop' Is to `allout-yank' as `yank-pop' is to `yank'. Topic-oriented Encryption: ------------------------- \[allout-toggle-current-subtree-encryption] `allout-toggle-current-subtree-encryption' Encrypt/Decrypt topic content Misc commands: ------------- M-x outlineify-sticky Activate outline mode for current buffer, and establish a default file-var setting for `allout-layout'. \[allout-mark-topic] `allout-mark-topic' \[allout-copy-exposed-to-buffer] `allout-copy-exposed-to-buffer' Duplicate outline, sans concealed text, to buffer with name derived from derived from that of current buffer -- "*BUFFERNAME exposed*". \[allout-flatten-exposed-to-buffer] `allout-flatten-exposed-to-buffer' Like above `copy-exposed', but convert topic prefixes to section.subsection... numeric format. \[customize-variable] allout-auto-activation Prepare Emacs session for allout outline mode auto-activation. Topic Encryption Outline mode supports gpg encryption of topics, with support for symmetric and key-pair modes, and auto-encryption of topics pending encryption on save. Topics pending encryption are, by default, automatically encrypted during file saves, including checkpoint saves, to avoid exposing the plain text of encrypted topics in the file system. If the content of the topic containing the cursor was encrypted for a save, it is automatically decrypted for continued editing. NOTE: A few GnuPG v2 versions improperly preserve incorrect symmetric decryption keys, preventing entry of the correct key on subsequent decryption attempts until the cache times-out. That can take several minutes. (Decryption of other entries is not affected.) Upgrade your EasyPG version, if you can, and you can deliberately clear your gpg-agent's cache by sending it a `-HUP' signal. See `allout-toggle-current-subtree-encryption' function docstring and `allout-encrypt-unencrypted-on-saves' customization variable for details. HOT-SPOT Operation Hot-spot operation provides a means for easy, single-keystroke outline navigation and exposure control. When the text cursor is positioned directly on the bullet character of a topic, regular characters (a to z) invoke the commands of the corresponding allout-mode keymap control chars. For example, "f" would invoke the command typically bound to "C-cC-f" (\[allout-forward-current-level] `allout-forward-current-level'). Thus, by positioning the cursor on a topic bullet, you can execute the outline navigation and manipulation commands with a single keystroke. Regular navigation keys (eg, \[forward-char], \[next-line]) don't get this special translation, so you can use them to get out of the hot-spot and back to normal editing operation. In allout-mode, the normal beginning-of-line command (\[allout-beginning-of-line]) is replaced with one that makes it easy to get to the hot-spot. If you repeat it immediately it cycles (if `allout-beginning-of-line-cycles' is set) to the beginning of the item and then, if you hit it again immediately, to the hot-spot. Similarly, `allout-beginning-of-current-entry' (\[allout-beginning-of-current-entry]) moves to the hot-spot when the cursor is already located at the beginning of the current entry. Extending Allout Allout exposure and authoring activities all have associated hooks, by which independent code can cooperate with allout without changes to the allout core. Here are key ones: `allout-mode-hook' `allout-mode-deactivate-hook' (deprecated) `allout-mode-off-hook' `allout-exposure-change-functions' `allout-structure-added-functions' `allout-structure-deleted-functions' `allout-structure-shifted-functions' `allout-after-copy-or-kill-hook' `allout-post-undo-hook' Terminology Topic hierarchy constituents -- TOPICS and SUBTOPICS: ITEM: A unitary outline element, including the HEADER and ENTRY text. TOPIC: An ITEM and any ITEMs contained within it, ie having greater DEPTH and with no intervening items of lower DEPTH than the container. CURRENT ITEM: The visible ITEM most immediately containing the cursor. DEPTH: The degree of nesting of an ITEM; it increases with containment. The DEPTH is determined by the HEADER PREFIX. The DEPTH is also called the: LEVEL: The same as DEPTH. ANCESTORS: Those ITEMs whose TOPICs contain an ITEM. PARENT: An ITEM's immediate ANCESTOR. It has a DEPTH one less than that of the ITEM. OFFSPRING: The ITEMs contained within an ITEM's TOPIC. SUBTOPIC: An OFFSPRING of its ANCESTOR TOPICs. CHILD: An immediate SUBTOPIC of its PARENT. SIBLINGS: TOPICs having the same PARENT and DEPTH. Topic text constituents: HEADER: The first line of an ITEM, include the ITEM PREFIX and HEADER text. ENTRY: The text content of an ITEM, before any OFFSPRING, but including the HEADER text and distinct from the ITEM PREFIX. BODY: Same as ENTRY. PREFIX: The leading text of an ITEM which distinguishes it from normal ENTRY text. Allout recognizes the outline structure according to the strict PREFIX format. It consists of a PREFIX-LEAD string, PREFIX-PADDING, and a BULLET. The BULLET might be followed by a number, indicating the ordinal number of the topic among its siblings, or an asterisk indicating encryption, plus an optional space. After that is the ITEM HEADER text, which is not part of the PREFIX. The relative length of the PREFIX determines the nesting DEPTH of the ITEM. PREFIX-LEAD: The string at the beginning of a HEADER PREFIX, by default a `.'. It can be customized by changing the setting of `allout-header-prefix' and then reinitializing `allout-mode'. When the PREFIX-LEAD is set to the comment-string of a programming language, outline structuring can be embedded in program code without interfering with processing of the text (by Emacs or the language processor) as program code. This setting happens automatically when allout mode is used in programming-mode buffers. See `allout-use-mode-specific-leader' docstring for more detail. PREFIX-PADDING: Spaces or asterisks which separate the PREFIX-LEAD and the bullet, determining the ITEM's DEPTH. BULLET: A character at the end of the ITEM PREFIX, it must be one of the characters listed on `allout-plain-bullets-string' or `allout-distinctive-bullets-string'. When creating a TOPIC, plain BULLETs are by default used, according to the DEPTH of the TOPIC. Choice among the distinctive BULLETs is offered when you provide a universal argument (\[universal-argument]) to the TOPIC creation command, or when explicitly rebulleting a TOPIC. The significance of the various distinctive bullets is purely by convention. See the documentation for the above bullet strings for more details. EXPOSURE: The state of a TOPIC which determines the on-screen visibility of its OFFSPRING and contained ENTRY text. CONCEALED: TOPICs and ENTRY text whose EXPOSURE is inhibited. Concealed text is represented by "..." ellipses. CONCEALED TOPICs are effectively collapsed within an ANCESTOR. CLOSED: A TOPIC whose immediate OFFSPRING and body-text is CONCEALED. OPEN: A TOPIC that is not CLOSED, though its OFFSPRING or BODY may be. (fn &optional ARG)Foutlineify-sticky Activate outline mode and establish file var so it is started subsequently. See `allout-layout' and customization of `allout-auto-activation' for details on preparing Emacs for automatic allout activation. (fn &optional ARG)Fallout-widgets-setup Commission or decommission allout-widgets-mode along with allout-mode. Meant to be used by customization of `allout-widgets-auto-activation'. (fn VARNAME VALUE)Vallout-widgets-auto-activation Activate to enable allout icon graphics wherever allout mode is active. Also enable `allout-auto-activation' for this to take effect upon visiting an outline. When this is set you can disable allout widgets in select files by setting `allout-widgets-mode-inhibit'. Instead of setting `allout-widgets-auto-activation' you can explicitly invoke `allout-widgets-mode' in allout buffers where you want allout widgets operation. See `allout-widgets-mode' for allout widgets mode features.Fallout-widgets-mode Toggle Allout Widgets mode. If called interactively, enable Allout-Widgets mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Allout Widgets mode is an extension of Allout mode that provides graphical decoration of outline structure. It is meant to operate along with `allout-mode', via `allout-mode-hook'. The graphics include: - guide lines connecting item bullet-icons with those of their subitems. - icons for item bullets, varying to indicate whether or not the item has subitems, and if so, whether or not the item is expanded. - cue area between the bullet-icon and the start of the body headline, for item numbering, encryption indicator, and distinctive bullets. The bullet-icon and guide line graphics provide keybindings and mouse bindings for easy outline navigation and exposure control, extending outline hot-spot navigation (see `allout-mode'). (fn &optional ARG)Fange-ftp-reread-dir Reread remote directory DIR to update the directory cache. The implementation of remote FTP file names caches directory contents for speed. Therefore, when new remote files are created, Emacs may not know they exist. You can use this command to reread a specific directory, so that Emacs will know its current contents. (fn &optional DIR)Fange-ftp-hook-function (fn OPERATION &rest ARGS)Fanimate-string Display STRING animations starting at position VPOS, HPOS. The characters start at randomly chosen places, and all slide in parallel to their final positions, passing through `animate-n-steps' positions before the final ones. If HPOS is nil (or omitted), center the string horizontally in the current window. (fn STRING VPOS &optional HPOS)Fanimate-sequence Display animation strings from LIST-OF-STRING with buffer *Animation*. Strings will be separated from each other by SPACE lines. When the variable `animation-buffer-name' is non-nil display animation in the buffer named by variable's value, creating the buffer if one does not exist. (fn LIST-OF-STRINGS SPACE)Fanimate-birthday-present Return a birthday present in the buffer *Birthday-Present*. When optional arg NAME is non-nil or called-interactively, prompt for NAME of birthday present receiver and return a birthday present in the buffer *Birthday-Present-for-Name*. (fn &optional NAME)Fansi-color-for-comint-mode-on Set `ansi-color-for-comint-mode' to t.Fansi-color-process-output Maybe translate SGR control sequences of comint output into text properties. Depending on variable `ansi-color-for-comint-mode' the comint output is either not processed, SGR control sequences are filtered using `ansi-color-filter-region', or SGR control sequences are translated into text properties using `ansi-color-apply-on-region'. The comint output is assumed to lie between the marker `comint-last-output-start' and the process-mark. This is a good function to put in `comint-output-filter-functions'. (fn IGNORED)Fantlr-show-makefile-rules Show Makefile rules for all grammar files in the current directory. If the `major-mode' of the current buffer has the value `makefile-mode', the rules are directory inserted at point. Otherwise, a *Help* buffer is shown with the rules which are also put into the `kill-ring' for \[yank]. This command considers import/export vocabularies and grammar inheritance and provides a value for the "-glib" option if necessary. Customize variable `antlr-makefile-specification' for the appearance of the rules. If the file for a super-grammar cannot be determined, special file names are used according to variable `antlr-unknown-file-formats' and a commentary with value `antlr-help-unknown-file-text' is added. The *Help* buffer always starts with the text in `antlr-help-rules-intro'.Fantlr-mode Major mode for editing ANTLR grammar files. (fn)Fantlr-set-tabs Use ANTLR's convention for TABs according to `antlr-tab-offset-alist'. Used in `antlr-mode'. Also a useful function in `java-mode-hook'.Fappt-add Add an appointment for today at TIME with message MSG. The time should be in either 24 hour format or am/pm format. Optional argument WARNTIME is an integer (or string) giving the number of minutes before the appointment at which to start warning. The default is `appt-message-warning-time'. (fn TIME MSG &optional WARNTIME)Fappt-activate Toggle checking of appointments. With optional numeric argument ARG, turn appointment checking on if ARG is positive, otherwise off. (fn &optional ARG)Fapropos-read-pattern Read an apropos pattern, either a word list or a regexp. Returns the user pattern, either a list of words which are matched literally, or a string which is used as a regexp to search for. SUBJECT is a string that is included in the prompt to identify what kind of objects to search. (fn SUBJECT)Fapropos-user-option Show user options that match PATTERN. PATTERN can be a word, a list of words (separated by spaces), or a regexp (using some regexp special characters). If it is a word, search for matches for that word as a substring. If it is a list of words, search for matches for any two (or more) of those words. With \[universal-argument] prefix, or if `apropos-do-all' is non-nil, also show variables, not just user options. (fn PATTERN &optional DO-ALL)Fapropos-variable Show variables that match PATTERN. With the optional argument DO-NOT-ALL non-nil (or when called interactively with the prefix \[universal-argument]), show user options only, i.e. behave like `apropos-user-option'. (fn PATTERN &optional DO-NOT-ALL)Fapropos-local-variable Show buffer-local variables that match PATTERN. Optional arg BUFFER (default: current buffer) is the buffer to check. The output includes variables that are not yet set in BUFFER, but that will be buffer-local when set. (fn PATTERN &optional BUFFER)Fapropos-command Show commands (interactively callable functions) that match PATTERN. PATTERN can be a word, a list of words (separated by spaces), or a regexp (using some regexp special characters). If it is a word, search for matches for that word as a substring. If it is a list of words, search for matches for any two (or more) of those words. With \[universal-argument] prefix, or if `apropos-do-all' is non-nil, also show noninteractive functions. If VAR-PREDICATE is non-nil, show only variables, and only those that satisfy the predicate VAR-PREDICATE. When called from a Lisp program, a string PATTERN is used as a regexp, while a list of strings is used as a word list. (fn PATTERN &optional DO-ALL VAR-PREDICATE)Fapropos-documentation-property Like (documentation-property SYMBOL PROPERTY RAW) but handle errors. (fn SYMBOL PROPERTY RAW)Fapropos Show all meaningful Lisp symbols whose names match PATTERN. Symbols are shown if they are defined as functions, variables, or faces, or if they have nonempty property lists. PATTERN can be a word, a list of words (separated by spaces), or a regexp (using some regexp special characters). If it is a word, search for matches for that word as a substring. If it is a list of words, search for matches for any two (or more) of those words. With \[universal-argument] prefix, or if `apropos-do-all' is non-nil, consider all symbols (if they match PATTERN). Returns list of symbols and documentation found. (fn PATTERN &optional DO-ALL)Fapropos-library List the variables and functions defined by library FILE. FILE should be one of the libraries currently loaded and should thus be found in `load-history'. If `apropos-do-all' is non-nil, the output includes key-bindings of commands. (fn FILE)Fapropos-value Show all symbols whose value's printed representation matches PATTERN. PATTERN can be a word, a list of words (separated by spaces), or a regexp (using some regexp special characters). If it is a word, search for matches for that word as a substring. If it is a list of words, search for matches for any two (or more) of those words. With \[universal-argument] prefix, or if `apropos-do-all' is non-nil, also looks at function definitions (arguments, documentation and body) and at the names and values of properties. Returns list of symbols and values found. (fn PATTERN &optional DO-ALL)Fapropos-local-value Show buffer-local variables whose values match PATTERN. This is like `apropos-value', but only for buffer-local variables. Optional arg BUFFER (default: current buffer) is the buffer to check. (fn PATTERN &optional BUFFER)Fapropos-documentation Show symbols whose documentation contains matches for PATTERN. PATTERN can be a word, a list of words (separated by spaces), or a regexp (using some regexp special characters). If it is a word, search for matches for that word as a substring. If it is a list of words, search for matches for any two (or more) of those words. Note that by default this command only searches in the file specified by `internal-doc-file-name'; i.e., the etc/DOC file. With \[universal-argument] prefix, or if `apropos-do-all' is non-nil, it searches all currently defined documentation strings. Returns list of symbols and documentation found. (fn PATTERN &optional DO-ALL)Farchive-mode Major mode for viewing an archive file in a dired-like way. You can move around using the usual cursor motion commands. Letters no longer insert themselves. Type `e' to pull a file out of the archive and into its own buffer; or click mouse-2 on the file's line in the archive mode buffer. If you edit a sub-file of this archive (as with the `e' command) and save it, the contents of that buffer will be saved back into the archive. \{archive-mode-map} (fn &optional FORCE)Farray-mode Major mode for editing arrays. Array mode is a specialized mode for editing arrays. An array is considered to be a two-dimensional set of strings. The strings are NOT recognized as integers or real numbers. The array MUST reside at the top of the buffer. TABs are not respected, and may be converted into spaces at any time. Setting the variable `array-respect-tabs' to non-nil will prevent TAB conversion, but will cause many functions to give errors if they encounter one. Upon entering array mode, you will be prompted for the values of several variables. Others will be calculated based on the values you supply. These variables are all local to the buffer. Other buffer in array mode may have different values assigned to the variables. The variables are: Variables you assign: array-max-row: The number of rows in the array. array-max-column: The number of columns in the array. array-columns-per-line: The number of columns in the array per line of buffer. array-field-width: The width of each field, in characters. array-rows-numbered: A logical variable describing whether to ignore row numbers in the buffer. Variables which are calculated: array-line-length: The number of characters in a buffer line. array-lines-per-row: The number of buffer lines used to display each row. The following commands are available (an asterisk indicates it may take a numeric prefix argument): * \\[array-forward-column] Move forward one column. * \[array-backward-column] Move backward one column. * \[array-next-row] Move down one row. * \[array-previous-row] Move up one row. * \[array-copy-forward] Copy the current field into the column to the right. * \[array-copy-backward] Copy the current field into the column to the left. * \[array-copy-down] Copy the current field into the row below. * \[array-copy-up] Copy the current field into the row above. * \[array-copy-column-forward] Copy the current column into the column to the right. * \[array-copy-column-backward] Copy the current column into the column to the left. * \[array-copy-row-down] Copy the current row into the row below. * \[array-copy-row-up] Copy the current row into the row above. \[array-fill-rectangle] Copy the field at mark into every cell with row and column between that of point and mark. \[array-what-position] Display the current array row and column. \[array-goto-cell] Go to a particular array cell. \[array-make-template] Make a template for a new array. \[array-reconfigure-rows] Reconfigure the array. \[array-expand-rows] Expand the array (remove row numbers and newlines inside rows) \[array-display-local-variables] Display the current values of local variables. Entering array mode calls the function `array-mode-hook'. (fn)Fartist-mode Toggle Artist mode. If called interactively, enable Artist mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Artist lets you draw lines, squares, rectangles and poly-lines, ellipses and circles with your mouse and/or keyboard. How to quit Artist mode Type \[artist-mode-off] to quit artist-mode. How to submit a bug report Type \[artist-submit-bug-report] to submit a bug report. Drawing with the mouse: mouse-2 shift mouse-2 Pops up a menu where you can select what to draw with mouse-1, and where you can do some settings (described below). mouse-1 shift mouse-1 Draws lines, rectangles or poly-lines, erases, cuts, copies or pastes: Operation Not shifted Shifted -------------------------------------------------------------- Pen fill-char at point line from last point to new point -------------------------------------------------------------- Line Line in any direction Straight line -------------------------------------------------------------- Rectangle Rectangle Square -------------------------------------------------------------- Poly-line Poly-line in any dir Straight poly-lines -------------------------------------------------------------- Ellipses Ellipses Circles -------------------------------------------------------------- Text Text (see thru) Text (overwrite) -------------------------------------------------------------- Spray-can Spray-can Set size for spray -------------------------------------------------------------- Erase Erase character Erase rectangle -------------------------------------------------------------- Vaporize Erase single line Erase connected lines -------------------------------------------------------------- Cut Cut rectangle Cut square -------------------------------------------------------------- Copy Copy rectangle Copy square -------------------------------------------------------------- Paste Paste Paste -------------------------------------------------------------- Flood-fill Flood-fill Flood-fill -------------------------------------------------------------- * Straight lines can only go horizontally, vertically or diagonally. * Poly-lines are drawn while holding mouse-1 down. When you release the button, the point is set. If you want a segment to be straight, hold down shift before pressing the mouse-1 button. Click mouse-2 or mouse-3 to stop drawing poly-lines. * See thru for text means that text already in the buffer will be visible through blanks in the text rendered, while overwrite means the opposite. * Vaporizing connected lines only vaporizes lines whose _endpoints_ are connected. See also the variable `artist-vaporize-fuzziness'. * Cut copies, then clears the rectangle/square. * When drawing lines or poly-lines, you can set arrows. See below under "Arrows" for more info. * The mode line shows the currently selected drawing operation. In addition, if it has an asterisk (*) at the end, you are currently drawing something. * Be patient when flood-filling -- large areas take quite some time to fill. mouse-3 Erases character under pointer shift mouse-3 Erases rectangle Settings Set fill Sets the character used when filling rectangles/squares Set line Sets the character used when drawing lines Erase char Sets the character used when erasing Rubber-banding Toggles rubber-banding Trimming Toggles trimming of line-endings (that is: when the shape is drawn, extraneous white-space at end of lines is removed) Borders Toggles the drawing of line borders around filled shapes Drawing with keys \[artist-key-set-point] Does one of the following: For lines/rectangles/squares: sets the first/second endpoint For poly-lines: sets a point (use C-u \[artist-key-set-point] to set last point) When erase characters: toggles erasing When cutting/copying: Sets first/last endpoint of rect/square When pasting: Pastes \[artist-select-operation] Selects what to draw Move around with \[artist-next-line], \[artist-previous-line], \[artist-forward-char] and \[artist-backward-char]. \[artist-select-fill-char] Sets the character to use when filling \[artist-select-line-char] Sets the character to use when drawing \[artist-select-erase-char] Sets the character to use when erasing \[artist-toggle-rubber-banding] Toggles rubber-banding \[artist-toggle-trim-line-endings] Toggles trimming of line-endings \[artist-toggle-borderless-shapes] Toggles borders on drawn shapes Arrows \[artist-toggle-first-arrow] Sets/unsets an arrow at the beginning of the line/poly-line \[artist-toggle-second-arrow] Sets/unsets an arrow at the end of the line/poly-line Selecting operation There are some keys for quickly selecting drawing operations: \[artist-select-op-line] Selects drawing lines \[artist-select-op-straight-line] Selects drawing straight lines \[artist-select-op-rectangle] Selects drawing rectangles \[artist-select-op-square] Selects drawing squares \[artist-select-op-poly-line] Selects drawing poly-lines \[artist-select-op-straight-poly-line] Selects drawing straight poly-lines \[artist-select-op-ellipse] Selects drawing ellipses \[artist-select-op-circle] Selects drawing circles \[artist-select-op-text-see-thru] Selects rendering text (see thru) \[artist-select-op-text-overwrite] Selects rendering text (overwrite) \[artist-select-op-spray-can] Spray with spray-can \[artist-select-op-spray-set-size] Set size for the spray-can \[artist-select-op-erase-char] Selects erasing characters \[artist-select-op-erase-rectangle] Selects erasing rectangles \[artist-select-op-vaporize-line] Selects vaporizing single lines \[artist-select-op-vaporize-lines] Selects vaporizing connected lines \[artist-select-op-cut-rectangle] Selects cutting rectangles \[artist-select-op-copy-rectangle] Selects copying rectangles \[artist-select-op-paste] Selects pasting \[artist-select-op-flood-fill] Selects flood-filling Variables This is a brief overview of the different variables. For more info, see the documentation for the variables (type \[describe-variable] RET). artist-rubber-banding Interactively do rubber-banding or not artist-first-char What to set at first/second point... artist-second-char ...when not rubber-banding artist-interface-with-rect If cut/copy/paste should interface with rect artist-arrows The arrows to use when drawing arrows artist-aspect-ratio Character height-to-width for squares artist-trim-line-endings Trimming of line endings artist-flood-fill-right-border Right border when flood-filling artist-flood-fill-show-incrementally Update display while filling artist-pointer-shape Pointer shape to use while drawing artist-ellipse-left-char Character to use for narrow ellipses artist-ellipse-right-char Character to use for narrow ellipses artist-borderless-shapes If shapes should have borders artist-picture-compatibility Whether or not to be picture mode compatible artist-vaporize-fuzziness Tolerance when recognizing lines artist-spray-interval Seconds between repeated sprayings artist-spray-radius Size of the spray-area artist-spray-chars The spray-"color" artist-spray-new-chars Initial spray-"color" Hooks Turning the mode on or off runs `artist-mode-hook'. Keymap summary \{artist-mode-map} (fn &optional ARG)Fasm-mode Major mode for editing typical assembler code. Features a private abbrev table and the following bindings: \[asm-colon] outdent a preceding label, tab to next tab stop. \[tab-to-tab-stop] tab to next tab stop. \[newline-and-indent] newline, then tab to next tab stop. \[asm-comment] smart placement of assembler comments. The character used for making comments is set by the variable `asm-comment-char' (which defaults to `?\;'). Alternatively, you may set this variable in `asm-mode-set-comment-hook', which is called near the beginning of mode initialization. Turning on Asm mode runs the hook `asm-mode-hook' at the end of initialization. Special commands: \{asm-mode-map} (fn)Vauth-source-cache-expiry How many seconds passwords are cached, or nil to disable expiring. Overrides `password-cache-expiry' through a let-binding.Fauthinfo-mode Mode for editing .authinfo/.netrc files. This is just like `fundamental-mode', but hides passwords. The passwords are revealed when point moved into the password. \{authinfo-mode-map} (fn)Fauth-source-pass-enable Enable auth-source-password-store.Fauth-source-pass-get Return the value associated to KEY in the password-store entry ENTRY. ENTRY is the name of a password-store entry. The key used to retrieve the password is the symbol `secret'. The convention used as the format for a password-store file is the following (see http://www.passwordstore.org/#organization): secret key1: value1 key2: value2 (fn KEY ENTRY)Vautoarg-mode Non-nil if Autoarg mode is enabled. See the `autoarg-mode' command for a description of this minor mode.Fautoarg-mode Toggle Autoarg mode, a global minor mode. \ In Autoarg mode, digits are bound to `digit-argument', i.e. they supply prefix arguments as C-DIGIT and M-DIGIT normally do. Furthermore, C-DIGIT inserts DIGIT. \[autoarg-terminate] terminates the prefix sequence and inserts the digits of the autoarg sequence into the buffer. Without a numeric prefix arg, the normal binding of \[autoarg-terminate] is invoked, i.e. what it would be with Autoarg mode off. For example: `6 9 \[autoarg-terminate]' inserts `69' into the buffer, as does `C-6 C-9'. `6 9 a' inserts 69 `a's into the buffer. `6 9 \[autoarg-terminate] \[autoarg-terminate]' inserts `69' into the buffer and then invokes the normal binding of \[autoarg-terminate]. `C-u \[autoarg-terminate]' invokes the normal binding of \[autoarg-terminate] four times. \{autoarg-mode-map} (fn &optional ARG)Vautoarg-kp-mode Non-nil if Autoarg-Kp mode is enabled. See the `autoarg-kp-mode' command 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 `autoarg-kp-mode'.Fautoarg-kp-mode Toggle Autoarg-KP mode, a global minor mode. If called interactively, enable Autoarg-Kp mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. \ This is similar to `autoarg-mode' but rebinds the keypad keys `kp-1' etc. to supply digit arguments. \{autoarg-kp-mode-map} (fn &optional ARG)Fautoconf-mode Major mode for editing Autoconf configure.ac files. (fn)Fauto-insert Insert default contents into new files if variable `auto-insert' is non-nil. Matches the visited file name against the elements of `auto-insert-alist'.Fdefine-auto-insert Associate CONDITION with (additional) ACTION in `auto-insert-alist'. Optional AFTER means to insert action after all existing actions for CONDITION, or if CONDITION had no actions, after all other CONDITIONs. (fn CONDITION ACTION &optional AFTER)Vauto-insert-mode Non-nil if Auto-Insert mode is enabled. See the `auto-insert-mode' command 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 `auto-insert-mode'.Fauto-insert-mode Toggle Auto-insert mode, a global minor mode. If called interactively, enable Auto-Insert mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When Auto-insert mode is enabled, when new files are created you can insert a template for the file depending on the mode of the buffer. (fn &optional ARG)Fupdate-file-autoloads Update the autoloads for FILE. If prefix arg SAVE-AFTER is non-nil, save the buffer too. If FILE binds `generated-autoload-file' as a file-local variable, autoloads are written into that file. Otherwise, the autoloads file is determined by OUTFILE. If called interactively, prompt for OUTFILE; if called from Lisp with OUTFILE nil, use the existing value of `generated-autoload-file'. Return FILE if there was no autoload cookie in it, else nil. (fn FILE &optional SAVE-AFTER OUTFILE)Fupdate-directory-autoloads Update autoload definitions for Lisp files in the directories DIRS. In an interactive call, you must give one argument, the name of a single directory. In a call from Lisp, you can supply multiple directories as separate arguments, but this usage is discouraged. The function does NOT recursively descend into subdirectories of the directory or directories specified. In an interactive call, prompt for a default output file for the autoload definitions, and temporarily bind the variable `generated-autoload-file' to this value. When called from Lisp, use the existing value of `generated-autoload-file'. If any Lisp file binds `generated-autoload-file' as a file-local variable, write its autoloads into the specified file instead. (fn &rest DIRS)Fbatch-update-autoloads Update loaddefs.el autoloads in batch mode. Calls `update-directory-autoloads' on the command line arguments. Definitions are written to `generated-autoload-file' (which should be non-nil).Fauto-revert-mode Toggle reverting buffer when the file changes (Auto-Revert Mode). If called interactively, enable Auto-Revert mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Auto-Revert Mode is a minor mode that affects only the current buffer. When enabled, it reverts the buffer when the file on disk changes. When a buffer is reverted, a message is generated. This can be suppressed by setting `auto-revert-verbose' to nil. Use `global-auto-revert-mode' to automatically revert all buffers. Use `auto-revert-tail-mode' if you know that the file will only grow without being changed in the part that is already in the buffer. (fn &optional ARG)Fturn-on-auto-revert-mode Turn on Auto-Revert Mode. This function is designed to be added to hooks, for example: (add-hook \='c-mode-hook #\='turn-on-auto-revert-mode)Fauto-revert-tail-mode Toggle reverting tail of buffer when the file grows. If called interactively, enable Auto-Revert-Tail mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When Auto-Revert Tail Mode is enabled, the tail of the file is constantly followed, as with the shell command `tail -f'. This means that whenever the file grows on disk (presumably because some background process is appending to it from time to time), this is reflected in the current buffer. You can edit the buffer and turn this mode off and on again as you please. But make sure the background process has stopped writing before you save the file! When a buffer is reverted, a message is generated. This can be suppressed by setting `auto-revert-verbose' to nil. Use `auto-revert-mode' for changes other than appends! (fn &optional ARG)Fturn-on-auto-revert-tail-mode Turn on Auto-Revert Tail Mode. This function is designed to be added to hooks, for example: (add-hook \='my-logfile-mode-hook #\='turn-on-auto-revert-tail-mode)Vglobal-auto-revert-mode Non-nil if Global Auto-Revert mode is enabled. See the `global-auto-revert-mode' command 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 `global-auto-revert-mode'.Fglobal-auto-revert-mode Toggle Global Auto-Revert Mode. If called interactively, enable Global Auto-Revert mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Global Auto-Revert Mode is a global minor mode that reverts any buffer associated with a file when the file changes on disk. Use `auto-revert-mode' to revert a particular buffer. If `global-auto-revert-non-file-buffers' is non-nil, this mode may also revert some non-file buffers, as described in the documentation of that variable. It ignores buffers with modes matching `global-auto-revert-ignore-modes', and buffers with a non-nil value of `global-auto-revert-ignore-buffer'. When a buffer is reverted, a message is generated. This can be suppressed by setting `auto-revert-verbose' to nil. This function calls the hook `global-auto-revert-mode-hook'. It displays the text that `global-auto-revert-mode-text' specifies in the mode line. (fn &optional ARG)Vmouse-avoidance-mode Activate Mouse Avoidance mode. See function `mouse-avoidance-mode' for possible values. Setting this variable directly does not take effect; use either \[customize] or the function `mouse-avoidance-mode'.Fmouse-avoidance-mode Set Mouse Avoidance mode to MODE. MODE should be one of the symbols `banish', `exile', `jump', `animate', `cat-and-mouse', `proteus', or `none'. If MODE is nil, toggle mouse avoidance between `none' and `banish' modes. Positive numbers and symbols other than the above are treated as equivalent to `banish'; negative numbers and `-' are equivalent to `none'. Effects of the different modes: * banish: Move the mouse to the upper-right corner on any keypress. * exile: Move the mouse to the corner only if the cursor gets too close, and allow it to return once the cursor is out of the way. * jump: If the cursor gets too close to the mouse, displace the mouse a random distance & direction. * animate: As `jump', but shows steps along the way for illusion of motion. * cat-and-mouse: Same as `animate'. * proteus: As `animate', but changes the shape of the mouse pointer too. (See `mouse-avoidance-threshold' for definition of "too close", and `mouse-avoidance-nudge-dist' and `mouse-avoidance-nudge-var' for definition of "random distance".) (fn &optional MODE)Fbacktrace Print a trace of Lisp function calls currently active. Output stream used is value of `standard-output'.Fbat-mode Major mode for editing DOS/Windows batch files. Start a new script from `bat-template'. Read help pages for DOS commands with `bat-cmd-help'. Navigate between sections using `imenu'. Run script using `bat-run' and `bat-run-args'. \{bat-mode-map} (fn)Fbattery Display battery status information in the echo area. The text being displayed in the echo area is controlled by the variables `battery-echo-area-format' and `battery-status-function'.Vdisplay-battery-mode Non-nil if Display-Battery mode is enabled. See the `display-battery-mode' command 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 `display-battery-mode'.Fdisplay-battery-mode Toggle battery status display in mode line (Display Battery mode). If called interactively, enable Display-Battery mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. The text displayed in the mode line is controlled by `battery-mode-line-format' and `battery-status-function'. The mode line is be updated every `battery-update-interval' seconds. (fn &optional ARG)Fbenchmark-run Time execution of FORMS. If REPETITIONS is supplied as a number, run forms that many times, accounting for the overhead of the resulting loop. Otherwise run FORMS once. Return a list of the total elapsed time for execution, the number of garbage collections that ran, and the time taken by garbage collection. See also `benchmark-run-compiled'. (fn &optional REPETITIONS &rest FORMS)Fbenchmark-run-compiled Time execution of compiled version of FORMS. This is like `benchmark-run', but what is timed is a funcall of the byte code obtained by wrapping FORMS in a `lambda' and compiling the result. The overhead of the `lambda's is accounted for. (fn &optional REPETITIONS &rest FORMS)Fbenchmark Print the time taken for REPETITIONS executions of FORM. Interactively, REPETITIONS is taken from the prefix arg, and the command prompts for the form to benchmark. For non-interactive use see also `benchmark-run' and `benchmark-run-compiled'. (fn REPETITIONS FORM)Fbenchmark-progn Evaluate BODY and message the time taken. The return value is the value of the final form in BODY. (fn &rest BODY)Fbibtex-initialize (Re)Initialize BibTeX buffers. Visit the BibTeX files defined by `bibtex-files' and return a list of corresponding buffers. Initialize in these buffers `bibtex-reference-keys' if not yet set. List of BibTeX buffers includes current buffer if CURRENT is non-nil and the current buffer visits a file using `bibtex-mode'. If FORCE is non-nil, (re)initialize `bibtex-reference-keys' even if already set. If SELECT is non-nil interactively select a BibTeX buffer. When called interactively, FORCE is t, CURRENT is t if current buffer visits a file using `bibtex-mode', and SELECT is t if current buffer does not use `bibtex-mode'. (fn &optional CURRENT FORCE SELECT)Fbibtex-mode Major mode for editing BibTeX files. General information on working with BibTeX mode: Use commands such as \\[bibtex-Book] to get a template for a specific entry. Then fill in all desired fields using \[bibtex-next-field] to jump from field to field. After having filled in all desired fields in the entry, clean the new entry with the command \[bibtex-clean-entry]. Some features of BibTeX mode are available only by setting the variable `bibtex-maintain-sorted-entries' to non-nil. However, then BibTeX mode works only with buffers containing valid (syntactically correct) and sorted entries. This is usually the case, if you have created a buffer completely with BibTeX mode and finished every new entry with \[bibtex-clean-entry]. For third party BibTeX files, call the command \[bibtex-convert-alien] to fully take advantage of all features of BibTeX mode. Special information: A command such as \[bibtex-Book] outlines the fields for a BibTeX book entry. The names of optional fields start with the string OPT, and are thus ignored by BibTeX. The names of alternative fields from which only one is required start with the string ALT. The OPT or ALT string may be removed from the name of a field with \[bibtex-remove-OPT-or-ALT]. \[bibtex-make-field] inserts a new field after the current one. \[bibtex-kill-field] kills the current field entirely. \[bibtex-yank] yanks the last recently killed field after the current field. \[bibtex-remove-delimiters] removes the double-quotes or braces around the text of the current field. \[bibtex-empty-field] replaces the text of the current field with the default "" or {}. \[bibtex-find-text] moves point to the end of the current field. \[completion-at-point] completes word fragment before point according to context. The command \[bibtex-clean-entry] cleans the current entry, i.e. it removes OPT/ALT from the names of all non-empty optional or alternative fields, checks that no required fields are empty, and does some formatting dependent on the value of `bibtex-entry-format'. Furthermore, it can automatically generate a key for the BibTeX entry, see `bibtex-generate-autokey'. Note: some functions in BibTeX mode depend on entries being in a special format (all fields beginning on separate lines), so it is usually a bad idea to remove `realign' from `bibtex-entry-format'. BibTeX mode supports Imenu and hideshow minor mode (`hs-minor-mode'). ---------------------------------------------------------- Entry to BibTeX mode calls the value of `bibtex-mode-hook' if that value is non-nil. \{bibtex-mode-map} (fn)Fbibtex-search-entry Move point to the beginning of BibTeX entry named KEY. Return position of entry if KEY is found or nil if not found. With GLOBAL non-nil, search KEY in `bibtex-files'. Otherwise the search is limited to the current buffer. Optional arg START is buffer position where the search starts. If it is nil, start search at beginning of buffer. If DISPLAY is non-nil, display the buffer containing KEY. Otherwise, use `set-buffer'. When called interactively, START is nil, DISPLAY is t. Also, GLOBAL is t if the current mode is not `bibtex-mode' or `bibtex-search-entry-globally' is non-nil. A prefix arg negates the value of `bibtex-search-entry-globally'. (fn KEY &optional GLOBAL START DISPLAY)Fbibtex-style-mode Major mode for editing BibTeX style files. (fn)Vbinhex-begin-line Regular expression matching the start of a BinHex encoded region.Fbinhex-decode-region-internal Binhex decode region between START and END without using an external program. If HEADER-ONLY is non-nil only decode header and return filename. (fn START END &optional HEADER-ONLY)Fbinhex-decode-region-external Binhex decode region between START and END using external decoder. (fn START END)Fbinhex-decode-region Binhex decode region between START and END. (fn START END)Fblackbox Play blackbox. Optional prefix argument is the number of balls; the default is 4. What is blackbox? Blackbox is a game of hide and seek played on an 8 by 8 grid (the Blackbox). Your opponent (Emacs, in this case) has hidden several balls (usually 4) within this box. By shooting rays into the box and observing where they emerge it is possible to deduce the positions of the hidden balls. The fewer rays you use to find the balls, the lower your score. Overview of play: \To play blackbox, type \[blackbox]. An optional prefix argument specifies the number of balls to be hidden in the box; the default is four. The cursor can be moved around the box with the standard cursor movement keys. To shoot a ray, move the cursor to the edge of the box and press SPC. The result will be determined and the playfield updated. You may place or remove balls in the box by moving the cursor into the box and pressing \[bb-romp]. When you think the configuration of balls you have placed is correct, press \[bb-done]. You will be informed whether you are correct or not, and be given your score. Your score is the number of letters and numbers around the outside of the box plus five for each incorrectly placed ball. If you placed any balls incorrectly, they will be indicated with `x', and their actual positions indicated with `o'. Details: There are three possible outcomes for each ray you send into the box: Detour: the ray is deflected and emerges somewhere other than where you sent it in. On the playfield, detours are denoted by matching pairs of numbers -- one where the ray went in, and the other where it came out. Reflection: the ray is reflected and emerges in the same place it was sent in. On the playfield, reflections are denoted by the letter `R'. Hit: the ray strikes a ball directly and is absorbed. It does not emerge from the box. On the playfield, hits are denoted by the letter `H'. The rules for how balls deflect rays are simple and are best shown by example. As a ray approaches a ball it is deflected ninety degrees. Rays can be deflected multiple times. In the diagrams below, the dashes represent empty box locations and the letter `O' represents a ball. The entrance and exit points of each ray are marked with numbers as described under "Detour" above. Note that the entrance and exit points are always interchangeable. `*' denotes the path taken by the ray. Note carefully the relative positions of the ball and the ninety degree deflection it causes. 1 - * - - - - - - - - - - - - - - - - - - - - - - - * - - - - - - - - - - - - - - - - - - - - - - 1 * * - - - - - - - - - - - - - - - O - - - - O - - - O - - - - - - - O - - - - - - - * * * * - - - - - - - - - - - - - * * * * * 2 3 * * * - - * - - - - - - - - - - - - - * - - - - - - - O - * - - - - - - - - - - - - - * - - - - - - - - * * - - - - - - - - - - - - - * - - - - - - - - * - O - 2 3 As mentioned above, a reflection occurs when a ray emerges from the same point it was sent in. This can happen in several ways: - - - - - - - - - - - - - - - - - - - - - - - - - - - - O - - - - - O - O - - - - - - - - - - - R * * * * - - - - - - - * - - - - O - - - - - - - - - - - O - - - - - - * - - - - R - - - - - - - - - - - - - - - - - - - * - - - - - - - - - - - - - - - - - - - - - - - * - - - - - - - - - - - - - - - - - - - - R * * * * - - - - - - - - - - - - - - - - - - - - - - - - O - - - - - - - - - - - In the first example, the ray is deflected downwards by the upper ball, then left by the lower ball, and finally retraces its path to its point of origin. The second example is similar. The third example is a bit anomalous but can be rationalized by realizing the ray never gets a chance to get into the box. Alternatively, the ray can be thought of as being deflected downwards and immediately emerging from the box. A hit occurs when a ray runs straight into a ball: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - O - - - - - - - - - - - - - - - O - - - H * * * * - - - - - - - - - - - - H * * * * O - - - - - - * - - - - - - - - - - - - - - - - O - - - - - - O - - - - H * * * O - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Be sure to compare the second example of a hit with the first example of a reflection. (fn NUM)Vbookmark-map Keymap containing bindings to bookmark functions. It is not bound to any key by default: to bind it so that you have a bookmark prefix, just use `global-set-key' and bind a key of your choice to variable `bookmark-map'. All interactive bookmark functions have a binding in this keymap.Fbookmark-set Set a bookmark named NAME at the current location. If NAME is nil, then prompt the user. With a prefix arg (non-nil NO-OVERWRITE), do not overwrite any existing bookmark that has the same name as NAME, but instead push the new bookmark onto the bookmark alist. The most recently set bookmark with name NAME is thus the one in effect at any given time, but the others are still there, should the user decide to delete the most recent one. To yank words from the text of the buffer and use them as part of the bookmark name, type C-w while setting a bookmark. Successive C-w's yank successive words. Typing C-u inserts (at the bookmark name prompt) the name of the last bookmark used in the document where the new bookmark is being set; this helps you use a single bookmark name to track progress through a large document. If there is no prior bookmark for this document, then C-u inserts an appropriate name based on the buffer or file. Use \[bookmark-delete] to remove bookmarks (you give it a name and it removes only the first instance of a bookmark with that name from the list of bookmarks.) (fn &optional NAME NO-OVERWRITE)Fbookmark-set-no-overwrite Set a bookmark named NAME at the current location. If NAME is nil, then prompt the user. If a bookmark named NAME already exists and prefix argument PUSH-BOOKMARK is non-nil, then push the new bookmark onto the bookmark alist. Pushing it means that among bookmarks named NAME, this one becomes the one in effect, but the others are still there, in order, and become effective again if the user ever deletes the most recent one. Otherwise, if a bookmark named NAME already exists but PUSH-BOOKMARK is nil, raise an error. To yank words from the text of the buffer and use them as part of the bookmark name, type C-w while setting a bookmark. Successive C-w's yank successive words. Typing C-u inserts (at the bookmark name prompt) the name of the last bookmark used in the document where the new bookmark is being set; this helps you use a single bookmark name to track progress through a large document. If there is no prior bookmark for this document, then C-u inserts an appropriate name based on the buffer or file. Use \[bookmark-delete] to remove bookmarks (you give it a name and it removes only the first instance of a bookmark with that name from the list of bookmarks.) (fn &optional NAME PUSH-BOOKMARK)Fbookmark-jump Jump to bookmark BOOKMARK (a point in some file). You may have a problem using this function if the value of variable `bookmark-alist' is nil. If that happens, you need to load in some bookmarks. See help on function `bookmark-load' for more about this. If the file pointed to by BOOKMARK no longer exists, you will be asked if you wish to give the bookmark a new location, and `bookmark-jump' will then jump to the new location, as well as recording it in place of the old one in the permanent bookmark record. BOOKMARK is usually a bookmark name (a string). It can also be a bookmark record, but this is usually only done by programmatic callers. If DISPLAY-FUNC is non-nil, it is a function to invoke to display the bookmark. It defaults to `pop-to-buffer-same-window'. A typical value for DISPLAY-FUNC would be `switch-to-buffer-other-window'. (fn BOOKMARK &optional DISPLAY-FUNC)Fbookmark-jump-other-window Jump to BOOKMARK in another window. See `bookmark-jump' for more. (fn BOOKMARK)Fbookmark-jump-other-frame Jump to BOOKMARK in another frame. See `bookmark-jump' for more. (fn BOOKMARK)Fbookmark-relocate Relocate BOOKMARK-NAME to another file, reading file name with minibuffer. This makes an already existing bookmark point to that file, instead of the one it used to point at. Useful when a file has been renamed after a bookmark was set in it. (fn BOOKMARK-NAME)Fbookmark-insert-location Insert the name of the file associated with BOOKMARK-NAME. Optional second arg NO-HISTORY means don't record this in the minibuffer history list `bookmark-history'. (fn BOOKMARK-NAME &optional NO-HISTORY)Fbookmark-rename Change the name of OLD-NAME bookmark to NEW-NAME name. If called from keyboard, prompt for OLD-NAME and NEW-NAME. If called from menubar, select OLD-NAME from a menu and prompt for NEW-NAME. If called from Lisp, prompt for NEW-NAME if only OLD-NAME was passed as an argument. If called with two strings, then no prompting is done. You must pass at least OLD-NAME when calling from Lisp. While you are entering the new name, consecutive C-w's insert consecutive words from the text of the buffer into the new bookmark name. (fn OLD-NAME &optional NEW-NAME)Fbookmark-insert Insert the text of the file pointed to by bookmark BOOKMARK-NAME. BOOKMARK-NAME is a bookmark name (a string), not a bookmark record. You may have a problem using this function if the value of variable `bookmark-alist' is nil. If that happens, you need to load in some bookmarks. See help on function `bookmark-load' for more about this. (fn BOOKMARK-NAME)Fbookmark-delete Delete BOOKMARK-NAME from the bookmark list. Removes only the first instance of a bookmark with that name. If there are one or more other bookmarks with the same name, they will not be deleted. Defaults to the "current" bookmark (that is, the one most recently used in this file, if any). Optional second arg BATCH means don't update the bookmark list buffer, probably because we were called from there. (fn BOOKMARK-NAME &optional BATCH)Fbookmark-write Write bookmarks to a file (reading the file name with the minibuffer).Fbookmark-save Save currently defined bookmarks in FILE. FILE defaults to `bookmark-default-file'. With prefix PARG, query user for a file to save in. If MAKE-DEFAULT is non-nil (interactively with prefix C-u C-u) the file we save in becomes the new default in the current Emacs session (without affecting the value of `bookmark-default-file'.). When you want to load in the bookmarks from a file, use `bookmark-load', \[bookmark-load]. That function will prompt you for a file, defaulting to the file defined by variable `bookmark-default-file'. (fn &optional PARG FILE MAKE-DEFAULT)Fbookmark-load Load bookmarks from FILE (which must be in bookmark format). Appends loaded bookmarks to the front of the list of bookmarks. If argument OVERWRITE is non-nil, existing bookmarks are destroyed. Optional third arg NO-MSG means don't display any messages while loading. If DEFAULT is non-nil make FILE the new bookmark file to watch. Interactively, a prefix arg makes OVERWRITE and DEFAULT non-nil. If you load a file that doesn't contain a proper bookmark alist, you will corrupt Emacs's bookmark list. Generally, you should only load in files that were created with the bookmark functions in the first place. Your own personal bookmark file, specified by the variable `bookmark-default-file', is maintained automatically by Emacs; you shouldn't need to load it explicitly. If you load a file containing bookmarks with the same names as bookmarks already present in your Emacs, the new bookmarks will get unique numeric suffixes "<2>", "<3>", etc. (fn FILE &optional OVERWRITE NO-MSG DEFAULT)Fbookmark-bmenu-list Display a list of existing bookmarks. The list is displayed in a buffer named `*Bookmark List*'. The leftmost column displays a D if the bookmark is flagged for deletion, or > if it is flagged for displaying.Fbookmark-bmenu-search Incremental search of bookmarks, hiding the non-matches as we go.Vbrowse-url-browser-function Function to display the current buffer in a WWW browser. This is used by the `browse-url-at-point', `browse-url-at-mouse', and `browse-url-of-file' commands. If the value is not a function it should be a list of pairs (REGEXP . FUNCTION). In this case the function called will be the one associated with the first REGEXP which matches the current URL. The function is passed the URL and any other args of `browse-url'. The last regexp should probably be "." to specify a default browser. Also see `browse-url-secondary-browser-function'.Fbrowse-url-of-file Ask a WWW browser to display FILE. Display the current buffer's file if FILE is nil or if called interactively. Turn the filename into a URL with function `browse-url-file-url'. Pass the URL to a browser using the `browse-url' function then run `browse-url-of-file-hook'. (fn &optional FILE)Fbrowse-url-of-buffer Ask a WWW browser to display BUFFER. Display the current buffer if BUFFER is nil. Display only the currently visible part of BUFFER (from a temporary file) if buffer is narrowed. (fn &optional BUFFER)Fbrowse-url-of-dired-file In Dired, ask a WWW browser to display the file named on this line.Fbrowse-url-of-region Ask a WWW browser to display the current region. (fn MIN MAX)Fbrowse-url Ask a WWW browser to load URL. Prompt for a URL, defaulting to the URL at or before point. Invokes a suitable browser function which does the actual job. The variable `browse-url-browser-function' says which browser function to use. If the URL is a mailto: URL, consult `browse-url-mailto-function' first, if that exists. The additional ARGS are passed to the browser function. See the doc strings of the actual functions, starting with `browse-url-browser-function', for information about the significance of ARGS (most of the functions ignore it). If ARGS are omitted, the default is to pass `browse-url-new-window-flag' as ARGS. (fn URL &rest ARGS)Fbrowse-url-at-point Ask a WWW browser to load the URL at or before point. Variable `browse-url-browser-function' says which browser to use. Optional prefix argument ARG non-nil inverts the value of the option `browse-url-new-window-flag'. (fn &optional ARG)Fbrowse-url-at-mouse Ask a WWW browser to load a URL clicked with the mouse. The URL is the one around or before the position of the mouse click but point is not changed. Variable `browse-url-browser-function' says which browser to use. (fn EVENT)Fbrowse-url-xdg-open Pass the specified URL to the "xdg-open" command. xdg-open is a desktop utility that calls your preferred web browser. The optional argument IGNORED is not used. (fn URL &optional IGNORED)Fbrowse-url-netscape Ask the Netscape WWW browser to load URL. Default to the URL around or before point. The strings in variable `browse-url-netscape-arguments' are also passed to Netscape. When called interactively, if variable `browse-url-new-window-flag' is non-nil, load the document in a new Netscape window, otherwise use a random existing one. A non-nil interactive prefix argument reverses the effect of `browse-url-new-window-flag'. If `browse-url-netscape-new-window-is-tab' is non-nil, then whenever a document would otherwise be loaded in a new window, it is loaded in a new tab in an existing window instead. When called non-interactively, optional second argument NEW-WINDOW is used instead of `browse-url-new-window-flag'. (fn URL &optional NEW-WINDOW)Fbrowse-url-mozilla Ask the Mozilla WWW browser to load URL. Default to the URL around or before point. The strings in variable `browse-url-mozilla-arguments' are also passed to Mozilla. When called interactively, if variable `browse-url-new-window-flag' is non-nil, load the document in a new Mozilla window, otherwise use a random existing one. A non-nil interactive prefix argument reverses the effect of `browse-url-new-window-flag'. If `browse-url-mozilla-new-window-is-tab' is non-nil, then whenever a document would otherwise be loaded in a new window, it is loaded in a new tab in an existing window instead. When called non-interactively, optional second argument NEW-WINDOW is used instead of `browse-url-new-window-flag'. (fn URL &optional NEW-WINDOW)Fbrowse-url-firefox Ask the Firefox WWW browser to load URL. Defaults to the URL around or before point. Passes the strings in the variable `browse-url-firefox-arguments' to Firefox. Interactively, if the variable `browse-url-new-window-flag' is non-nil, loads the document in a new Firefox window. A non-nil prefix argument reverses the effect of `browse-url-new-window-flag'. If `browse-url-firefox-new-window-is-tab' is non-nil, then whenever a document would otherwise be loaded in a new window, it is loaded in a new tab in an existing window instead. Non-interactively, this uses the optional second argument NEW-WINDOW instead of `browse-url-new-window-flag'. (fn URL &optional NEW-WINDOW)Fbrowse-url-chromium Ask the Chromium WWW browser to load URL. Default to the URL around or before point. The strings in variable `browse-url-chromium-arguments' are also passed to Chromium. The optional argument NEW-WINDOW is not used. (fn URL &optional NEW-WINDOW)Fbrowse-url-galeon Ask the Galeon WWW browser to load URL. Default to the URL around or before point. The strings in variable `browse-url-galeon-arguments' are also passed to Galeon. When called interactively, if variable `browse-url-new-window-flag' is non-nil, load the document in a new Galeon window, otherwise use a random existing one. A non-nil interactive prefix argument reverses the effect of `browse-url-new-window-flag'. If `browse-url-galeon-new-window-is-tab' is non-nil, then whenever a document would otherwise be loaded in a new window, it is loaded in a new tab in an existing window instead. When called non-interactively, optional second argument NEW-WINDOW is used instead of `browse-url-new-window-flag'. (fn URL &optional NEW-WINDOW)Fbrowse-url-emacs Ask Emacs to load URL into a buffer and show it in another window. Optional argument SAME-WINDOW non-nil means show the URL in the currently selected window instead. (fn URL &optional SAME-WINDOW)Fbrowse-url-gnome-moz Ask Mozilla/Netscape to load URL via the GNOME program `gnome-moz-remote'. Default to the URL around or before point. The strings in variable `browse-url-gnome-moz-arguments' are also passed. When called interactively, if variable `browse-url-new-window-flag' is non-nil, load the document in a new browser window, otherwise use an existing one. A non-nil interactive prefix argument reverses the effect of `browse-url-new-window-flag'. When called non-interactively, optional second argument NEW-WINDOW is used instead of `browse-url-new-window-flag'. (fn URL &optional NEW-WINDOW)Fbrowse-url-mosaic Ask the XMosaic WWW browser to load URL. Default to the URL around or before point. The strings in variable `browse-url-mosaic-arguments' are also passed to Mosaic and the program is invoked according to the variable `browse-url-mosaic-program'. When called interactively, if variable `browse-url-new-window-flag' is non-nil, load the document in a new Mosaic window, otherwise use a random existing one. A non-nil interactive prefix argument reverses the effect of `browse-url-new-window-flag'. When called non-interactively, optional second argument NEW-WINDOW is used instead of `browse-url-new-window-flag'. (fn URL &optional NEW-WINDOW)Fbrowse-url-cci Ask the XMosaic WWW browser to load URL. Default to the URL around or before point. This function only works for XMosaic version 2.5 or later. You must select `CCI' from XMosaic's File menu, set the CCI Port Address to the value of variable `browse-url-CCI-port', and enable `Accept requests'. When called interactively, if variable `browse-url-new-window-flag' is non-nil, load the document in a new browser window, otherwise use a random existing one. A non-nil interactive prefix argument reverses the effect of `browse-url-new-window-flag'. When called non-interactively, optional second argument NEW-WINDOW is used instead of `browse-url-new-window-flag'. (fn URL &optional NEW-WINDOW)Fbrowse-url-conkeror Ask the Conkeror WWW browser to load URL. Default to the URL around or before point. Also pass the strings in the variable `browse-url-conkeror-arguments' to Conkeror. When called interactively, if variable `browse-url-new-window-flag' is non-nil, load the document in a new Conkeror window, otherwise use a random existing one. A non-nil interactive prefix argument reverses the effect of `browse-url-new-window-flag'. If variable `browse-url-conkeror-new-window-is-buffer' is non-nil, then whenever a document would otherwise be loaded in a new window, load it in a new buffer in an existing window instead. When called non-interactively, use optional second argument NEW-WINDOW instead of `browse-url-new-window-flag'. (fn URL &optional NEW-WINDOW)Fbrowse-url-w3 Ask the w3 WWW browser to load URL. Default to the URL around or before point. When called interactively, if variable `browse-url-new-window-flag' is non-nil, load the document in a new window. A non-nil interactive prefix argument reverses the effect of `browse-url-new-window-flag'. When called non-interactively, optional second argument NEW-WINDOW is used instead of `browse-url-new-window-flag'. (fn URL &optional NEW-WINDOW)Fbrowse-url-w3-gnudoit Ask another Emacs running gnuserv to load the URL using the W3 browser. The `browse-url-gnudoit-program' program is used with options given by `browse-url-gnudoit-args'. Default to the URL around or before point. (fn URL &optional NEW-WINDOW)Fbrowse-url-text-xterm Ask a text browser to load URL. URL defaults to the URL around or before point. This runs the text browser specified by `browse-url-text-browser'. in an Xterm window using the Xterm program named by `browse-url-xterm-program' with possible additional arguments `browse-url-xterm-args'. The optional argument NEW-WINDOW is not used. (fn URL &optional NEW-WINDOW)Fbrowse-url-text-emacs Ask a text browser to load URL. URL defaults to the URL around or before point. This runs the text browser specified by `browse-url-text-browser'. With a prefix argument, it runs a new browser process in a new buffer. When called interactively, if variable `browse-url-new-window-flag' is non-nil, load the document in a new browser process in a new term window, otherwise use any existing one. A non-nil interactive prefix argument reverses the effect of `browse-url-new-window-flag'. When called non-interactively, optional second argument NEW-WINDOW is used instead of `browse-url-new-window-flag'. (fn URL &optional NEW-BUFFER)Fbrowse-url-mail Open a new mail message buffer within Emacs for the RFC 2368 URL. Default to using the mailto: URL around or before point as the recipient's address. Supplying a non-nil interactive prefix argument will cause the mail to be composed in another window rather than the current one. When called interactively, if variable `browse-url-new-window-flag' is non-nil use `compose-mail-other-window', otherwise `compose-mail'. A non-nil interactive prefix argument reverses the effect of `browse-url-new-window-flag'. When called non-interactively, optional second argument NEW-WINDOW is used instead of `browse-url-new-window-flag'. (fn URL &optional NEW-WINDOW)Fbrowse-url-generic Ask the WWW browser defined by `browse-url-generic-program' to load URL. Default to the URL around or before point. A fresh copy of the browser is started up in a new process with possible additional arguments `browse-url-generic-args'. This is appropriate for browsers which don't offer a form of remote control. (fn URL &optional NEW-WINDOW)Fbrowse-url-kde Ask the KDE WWW browser to load URL. Default to the URL around or before point. The optional argument NEW-WINDOW is not used. (fn URL &optional NEW-WINDOW)Fbrowse-url-elinks Ask the Elinks WWW browser to load URL. Default to the URL around the point. The document is loaded in a new tab of a running Elinks or, if none yet running, a newly started instance. The Elinks command will be prepended by the program+arguments from `browse-url-elinks-wrapper'. (fn URL &optional NEW-WINDOW)Fbs-cycle-next Select next buffer defined by buffer cycling. The buffers taking part in buffer cycling are defined by buffer configuration `bs-cycle-configuration-name'.Fbs-cycle-previous Select previous buffer defined by buffer cycling. The buffers taking part in buffer cycling are defined by buffer configuration `bs-cycle-configuration-name'.Fbs-customize Customization of group bs for Buffer Selection Menu.Fbs-show Make a menu of buffers so you can manipulate buffers or the buffer list. \ There are many key commands similar to `Buffer-menu-mode' for manipulating the buffer list and the buffers themselves. User can move with [up] or [down], select a buffer by \[bs-select] or [SPC] Type \[bs-kill] to leave Buffer Selection Menu without a selection. Type \[bs-help] after invocation to get help on commands available. With prefix argument ARG show a different buffer list. Function `bs--configuration-name-for-prefix-arg' determine accordingly name of buffer configuration. (fn ARG)Fbubbles Play Bubbles game. \ The goal is to remove all bubbles with as few moves as possible. \[bubbles-plop] on a bubble removes that bubble and all connected bubbles of the same color. Unsupported bubbles fall down, and columns that do not contain any bubbles suck the columns on its right towards the left. \[bubbles-set-game-easy] sets the difficulty to easy. \[bubbles-set-game-medium] sets the difficulty to medium. \[bubbles-set-game-difficult] sets the difficulty to difficult. \[bubbles-set-game-hard] sets the difficulty to hard.Fbug-reference-mode Toggle hyperlinking bug references in the buffer (Bug Reference mode). If called interactively, enable Bug-Reference mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Fbug-reference-prog-mode Like `bug-reference-mode', but only buttonize in comments and strings. If called interactively, enable Bug-Reference-Prog mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Fbyte-compile-disable-warning Change `byte-compile-warnings' to disable WARNING. If `byte-compile-warnings' is t, set it to `(not WARNING)'. Otherwise, if the first element is `not', add WARNING, else remove it. Normally you should let-bind `byte-compile-warnings' before calling this, else the global value will be modified. (fn WARNING)Fbyte-compile-enable-warning Change `byte-compile-warnings' to enable WARNING. If `byte-compile-warnings' is t, do nothing. Otherwise, if the first element is `not', remove WARNING, else add it. Normally you should let-bind `byte-compile-warnings' before calling this, else the global value will be modified. (fn WARNING)Fbyte-force-recompile Recompile every `.el' file in DIRECTORY that already has a `.elc' file. Files in subdirectories of DIRECTORY are processed also. (fn DIRECTORY)Fbyte-recompile-directory Recompile every `.el' file in DIRECTORY that needs recompilation. This happens when a `.elc' file exists but is older than the `.el' file. Files in subdirectories of DIRECTORY are processed also. If the `.elc' file does not exist, normally this function *does not* compile the corresponding `.el' file. However, if the prefix argument ARG is 0, that means do compile all those files. A nonzero ARG means ask the user, for each such `.el' file, whether to compile it. A nonzero ARG also means ask about each subdirectory before scanning it. If the third argument FORCE is non-nil, recompile every `.el' file that already has a `.elc' file. (fn DIRECTORY &optional ARG FORCE)Fbyte-compile-file Compile a file of Lisp code named FILENAME into a file of byte code. The output file's name is generated by passing FILENAME to the function `byte-compile-dest-file' (which see). With prefix arg (noninteractively: 2nd arg), LOAD the file after compiling. The value is non-nil if there were no errors, nil if errors. (fn FILENAME &optional LOAD)Fcompile-defun Compile and evaluate the current top-level form. Print the result in the echo area. With argument ARG, insert value in current buffer after the form. (fn &optional ARG)Fbyte-compile If FORM is a symbol, byte-compile its function definition. If FORM is a lambda or a macro, byte-compile it as a function. (fn FORM)Fdisplay-call-tree Display a call graph of a specified file. This lists which functions have been called, what functions called them, and what functions they call. The list includes all functions whose definitions have been compiled in this Emacs session, as well as all functions called by those functions. The call graph does not include macros, inline functions, or primitives that the byte-code interpreter knows about directly (`eq', `cons', etc.). The call tree also lists those functions which are not known to be called (that is, to which no calls have been compiled), and which cannot be invoked interactively. (fn &optional FILENAME)Fbatch-byte-compile-if-not-done Like `byte-compile-file' but doesn't recompile if already up to date. Use this from the command line, with `-batch'; it won't work in an interactive Emacs.Fbatch-byte-compile Run `byte-compile-file' on the files remaining on the command line. Use this from the command line, with `-batch'; it won't work in an interactive Emacs. Each file is processed even if an error occurred previously. If a file name denotes a directory, all Emacs Lisp source files in that directory (that have previously been compiled) will be recompiled if newer than the compiled files. In this case, NOFORCE is ignored. For example, invoke "emacs -batch -f batch-byte-compile $emacs/ ~/*.el". If NOFORCE is non-nil, don't recompile a file that seems to be already up-to-date. (fn &optional NOFORCE)Fbatch-byte-recompile-directory Run `byte-recompile-directory' on the dirs remaining on the command line. Must be used only with `-batch', and kills Emacs on completion. For example, invoke `emacs -batch -f batch-byte-recompile-directory .'. Optional argument ARG is passed as second argument ARG to `byte-recompile-directory'; see there for its possible values and corresponding effects. (fn &optional ARG)Fcalendar-hebrew-list-yahrzeits List Yahrzeit dates for *Gregorian* DEATH-DATE from START-YEAR to END-YEAR. When called interactively from the calendar window, the date of death is taken from the cursor position. (fn DEATH-DATE START-YEAR END-YEAR)Fcalc-dispatch Invoke the GNU Emacs Calculator. See \[calc-dispatch-help] for details. (fn &optional ARG)Fcalc The Emacs Calculator. Full documentation is listed under `calc-mode'. (fn &optional ARG FULL-DISPLAY INTERACTIVE)Ffull-calc Invoke the Calculator and give it a full-sized window. (fn &optional INTERACTIVE)Fquick-calc Do a quick calculation in the minibuffer without invoking full Calculator. With prefix argument INSERT, insert the result in the current buffer. Otherwise, the result is copied into the kill ring. (fn &optional INSERT)Fcalc-eval Do a quick calculation and return the result as a string. Return value will either be the formatted result in string form, or a list containing a character position and an error message in string form. (fn STR &optional SEPARATOR &rest ARGS)Fcalc-keypad Invoke the Calculator in "visual keypad" mode. This is most useful in the X window system. In this mode, click on the Calc "buttons" using the left mouse button. Or, position the cursor manually and do M-x calc-keypad-press. (fn &optional INTERACTIVE)Ffull-calc-keypad Invoke the Calculator in full-screen "visual keypad" mode. See calc-keypad for details. (fn &optional INTERACTIVE)Fcalc-grab-region Parse the region as a vector of numbers and push it on the Calculator stack. (fn TOP BOT ARG)Fcalc-grab-rectangle Parse a rectangle as a matrix of numbers and push it on the Calculator stack. (fn TOP BOT ARG)Fcalc-embedded Start Calc Embedded mode on the formula surrounding point. (fn ARG &optional END OBEG OEND)Fcalc-embedded-activate Scan the current editing buffer for all embedded := and => formulas. Also looks for the equivalent TeX words, \gets and \evalto. (fn &optional ARG CBUF)Fdefmath Define Calc function. Like `defun' except that code in the body of the definition can make use of the full range of Calc data types and the usual arithmetic operations are converted to their Calc equivalents. The prefix `calcFunc-' is added to the specified name to get the actual Lisp function name. See Info node `(calc)Defining Functions'. (fn FUNC ARGS &rest BODY)Fcalc-undo (fn N)Fcalculator Run the Emacs calculator. See the documentation for `calculator-mode' for more information.Fcalendar Display a three-month Gregorian calendar. The three months appear side by side, with the current month in the middle surrounded by the previous and next months. The cursor is put on today's date. If optional prefix argument ARG is non-nil, prompts for the central month and year. Once in the calendar window, future or past months can be moved into view. Arbitrary months can be displayed, or the calendar can be scrolled forward or backward. The cursor can be moved forward or backward by one day, one week, one month, or one year. All of these commands take prefix arguments which, when negative, cause movement in the opposite direction. For convenience, the digit keys and the minus sign are automatically prefixes. Use \[describe-mode] for details of the key bindings in the calendar window. Displays the calendar in a separate window, or optionally in a separate frame, depending on the value of `calendar-setup'. If `calendar-view-diary-initially-flag' is non-nil, also displays the diary entries for the current date (or however many days `diary-number-of-entries' specifies). This variable can be overridden by `calendar-setup'. As well as being displayed, diary entries can also be marked on the calendar (see `calendar-mark-diary-entries-flag'). Runs the following hooks: `calendar-today-visible-hook', `calendar-today-invisible-hook' - after generating a calendar, if today's date is visible or not, respectively `calendar-initial-window-hook' - after first creating a calendar This function is suitable for execution in an init file. (fn &optional ARG)Fcanlock-insert-header Insert a Cancel-Key and/or a Cancel-Lock header if possible. (fn &optional ID-FOR-KEY ID-FOR-LOCK PASSWORD)Fcanlock-verify Verify Cancel-Lock or Cancel-Key in BUFFER. If BUFFER is nil, the current buffer is assumed. Signal an error if it fails. (fn &optional BUFFER)Fc-guess-basic-syntax Return the syntactic context of the current line.Vc-guess-guessed-offsets-alist Currently guessed offsets-alist.Vc-guess-guessed-basic-offset Currently guessed basic-offset.Fc-guess Guess the style in the region up to `c-guess-region-max', and install it. The style is given a name based on the file's absolute file name. If given a prefix argument (or if the optional argument ACCUMULATE is non-nil) then the previous guess is extended, otherwise a new guess is made from scratch. (fn &optional ACCUMULATE)Fc-guess-no-install Guess the style in the region up to `c-guess-region-max'; don't install it. If given a prefix argument (or if the optional argument ACCUMULATE is non-nil) then the previous guess is extended, otherwise a new guess is made from scratch. (fn &optional ACCUMULATE)Fc-guess-buffer Guess the style on the whole current buffer, and install it. The style is given a name based on the file's absolute file name. If given a prefix argument (or if the optional argument ACCUMULATE is non-nil) then the previous guess is extended, otherwise a new guess is made from scratch. (fn &optional ACCUMULATE)Fc-guess-buffer-no-install Guess the style on the whole current buffer; don't install it. If given a prefix argument (or if the optional argument ACCUMULATE is non-nil) then the previous guess is extended, otherwise a new guess is made from scratch. (fn &optional ACCUMULATE)Fc-guess-region Guess the style on the region and install it. The style is given a name based on the file's absolute file name. If given a prefix argument (or if the optional argument ACCUMULATE is non-nil) then the previous guess is extended, otherwise a new guess is made from scratch. (fn START END &optional ACCUMULATE)Fc-guess-region-no-install Guess the style on the region; don't install it. Every line of code in the region is examined and values for the following two variables are guessed: * `c-basic-offset', and * the indentation values of the various syntactic symbols in `c-offsets-alist'. The guessed values are put into `c-guess-guessed-basic-offset' and `c-guess-guessed-offsets-alist'. Frequencies of use are taken into account when guessing, so minor inconsistencies in the indentation style shouldn't produce wrong guesses. If given a prefix argument (or if the optional argument ACCUMULATE is non-nil) then the previous examination is extended, otherwise a new guess is made from scratch. Note that the larger the region to guess in, the slower the guessing. So you can limit the region with `c-guess-region-max'. (fn START END &optional ACCUMULATE)Fc-guess-install Install the latest guessed style into the current buffer. (This guessed style is a combination of `c-guess-guessed-basic-offset', `c-guess-guessed-offsets-alist' and `c-offsets-alist'.) The style is entered into CC Mode's style system by `c-add-style'. Its name is either STYLE-NAME, or a name based on the absolute file name of the file if STYLE-NAME is nil. (fn &optional STYLE-NAME)Fc-initialize-cc-mode Initialize CC Mode for use in the current buffer. If the optional NEW-STYLE-INIT is nil or left out then all necessary initialization to run CC Mode for the C language is done. Otherwise only some basic setup is done, and a call to `c-init-language-vars' or `c-init-language-vars-for' is necessary too (which gives more control). See "cc-mode.el" for more info. (fn &optional NEW-STYLE-INIT)Fc-mode Major mode for editing C code. To submit a problem report, enter `\[c-submit-bug-report]' from a c-mode buffer. This automatically sets up a mail buffer with version information already added. You just need to add a description of the problem, including a reproducible test case, and send the message. To see what version of CC Mode you are running, enter `\[c-version]'. The hook `c-mode-common-hook' is run with no args at mode initialization, then `c-mode-hook'. Key bindings: \{c-mode-map} (fn)Fc-or-c++-mode Analyze buffer and enable either C or C++ mode. Some people and projects use .h extension for C++ header files which is also the one used for C header files. This makes matching on file name insufficient for detecting major mode that should be used. This function attempts to use file contents to determine whether the code is C or C++ and based on that chooses whether to enable `c-mode' or `c++-mode'.Fc++-mode Major mode for editing C++ code. To submit a problem report, enter `\[c-submit-bug-report]' from a c++-mode buffer. This automatically sets up a mail buffer with version information already added. You just need to add a description of the problem, including a reproducible test case, and send the message. To see what version of CC Mode you are running, enter `\[c-version]'. The hook `c-mode-common-hook' is run with no args at mode initialization, then `c++-mode-hook'. Key bindings: \{c++-mode-map} (fn)Fobjc-mode Major mode for editing Objective C code. To submit a problem report, enter `\[c-submit-bug-report]' from an objc-mode buffer. This automatically sets up a mail buffer with version information already added. You just need to add a description of the problem, including a reproducible test case, and send the message. To see what version of CC Mode you are running, enter `\[c-version]'. The hook `c-mode-common-hook' is run with no args at mode initialization, then `objc-mode-hook'. Key bindings: \{objc-mode-map} (fn)Fjava-mode Major mode for editing Java code. To submit a problem report, enter `\[c-submit-bug-report]' from a java-mode buffer. This automatically sets up a mail buffer with version information already added. You just need to add a description of the problem, including a reproducible test case, and send the message. To see what version of CC Mode you are running, enter `\[c-version]'. The hook `c-mode-common-hook' is run with no args at mode initialization, then `java-mode-hook'. Key bindings: \{java-mode-map} (fn)Fidl-mode Major mode for editing CORBA's IDL, PSDL and CIDL code. To submit a problem report, enter `\[c-submit-bug-report]' from an idl-mode buffer. This automatically sets up a mail buffer with version information already added. You just need to add a description of the problem, including a reproducible test case, and send the message. To see what version of CC Mode you are running, enter `\[c-version]'. The hook `c-mode-common-hook' is run with no args at mode initialization, then `idl-mode-hook'. Key bindings: \{idl-mode-map} (fn)Fpike-mode Major mode for editing Pike code. To submit a problem report, enter `\[c-submit-bug-report]' from a pike-mode buffer. This automatically sets up a mail buffer with version information already added. You just need to add a description of the problem, including a reproducible test case, and send the message. To see what version of CC Mode you are running, enter `\[c-version]'. The hook `c-mode-common-hook' is run with no args at mode initialization, then `pike-mode-hook'. Key bindings: \{pike-mode-map} (fn)Fawk-mode Major mode for editing AWK code. To submit a problem report, enter `\[c-submit-bug-report]' from an awk-mode buffer. This automatically sets up a mail buffer with version information already added. You just need to add a description of the problem, including a reproducible test case, and send the message. To see what version of CC Mode you are running, enter `\[c-version]'. The hook `c-mode-common-hook' is run with no args at mode initialization, then `awk-mode-hook'. Key bindings: \{awk-mode-map} (fn)Fc-set-style Set the current buffer to use the style STYLENAME. STYLENAME, a string, must be an existing CC Mode style - These are contained in the variable `c-style-alist'. The variable `c-indentation-style' will get set to STYLENAME. "Setting the style" is done by setting CC Mode's "style variables" to the values indicated by the pertinent entry in `c-style-alist'. Other variables might get set too. If DONT-OVERRIDE is neither nil nor t, style variables whose default values have been set (more precisely, whose default values are not the symbol `set-from-style') will not be changed. This avoids overriding global settings done in your init file. It is useful to call c-set-style from a mode hook in this way. If DONT-OVERRIDE is t, style variables that already have values (i.e., whose values are not the symbol `set-from-style') will not be overridden. CC Mode calls c-set-style internally in this way whilst initializing a buffer; if cc-set-style is called like this from anywhere else, it will usually behave as a null operation. (fn STYLENAME &optional DONT-OVERRIDE)Fc-add-style Adds a style to `c-style-alist', or updates an existing one. STYLE is a string identifying the style to add or update. DESCRIPTION is an association list describing the style and must be of the form: ([BASESTYLE] (VARIABLE . VALUE) [(VARIABLE . VALUE) ...]) See the variable `c-style-alist' for the semantics of BASESTYLE, VARIABLE and VALUE. This function also sets the current style to STYLE using `c-set-style' if the optional SET-P flag is non-nil. (fn STYLE DESCRIPTION &optional SET-P)Fc-set-offset Change the value of a syntactic element symbol in `c-offsets-alist'. SYMBOL is the syntactic element symbol to change and OFFSET is the new offset for that syntactic element. The optional argument is not used and exists only for compatibility reasons. (fn SYMBOL OFFSET &optional IGNORED)Fccl-compile Return the compiled code of CCL-PROGRAM as a vector of integers. (fn CCL-PROGRAM)Fccl-dump Disassemble compiled CCL-code CODE. (fn CODE)Fdeclare-ccl-program Declare NAME as a name of CCL program. This macro exists for backward compatibility. In the old version of Emacs, to compile a CCL program which calls another CCL program not yet defined, it must be declared as a CCL program in advance. But, now CCL program names are resolved not at compile time but before execution. Optional arg VECTOR is a compiled CCL code of the CCL program. (fn NAME &optional VECTOR)Fdefine-ccl-program Set NAME the compiled code of CCL-PROGRAM. CCL-PROGRAM has this form: (BUFFER_MAGNIFICATION CCL_MAIN_CODE [ CCL_EOF_CODE ]) BUFFER_MAGNIFICATION is an integer value specifying the approximate output buffer magnification size compared with the bytes of input data text. It is assured that the actual output buffer has 256 bytes more than the size calculated by BUFFER_MAGNIFICATION. If the value is zero, the CCL program can't execute `read' and `write' commands. CCL_MAIN_CODE and CCL_EOF_CODE are CCL program codes. CCL_MAIN_CODE executed at first. If there's no more input data when `read' command is executed in CCL_MAIN_CODE, CCL_EOF_CODE is executed. If CCL_MAIN_CODE is terminated, CCL_EOF_CODE is not executed. Here's the syntax of CCL program code in BNF notation. The lines starting by two semicolons (and optional leading spaces) describe the semantics. CCL_MAIN_CODE := CCL_BLOCK CCL_EOF_CODE := CCL_BLOCK CCL_BLOCK := STATEMENT | (STATEMENT [STATEMENT ...]) STATEMENT := SET | IF | BRANCH | LOOP | REPEAT | BREAK | READ | WRITE | CALL | TRANSLATE | MAP | LOOKUP | END SET := (REG = EXPRESSION) | (REG ASSIGNMENT_OPERATOR EXPRESSION) ;; The following form is the same as (r0 = integer). | integer EXPRESSION := ARG | (EXPRESSION OPERATOR ARG) ;; Evaluate EXPRESSION. If the result is nonzero, execute ;; CCL_BLOCK_0. Otherwise, execute CCL_BLOCK_1. IF := (if EXPRESSION CCL_BLOCK_0 CCL_BLOCK_1) ;; Evaluate EXPRESSION. Provided that the result is N, execute ;; CCL_BLOCK_N. BRANCH := (branch EXPRESSION CCL_BLOCK_0 [CCL_BLOCK_1 ...]) ;; Execute STATEMENTs until (break) or (end) is executed. ;; Create a block of STATEMENTs for repeating. The STATEMENTs ;; are executed sequentially until REPEAT or BREAK is executed. ;; If REPEAT statement is executed, STATEMENTs are executed from the ;; start again. If BREAK statements is executed, the execution ;; exits from the block. If neither REPEAT nor BREAK is ;; executed, the execution exits from the block after executing the ;; last STATEMENT. LOOP := (loop STATEMENT [STATEMENT ...]) ;; Terminate the most inner loop. BREAK := (break) REPEAT := ;; Jump to the head of the most inner loop. (repeat) ;; Same as: ((write [REG | integer | string]) ;; (repeat)) | (write-repeat [REG | integer | string]) ;; Same as: ((write REG [ARRAY]) ;; (read REG) ;; (repeat)) | (write-read-repeat REG [ARRAY]) ;; Same as: ((write integer) ;; (read REG) ;; (repeat)) | (write-read-repeat REG integer) READ := ;; Set REG_0 to a byte read from the input text, set REG_1 ;; to the next byte read, and so on. (read REG_0 [REG_1 ...]) ;; Same as: ((read REG) ;; (if (REG OPERATOR ARG) CCL_BLOCK_0 CCL_BLOCK_1)) | (read-if (REG OPERATOR ARG) CCL_BLOCK_0 CCL_BLOCK_1) ;; Same as: ((read REG) ;; (branch REG CCL_BLOCK_0 [CCL_BLOCK_1 ...])) | (read-branch REG CCL_BLOCK_0 [CCL_BLOCK_1 ...]) ;; Read a character from the input text while parsing ;; multibyte representation, set REG_0 to the charset ID of ;; the character, set REG_1 to the code point of the ;; character. If the dimension of charset is two, set REG_1 ;; to ((CODE0 << 7) | CODE1), where CODE0 is the first code ;; point and CODE1 is the second code point. | (read-multibyte-character REG_0 REG_1) WRITE := ;; Write REG_0, REG_1, ... to the output buffer. If REG_N is ;; a multibyte character, write the corresponding multibyte ;; representation. (write REG_0 [REG_1 ...]) ;; Same as: ((r7 = EXPRESSION) ;; (write r7)) | (write EXPRESSION) ;; Write the value of `integer' to the output buffer. If it ;; is a multibyte character, write the corresponding multibyte ;; representation. | (write integer) ;; Write the byte sequence of `string' as is to the output ;; buffer. | (write string) ;; Same as: (write string) | string ;; Provided that the value of REG is N, write Nth element of ;; ARRAY to the output buffer. If it is a multibyte ;; character, write the corresponding multibyte ;; representation. | (write REG ARRAY) ;; Write a multibyte representation of a character whose ;; charset ID is REG_0 and code point is REG_1. If the ;; dimension of the charset is two, REG_1 should be ((CODE0 << ;; 7) | CODE1), where CODE0 is the first code point and CODE1 ;; is the second code point of the character. | (write-multibyte-character REG_0 REG_1) ;; Call CCL program whose name is ccl-program-name. CALL := (call ccl-program-name) ;; Terminate the CCL program. END := (end) ;; CCL registers that can contain any integer value. As r7 is also ;; used by CCL interpreter, its value is changed unexpectedly. REG := r0 | r1 | r2 | r3 | r4 | r5 | r6 | r7 ARG := REG | integer OPERATOR := ;; Normal arithmetic operators (same meaning as C code). + | - | * | / | % ;; Bitwise operators (same meaning as C code) | & | `|' | ^ ;; Shifting operators (same meaning as C code) | << | >> ;; (REG = ARG_0 <8 ARG_1) means: ;; (REG = ((ARG_0 << 8) | ARG_1)) | <8 ;; (REG = ARG_0 >8 ARG_1) means: ;; ((REG = (ARG_0 >> 8)) ;; (r7 = (ARG_0 & 255))) | >8 ;; (REG = ARG_0 // ARG_1) means: ;; ((REG = (ARG_0 / ARG_1)) ;; (r7 = (ARG_0 % ARG_1))) | // ;; Normal comparing operators (same meaning as C code) | < | > | == | <= | >= | != ;; If ARG_0 and ARG_1 are higher and lower byte of Shift-JIS ;; code, and CHAR is the corresponding JISX0208 character, ;; (REG = ARG_0 de-sjis ARG_1) means: ;; ((REG = CODE0) ;; (r7 = CODE1)) ;; where CODE0 is the first code point of CHAR, CODE1 is the ;; second code point of CHAR. | de-sjis ;; If ARG_0 and ARG_1 are the first and second code point of ;; JISX0208 character CHAR, and SJIS is the corresponding ;; Shift-JIS code, ;; (REG = ARG_0 en-sjis ARG_1) means: ;; ((REG = HIGH) ;; (r7 = LOW)) ;; where HIGH is the higher byte of SJIS, LOW is the lower ;; byte of SJIS. | en-sjis ASSIGNMENT_OPERATOR := ;; Same meaning as C code += | -= | *= | /= | %= | &= | `|=' | ^= | <<= | >>= ;; (REG <8= ARG) is the same as: ;; ((REG <<= 8) ;; (REG |= ARG)) | <8= ;; (REG >8= ARG) is the same as: ;; ((r7 = (REG & 255)) ;; (REG >>= 8)) ;; (REG //= ARG) is the same as: ;; ((r7 = (REG % ARG)) ;; (REG /= ARG)) | //= ARRAY := `[' integer ... `]' TRANSLATE := ;; Decode character SRC, translate it by translate table ;; TABLE, and encode it back to DST. TABLE is specified ;; by its id number in REG_0, SRC is specified by its ;; charset id number and codepoint in REG_1 and REG_2 ;; respectively. ;; On encoding, the charset of highest priority is selected. ;; After the execution, DST is specified by its charset ;; id number and codepoint in REG_1 and REG_2 respectively. (translate-character REG_0 REG_1 REG_2) ;; Same as above except for SYMBOL specifying the name of ;; the translate table defined by `define-translation-table'. | (translate-character SYMBOL REG_1 REG_2) LOOKUP := ;; Look up character SRC in hash table TABLE. TABLE is ;; specified by its name in SYMBOL, and SRC is specified by ;; its charset id number and codepoint in REG_1 and REG_2 ;; respectively. ;; If its associated value is an integer, set REG_1 to that ;; value, and set r7 to 1. Otherwise, set r7 to 0. (lookup-character SYMBOL REG_1 REG_2) ;; Look up integer value N in hash table TABLE. TABLE is ;; specified by its name in SYMBOL and N is specified in ;; REG. ;; If its associated value is a character, set REG to that ;; value, and set r7 to 1. Otherwise, set r7 to 0. | (lookup-integer SYMBOL REG(integer)) MAP := ;; The following statements are for internal use only. (iterate-multiple-map REG REG MAP-IDs) | (map-multiple REG REG (MAP-SET)) | (map-single REG REG MAP-ID) MAP-IDs := MAP-ID ... MAP-SET := MAP-IDs | (MAP-IDs) MAP-SET MAP-ID := integer (fn NAME CCL-PROGRAM &optional DOC)Fcheck-ccl-program Check validity of CCL-PROGRAM. If CCL-PROGRAM is a symbol denoting a CCL program, return CCL-PROGRAM, else return nil. If CCL-PROGRAM is a vector and optional arg NAME (symbol) is supplied, register CCL-PROGRAM by name NAME, and return NAME. (fn CCL-PROGRAM &optional NAME)Fccl-execute-with-args Execute CCL-PROGRAM with registers initialized by the remaining args. The return value is a vector of resulting CCL registers. See the documentation of `define-ccl-program' for the detail of CCL program. (fn CCL-PROG &rest ARGS)Fcconv-closure-convert Main entry point for closure conversion. -- FORM is a piece of Elisp code after macroexpansion. -- TOPLEVEL(optional) is a boolean variable, true if we are at the root of AST Returns a form where all lambdas don't have any free variables. (fn FORM)Fcconv-warnings-only Add the warnings that closure conversion would encounter. (fn FORM)Fcfengine3-mode Major mode for editing CFEngine3 input. There are no special keybindings by default. Action blocks are treated as defuns, i.e. \[beginning-of-defun] moves to the action header. (fn)Fcfengine2-mode Major mode for editing CFEngine2 input. There are no special keybindings by default. Action blocks are treated as defuns, i.e. \[beginning-of-defun] moves to the action header. (fn)Fcfengine-auto-mode Choose `cfengine2-mode' or `cfengine3-mode' by buffer contents.Fchar-fold-to-regexp Return a regexp matching anything that char-folds into STRING. Any character in STRING that has an entry in `char-fold-table' is replaced with that entry (which is a regexp) and other characters are `regexp-quote'd. When LAX is non-nil, then the final character also matches ligatures partially, for instance, the search string "f" will match "fi", so when typing the search string in isearch while the cursor is on a ligature, the search won't try to immediately advance to the next complete match, but will stay on the partially matched ligature. If the resulting regexp would be too long for Emacs to handle, just return the result of calling `regexp-quote' on STRING. FROM is for internal use. It specifies an index in the STRING from which to start. (fn STRING &optional LAX FROM)Fcheck-declare-file Check veracity of all `declare-function' statements in FILE. See `check-declare-directory' for more information. (fn FILE)Fcheck-declare-directory Check veracity of all `declare-function' statements under directory ROOT. Returns non-nil if any false statements are found. (fn ROOT)Fcheckdoc-list-of-strings-p Return t when OBJ is a list of strings. (fn OBJ)Fcheckdoc Interactively check the entire buffer for style errors. The current status of the check will be displayed in a buffer which the users will view as each check is completed.Fcheckdoc-interactive Interactively check the current buffer for doc string errors. Prefix argument START-HERE will start the checking from the current point, otherwise the check starts at the beginning of the current buffer. Allows navigation forward and backwards through document errors. Does not check for comment or space warnings. Optional argument SHOWSTATUS indicates that we should update the checkdoc status window instead of the usual behavior. (fn &optional START-HERE SHOWSTATUS)Fcheckdoc-message-interactive Interactively check the current buffer for message string errors. Prefix argument START-HERE will start the checking from the current point, otherwise the check starts at the beginning of the current buffer. Allows navigation forward and backwards through document errors. Does not check for comment or space warnings. Optional argument SHOWSTATUS indicates that we should update the checkdoc status window instead of the usual behavior. (fn &optional START-HERE SHOWSTATUS)Fcheckdoc-eval-current-buffer Evaluate and check documentation for the current buffer. Evaluation is done first because good documentation for something that doesn't work is just not useful. Comments, doc strings, and rogue spacing are all verified.Fcheckdoc-current-buffer Check current buffer for document, comment, error style, and rogue spaces. With a prefix argument (in Lisp, the argument TAKE-NOTES), store all errors found in a warnings buffer, otherwise stop after the first error. (fn &optional TAKE-NOTES)Fcheckdoc-file Check FILE for document, comment, error style, and rogue spaces. (fn FILE)Fcheckdoc-start Start scanning the current buffer for documentation string style errors. Only documentation strings are checked. Use `checkdoc-continue' to continue checking if an error cannot be fixed. Prefix argument TAKE-NOTES means to collect all the warning messages into a separate buffer. (fn &optional TAKE-NOTES)Fcheckdoc-continue Find the next doc string in the current buffer which has a style error. Prefix argument TAKE-NOTES means to continue through the whole buffer and save warnings in a separate buffer. (fn &optional TAKE-NOTES)Fcheckdoc-comments Find missing comment sections in the current Emacs Lisp file. Prefix argument TAKE-NOTES non-nil means to save warnings in a separate buffer. Otherwise print a message. This returns the error if there is one. (fn &optional TAKE-NOTES)Fcheckdoc-rogue-spaces Find extra spaces at the end of lines in the current file. Prefix argument TAKE-NOTES non-nil means to save warnings in a separate buffer. Otherwise print a message. This returns the error if there is one. Optional argument INTERACT permits more interactive fixing. (fn &optional TAKE-NOTES INTERACT)Fcheckdoc-message-text Scan the buffer for occurrences of the error function, and verify text. Optional argument TAKE-NOTES causes all errors to be logged. (fn &optional TAKE-NOTES)Fcheckdoc-eval-defun Evaluate the current form with `eval-defun' and check its documentation. Evaluation is done first so the form will be read before the documentation is checked. If there is a documentation error, then the display of what was evaluated will be overwritten by the diagnostic message.Fcheckdoc-defun Examine the doc string of the function or variable under point. Call `error' if the doc string has problems. If NO-ERROR is non-nil, then do not call error, but call `message' instead. If the doc string passes the test, then check the function for rogue white space at the end of each line. (fn &optional NO-ERROR)Fcheckdoc-ispell Check the style and spelling of everything interactively. Calls `checkdoc' with spell-checking turned on. Prefix argument is the same as for `checkdoc'.Fcheckdoc-ispell-current-buffer Check the style and spelling of the current buffer. Calls `checkdoc-current-buffer' with spell-checking turned on. Prefix argument is the same as for `checkdoc-current-buffer'.Fcheckdoc-ispell-interactive Check the style and spelling of the current buffer interactively. Calls `checkdoc-interactive' with spell-checking turned on. Prefix argument is the same as for `checkdoc-interactive'.Fcheckdoc-ispell-message-interactive Check the style and spelling of message text interactively. Calls `checkdoc-message-interactive' with spell-checking turned on. Prefix argument is the same as for `checkdoc-message-interactive'.Fcheckdoc-ispell-message-text Check the style and spelling of message text interactively. Calls `checkdoc-message-text' with spell-checking turned on. Prefix argument is the same as for `checkdoc-message-text'.Fcheckdoc-ispell-start Check the style and spelling of the current buffer. Calls `checkdoc-start' with spell-checking turned on. Prefix argument is the same as for `checkdoc-start'.Fcheckdoc-ispell-continue Check the style and spelling of the current buffer after point. Calls `checkdoc-continue' with spell-checking turned on. Prefix argument is the same as for `checkdoc-continue'.Fcheckdoc-ispell-comments Check the style and spelling of the current buffer's comments. Calls `checkdoc-comments' with spell-checking turned on. Prefix argument is the same as for `checkdoc-comments'.Fcheckdoc-ispell-defun Check the style and spelling of the current defun with Ispell. Calls `checkdoc-defun' with spell-checking turned on. Prefix argument is the same as for `checkdoc-defun'.Fcheckdoc-minor-mode Toggle automatic docstring checking (Checkdoc minor mode). If called interactively, enable Checkdoc minor mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. In Checkdoc minor mode, the usual bindings for `eval-defun' which is bound to \\[checkdoc-eval-defun] and `checkdoc-eval-current-buffer' are overridden to include checking of documentation strings. \{checkdoc-minor-mode-map} (fn &optional ARG)Fcheckdoc-package-keywords Find package keywords that aren't in `finder-known-keywords'.Fdecode-hz-region Decode HZ/ZW encoded text in the current region. Return the length of resulting text. (fn BEG END)Fdecode-hz-buffer Decode HZ/ZW encoded text in the current buffer.Fencode-hz-region Encode the text in the current region to HZ. Return the length of resulting text. (fn BEG END)Fencode-hz-buffer Encode the text in the current buffer to HZ.Fpost-read-decode-hz (fn LEN)Fpre-write-encode-hz (fn FROM TO)Frepeat-matching-complex-command Edit and re-evaluate complex command with name matching PATTERN. Matching occurrences are displayed, most recent first, until you select a form for evaluation. If PATTERN is empty (or nil), every form in the command history is offered. The form is placed in the minibuffer for editing and the result is evaluated. (fn &optional PATTERN)Flist-command-history List history of commands that used the minibuffer. The number of commands listed is controlled by `list-command-history-max'. Calls value of `list-command-history-filter' (if non-nil) on each history element to judge if that element should be excluded from the list. The buffer is left in Command History mode.Fcommand-history Examine commands from `command-history' in a buffer. The number of commands listed is controlled by `list-command-history-max'. The command history is filtered by `list-command-history-filter' if non-nil. Use \\[command-history-repeat] to repeat the command on the current line. Otherwise much like Emacs-Lisp Mode except that there is no self-insertion and digits provide prefix arguments. Tab does not indent. \{command-history-map} This command always recompiles the Command History listing and runs the normal hook `command-history-hook'.Fcl-defgeneric Create a generic function NAME. DOC-STRING is the base documentation for this class. A generic function has no body, as its purpose is to decide which method body is appropriate to use. Specific methods are defined with `cl-defmethod'. With this implementation the ARGS are currently ignored. OPTIONS-AND-METHODS currently understands: - (:documentation DOCSTRING) - (declare DECLARATIONS) - (:argument-precedence-order &rest ARGS) - (:method [QUALIFIERS...] ARGS &rest BODY) DEFAULT-BODY, if present, is used as the body of a default method. (fn NAME ARGS [DOC-STRING] [OPTIONS-AND-METHODS...] &rest DEFAULT-BODY)Fcl-generic-define (fn NAME ARGS OPTIONS)Fcl-defmethod Define a new method for generic function NAME. I.e. it defines the implementation of NAME to use for invocations where the values of the dispatch arguments match the specified TYPEs. The dispatch arguments have to be among the mandatory arguments, and all methods of NAME have to use the same set of arguments for dispatch. Each dispatch argument and TYPE are specified in ARGS where the corresponding formal argument appears as (VAR TYPE) rather than just VAR. The optional second argument QUALIFIER is a specifier that modifies how the method is combined with other methods, including: :before - Method will be called before the primary :after - Method will be called after the primary :around - Method will be called around everything else The absence of QUALIFIER means this is a "primary" method. The set of acceptable qualifiers and their meaning is defined (and can be extended) by the methods of `cl-generic-combine-methods'. ARGS can also include so-called context specializers, introduced by `&context' (which should appear right after the mandatory arguments, before any &optional or &rest). They have the form (EXPR TYPE) where EXPR is an Elisp expression whose value should match TYPE for the method to be applicable. The set of acceptable TYPEs (also called "specializers") is defined (and can be extended) by the various methods of `cl-generic-generalizers'. (fn NAME [QUALIFIER] ARGS &rest [DOCSTRING] BODY)Fcl-generic-define-method (fn NAME QUALIFIERS ARGS USES-CNM FUNCTION)Fcl-find-method (fn GENERIC QUALIFIERS SPECIALIZERS)Fcommon-lisp-indent-function Function to indent the arguments of a Lisp function call. This is suitable for use as the value of the variable `lisp-indent-function'. INDENT-POINT is the point at which the indentation function is called, and STATE is the `parse-partial-sexp' state at that position. Browse the `lisp-indent' customize group for options affecting the behavior of this function. If the indentation point is in a call to a Lisp function, that function's `common-lisp-indent-function' property specifies how this function should indent it. Possible values for this property are: * defun, meaning indent according to `lisp-indent-defun-method'; i.e., like (4 &lambda &body), as explained below. * any other symbol, meaning a function to call. The function should take the arguments: PATH STATE INDENT-POINT SEXP-COLUMN NORMAL-INDENT. PATH is a list of integers describing the position of point in terms of list-structure with respect to the containing lists. For example, in ((a b c (d foo) f) g), foo has a path of (0 3 1). In other words, to reach foo take the 0th element of the outermost list, then the 3rd element of the next list, and finally the 1st element. STATE and INDENT-POINT are as in the arguments to `common-lisp-indent-function'. SEXP-COLUMN is the column of the open parenthesis of the innermost containing list. NORMAL-INDENT is the column the indentation point was originally in. This function should behave like `lisp-indent-259'. * an integer N, meaning indent the first N arguments like function arguments, and any further arguments like a body. This is equivalent to (4 4 ... &body). * a list. The list element in position M specifies how to indent the Mth function argument. If there are fewer elements than function arguments, the last list element applies to all remaining arguments. The accepted list elements are: * nil, meaning the default indentation. * an integer, specifying an explicit indentation. * &lambda. Indent the argument (which may be a list) by 4. * &rest. When used, this must be the penultimate element. The element after this one applies to all remaining arguments. * &body. This is equivalent to &rest lisp-body-indent, i.e., indent all remaining elements by `lisp-body-indent'. * &whole. This must be followed by nil, an integer, or a function symbol. This indentation is applied to the associated argument, and as a base indent for all remaining arguments. For example, an integer P means indent this argument by P, and all remaining arguments by P, plus the value specified by their associated list element. * a symbol. A function to call, with the 6 arguments specified above. * a list, with elements as described above. This applies when the associated function argument is itself a list. Each element of the list specifies how to indent the associated argument. For example, the function `case' has an indent property (4 &rest (&whole 2 &rest 1)), meaning: * indent the first argument by 4. * arguments after the first should be lists, and there may be any number of them. The first list element has an offset of 2, all the rest have an offset of 2+1=3. If the current mode is actually `emacs-lisp-mode', look for a `common-lisp-indent-function-for-elisp' property before looking at `common-lisp-indent-function' and, if set, use its value instead. (fn INDENT-POINT STATE)Vcl-custom-print-functions This is a list of functions that format user objects for printing. Each function is called in turn with three arguments: the object, the stream, and the print level (currently ignored). If it is able to print the object it returns true; otherwise it returns nil and the printer proceeds to the next function on the list. This variable is not used at present, but it is defined in hopes that a future Emacs interpreter will be able to use it.Fcl-incf Increment PLACE by X (1 by default). PLACE may be a symbol, or any generalized variable allowed by `setf'. The return value is the incremented value of PLACE. (fn PLACE &optional X)Vcl-old-struct-compat-mode Non-nil if Cl-Old-Struct-Compat mode is enabled. See the `cl-old-struct-compat-mode' command 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 `cl-old-struct-compat-mode'.Fcl-old-struct-compat-mode Enable backward compatibility with old-style structs. This can be needed when using code byte-compiled using the old macro-expansion of `cl-defstruct' that used vectors objects instead of record objects. If called interactively, enable Cl-Old-Struct-Compat mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Fcl-print-object Dispatcher to print OBJECT on STREAM according to its type. You can add methods to it to customize the output. But if you just want to print something, don't call this directly: call other entry points instead, such as `cl-prin1'. (fn OBJECT STREAM)Fcl-print-expand-ellipsis Print the expansion of an ellipsis to STREAM. VALUE should be the value of the `cl-print-ellipsis' text property which was attached to the ellipsis by `cl-prin1'. (fn VALUE STREAM)Fcl-prin1 Print OBJECT on STREAM according to its type. Output is further controlled by the variables `cl-print-readably', `cl-print-compiled', along with output variables for the standard printing functions. See Info node `(elisp)Output Variables'. (fn OBJECT &optional STREAM)Fcl-prin1-to-string Return a string containing the `cl-prin1'-printed representation of OBJECT. (fn OBJECT)Fcl-print-to-string-with-limit Return a string containing a printed representation of VALUE. Attempt to get the length of the returned string under LIMIT characters with appropriate settings of `print-level' and `print-length.' Use PRINT-FUNCTION to print, which should take the arguments VALUE and STREAM and which should respect `print-length' and `print-level'. LIMIT may be nil or zero in which case PRINT-FUNCTION will be called with `print-level' and `print-length' bound to nil. Use this function with `cl-prin1' to print an object, abbreviating it with ellipses to fit within a size limit. Use this function with `cl-prin1-expand-ellipsis' to expand an ellipsis, abbreviating the expansion to stay within a size limit. (fn PRINT-FUNCTION VALUE LIMIT)Fc-macro-expand Expand C macros in the region, using the C preprocessor. Normally display output in temp buffer, but prefix arg means replace the region with it. `c-macro-preprocessor' specifies the preprocessor to use. Tf the user option `c-macro-prompt-flag' is non-nil prompt for arguments to the preprocessor (e.g. `-DDEBUG -I ./include'), otherwise use `c-macro-cppflags'. Noninteractive args are START, END, SUBST. For use inside Lisp programs, see also `c-macro-expansion'. (fn START END SUBST)Frun-scheme Run an inferior Scheme process, input and output via buffer `*scheme*'. If there is a process already running in `*scheme*', switch to that buffer. With argument, allows you to edit the command line (default is value of `scheme-program-name'). If the file `~/.emacs_SCHEMENAME' or `~/.emacs.d/init_SCHEMENAME.scm' exists, it is given as initial input. Note that this may lose due to a timing error if the Scheme processor discards input when it starts up. Runs the hook `inferior-scheme-mode-hook' (after the `comint-mode-hook' is run). (Type \[describe-mode] in the process buffer for a list of commands.) (fn CMD)Fcolor-name-to-rgb Convert COLOR string to a list of normalized RGB components. COLOR should be a color name (e.g. "white") or an RGB triplet string (e.g. "#ffff1122eecc"). Normally the return value is a list of three floating-point numbers, (RED GREEN BLUE), each between 0.0 and 1.0 inclusive. Optional argument FRAME specifies the frame where the color is to be displayed. If FRAME is omitted or nil, use the selected frame. If FRAME cannot display COLOR, return nil. (fn COLOR &optional FRAME)Vcomint-output-filter-functions Functions to call after output is inserted into the buffer. One possible function is `comint-postoutput-scroll-to-bottom'. These functions get one argument, a string containing the text as originally inserted. Note that this might not be the same as the buffer contents between `comint-last-output-start' and the buffer's `process-mark', if other filter functions have already modified the buffer. See also `comint-preoutput-filter-functions'. You can use `add-hook' to add functions to this list either globally or locally.Fmake-comint-in-buffer Make a Comint process NAME in BUFFER, running PROGRAM. If BUFFER is nil, it defaults to NAME surrounded by `*'s. If there is a running process in BUFFER, it is not restarted. PROGRAM should be one of the following: - a string, denoting an executable program to create via `start-file-process' - a cons pair of the form (HOST . SERVICE), denoting a TCP connection to be opened via `open-network-stream' - nil, denoting a newly-allocated pty. Optional fourth arg STARTFILE is the name of a file, whose contents are sent to the process as its initial input. If PROGRAM is a string, any more args are arguments to PROGRAM. Return the (possibly newly created) process buffer. (fn NAME BUFFER PROGRAM &optional STARTFILE &rest SWITCHES)Fmake-comint Make a Comint process NAME in a buffer, running PROGRAM. The name of the buffer is made by surrounding NAME with `*'s. PROGRAM should be either a string denoting an executable program to create via `start-file-process', or a cons pair of the form (HOST . SERVICE) denoting a TCP connection to be opened via `open-network-stream'. If there is already a running process in that buffer, it is not restarted. Optional third arg STARTFILE is the name of a file, whose contents are sent to the process as its initial input. If PROGRAM is a string, any more args are arguments to PROGRAM. Returns the (possibly newly created) process buffer. (fn NAME PROGRAM &optional STARTFILE &rest SWITCHES)Fcomint-run Run PROGRAM in a Comint buffer and switch to that buffer. If SWITCHES are supplied, they are passed to PROGRAM. With prefix argument \[universal-argument] prompt for SWITCHES as well as PROGRAM. The buffer name is made by surrounding the file name of PROGRAM with `*'s. The file name is used to make a symbol name, such as `comint-sh-hook', and any hooks on this symbol are run in the buffer. See `make-comint' and `comint-exec'. (fn PROGRAM &optional SWITCHES)Vcomint-file-name-prefix Prefix prepended to absolute file names taken from process input. This is used by Comint's and shell's completion functions, and by shell's directory tracking functions.Fcomint-redirect-send-command Send COMMAND to process in current buffer, with output to OUTPUT-BUFFER. With prefix arg ECHO, echo output in process buffer. If NO-DISPLAY is non-nil, do not show the output buffer. (fn COMMAND OUTPUT-BUFFER ECHO &optional NO-DISPLAY)Fcomint-redirect-send-command-to-process Send COMMAND to PROCESS, with output to OUTPUT-BUFFER. With prefix arg, echo output in process buffer. If NO-DISPLAY is non-nil, do not show the output buffer. (fn COMMAND OUTPUT-BUFFER PROCESS ECHO &optional NO-DISPLAY)Fcomint-redirect-results-list Send COMMAND to current process. Return a list of expressions in the output which match REGEXP. REGEXP-GROUP is the regular expression group in REGEXP to use. (fn COMMAND REGEXP REGEXP-GROUP)Fcomint-redirect-results-list-from-process Send COMMAND to PROCESS. Return a list of expressions in the output which match REGEXP. REGEXP-GROUP is the regular expression group in REGEXP to use. (fn PROCESS COMMAND REGEXP REGEXP-GROUP)Fcompare-windows Compare text in current window with text in another window. The option `compare-windows-get-window-function' defines how to get another window. Compares the text starting at point in each window, moving over text in each one as far as they match. This command pushes the mark in each window at the prior location of point in that window. If both windows display the same buffer, the mark is pushed twice in that buffer: first in the other window, then in the selected window. A prefix arg means reverse the value of variable `compare-ignore-whitespace'. If `compare-ignore-whitespace' is nil, then a prefix arg means ignore changes in whitespace. If `compare-ignore-whitespace' is non-nil, then a prefix arg means don't ignore changes in whitespace. The variable `compare-windows-whitespace' controls how whitespace is skipped. If `compare-ignore-case' is non-nil, changes in case are also ignored. If `compare-windows-sync' is non-nil, then successive calls of this command work in interlaced mode: on first call it advances points to the next difference, on second call it synchronizes points by skipping the difference, on third call it again advances points to the next difference and so on. (fn IGNORE-WHITESPACE)Vcompilation-mode-hook List of hook functions run by `compilation-mode'.Vcompilation-start-hook Hook run after starting a new compilation process. The hook is run with one argument, the new process.Vcompilation-window-height Number of lines in a compilation window. If nil, use Emacs default.Vcompilation-process-setup-function Function to call to customize the compilation process. This function is called immediately before the compilation process is started. It can be used to set any variables or functions that are used while processing the output of the compilation process.Vcompilation-buffer-name-function Function to compute the name of a compilation buffer. The function receives one argument, the name of the major mode of the compilation buffer. It should return a string. By default, it returns `(concat "*" (downcase name-of-mode) "*")'.Vcompilation-finish-functions Functions to call when a compilation process finishes. Each function is called with two arguments: the compilation buffer, and a string describing how the process finished.Vcompilation-ask-about-save Non-nil means \[compile] asks which buffers to save before compiling. Otherwise, it saves all modified buffers without asking.Vcompilation-search-path List of directories to search for source files named in error messages. Elements should be directory names, not file names of directories. The value nil as an element means to try the default directory.Vcompile-command Last shell command used to do a compilation; default for next compilation. Sometimes it is useful for files to supply local values for this variable. You might also use mode hooks to specify it in certain modes, like this: (add-hook \='c-mode-hook (lambda () (unless (or (file-exists-p "makefile") (file-exists-p "Makefile")) (set (make-local-variable \='compile-command) (concat "make -k " (if buffer-file-name (shell-quote-argument (file-name-sans-extension buffer-file-name)))))))) It's often useful to leave a space at the end of the value.Vcompilation-disable-input If non-nil, send end-of-file as compilation process input. This only affects platforms that support asynchronous processes (see `start-process'); synchronous compilation processes never accept input.Fcompile Compile the program including the current buffer. Default: run `make'. Runs COMMAND, a shell command, in a separate process asynchronously with output going to the buffer `*compilation*'. You can then use the command \[next-error] to find the next error message and move to the source code that caused it. If optional second arg COMINT is t the buffer will be in Comint mode with `compilation-shell-minor-mode'. Interactively, prompts for the command if the variable `compilation-read-command' is non-nil; otherwise uses `compile-command'. With prefix arg, always prompts. Additionally, with universal prefix arg, compilation buffer will be in comint mode, i.e. interactive. To run more than one compilation at once, start one then rename the `*compilation*' buffer to some other name with \[rename-buffer]. Then _switch buffers_ and start the new compilation. It will create a new `*compilation*' buffer. On most systems, termination of the main compilation process kills its subprocesses. The name used for the buffer is actually whatever is returned by the function in `compilation-buffer-name-function', so you can set that to a function that generates a unique name. (fn COMMAND &optional COMINT)Fcompilation-start Run compilation command COMMAND (low level interface). If COMMAND starts with a cd command, that becomes the `default-directory'. The rest of the arguments are optional; for them, nil means use the default. MODE is the major mode to set in the compilation buffer. Mode may also be t meaning use `compilation-shell-minor-mode' under `comint-mode'. If NAME-FUNCTION is non-nil, call it with one argument (the mode name) to determine the buffer name. Otherwise, the default is to reuses the current buffer if it has the proper major mode, else use or create a buffer with name based on the major mode. If HIGHLIGHT-REGEXP is non-nil, `next-error' will temporarily highlight the matching section of the visited source line; the default is to use the global value of `compilation-highlight-regexp'. Returns the compilation buffer created. (fn COMMAND &optional MODE NAME-FUNCTION HIGHLIGHT-REGEXP)Fcompilation-mode Major mode for compilation log buffers. \To visit the source for a line-numbered error, move point to the error message line and type \[compile-goto-error]. To kill the compilation, type \[kill-compilation]. Runs `compilation-mode-hook' with `run-mode-hooks' (which see). \{compilation-mode-map} (fn &optional NAME-OF-MODE)Fcompilation-shell-minor-mode Toggle Compilation Shell minor mode. If called interactively, enable Compilation-Shell minor mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When Compilation Shell minor mode is enabled, all the error-parsing commands of the Compilation major mode are available but bound to keys that don't collide with Shell mode. See `compilation-mode'. (fn &optional ARG)Fcompilation-minor-mode Toggle Compilation minor mode. If called interactively, enable Compilation minor mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When Compilation minor mode is enabled, all the error-parsing commands of Compilation major mode are available. See `compilation-mode'. (fn &optional ARG)Fcompilation-next-error-function Advance to the next error message and visit the file where the error was. This is the value of `next-error-function' in Compilation buffers. (fn N &optional RESET)Vdynamic-completion-mode Non-nil if Dynamic-Completion mode is enabled. See the `dynamic-completion-mode' command 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 `dynamic-completion-mode'.Fdynamic-completion-mode Toggle dynamic word-completion on or off. If called interactively, enable Dynamic-Completion mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Fconf-mode Mode for Unix and Windows Conf files and Java properties. Most conf files know only three kinds of constructs: parameter assignments optionally grouped into sections and comments. Yet there is a great range of variation in the exact syntax of conf files. See below for various wrapper commands that set up the details for some of the most widespread variants. This mode sets up font locking, outline, imenu and it provides alignment support through `conf-align-assignments'. If strings come out wrong, try `conf-quote-normal'. Some files allow continuation lines, either with a backslash at the end of line, or by indenting the next line (further). These constructs cannot currently be recognized. Because of this great variety of nuances, which are often not even clearly specified, please don't expect it to get every file quite right. Patches that clearly identify some special case, without breaking the general ones, are welcome. If instead you start this mode with the generic `conf-mode' command, it will parse the buffer. It will generally well identify the first four cases listed below. If the buffer doesn't have enough contents to decide, this is identical to `conf-windows-mode' on Windows, elsewhere to `conf-unix-mode'. See also `conf-space-mode', `conf-colon-mode', `conf-javaprop-mode', `conf-ppd-mode' and `conf-xdefaults-mode'. \{conf-mode-map}Fconf-unix-mode Conf Mode starter for Unix style Conf files. Comments start with `#'. For details see `conf-mode'. (fn)Fconf-windows-mode Conf Mode starter for Windows style Conf files. Comments start with `;'. For details see `conf-mode'. Example: ; Conf mode font-locks this right on Windows and with \[conf-windows-mode] [ExtShellFolderViews] Default={5984FFE0-28D4-11CF-AE66-08002B2E1262} {5984FFE0-28D4-11CF-AE66-08002B2E1262}={5984FFE0-28D4-11CF-AE66-08002B2E1262} [{5984FFE0-28D4-11CF-AE66-08002B2E1262}] PersistMoniker=file://Folder.htt (fn)Fconf-javaprop-mode Conf Mode starter for Java properties files. Comments start with `#' but are also recognized with `//' or between `/*' and `*/'. For details see `conf-mode'. Example: # Conf mode font-locks this right with \[conf-javaprop-mode] (Java properties) // another kind of comment /* yet another */ name:value name=value name value x.1 = x.2.y.1.z.1 = x.2.y.1.z.2.zz = (fn)Fconf-space-mode Conf Mode starter for space separated conf files. "Assignments" are with ` '. Keywords before the parameters are recognized according to the variable `conf-space-keywords-alist'. Alternatively, you can specify a value for the file local variable `conf-space-keywords'. Use the function `conf-space-keywords' if you want to specify keywords in an interactive fashion instead. For details see `conf-mode'. Example: # Conf mode font-locks this right with \[conf-space-mode] (space separated) image/jpeg jpeg jpg jpe image/png png image/tiff tiff tif # Or with keywords (from a recognized file name): class desktop # Standard multimedia devices add /dev/audio desktop add /dev/mixer desktop (fn)Fconf-space-keywords Enter Conf Space mode using regexp KEYWORDS to match the keywords. See `conf-space-mode'. (fn KEYWORDS)Fconf-colon-mode Conf Mode starter for Colon files. "Assignments" are with `:'. For details see `conf-mode'. Example: # Conf mode font-locks this right with \[conf-colon-mode] (colon) : "\241" exclamdown : "\242" cent (fn)Fconf-ppd-mode Conf Mode starter for Adobe/CUPS PPD files. Comments start with `*%' and "assignments" are with `:'. For details see `conf-mode'. Example: *% Conf mode font-locks this right with \[conf-ppd-mode] (PPD) *DefaultTransfer: Null *Transfer Null.Inverse: "{ 1 exch sub }" (fn)Fconf-xdefaults-mode Conf Mode starter for Xdefaults files. Comments start with `!' and "assignments" are with `:'. For details see `conf-mode'. Example: ! Conf mode font-locks this right with \[conf-xdefaults-mode] (.Xdefaults) *background: gray99 *foreground: black (fn)Fconf-toml-mode Conf Mode starter for TOML files. Comments start with `#' and "assignments" are with `='. For details see `conf-mode'. Example: # Conf mode font-locks this right with \[conf-toml-mode] [entry] value = "some string" (fn)Fconf-desktop-mode Conf Mode started for freedesktop.org Desktop files. Comments start with `#' and "assignments" are with `='. For details see `conf-mode'. # Conf mode font-locks this correctly with \[conf-desktop-mode] [Desktop Entry] Name=GNU Image Manipulation Program Name[oc]=Editor d'imatge GIMP Exec=gimp-2.8 %U Terminal=false (fn)Fcookie Return a random phrase from PHRASE-FILE. When the phrase file is read in, display STARTMSG at the beginning of load, ENDMSG at the end. Interactively, PHRASE-FILE defaults to `cookie-file', unless that is nil or a prefix argument is used. (fn PHRASE-FILE &optional STARTMSG ENDMSG)Fcookie-insert Insert random phrases from PHRASE-FILE; COUNT of them. When the phrase file is read in, display STARTMSG at the beginning of load, ENDMSG at the end. (fn PHRASE-FILE &optional COUNT STARTMSG ENDMSG)Fcookie-snarf Reads in the PHRASE-FILE, returns it as a vector of strings. Emit STARTMSG and ENDMSG before and after. Caches the result; second and subsequent calls on the same file won't go to disk. (fn PHRASE-FILE &optional STARTMSG ENDMSG)Fcopyright-update Update copyright notice to indicate the current year. With prefix ARG, replace the years in the notice rather than adding the current year after them. If necessary, and `copyright-current-gpl-version' is set, any copying permissions following the copyright are updated as well. If non-nil, INTERACTIVEP tells the function to behave as when it's called interactively. (fn &optional ARG INTERACTIVEP)Fcopyright-fix-years Convert 2 digit years to 4 digit years. Uses heuristic: year >= 50 means 19xx, < 50 means 20xx. If `copyright-year-ranges' (which see) is non-nil, also independently replaces consecutive years with a range.Fcopyright Insert a copyright by $ORGANIZATION notice at cursor. (fn &optional STR ARG)Fcopyright-update-directory Update copyright notice for all files in DIRECTORY matching MATCH. If FIX is non-nil, run `copyright-fix-years' instead. (fn DIRECTORY MATCH &optional FIX)Fcperl-mode Major mode for editing Perl code. Expression and list commands understand all C brackets. Tab indents for Perl code. Paragraphs are separated by blank lines only. Delete converts tabs to spaces as it moves back. Various characters in Perl almost always come in pairs: {}, (), [], sometimes <>. When the user types the first, she gets the second as well, with optional special formatting done on {}. (Disabled by default.) You can always quote (with \[quoted-insert]) the left "paren" to avoid the expansion. The processing of < is special, since most the time you mean "less". CPerl mode tries to guess whether you want to type pair <>, and inserts is if it appropriate. You can set `cperl-electric-parens-string' to the string that contains the parens from the above list you want to be electrical. Electricity of parens is controlled by `cperl-electric-parens'. You may also set `cperl-electric-parens-mark' to have electric parens look for active mark and "embrace" a region if possible.' CPerl mode provides expansion of the Perl control constructs: if, else, elsif, unless, while, until, continue, do, for, foreach, formy and foreachmy. and POD directives (Disabled by default, see `cperl-electric-keywords'.) The user types the keyword immediately followed by a space, which causes the construct to be expanded, and the point is positioned where she is most likely to want to be. E.g., when the user types a space following "if" the following appears in the buffer: if () { or if () } { } and the cursor is between the parentheses. The user can then type some boolean expression within the parens. Having done that, typing \[cperl-linefeed] places you - appropriately indented - on a new line between the braces (if you typed \[cperl-linefeed] in a POD directive line, then appropriate number of new lines is inserted). If CPerl decides that you want to insert "English" style construct like bite if angry; it will not do any expansion. See also help on variable `cperl-extra-newline-before-brace'. (Note that one can switch the help message on expansion by setting `cperl-message-electric-keyword' to nil.) \[cperl-linefeed] is a convenience replacement for typing carriage return. It places you in the next line with proper indentation, or if you type it inside the inline block of control construct, like foreach (@lines) {print; print} and you are on a boundary of a statement inside braces, it will transform the construct into a multiline and will place you into an appropriately indented blank line. If you need a usual `newline-and-indent' behavior, it is on \[newline-and-indent], see documentation on `cperl-electric-linefeed'. Use \[cperl-invert-if-unless] to change a construction of the form if (A) { B } into B if A; \{cperl-mode-map} Setting the variable `cperl-font-lock' to t switches on font-lock-mode (even with older Emacsen), `cperl-electric-lbrace-space' to t switches on electric space between $ and {, `cperl-electric-parens-string' is the string that contains parentheses that should be electric in CPerl (see also `cperl-electric-parens-mark' and `cperl-electric-parens'), setting `cperl-electric-keywords' enables electric expansion of control structures in CPerl. `cperl-electric-linefeed' governs which one of two linefeed behavior is preferable. You can enable all these options simultaneously (recommended mode of use) by setting `cperl-hairy' to t. In this case you can switch separate options off by setting them to `null'. Note that one may undo the extra whitespace inserted by semis and braces in `auto-newline'-mode by consequent \[cperl-electric-backspace]. If your site has perl5 documentation in info format, you can use commands \[cperl-info-on-current-command] and \[cperl-info-on-command] to access it. These keys run commands `cperl-info-on-current-command' and `cperl-info-on-command', which one is which is controlled by variable `cperl-info-on-command-no-prompt' and `cperl-clobber-lisp-bindings' (in turn affected by `cperl-hairy'). Even if you have no info-format documentation, short one-liner-style help is available on \[cperl-get-help], and one can run perldoc or man via menu. It is possible to show this help automatically after some idle time. This is regulated by variable `cperl-lazy-help-time'. Default with `cperl-hairy' (if the value of `cperl-lazy-help-time' is nil) is 5 secs idle time . It is also possible to switch this on/off from the menu, or via \[cperl-toggle-autohelp]. Use \[cperl-lineup] to vertically lineup some construction - put the beginning of the region at the start of construction, and make region span the needed amount of lines. Variables `cperl-pod-here-scan', `cperl-pod-here-fontify', `cperl-pod-face', `cperl-pod-head-face' control processing of POD and here-docs sections. With capable Emaxen results of scan are used for indentation too, otherwise they are used for highlighting only. Variables controlling indentation style: `cperl-tab-always-indent' Non-nil means TAB in CPerl mode should always reindent the current line, regardless of where in the line point is when the TAB command is used. `cperl-indent-left-aligned-comments' Non-nil means that the comment starting in leftmost column should indent. `cperl-auto-newline' Non-nil means automatically newline before and after braces, and after colons and semicolons, inserted in Perl code. The following \[cperl-electric-backspace] will remove the inserted whitespace. Insertion after colons requires both this variable and `cperl-auto-newline-after-colon' set. `cperl-auto-newline-after-colon' Non-nil means automatically newline even after colons. Subject to `cperl-auto-newline' setting. `cperl-indent-level' Indentation of Perl statements within surrounding block. The surrounding block's indentation is the indentation of the line on which the open-brace appears. `cperl-continued-statement-offset' Extra indentation given to a substatement, such as the then-clause of an if, or body of a while, or just a statement continuation. `cperl-continued-brace-offset' Extra indentation given to a brace that starts a substatement. This is in addition to `cperl-continued-statement-offset'. `cperl-brace-offset' Extra indentation for line if it starts with an open brace. `cperl-brace-imaginary-offset' An open brace following other text is treated as if it the line started this far to the right of the actual line indentation. `cperl-label-offset' Extra indentation for line that is a label. `cperl-min-label-indent' Minimal indentation for line that is a label. Settings for classic indent-styles: K&R BSD=C++ GNU PerlStyle=Whitesmith `cperl-indent-level' 5 4 2 4 `cperl-brace-offset' 0 0 0 0 `cperl-continued-brace-offset' -5 -4 0 0 `cperl-label-offset' -5 -4 -2 -4 `cperl-continued-statement-offset' 5 4 2 4 CPerl knows several indentation styles, and may bulk set the corresponding variables. Use \[cperl-set-style] to do this. Use \[cperl-set-style-back] to restore the memorized preexisting values (both available from menu). See examples in `cperl-style-examples'. Part of the indentation style is how different parts of if/elsif/else statements are broken into lines; in CPerl, this is reflected on how templates for these constructs are created (controlled by `cperl-extra-newline-before-brace'), and how reflow-logic should treat "continuation" blocks of else/elsif/continue, controlled by the same variable, and by `cperl-extra-newline-before-brace-multiline', `cperl-merge-trailing-else', `cperl-indent-region-fix-constructs'. If `cperl-indent-level' is 0, the statement after opening brace in column 0 is indented on `cperl-brace-offset'+`cperl-continued-statement-offset'. Turning on CPerl mode calls the hooks in the variable `cperl-mode-hook' with no args. DO NOT FORGET to read micro-docs (available from `Perl' menu) or as help on variables `cperl-tips', `cperl-problems', `cperl-praise', `cperl-speed'. (fn)Fcperl-perldoc Run `perldoc' on WORD. (fn WORD)Fcperl-perldoc-at-point Run a `perldoc' on the word around point.Fcpp-highlight-buffer Highlight C code according to preprocessor conditionals. This command pops up a buffer which you should edit to specify what kind of highlighting to use, and the criteria for highlighting. A prefix arg suppresses display of that buffer. (fn ARG)Fcpp-parse-edit Edit display information for cpp conditionals.Fcompleting-read-multiple Read multiple strings in the minibuffer, with completion. The arguments are the same as those of `completing-read'. \ Input multiple strings by separating each one with a string that matches the regexp `crm-separator'. For example, if the separator regexp is ",", entering "alice,bob,eve" specifies the strings "alice", "bob", and "eve". We refer to contiguous strings of non-separator-characters as "elements". In this example there are three elements. Completion is available on a per-element basis. For example, if the contents of the minibuffer are "alice,bob,eve" and point is between "l" and "i", pressing \[minibuffer-complete] operates on the element "alice". This function returns a list of the strings that were read, with empty strings removed. (fn PROMPT TABLE &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)Fcss-mode Major mode to edit Cascading Style Sheets (CSS). \ This mode provides syntax highlighting, indentation, completion, and documentation lookup for CSS. Use `\[completion-at-point]' to complete CSS properties, property values, pseudo-elements, pseudo-classes, at-rules, bang-rules, and HTML tags, classes and IDs. Completion candidates for HTML class names and IDs are found by looking through open HTML mode buffers. Use `\[info-lookup-symbol]' to look up documentation of CSS properties, at-rules, pseudo-classes, and pseudo-elements on the Mozilla Developer Network (MDN). Use `\[fill-paragraph]' to reformat CSS declaration blocks. It can also be used to fill comments. \{css-mode-map} (fn)Fscss-mode Major mode to edit "Sassy CSS" files. (fn)Fcss-lookup-symbol Display the CSS documentation for SYMBOL, as found on MDN. When this command is used interactively, it picks a default symbol based on the CSS text before point -- either an @-keyword, a property name, a pseudo-class, or a pseudo-element, depending on what is seen near point. (fn SYMBOL)Vcua-mode Non-nil if Cua mode is enabled. See the `cua-mode' command 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 `cua-mode'.Fcua-mode Toggle Common User Access style editing (CUA mode). If called interactively, enable Cua mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. CUA mode is a global minor mode. When enabled, typed text replaces the active selection, and you can use C-z, C-x, C-c, and C-v to undo, cut, copy, and paste in addition to the normal Emacs bindings. The C-x and C-c keys only do cut and copy when the region is active, so in most cases, they do not conflict with the normal function of these prefix keys. If you really need to perform a command which starts with one of the prefix keys even when the region is active, you have three options: - press the prefix key twice very quickly (within 0.2 seconds), - press the prefix key and the following key within 0.2 seconds, or - use the SHIFT key with the prefix key, i.e. C-S-x or C-S-c. You can customize `cua-enable-cua-keys' to completely disable the CUA bindings, or `cua-prefix-override-inhibit-delay' to change the prefix fallback behavior. (fn &optional ARG)Fcua-selection-mode Enable CUA selection mode without the C-z/C-x/C-c/C-v bindings. (fn ARG)Fcua-rectangle-mark-mode Toggle the region as rectangular. Activates the region if needed. Only lasts until the region is deactivated. If called interactively, enable Cua-Rectangle-Mark mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Vcursor-sensor-inhibit When non-nil, suspend `cursor-sensor-mode' and `cursor-intangible-mode'. By convention, this is a list of symbols where each symbol stands for the "cause" of the suspension.Fcursor-intangible-mode Keep cursor outside of any `cursor-intangible' text property. If called interactively, enable Cursor-Intangible mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Fcursor-sensor-mode Handle the `cursor-sensor-functions' text property. This property should hold a list of functions which react to the motion of the cursor. They're called with three arguments (WINDOW OLDPOS DIR) where WINDOW is the affected window, OLDPOS is the last known position of the cursor and DIR can be `entered' or `left' depending on whether the cursor is entering the area covered by the text-property property or leaving it. If called interactively, enable Cursor-Sensor mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Vcustom-browse-sort-alphabetically If non-nil, sort customization group alphabetically in `custom-browse'.Vcustom-buffer-sort-alphabetically Whether to sort customization groups alphabetically in Custom buffer.Vcustom-menu-sort-alphabetically If non-nil, sort each customization group alphabetically in menus.Fcustomize-set-value Set VARIABLE to VALUE, and return VALUE. VALUE is a Lisp object. If VARIABLE has a `variable-interactive' property, that is used as if it were the arg to `interactive' (which see) to interactively read the value. If VARIABLE has a `custom-type' property, it must be a widget and the `:prompt-value' property of that widget will be used for reading the value. If given a prefix (or a COMMENT argument), also prompt for a comment. (fn VARIABLE VALUE &optional COMMENT)Fcustomize-set-variable Set the default for VARIABLE to VALUE, and return VALUE. VALUE is a Lisp object. If VARIABLE has a `custom-set' property, that is used for setting VARIABLE, otherwise `set-default' is used. If VARIABLE has a `variable-interactive' property, that is used as if it were the arg to `interactive' (which see) to interactively read the value. If VARIABLE has a `custom-type' property, it must be a widget and the `:prompt-value' property of that widget will be used for reading the value. If given a prefix (or a COMMENT argument), also prompt for a comment. (fn VARIABLE VALUE &optional COMMENT)Fcustomize-save-variable Set the default for VARIABLE to VALUE, and save it for future sessions. Return VALUE. If VARIABLE has a `custom-set' property, that is used for setting VARIABLE, otherwise `set-default' is used. If VARIABLE has a `variable-interactive' property, that is used as if it were the arg to `interactive' (which see) to interactively read the value. If VARIABLE has a `custom-type' property, it must be a widget and the `:prompt-value' property of that widget will be used for reading the value. If given a prefix (or a COMMENT argument), also prompt for a comment. (fn VARIABLE VALUE &optional COMMENT)Fcustomize-push-and-save Add ELTS to LIST-VAR and save for future sessions, safely. ELTS should be a list. This function adds each entry to the value of LIST-VAR using `add-to-list'. If Emacs is initialized, call `customize-save-variable' to save the resulting list value now. Otherwise, add an entry to `after-init-hook' to save it after initialization. (fn LIST-VAR ELTS)Fcustomize Select a customization buffer which you can use to set user options. User options are structured into "groups". Initially the top-level group `Emacs' and its immediate subgroups are shown; the contents of those subgroups are initially hidden.Fcustomize-mode Customize options related to a major or minor mode. By default the current major mode is used. With a prefix argument or if the current major mode has no known group, prompt for the MODE to customize. (fn MODE)Fcustomize-group Customize GROUP, which must be a customization group. If OTHER-WINDOW is non-nil, display in another window. (fn &optional GROUP OTHER-WINDOW)Fcustomize-group-other-window Customize GROUP, which must be a customization group, in another window. (fn &optional GROUP)Fcustomize-option Customize SYMBOL, which must be a user option. (fn SYMBOL)Fcustomize-option-other-window Customize SYMBOL, which must be a user option. Show the buffer in another window, but don't select it. (fn SYMBOL)Vcustomize-package-emacs-version-alist Alist mapping versions of a package to Emacs versions. We use this for packages that have their own names, but are released as part of Emacs itself. Each elements looks like this: (PACKAGE (PVERSION . EVERSION)...) Here PACKAGE is the name of a package, as a symbol. After PACKAGE come one or more elements, each associating a package version PVERSION with the first Emacs version EVERSION in which it (or a subsequent version of PACKAGE) was first released. Both PVERSION and EVERSION are strings. PVERSION should be a string that this package used in the :package-version keyword for `defcustom', `defgroup', and `defface'. For example, the MH-E package updates this alist as follows: (add-to-list \='customize-package-emacs-version-alist \='(MH-E ("6.0" . "22.1") ("6.1" . "22.1") ("7.0" . "22.1") ("7.1" . "22.1") ("7.2" . "22.1") ("7.3" . "22.1") ("7.4" . "22.1") ("8.0" . "22.1"))) The value of PACKAGE needs to be unique and it needs to match the PACKAGE value appearing in the :package-version keyword. Since the user might see the value in an error message, a good choice is the official name of the package, such as MH-E or Gnus.Fcustomize-changed-options Customize all settings whose meanings have changed in Emacs itself. This includes new user options and faces, and new customization groups, as well as older options and faces whose meanings or default values have changed since the previous major Emacs release. With argument SINCE-VERSION (a string), customize all settings that were added or redefined since that version. (fn &optional SINCE-VERSION)Fcustomize-face Customize FACE, which should be a face name or nil. If FACE is nil, customize all faces. If FACE is actually a face-alias, customize the face it is aliased to. If OTHER-WINDOW is non-nil, display in another window. Interactively, when point is on text which has a face specified, suggest to customize that face, if it's customizable. (fn &optional FACE OTHER-WINDOW)Fcustomize-face-other-window Show customization buffer for face FACE in other window. If FACE is actually a face-alias, customize the face it is aliased to. Interactively, when point is on text which has a face specified, suggest to customize that face, if it's customizable. (fn &optional FACE)Fcustomize-unsaved Customize all options and faces set in this session but not saved.Fcustomize-rogue Customize all user variables modified outside customize.Fcustomize-saved Customize all saved options and faces.Fcustomize-apropos Customize loaded options, faces and groups matching PATTERN. PATTERN can be a word, a list of words (separated by spaces), or a regexp (using some regexp special characters). If it is a word, search for matches for that word as a substring. If it is a list of words, search for matches for any two (or more) of those words. If TYPE is `options', include only options. If TYPE is `faces', include only faces. If TYPE is `groups', include only groups. (fn PATTERN &optional TYPE)Fcustomize-apropos-options Customize all loaded customizable options matching REGEXP. (fn REGEXP &optional IGNORED)Fcustomize-apropos-faces Customize all loaded faces matching REGEXP. (fn REGEXP)Fcustomize-apropos-groups Customize all loaded groups matching REGEXP. (fn REGEXP)Fcustom-prompt-customize-unsaved-options Prompt user to customize any unsaved customization options. Return non-nil if user chooses to customize, for use in `kill-emacs-query-functions'.Fcustom-buffer-create Create a buffer containing OPTIONS. Optional NAME is the name of the buffer. OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where SYMBOL is a customization option, and WIDGET is a widget for editing that option. DESCRIPTION is unused. (fn OPTIONS &optional NAME DESCRIPTION)Fcustom-buffer-create-other-window Create a buffer containing OPTIONS, and display it in another window. The result includes selecting that window. Optional NAME is the name of the buffer. OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where SYMBOL is a customization option, and WIDGET is a widget for editing that option. DESCRIPTION is unused. (fn OPTIONS &optional NAME DESCRIPTION)Fcustomize-browse Create a tree browser for the customize hierarchy. (fn &optional GROUP)Vcustom-file File used for storing customization information. The default is nil, which means to use your init file as specified by `user-init-file'. If the value is not nil, it should be an absolute file name. You can set this option through Custom, if you carefully read the last paragraph below. However, usually it is simpler to write something like the following in your init file: (setq custom-file "~/.emacs-custom.el") (load custom-file) Note that both lines are necessary: the first line tells Custom to save all customizations in this file, but does not load it. When you change this variable outside Custom, look in the previous custom file (usually your init file) for the forms `(custom-set-variables ...)' and `(custom-set-faces ...)', and copy them (whichever ones you find) to the new custom file. This will preserve your existing customizations. If you save this option using Custom, Custom will write all currently saved customizations, including the new one for this option itself, into the file you specify, overwriting any `custom-set-variables' and `custom-set-faces' forms already present in that file. It will not delete any customizations from the old custom file. You should do that manually if that is what you want. You also have to put something like (load "CUSTOM-FILE") in your init file, where CUSTOM-FILE is the actual name of the file. Otherwise, Emacs will not load the file when it starts up, and hence will not set `custom-file' to that file either.Fcustom-save-all Save all customizations in `custom-file'.Fcustomize-save-customized Save all user options which have been set in this session.Fcustom-menu-create Create menu for customization group SYMBOL. The menu is in a format applicable to `easy-menu-define'. (fn SYMBOL)Fcustomize-menu-create Return a customize menu for customization group SYMBOL. If optional NAME is given, use that as the name of the menu. Otherwise the menu will be named `Customize'. The format is suitable for use with `easy-menu-define'. (fn SYMBOL &optional NAME)Fcustomize-create-theme Create or edit a custom theme. THEME, if non-nil, should be an existing theme to edit. If THEME is `user', the resulting *Custom Theme* buffer also contains a checkbox for removing the theme settings specified in the buffer from the Custom save file. BUFFER, if non-nil, should be a buffer to use; the default is named *Custom Theme*. (fn &optional THEME BUFFER)Fcustom-theme-visit-theme Set up a Custom buffer to edit custom theme THEME. (fn THEME)Fdescribe-theme Display a description of the Custom theme THEME (a symbol). (fn THEME)Fcustomize-themes Display a selectable list of Custom themes. When called from Lisp, BUFFER should be the buffer to use; if omitted, a buffer named *Custom Themes* is used. (fn &optional BUFFER)Fcvs-status-mode Mode used for cvs status output. (fn)Fcwarn-mode Minor mode that highlights suspicious C and C++ constructions. If called interactively, enable Cwarn mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Suspicious constructs are highlighted using `font-lock-warning-face'. Note, in addition to enabling this minor mode, the major mode must be included in the variable `cwarn-configuration'. By default C and C++ modes are included. (fn &optional ARG)Vglobal-cwarn-mode Non-nil if Global Cwarn mode is enabled. See the `global-cwarn-mode' command 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 `global-cwarn-mode'.Fglobal-cwarn-mode Toggle Cwarn mode in all buffers. With prefix ARG, enable Global Cwarn mode if ARG is positive; otherwise, disable it. If called from Lisp, enable the mode if ARG is omitted or nil. Cwarn mode is enabled in all buffers where `turn-on-cwarn-mode-if-enabled' would do it. See `cwarn-mode' for more information on Cwarn mode. (fn &optional ARG)Fcyrillic-encode-koi8-r-char Return KOI8-R external character code of CHAR if appropriate. (fn CHAR)Fcyrillic-encode-alternativnyj-char Return ALTERNATIVNYJ external character code of CHAR if appropriate. (fn CHAR)Fstandard-display-cyrillic-translit Display a cyrillic buffer using a transliteration. For readability, the table is slightly different from the one used for the input method `cyrillic-translit'. The argument is a string which specifies which language you are using; that affects the choice of transliterations slightly. Possible values are listed in `cyrillic-language-alist'. If the argument is t, we use the default cyrillic transliteration. If the argument is nil, we return the display table to its standard state. (fn &optional CYRILLIC-LANGUAGE)Fdabbrev-completion Completion on current word. Like \[dabbrev-expand] but finds all expansions in the current buffer and presents suggestions for completion. With a prefix argument ARG, it searches all buffers accepted by the function pointed out by `dabbrev-friend-buffer-function' to find the completions. If the prefix argument is 16 (which comes from \[universal-argument] \[universal-argument]), then it searches *all* buffers. (fn &optional ARG)Fdabbrev-expand Expand previous word "dynamically". Expands to the most recent, preceding word for which this is a prefix. If no suitable preceding word is found, words following point are considered. If still no suitable word is found, then look in the buffers accepted by the function pointed out by variable `dabbrev-friend-buffer-function', if `dabbrev-check-other-buffers' says so. Then, if `dabbrev-check-all-buffers' is non-nil, look in all the other buffers, subject to constraints specified by `dabbrev-ignored-buffer-names' and `dabbrev-ignored-buffer-regexps'. A positive prefix argument, N, says to take the Nth backward *distinct* possibility. A negative argument says search forward. If the cursor has not moved from the end of the previous expansion and no argument is given, replace the previously-made expansion with the next possible expansion not yet tried. The variable `dabbrev-backward-only' may be used to limit the direction of search to backward if set non-nil. See also `dabbrev-abbrev-char-regexp' and \[dabbrev-completion]. (fn ARG)Fdata-debug-new-buffer Create a new data-debug buffer with NAME. (fn NAME)Fdbus-handle-event Handle events from the D-Bus. EVENT is a D-Bus event, see `dbus-check-event'. HANDLER, being part of the event, is called with arguments ARGS. If the HANDLER returns a `dbus-error', it is propagated as return message. (fn EVENT)Fdcl-mode Major mode for editing DCL-files. This mode indents command lines in blocks. (A block is commands between THEN-ELSE-ENDIF and between lines matching dcl-block-begin-regexp and dcl-block-end-regexp.) Labels are indented to a fixed position unless they begin or end a block. Whole-line comments (matching dcl-comment-line-regexp) are not indented. Data lines are not indented. Key bindings: \{dcl-mode-map} Commands not usually bound to keys: \[dcl-save-nondefault-options] Save changed options \[dcl-save-all-options] Save all options \[dcl-save-option] Save any option \[dcl-save-mode] Save buffer mode Variables controlling indentation style and extra features: dcl-basic-offset Extra indentation within blocks. dcl-continuation-offset Extra indentation for continued lines. dcl-margin-offset Indentation for the first command line in a file or SUBROUTINE. dcl-margin-label-offset Indentation for a label. dcl-comment-line-regexp Lines matching this regexp will not be indented. dcl-block-begin-regexp dcl-block-end-regexp Regexps that match command lines that begin and end, respectively, a block of command lines that will be given extra indentation. Command lines between THEN-ELSE-ENDIF are always indented; these variables make it possible to define other places to indent. Set to nil to disable this feature. dcl-calc-command-indent-function Can be set to a function that customizes indentation for command lines. Two such functions are included in the package: dcl-calc-command-indent-multiple dcl-calc-command-indent-hang dcl-calc-cont-indent-function Can be set to a function that customizes indentation for continued lines. One such function is included in the package: dcl-calc-cont-indent-relative (set by default) dcl-tab-always-indent If t, pressing TAB always indents the current line. If nil, pressing TAB indents the current line if point is at the left margin. dcl-electric-characters Non-nil causes lines to be indented at once when a label, ELSE or ENDIF is typed. dcl-electric-reindent-regexps Use this variable and function dcl-electric-character to customize which words trigger electric indentation. dcl-tempo-comma dcl-tempo-left-paren dcl-tempo-right-paren These variables control the look of expanded templates. dcl-imenu-generic-expression Default value for imenu-generic-expression. The default includes SUBROUTINE labels in the main listing and sub-listings for other labels, CALL, GOTO and GOSUB statements. dcl-imenu-label-labels dcl-imenu-label-goto dcl-imenu-label-gosub dcl-imenu-label-call Change the text that is used as sub-listing labels in imenu. Loading this package calls the value of the variable `dcl-mode-load-hook' with no args, if that value is non-nil. Turning on DCL mode calls the value of the variable `dcl-mode-hook' with no args, if that value is non-nil. The following example uses the default values for all variables: $! This is a comment line that is not indented (it matches $! dcl-comment-line-regexp) $! Next follows the first command line. It is indented dcl-margin-offset. $ i = 1 $ ! Other comments are indented like command lines. $ ! A margin label indented dcl-margin-label-offset: $ label: $ if i.eq.1 $ then $ ! Lines between THEN-ELSE and ELSE-ENDIF are $ ! indented dcl-basic-offset $ loop1: ! This matches dcl-block-begin-regexp... $ ! ...so this line is indented dcl-basic-offset $ text = "This " + - ! is a continued line "lined up with the command line" $ type sys$input Data lines are not indented at all. $ endloop1: ! This matches dcl-block-end-regexp $ endif $ There is some minimal font-lock support (see vars `dcl-font-lock-defaults' and `dcl-font-lock-keywords'). (fn)Fdebug Enter debugger. \`\[debugger-continue]' returns from the debugger. Arguments are mainly for use when this is called from the internals of the evaluator. You may call with no args, or you may pass nil as the first arg and any other args you like. In that case, the list of args after the first will be printed into the backtrace buffer. If `inhibit-redisplay' is non-nil when this function is called, the debugger will not be entered. (fn &rest ARGS)Fdebug-on-entry Request FUNCTION to invoke debugger each time it is called. When called interactively, prompt for FUNCTION in the minibuffer. This works by modifying the definition of FUNCTION. If you tell the debugger to continue, FUNCTION's execution proceeds. If FUNCTION is a normal function or a macro written in Lisp, you can also step through its execution. FUNCTION can also be a primitive that is not a special form, in which case stepping is not possible. Break-on-entry for primitive functions only works when that function is called from Lisp. Use \[cancel-debug-on-entry] to cancel the effect of this command. Redefining FUNCTION also cancels it. (fn FUNCTION)Fcancel-debug-on-entry Undo effect of \[debug-on-entry] on FUNCTION. If FUNCTION is nil, cancel debug-on-entry for all functions. When called interactively, prompt for FUNCTION in the minibuffer. To specify a nil argument interactively, exit with an empty minibuffer. (fn &optional FUNCTION)Fdebug-on-variable-change Trigger a debugger invocation when VARIABLE is changed. When called interactively, prompt for VARIABLE in the minibuffer. This works by calling `add-variable-watcher' on VARIABLE. If you quit from the debugger, this will abort the change (unless the change is caused by the termination of a let-binding). The watchpoint may be circumvented by C code that changes the variable directly (i.e., not via `set'). Changing the value of the variable (e.g., `setcar' on a list variable) will not trigger watchpoint. Use \[cancel-debug-on-variable-change] to cancel the effect of this command. Uninterning VARIABLE or making it an alias of another symbol also cancels it. (fn VARIABLE)Fcancel-debug-on-variable-change Undo effect of \[debug-on-variable-change] on VARIABLE. If VARIABLE is nil, cancel debug-on-variable-change for all variables. When called interactively, prompt for VARIABLE in the minibuffer. To specify a nil argument interactively, exit with an empty minibuffer. (fn &optional VARIABLE)Fdecipher Format a buffer of ciphertext for cryptanalysis and enter Decipher mode.Fdecipher-mode Major mode for decrypting monoalphabetic substitution ciphers. Lower-case letters enter plaintext. Upper-case letters are commands. The buffer is made read-only so that normal Emacs commands cannot modify it. The most useful commands are: \ \[decipher-digram-list] Display a list of all digrams & their frequency \[decipher-frequency-count] Display the frequency of each ciphertext letter \[decipher-adjacency-list] Show adjacency list for current letter (lists letters appearing next to it) \[decipher-make-checkpoint] Save the current cipher alphabet (checkpoint) \[decipher-restore-checkpoint] Restore a saved cipher alphabet (checkpoint)Fdelimit-columns-customize Customize the `columns' group.Fdelimit-columns-region Prettify all columns in a text region. START and END delimit the text region. If you have, for example, the following columns: a b c d aaaa bb ccc ddddd Depending on your settings (see below), you then obtain the following result: [ a , b , c , d ] [ aaaa, bb , ccc , ddddd ] See the `delimit-columns-str-before', `delimit-columns-str-after', `delimit-columns-str-separator', `delimit-columns-before', `delimit-columns-after', `delimit-columns-separator', `delimit-columns-format' and `delimit-columns-extra' variables for customization of the look. (fn START END)Fdelimit-columns-rectangle Prettify all columns in a text rectangle. See `delimit-columns-region' for what this entails. START and END delimit the corners of the text rectangle. (fn START END)Vdelete-selection-mode Non-nil if Delete-Selection mode is enabled. See the `delete-selection-mode' command 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 `delete-selection-mode'.Fdelete-selection-mode Toggle Delete Selection mode. If called interactively, enable Delete-Selection mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When Delete Selection mode is enabled, typed text replaces the selection if the selection is active. Otherwise, typed text is just inserted at point regardless of any selection. See `delete-selection-helper' and `delete-selection-pre-hook' for information on adapting behavior of commands in Delete Selection mode. (fn &optional ARG)Fdefine-derived-mode Create a new mode CHILD which is a variant of an existing mode PARENT. The arguments are as follows: CHILD: the name of the command for the derived mode. PARENT: the name of the command for the parent mode (e.g. `text-mode') or nil if there is no parent. NAME: a string which will appear in the status line (e.g. "Hypertext") DOCSTRING: an optional documentation string--if you do not supply one, the function will attempt to invent something useful. KEYWORD-ARGS: optional arguments in the form of pairs of keyword and value. The following keyword arguments are currently supported: :group GROUP Declare the customization group that corresponds to this mode. The command `customize-mode' uses this. :syntax-table TABLE Use TABLE instead of the default (CHILD-syntax-table). A nil value means to simply use the same syntax-table as the parent. :abbrev-table TABLE Use TABLE instead of the default (CHILD-abbrev-table). A nil value means to simply use the same abbrev-table as the parent. :after-hook FORM A single lisp form which is evaluated after the mode hooks have been run. It should not be quoted. BODY: forms to execute just before running the hooks for the new mode. Do not use `interactive' here. Here is how you could define LaTeX-Thesis mode as a variant of LaTeX mode: (define-derived-mode LaTeX-thesis-mode LaTeX-mode "LaTeX-Thesis") You could then make new key bindings for `LaTeX-thesis-mode-map' without changing regular LaTeX mode. In this example, BODY is empty, and DOCSTRING is generated by default. As a more complex example, the following command uses `sgml-mode' as the parent, and then sets the variable `case-fold-search' to nil: (define-derived-mode article-mode sgml-mode "Article" "Major mode for editing technical articles." (setq case-fold-search nil)) Note that if the documentation string had been left out, it would have been generated automatically, with a reference to the keymap. The new mode runs the hook constructed by the function `derived-mode-hook-name'. See Info node `(elisp)Derived Modes' for more details. (fn CHILD PARENT NAME [DOCSTRING] [KEYWORD-ARGS...] &rest BODY)Fderived-mode-init-mode-variables Initialize variables for a new MODE. Right now, if they don't already exist, set up a blank keymap, an empty syntax table, and an empty abbrev table -- these will be merged the first time the mode is used. (fn MODE)Fdescribe-text-properties Describe widgets, buttons, overlays, and text properties at POS. POS is taken to be in BUFFER or in current buffer if nil. Interactively, describe them for the character after point. If optional second argument OUTPUT-BUFFER is non-nil, insert the output into that buffer, and don't initialize or clear it otherwise. (fn POS &optional OUTPUT-BUFFER BUFFER)Fdescribe-char Describe position POS (interactively, point) and the char after POS. POS is taken to be in BUFFER, or the current buffer if BUFFER is nil. The information is displayed in buffer `*Help*'. The position information includes POS; the total size of BUFFER; the region limits, if narrowed; the column number; and the horizontal scroll amount, if the buffer is horizontally scrolled. The character information includes: its codepoint; its charset (see `char-charset'), overridden by the `charset' text property at POS, if any; the codepoint of the character in the above charset; the character's script (as defined by `char-script-table') the character's syntax, as produced by `syntax-after' and `internal-describe-syntax-value'; its category (see `char-category-set' and `describe-char-categories'); how to input the character using the keyboard and input methods; how the character is encoded in BUFFER and in BUFFER's file; the font and font glyphs used to display the character; the composition information for displaying the character (if relevant); the character's canonical name and other properties defined by the Unicode Data Base; and widgets, buttons, overlays, and text properties relevant to POS. (fn POS &optional BUFFER)Fdescribe-char-eldoc Return a description of character at point for use by ElDoc mode. Return nil if character at point is a printable ASCII character (i.e. codepoint between 32 and 127 inclusively). Otherwise return a description formatted by `describe-char-eldoc--format' function taking into account value of `eldoc-echo-area-use-multiline-p' variable and width of minibuffer window for width limit. This function is meant to be used as a value of `eldoc-documentation-function' variable.Vdesktop-save-mode Non-nil if Desktop-Save mode is enabled. See the `desktop-save-mode' command 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 `desktop-save-mode'.Fdesktop-save-mode Toggle desktop saving (Desktop Save mode). If called interactively, enable Desktop-Save mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When Desktop Save mode is enabled, the state of Emacs is saved from one session to another. In particular, Emacs will save the desktop when it exits (this may prompt you; see the option `desktop-save'). The next time Emacs starts, if this mode is active it will restore the desktop. To manually save the desktop at any time, use the command `\[desktop-save]'. To load it, use `\[desktop-read]'. Once a desktop file exists, Emacs will auto-save it according to the option `desktop-auto-save-timeout'. To see all the options you can set, browse the `desktop' customization group. For further details, see info node `(emacs)Saving Emacs Sessions'. (fn &optional ARG)Vdesktop-locals-to-save List of local variables to save for each buffer. The variables are saved only when they really are local. Conventional minor modes are restored automatically; they should not be listed here.Vdesktop-buffer-mode-handlers Alist of major mode specific functions to restore a desktop buffer. Functions listed are called by `desktop-create-buffer' when `desktop-read' evaluates the desktop file. List elements must have the form (MAJOR-MODE . RESTORE-BUFFER-FUNCTION). Buffers with a major mode not specified here, are restored by the default handler `desktop-restore-file-buffer'. Handlers are called with argument list (DESKTOP-BUFFER-FILE-NAME DESKTOP-BUFFER-NAME DESKTOP-BUFFER-MISC) Furthermore, they may use the following variables: `desktop-file-version' `desktop-buffer-major-mode' `desktop-buffer-minor-modes' `desktop-buffer-point' `desktop-buffer-mark' `desktop-buffer-read-only' `desktop-buffer-locals' If a handler returns a buffer, then the saved mode settings and variable values for that buffer are copied into it. Modules that define a major mode that needs a special handler should contain code like (defun foo-restore-desktop-buffer ... (add-to-list \='desktop-buffer-mode-handlers \='(foo-mode . foo-restore-desktop-buffer)) The major mode function must either be autoloaded, or of the form "foobar-mode" and defined in library "foobar", so that desktop can guess how to load the mode's definition.Vdesktop-minor-mode-handlers Alist of functions to restore non-standard minor modes. Functions are called by `desktop-create-buffer' to restore minor modes. List elements must have the form (MINOR-MODE . RESTORE-FUNCTION). Minor modes not specified here, are restored by the standard minor mode function. Handlers are called with argument list (DESKTOP-BUFFER-LOCALS) Furthermore, they may use the following variables: `desktop-file-version' `desktop-buffer-file-name' `desktop-buffer-name' `desktop-buffer-major-mode' `desktop-buffer-minor-modes' `desktop-buffer-point' `desktop-buffer-mark' `desktop-buffer-read-only' `desktop-buffer-misc' When a handler is called, the buffer has been created and the major mode has been set, but local variables listed in desktop-buffer-locals has not yet been created and set. Modules that define a minor mode that needs a special handler should contain code like (defun foo-desktop-restore ... (add-to-list \='desktop-minor-mode-handlers \='(foo-mode . foo-desktop-restore)) The minor mode function must either be autoloaded, or of the form "foobar-mode" and defined in library "foobar", so that desktop can guess how to load the mode's definition. See also `desktop-minor-mode-table'.Fdesktop-clear Empty the Desktop. This kills all buffers except for internal ones and those with names matched by a regular expression in the list `desktop-clear-preserve-buffers'. Furthermore, it clears the variables listed in `desktop-globals-to-clear'. When called interactively and `desktop-restore-frames' is non-nil, it also deletes all frames except the selected one (and its minibuffer frame, if different).Fdesktop-save Save the state of Emacs in a desktop file in directory DIRNAME. Optional argument RELEASE non-nil says we're done with this desktop, in which case this function releases the lock of the desktop file in DIRNAME. If ONLY-IF-CHANGED is non-nil, compare the current desktop information to that in the desktop file, and if the desktop information has not changed since it was last saved, then do not rewrite the file. To restore the desktop, use `desktop-read'. This function can save the desktop in either format version 208 (which only Emacs 25.1 and later can read) or version 206 (which is readable by any Emacs from version 22.1 onwards). By default, it will use the same format the desktop file had when it was last saved, or version 208 when writing a fresh desktop file. To upgrade a version 206 file to version 208, call this command explicitly with a prefix argument: \[universal-argument] \[desktop-save]. If you are upgrading from Emacs 24 or older, we recommed to do this once you decide you no longer need compatibility with versions of Emacs before 25.1. To downgrade a version 208 file to version 206, use a double prefix argument: \[universal-argument] \[universal-argument] \[desktop-save]. Emacs will ask for confirmation when you upgrade or downgrade your desktop file. In a non-interactive call, VERSION can be given as an integer, either 206 or 208, to specify the format version in which to save the file, no questions asked. (fn DIRNAME &optional RELEASE ONLY-IF-CHANGED VERSION)Fdesktop-remove Delete desktop file in `desktop-dirname'. This function also sets `desktop-dirname' to nil.Fdesktop-read Read and process the desktop file in directory DIRNAME. Look for a desktop file in DIRNAME, or if DIRNAME is omitted, look in directories listed in `desktop-path'. If a desktop file is found, it is processed and `desktop-after-read-hook' is run. If no desktop file is found, clear the desktop and run `desktop-no-desktop-file-hook'. Interactively, with prefix arg \[universal-argument], ask for DIRNAME. This function is a no-op when Emacs is running in batch mode. It returns t if a desktop file was loaded, nil otherwise. (fn DIRNAME)Fdesktop-change-dir Change to desktop saved in DIRNAME. Kill the desktop as specified by variables `desktop-save-mode' and `desktop-save', then clear the desktop and load the desktop file in directory DIRNAME. (fn DIRNAME)Fdesktop-save-in-desktop-dir Save the desktop in directory `desktop-dirname'.Fdesktop-revert Revert to the last loaded desktop.Fgnus-article-outlook-unwrap-lines Unwrap lines that appear to be wrapped citation lines. You can control what lines will be unwrapped by frobbing `gnus-outlook-deuglify-unwrap-min' and `gnus-outlook-deuglify-unwrap-max', indicating the minimum and maximum length of an unwrapped citation line. If NODISPLAY is non-nil, don't redisplay the article buffer. (fn &optional NODISPLAY)Fgnus-article-outlook-repair-attribution Repair a broken attribution line. If NODISPLAY is non-nil, don't redisplay the article buffer. (fn &optional NODISPLAY)Fgnus-outlook-deuglify-article Full deuglify of broken Outlook (Express) articles. Treat "smartquotes", unwrap lines, repair attribution and rearrange citation. If NODISPLAY is non-nil, don't redisplay the article buffer. (fn &optional NODISPLAY)Fgnus-article-outlook-deuglify-article Deuglify broken Outlook (Express) articles and redisplay.Fdiary Generate the diary window for ARG days starting with the current date. If no argument is provided, the number of days of diary entries is governed by the variable `diary-number-of-entries'. A value of ARG less than 1 does nothing. This function is suitable for execution in an init file. (fn &optional ARG)Fdiary-mail-entries Send a mail message showing diary entries for next NDAYS days. If no prefix argument is given, NDAYS is set to `diary-mail-days'. Mail is sent to the address specified by `diary-mail-addr'. Here is an example of a script to call `diary-mail-entries', suitable for regular scheduling using cron (or at). Note that since `emacs -script' does not load your init file, you should ensure that all relevant variables are set. #!/usr/bin/emacs -script ;; diary-rem.el - run the Emacs diary-reminder (setq diary-mail-days 3 diary-file "/path/to/diary.file" calendar-date-style \='european diary-mail-addr "user@host.name") (diary-mail-entries) # diary-rem.el ends here (fn &optional NDAYS)Fdiary-mode Major mode for editing the diary file. (fn)Vdiff-switches A string or list of strings specifying switches to be passed to diff. This variable is also used in the `vc-diff' command (and related commands) if the backend-specific diff switch variable isn't set (`vc-git-diff-switches' for git, for instance), and `vc-diff-switches' isn't set.Vdiff-command The command to use to run diff.Fdiff Find and display the differences between OLD and NEW files. When called interactively, read NEW, then OLD, using the minibuffer. The default for NEW is the current buffer's file name, and the default for OLD is a backup file for NEW, if one exists. If NO-ASYNC is non-nil, call diff synchronously. When called interactively with a prefix argument, prompt interactively for diff switches. Otherwise, the switches specified in the variable `diff-switches' are passed to the diff command. Non-interactively, OLD and NEW may each be a file or a buffer. (fn OLD NEW &optional SWITCHES NO-ASYNC)Fdiff-backup Diff this file with its backup file or vice versa. Uses the latest backup, if there are several numerical backups. If this file is a backup, diff it with its original. The backup file is the first file given to `diff'. With prefix arg, prompt for diff switches. (fn FILE &optional SWITCHES)Fdiff-latest-backup-file Return the latest existing backup of FILE, or nil. (fn FN)Fdiff-buffer-with-file View the differences between BUFFER and its associated file. This requires the external program `diff' to be in your `exec-path'. (fn &optional BUFFER)Fdiff-buffers Find and display the differences between OLD and NEW buffers. When called interactively, read NEW, then OLD, using the minibuffer. The default for NEW is the current buffer, and the default for OLD is the most recently selected other buffer. If NO-ASYNC is non-nil, call diff synchronously. When called interactively with a prefix argument, prompt interactively for diff switches. Otherwise, the switches specified in the variable `diff-switches' are passed to the diff command. OLD and NEW may each be a buffer or a buffer name. (fn OLD NEW &optional SWITCHES NO-ASYNC)Fdiff-mode Major mode for viewing/editing context diffs. Supports unified and context diffs as well as (to a lesser extent) normal diffs. When the buffer is read-only, the ESC prefix is not necessary. If you edit the buffer manually, diff-mode will try to update the hunk headers for you on-the-fly. You can also switch between context diff and unified diff with \[diff-context->unified], or vice versa with \[diff-unified->context] and you can also reverse the direction of a diff with \[diff-reverse-direction]. \{diff-mode-map} (fn)Fdiff-minor-mode Toggle Diff minor mode. If called interactively, enable Diff minor mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. \{diff-minor-mode-map} (fn &optional ARG)Fdig Query addresses of a DOMAIN using dig, by calling `dig-invoke'. Optional arguments are passed to `dig-invoke'. (fn DOMAIN &optional QUERY-TYPE QUERY-CLASS QUERY-OPTION DIG-OPTION SERVER)Vdired-listing-switches Switches passed to `ls' for Dired. MUST contain the `l' option. May contain all other options that don't contradict `-l'; may contain even `F', `b', `i' and `s'. See also the variable `dired-ls-F-marks-symlinks' concerning the `F' switch. Options that include embedded whitespace must be quoted like this: "--option=value with spaces"; you can use `combine-and-quote-strings' to produce the correct quoting of each option. On systems such as MS-DOS and MS-Windows, which use `ls' emulation in Lisp, some of the `ls' switches are not supported; see the doc string of `insert-directory' in `ls-lisp.el' for more details.Vdired-directory The directory name or wildcard spec that this Dired directory lists. Local to each Dired buffer. May be a list, in which case the car is the directory name and the cdr is the list of files to mention. The directory name must be absolute, but need not be fully expanded.Fdired "Edit" directory DIRNAME--delete, rename, print, etc. some files in it. Optional second argument SWITCHES specifies the `ls' options used. (Interactively, use a prefix argument to be able to specify SWITCHES.) If DIRNAME is a string, Dired displays a list of files in DIRNAME (which may also have shell wildcards appended to select certain files). If DIRNAME is a cons, its first element is taken as the directory name and the rest as an explicit list of files to make directory entries for. In this case, SWITCHES are applied to each of the files separately, and therefore switches that control the order of the files in the produced listing have no effect. \You can flag files for deletion with \[dired-flag-file-deletion] and then delete them by typing \[dired-do-flagged-delete]. Type \[describe-mode] after entering Dired for more info. If DIRNAME is already in a Dired buffer, that buffer is used without refresh. (fn DIRNAME &optional SWITCHES)Fdired-other-window "Edit" directory DIRNAME. Like `dired' but selects in another window. (fn DIRNAME &optional SWITCHES)Fdired-other-frame "Edit" directory DIRNAME. Like `dired' but makes a new frame. (fn DIRNAME &optional SWITCHES)Fdired-other-tab "Edit" directory DIRNAME. Like `dired' but makes a new tab. (fn DIRNAME &optional SWITCHES)Fdired-noselect Like `dired' but returns the Dired buffer as value, does not select it. (fn DIR-OR-LIST &optional SWITCHES)Fdired-mode Mode for "editing" directory listings. In Dired, you are "editing" a list of the files in a directory and (optionally) its subdirectories, in the format of `ls -lR'. Each directory is a page: use \[backward-page] and \[forward-page] to move pagewise. "Editing" means that you can run shell commands on files, visit, compress, load or byte-compile them, change their file attributes and insert subdirectories into the same buffer. You can "mark" files for later commands or "flag" them for deletion, either file by file or all files matching certain criteria. You can move using the usual cursor motion commands.\ The buffer is read-only. Digits are prefix arguments. Type \[dired-flag-file-deletion] to flag a file `D' for deletion. Type \[dired-mark] to Mark a file or subdirectory for later commands. Most commands operate on the marked files and use the current file if no files are marked. Use a numeric prefix argument to operate on the next ARG (or previous -ARG if ARG<0) files, or just `1' to operate on the current file only. Prefix arguments override marks. Mark-using commands display a list of failures afterwards. Type \[dired-summary] to see why something went wrong. Type \[dired-unmark] to Unmark a file or all files of an inserted subdirectory. Type \[dired-unmark-backward] to back up one line and unmark or unflag. Type \[dired-do-flagged-delete] to delete (eXpunge) the files flagged `D'. Type \[dired-find-file] to Find the current line's file (or dired it in another buffer, if it is a directory). Type \[dired-find-file-other-window] to find file or Dired directory in Other window. Type \[dired-maybe-insert-subdir] to Insert a subdirectory in this buffer. Type \[dired-do-rename] to Rename a file or move the marked files to another directory. Type \[dired-do-copy] to Copy files. Type \[dired-sort-toggle-or-edit] to toggle Sorting by name/date or change the `ls' switches. Type \[revert-buffer] to read all currently expanded directories aGain. This retains all marks and hides subdirs again that were hidden before. Use `SPC' and `DEL' to move down and up by lines. If Dired ever gets confused, you can either type \[revert-buffer] to read the directories again, type \[dired-do-redisplay] to relist the file at point or the marked files or a subdirectory, or type \[dired-build-subdir-alist] to parse the buffer again for the directory tree. Customization variables (rename this buffer and type \[describe-variable] on each line for more info): `dired-listing-switches' `dired-trivial-filenames' `dired-marker-char' `dired-del-marker' `dired-keep-marker-rename' `dired-keep-marker-copy' `dired-keep-marker-hardlink' `dired-keep-marker-symlink' Hooks (use \[describe-variable] to see their documentation): `dired-before-readin-hook' `dired-after-readin-hook' `dired-mode-hook' `dired-load-hook' Keybindings: \{dired-mode-map} (fn &optional DIRNAME SWITCHES)Fdirtrack-mode Toggle directory tracking in shell buffers (Dirtrack mode). If called interactively, enable Dirtrack mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. This method requires that your shell prompt contain the current working directory at all times, and that you set the variable `dirtrack-list' to match the prompt. This is an alternative to `shell-dirtrack-mode', which works by tracking `cd' and similar commands which change the shell working directory. (fn &optional ARG)Fdirtrack Determine the current directory from the process output for a prompt. This filter function is used by `dirtrack-mode'. It looks for the prompt specified by `dirtrack-list', and calls `shell-process-cd' if the directory seems to have changed away from `default-directory'. (fn INPUT)Fdisassemble Print disassembled code for OBJECT in (optional) BUFFER. OBJECT can be a symbol defined as a function, or a function itself (a lambda expression or a compiled-function object). If OBJECT is not already compiled, we compile it, but do not redefine OBJECT if it is a symbol. (fn OBJECT &optional BUFFER INDENT INTERACTIVE-P)Fmake-display-table Return a new, empty display table.Fdisplay-table-slot Return the value of the extra slot in DISPLAY-TABLE named SLOT. SLOT may be a number from 0 to 5 inclusive, or a slot name (symbol). Valid symbols are `truncation', `wrap', `escape', `control', `selective-display', and `vertical-border'. (fn DISPLAY-TABLE SLOT)Fset-display-table-slot Set the value of the extra slot in DISPLAY-TABLE named SLOT to VALUE. SLOT may be a number from 0 to 5 inclusive, or a name (symbol). Valid symbols are `truncation', `wrap', `escape', `control', `selective-display', and `vertical-border'. (fn DISPLAY-TABLE SLOT VALUE)Fdescribe-display-table Describe the display table DT in a help buffer. (fn DT)Fdescribe-current-display-table Describe the display table in use in the selected window and buffer.Fstandard-display-8bit Display characters representing raw bytes in the range L to H literally. On a terminal display, each character in the range is displayed by sending the corresponding byte directly to the terminal. On a graphic display, each character in the range is displayed using the default font by a glyph whose code is the corresponding byte. Note that ASCII printable characters (SPC to TILDA) are displayed in the default way after this call. (fn L H)Fstandard-display-default Display characters in the range L to H using the default notation. (fn L H)Fstandard-display-ascii Display character C using printable string S. (fn C S)Fstandard-display-g1 Display character C as character SC in the g1 character set. This function assumes that your terminal uses the SO/SI characters; it is meaningless for a graphical frame. (fn C SC)Fstandard-display-graphic Display character C as character GC in graphics character set. This function assumes VT100-compatible escapes; it is meaningless for a graphical frame. (fn C GC)Fstandard-display-underline Display character C as character UC plus underlining. (fn C UC)Fcreate-glyph Allocate a glyph code to display by sending STRING to the terminal. (fn STRING)Fmake-glyph-code Return a glyph code representing char CHAR with face FACE. (fn CHAR &optional FACE)Fglyph-char Return the character of glyph code GLYPH. (fn GLYPH)Fglyph-face Return the face of glyph code GLYPH, or nil if glyph has default face. (fn GLYPH)Fstandard-display-european Semi-obsolete way to toggle display of ISO 8859 European characters. This function is semi-obsolete; you probably don't need it, or else you probably should use `set-language-environment' or `set-locale-environment'. This function enables European character display if ARG is positive, disables it if negative. Otherwise, it toggles European character display. When this mode is enabled, characters in the range of 160 to 255 display not as octal escapes, but as accented characters. Codes 146 and 160 display as apostrophe and space, even though they are not the ASCII codes for apostrophe and space. Enabling European character display with this command noninteractively from Lisp code also selects Latin-1 as the language environment. This provides increased compatibility for users who call this function in `.emacs'. (fn ARG)Fdisplay-fill-column-indicator-mode Toggle display of fill-column indicator. This uses `display-fill-column-indicator' internally. If called interactively, enable Display-Fill-Column-Indicator mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. To change the position of the column displayed by default customize `display-fill-column-indicator-column'. You can change the character for the indicator setting `display-fill-column-indicator-character'. See Info node `Displaying Boundaries' for details. (fn &optional ARG)Vglobal-display-fill-column-indicator-mode Non-nil if Global Display-Fill-Column-Indicator mode is enabled. See the `global-display-fill-column-indicator-mode' command 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 `global-display-fill-column-indicator-mode'.Fglobal-display-fill-column-indicator-mode Toggle Display-Fill-Column-Indicator mode in all buffers. With prefix ARG, enable Global Display-Fill-Column-Indicator mode if ARG is positive; otherwise, disable it. If called from Lisp, enable the mode if ARG is omitted or nil. Display-Fill-Column-Indicator mode is enabled in all buffers where `display-fill-column-indicator--turn-on' would do it. See `display-fill-column-indicator-mode' for more information on Display-Fill-Column-Indicator mode. (fn &optional ARG)Fdisplay-line-numbers-mode Toggle display of line numbers in the buffer. This uses `display-line-numbers' internally. If called interactively, enable Display-Line-Numbers mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. To change the type of line numbers displayed by default, customize `display-line-numbers-type'. To change the type while the mode is on, set `display-line-numbers' directly. (fn &optional ARG)Vglobal-display-line-numbers-mode Non-nil if Global Display-Line-Numbers mode is enabled. See the `global-display-line-numbers-mode' command 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 `global-display-line-numbers-mode'.Fglobal-display-line-numbers-mode Toggle Display-Line-Numbers mode in all buffers. With prefix ARG, enable Global Display-Line-Numbers mode if ARG is positive; otherwise, disable it. If called from Lisp, enable the mode if ARG is omitted or nil. Display-Line-Numbers mode is enabled in all buffers where `display-line-numbers--turn-on' would do it. See `display-line-numbers-mode' for more information on Display-Line-Numbers mode. (fn &optional ARG)Fdissociated-press Dissociate the text of the current buffer. Output goes in buffer named *Dissociation*, which is redisplayed each time text is added to it. Every so often the user must say whether to continue. If ARG is positive, require ARG chars of continuity. If ARG is negative, require -ARG words of continuity. Default is 2. (fn &optional ARG)Vdnd-protocol-alist The functions to call for different protocols when a drop is made. This variable is used by `dnd-handle-one-url' and `dnd-handle-file-name'. The list contains of (REGEXP . FUNCTION) pairs. The functions shall take two arguments, URL, which is the URL dropped and ACTION which is the action to be performed for the drop (move, copy, link, private or ask). If no match is found here, and the value of `browse-url-browser-function' is a pair of (REGEXP . FUNCTION), those regexps are tried for a match. If no match is found, the URL is inserted as text by calling `dnd-insert-text'. The function shall return the action done (move, copy, link or private) if some action was made, or nil if the URL is ignored.Fdns-mode Major mode for viewing and editing DNS master files. This mode is inherited from text mode. It add syntax highlighting, and some commands for handling DNS master files. Its keymap inherits from `text-mode' and it has the same variables for customizing indentation. It has its own abbrev table and its own syntax table. Turning on DNS mode runs `dns-mode-hook'. (fn)Fdns-mode-soa-increment-serial Locate SOA record and increment the serial field.Fdoc-view-mode-p Return non-nil if document type TYPE is available for `doc-view'. Document types are symbols like `dvi', `ps', `pdf', or `odf' (any OpenDocument format). (fn TYPE)Fdoc-view-mode Major mode in DocView buffers. DocView Mode is an Emacs document viewer. It displays PDF, PS and DVI files (as PNG images) in Emacs buffers. You can use \\[doc-view-toggle-display] to toggle between displaying the document or editing it as text. \{doc-view-mode-map}Fdoc-view-mode-maybe Switch to `doc-view-mode' if possible. If the required external tools are not available, then fallback to the next best mode.Fdoc-view-minor-mode Toggle displaying buffer via Doc View (Doc View minor mode). If called interactively, enable Doc-View minor mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. See the command `doc-view-mode' for more information on this mode. (fn &optional ARG)Fdoc-view-bookmark-jump (fn BMK)Fdoctor Switch to *doctor* buffer and start giving psychotherapy.Fdouble-mode Toggle special insertion on double keypresses (Double mode). If called interactively, enable Double mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When Double mode is enabled, some keys will insert different strings when pressed twice. See `double-map' for details. (fn &optional ARG)Fdunnet Switch to *dungeon* buffer and start game.Fdefine-minor-mode Define a new minor mode MODE. This defines the toggle command MODE and (by default) a control variable MODE (you can override this with the :variable keyword, see below). DOC is the documentation for the mode toggle command. The defined mode command takes one optional (prefix) argument. Interactively with no prefix argument, it toggles the mode. A prefix argument enables the mode if the argument is positive, and disables it otherwise. When called from Lisp, the mode command toggles the mode if the argument is `toggle', disables the mode if the argument is a non-positive integer, and enables the mode otherwise (including if the argument is omitted or nil or a positive integer). If DOC is nil, give the mode command a basic doc-string documenting what its argument does. If the word "ARG" does not appear in DOC, a paragraph is added to DOC explaining usage of the mode argument. Optional INIT-VALUE is the initial value of the mode's variable. Optional LIGHTER is displayed in the mode line when the mode is on. Optional KEYMAP is the default keymap bound to the mode keymap. If non-nil, it should be a variable name (whose value is a keymap), or an expression that returns either a keymap or a list of (KEY . BINDING) pairs where KEY and BINDING are suitable for `define-key'. If you supply a KEYMAP argument that is not a symbol, this macro defines the variable MODE-map and gives it the value that KEYMAP specifies. BODY contains code to execute each time the mode is enabled or disabled. It is executed after toggling the mode, and before running MODE-hook. Before the actual body code, you can write keyword arguments, i.e. alternating keywords and values. If you provide BODY, then you must provide (even if just nil) INIT-VALUE, LIGHTER, and KEYMAP, or provide at least one keyword argument, or both; otherwise, BODY would be misinterpreted as the first omitted argument. The following special keywords are supported (other keywords are passed to `defcustom' if the minor mode is global): :group GROUP Custom group name to use in all generated `defcustom' forms. Defaults to MODE without the possible trailing "-mode". Don't use this default group name unless you have written a `defgroup' to define that group properly. :global GLOBAL If non-nil specifies that the minor mode is not meant to be buffer-local, so don't make the variable MODE buffer-local. By default, the mode is buffer-local. :init-value VAL Same as the INIT-VALUE argument. Not used if you also specify :variable. :lighter SPEC Same as the LIGHTER argument. :keymap MAP Same as the KEYMAP argument. :require SYM Same as in `defcustom'. :variable PLACE The location to use instead of the variable MODE to store the state of the mode. This can be simply a different named variable, or a generalized variable. PLACE can also be of the form (GET . SET), where GET is an expression that returns the current state, and SET is a function that takes one argument, the new state, and sets it. If you specify a :variable, this function does not define a MODE variable (nor any of the terms used in :variable). :after-hook A single lisp form which is evaluated after the mode hooks have been run. It should not be quoted. For example, you could write (define-minor-mode foo-mode "If enabled, foo on you!" :lighter " Foo" :require \='foo :global t :group \='hassle :version "27.5" ...BODY CODE...) (fn MODE DOC &optional INIT-VALUE LIGHTER KEYMAP &rest BODY)Fdefine-globalized-minor-mode Make a global mode GLOBAL-MODE corresponding to buffer-local minor MODE. TURN-ON is a function that will be called with no args in every buffer and that should try to turn MODE on if applicable for that buffer. Each of KEY VALUE is a pair of CL-style keyword arguments. As the minor mode defined by this function is always global, any :global keyword is ignored. Other keywords have the same meaning as in `define-minor-mode', which see. In particular, :group specifies the custom group. The most useful keywords are those that are passed on to the `defcustom'. It normally makes no sense to pass the :lighter or :keymap keywords to `define-globalized-minor-mode', since these are usually passed to the buffer-local version of the minor mode. BODY contains code to execute each time the mode is enabled or disabled. It is executed after toggling the mode, and before running GLOBAL-MODE-hook. If MODE's set-up depends on the major mode in effect when it was enabled, then disabling and reenabling MODE should make MODE work correctly with the current major mode. This is important to prevent problems with derived modes, that is, major modes that call another major mode in their body. When a major mode is initialized, MODE is actually turned on just after running the major mode's hook. However, MODE is not turned on if the hook has explicitly disabled it. (fn GLOBAL-MODE MODE TURN-ON [KEY VALUE]... BODY...)Feasy-mmode-define-keymap Return a keymap built from bindings BS. BS must be a list of (KEY . BINDING) where KEY and BINDINGS are suitable for `define-key'. Optional NAME is passed to `make-sparse-keymap'. Optional map M can be used to modify an existing map. ARGS is a list of additional keyword arguments. Valid keywords and arguments are: :name Name of the keymap; overrides NAME argument. :dense Non-nil for a dense keymap. :inherit Parent keymap. :group Ignored. :suppress Non-nil to call `suppress-keymap' on keymap, `nodigits' to suppress digits as prefix arguments. (fn BS &optional NAME M ARGS)Feasy-mmode-defmap Define a constant M whose value is the result of `easy-mmode-define-keymap'. The M, BS, and ARGS arguments are as per that function. DOC is the constant's documentation. (fn M BS DOC &rest ARGS)Feasy-mmode-defsyntax Define variable ST as a syntax-table. CSS contains a list of syntax specifications of the form (CHAR . SYNTAX). (fn ST CSS DOC &rest ARGS)Feasy-menu-define Define a pop-up menu and/or menu bar menu specified by MENU. If SYMBOL is non-nil, define SYMBOL as a function to pop up the submenu defined by MENU, with DOC as its doc string. MAPS, if non-nil, should be a keymap or a list of keymaps; add the submenu defined by MENU to the keymap or each of the keymaps, as a top-level menu bar item. The first element of MENU must be a string. It is the menu bar item name. It may be followed by the following keyword argument pairs: :filter FUNCTION FUNCTION must be a function which, if called with one argument---the list of the other menu items---returns the items to actually display. :visible INCLUDE INCLUDE is an expression. The menu is visible if the expression evaluates to a non-nil value. `:included' is an alias for `:visible'. :active ENABLE ENABLE is an expression. The menu is enabled for selection if the expression evaluates to a non-nil value. `:enable' is an alias for `:active'. :label FORM FORM is an expression that is dynamically evaluated and whose value serves as the menu's label (the default is the first element of MENU). :help HELP HELP is a string, the help to display for the menu. In a GUI this is a "tooltip" on the menu button. (Though in Lucid :help is not shown for the top-level menu bar, only for sub-menus.) The rest of the elements in MENU are menu items. A menu item can be a vector of three elements: [NAME CALLBACK ENABLE] NAME is a string--the menu item name. CALLBACK is a command to run when the item is chosen, or an expression to evaluate when the item is chosen. ENABLE is an expression; the item is enabled for selection if the expression evaluates to a non-nil value. Alternatively, a menu item may have the form: [ NAME CALLBACK [ KEYWORD ARG ]... ] where NAME and CALLBACK have the same meanings as above, and each optional KEYWORD and ARG pair should be one of the following: :keys KEYS KEYS is a string; a keyboard equivalent to the menu item. This is normally not needed because keyboard equivalents are usually computed automatically. KEYS is expanded with `substitute-command-keys' before it is used. :key-sequence KEYS KEYS is a hint for speeding up Emacs's first display of the menu. It should be nil if you know that the menu item has no keyboard equivalent; otherwise it should be a string or vector specifying a keyboard equivalent for the menu item. :active ENABLE ENABLE is an expression; the item is enabled for selection whenever this expression's value is non-nil. `:enable' is an alias for `:active'. :visible INCLUDE INCLUDE is an expression; this item is only visible if this expression has a non-nil value. `:included' is an alias for `:visible'. :label FORM FORM is an expression that is dynamically evaluated and whose value serves as the menu item's label (the default is NAME). :suffix FORM FORM is an expression that is dynamically evaluated and whose value is concatenated with the menu entry's label. :style STYLE STYLE is a symbol describing the type of menu item; it should be `toggle' (a checkbox), or `radio' (a radio button), or any other value (meaning an ordinary menu item). :selected SELECTED SELECTED is an expression; the checkbox or radio button is selected whenever the expression's value is non-nil. :help HELP HELP is a string, the help to display for the menu item. Alternatively, a menu item can be a string. Then that string appears in the menu as unselectable text. A string consisting solely of dashes is displayed as a menu separator. Alternatively, a menu item can be a list with the same format as MENU. This is a submenu. (fn SYMBOL MAPS DOC MENU)Feasy-menu-do-define (fn SYMBOL MAPS DOC MENU)Feasy-menu-create-menu Create a menu called MENU-NAME with items described in MENU-ITEMS. MENU-NAME is a string, the name of the menu. MENU-ITEMS is a list of items possibly preceded by keyword pairs as described in `easy-menu-define'. (fn MENU-NAME MENU-ITEMS)Feasy-menu-change Change menu found at PATH as item NAME to contain ITEMS. PATH is a list of strings for locating the menu that should contain a submenu named NAME. ITEMS is a list of menu items, as in `easy-menu-define'. These items entirely replace the previous items in that submenu. If MAP is specified, it should normally be a keymap; nil stands for the local menu-bar keymap. It can also be a symbol, which has earlier been used as the first argument in a call to `easy-menu-define', or the value of such a symbol. If the menu located by PATH has no submenu named NAME, add one. If the optional argument BEFORE is present, add it just before the submenu named BEFORE, otherwise add it at the end of the menu. To implement dynamic menus, either call this from `menu-bar-update-hook' or use a menu filter. (fn PATH NAME ITEMS &optional BEFORE MAP)Febnf-customize Customization for ebnf group.Febnf-print-directory Generate and print a PostScript syntactic chart image of DIRECTORY. If DIRECTORY is nil, it's used `default-directory'. The files in DIRECTORY that matches `ebnf-file-suffix-regexp' (which see) are processed. See also `ebnf-print-buffer'. (fn &optional DIRECTORY)Febnf-print-file Generate and print a PostScript syntactic chart image of the file FILE. If optional arg DO-NOT-KILL-BUFFER-WHEN-DONE is non-nil, the buffer isn't killed after process termination. See also `ebnf-print-buffer'. (fn FILE &optional DO-NOT-KILL-BUFFER-WHEN-DONE)Febnf-print-buffer Generate and print a PostScript syntactic chart image of the buffer. When called with a numeric prefix argument (\[universal-argument]), prompts the user for the name of a file to save the PostScript image in, instead of sending it to the printer. More specifically, the FILENAME argument is treated as follows: if it is nil, send the image to the printer. If FILENAME is a string, save the PostScript image in a file with that name. If FILENAME is a number, prompt the user for the name of the file to save in. (fn &optional FILENAME)Febnf-print-region Generate and print a PostScript syntactic chart image of the region. Like `ebnf-print-buffer', but prints just the current region. (fn FROM TO &optional FILENAME)Febnf-spool-directory Generate and spool a PostScript syntactic chart image of DIRECTORY. If DIRECTORY is nil, it's used `default-directory'. The files in DIRECTORY that matches `ebnf-file-suffix-regexp' (which see) are processed. See also `ebnf-spool-buffer'. (fn &optional DIRECTORY)Febnf-spool-file Generate and spool a PostScript syntactic chart image of the file FILE. If optional arg DO-NOT-KILL-BUFFER-WHEN-DONE is non-nil, the buffer isn't killed after process termination. See also `ebnf-spool-buffer'. (fn FILE &optional DO-NOT-KILL-BUFFER-WHEN-DONE)Febnf-spool-buffer Generate and spool a PostScript syntactic chart image of the buffer. Like `ebnf-print-buffer' except that the PostScript image is saved in a local buffer to be sent to the printer later. Use the command `ebnf-despool' to send the spooled images to the printer.Febnf-spool-region Generate a PostScript syntactic chart image of the region and spool locally. Like `ebnf-spool-buffer', but spools just the current region. Use the command `ebnf-despool' to send the spooled images to the printer. (fn FROM TO)Febnf-eps-directory Generate EPS files from EBNF files in DIRECTORY. If DIRECTORY is nil, it's used `default-directory'. The files in DIRECTORY that matches `ebnf-file-suffix-regexp' (which see) are processed. See also `ebnf-eps-buffer'. (fn &optional DIRECTORY)Febnf-eps-file Generate an EPS file from EBNF file FILE. If optional arg DO-NOT-KILL-BUFFER-WHEN-DONE is non-nil, the buffer isn't killed after EPS generation. See also `ebnf-eps-buffer'. (fn FILE &optional DO-NOT-KILL-BUFFER-WHEN-DONE)Febnf-eps-buffer Generate a PostScript syntactic chart image of the buffer in an EPS file. Generate an EPS file for each production in the buffer. The EPS file name has the following form: .eps is given by variable `ebnf-eps-prefix'. The default value is "ebnf--". is the production name. Some characters in the production file name are replaced to produce a valid file name. For example, the production name "A/B + C" is modified to produce "A_B_+_C", and the EPS file name used in this case will be "ebnf--A_B_+_C.eps". WARNING: This function does *NOT* ask any confirmation to override existing files.Febnf-eps-region Generate a PostScript syntactic chart image of the region in an EPS file. Generate an EPS file for each production in the region. The EPS file name has the following form: .eps is given by variable `ebnf-eps-prefix'. The default value is "ebnf--". is the production name. Some characters in the production file name are replaced to produce a valid file name. For example, the production name "A/B + C" is modified to produce "A_B_+_C", and the EPS file name used in this case will be "ebnf--A_B_+_C.eps". WARNING: This function does *NOT* ask any confirmation to override existing files. (fn FROM TO)Febnf-syntax-directory Do a syntactic analysis of the files in DIRECTORY. If DIRECTORY is nil, use `default-directory'. Only the files in DIRECTORY that match `ebnf-file-suffix-regexp' (which see) are processed. See also `ebnf-syntax-buffer'. (fn &optional DIRECTORY)Febnf-syntax-file Do a syntactic analysis of the named FILE. If optional arg DO-NOT-KILL-BUFFER-WHEN-DONE is non-nil, the buffer isn't killed after syntax checking. See also `ebnf-syntax-buffer'. (fn FILE &optional DO-NOT-KILL-BUFFER-WHEN-DONE)Febnf-syntax-buffer Do a syntactic analysis of the current buffer.Febnf-syntax-region Do a syntactic analysis of a region. (fn FROM TO)Febnf-setup Return the current ebnf2ps setup.Febnf-find-style Return style definition if NAME is already defined; otherwise, return nil. See `ebnf-style-database' documentation. (fn NAME)Febnf-insert-style Insert a new style NAME with inheritance INHERITS and values VALUES. See `ebnf-style-database' documentation. (fn NAME INHERITS &rest VALUES)Febnf-delete-style Delete style NAME. See `ebnf-style-database' documentation. (fn NAME)Febnf-merge-style Merge values of style NAME with style VALUES. See `ebnf-style-database' documentation. (fn NAME &rest VALUES)Febnf-apply-style Set STYLE as the current style. Returns the old style symbol. See `ebnf-style-database' documentation. (fn STYLE)Febnf-reset-style Reset current style. Returns the old style symbol. See `ebnf-style-database' documentation. (fn &optional STYLE)Febnf-push-style Push the current style onto a stack and set STYLE as the current style. Returns the old style symbol. See also `ebnf-pop-style'. See `ebnf-style-database' documentation. (fn &optional STYLE)Febnf-pop-style Pop a style from the stack of pushed styles and set it as the current style. Returns the old style symbol. See also `ebnf-push-style'. See `ebnf-style-database' documentation.Febrowse-tree-mode Major mode for Ebrowse class tree buffers. Each line corresponds to a class in a class tree. Letters do not insert themselves, they are commands. File operations in the tree buffer work on class tree data structures. E.g.\[save-buffer] writes the tree to the file it was loaded from. Tree mode key bindings: \{ebrowse-tree-mode-map} (fn)Febrowse-electric-choose-tree Return a buffer containing a tree or nil if no tree found or canceled.Febrowse-member-mode Major mode for Ebrowse member buffers. (fn)Febrowse-tags-view-declaration View declaration of member at point.Febrowse-tags-find-declaration Find declaration of member at point.Febrowse-tags-view-definition View definition of member at point.Febrowse-tags-find-definition Find definition of member at point.Febrowse-tags-find-declaration-other-window Find declaration of member at point in other window.Febrowse-tags-view-definition-other-window View definition of member at point in other window.Febrowse-tags-find-definition-other-window Find definition of member at point in other window.Febrowse-tags-find-declaration-other-frame Find definition of member at point in other frame.Febrowse-tags-view-definition-other-frame View definition of member at point in other frame.Febrowse-tags-find-definition-other-frame Find definition of member at point in other frame.Febrowse-tags-complete-symbol Perform completion on the C++ symbol preceding point. A second call of this function without changing point inserts the next match. A call with prefix PREFIX reads the symbol to insert from the minibuffer with completion. (fn PREFIX)Febrowse-tags-loop-continue Repeat last operation on files in tree. FIRST-TIME non-nil means this is not a repetition, but the first time. TREE-BUFFER if indirectly specifies which files to loop over. (fn &optional FIRST-TIME TREE-BUFFER)Febrowse-tags-search Search for REGEXP in all files in a tree. If marked classes exist, process marked classes, only. If regular expression is nil, repeat last search. (fn REGEXP)Febrowse-tags-query-replace Query replace FROM with TO in all files of a class tree. With prefix arg, process files of marked classes only. (fn FROM TO)Febrowse-tags-search-member-use Search for call sites of a member. If FIX-NAME is specified, search uses of that member. Otherwise, read a member name from the minibuffer. Searches in all files mentioned in a class tree for something that looks like a function call to the member. (fn &optional FIX-NAME)Febrowse-back-in-position-stack Move backward in the position stack. Prefix arg ARG says how much. (fn ARG)Febrowse-forward-in-position-stack Move forward in the position stack. Prefix arg ARG says how much. (fn ARG)Febrowse-electric-position-menu List positions in the position stack in an electric buffer.Febrowse-save-tree Save current tree in same file it was loaded from.Febrowse-save-tree-as Write the current tree data structure to a file. Read the file name from the minibuffer if interactive. Otherwise, FILE-NAME specifies the file to save the tree in. (fn &optional FILE-NAME)Febrowse-statistics Display statistics for a class tree.Felectric-buffer-list Pop up the Buffer Menu in an "electric" window. If you type SPC or RET (`Electric-buffer-menu-select'), that selects the buffer at point and quits the "electric" window. Otherwise, you can move around in the Buffer Menu, marking buffers to be selected, saved or deleted; these other commands are much like those of `Buffer-menu-mode'. Run hooks in `electric-buffer-menu-mode-hook' on entry. \ \[keyboard-quit] or \[Electric-buffer-menu-quit] -- exit buffer menu, returning to previous window and buffer configuration. If the very first character typed is a space, it also has this effect. \[Electric-buffer-menu-select] -- select buffer of line point is on. Also show buffers marked with m in other windows, deletes buffers marked with "D", and saves those marked with "S". \[Buffer-menu-mark] -- mark buffer to be displayed. \[Buffer-menu-not-modified] -- clear modified-flag on that buffer. \[Buffer-menu-save] -- mark that buffer to be saved. \[Buffer-menu-delete] or \[Buffer-menu-delete-backwards] -- mark that buffer to be deleted. \[Buffer-menu-unmark] -- remove all kinds of marks from current line. \[Buffer-menu-unmark-all] -- remove all kinds of marks from all lines. \[Electric-buffer-menu-mode-view-buffer] -- view buffer, returning when done. \[Buffer-menu-backup-unmark] -- back up a line and remove marks. (fn ARG)FElectric-command-history-redo-expression Edit current history line in minibuffer and execute result. With prefix arg NOCONFIRM, execute current line as-is without editing. (fn &optional NOCONFIRM)Fecomplete-setup Read the .ecompleterc file.Vglobal-ede-mode Non-nil if Global Ede mode is enabled. See the `global-ede-mode' command 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 `global-ede-mode'.Fglobal-ede-mode Toggle global EDE (Emacs Development Environment) mode. If called interactively, enable Global Ede mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. This global minor mode enables `ede-minor-mode' in all buffers in an EDE controlled project. (fn &optional ARG)Vedebug-all-defs If non-nil, evaluating defining forms instruments for Edebug. This applies to `eval-defun', `eval-region', `eval-buffer', and `eval-current-buffer'. `eval-region' is also called by `eval-last-sexp', and `eval-print-last-sexp'. You can use the command `edebug-all-defs' to toggle the value of this variable. You may wish to make it local to each buffer with (make-local-variable \='edebug-all-defs) in your `emacs-lisp-mode-hook'.Vedebug-all-forms Non-nil means evaluation of all forms will instrument for Edebug. This doesn't apply to loading or evaluations in the minibuffer. Use the command `edebug-all-forms' to toggle the value of this option.Fedebug-basic-spec Return t if SPEC uses only extant spec symbols. An extant spec symbol is a symbol that is not a function and has a `edebug-form-spec' property. (fn SPEC)Fedebug-eval-top-level-form Evaluate the top level form point is in, stepping through with Edebug. This is like `eval-defun' except that it steps the code for Edebug before evaluating it. It displays the value in the echo area using `eval-expression' (which see). If you do this on a function definition such as a defun or defmacro, it defines the function and instruments its definition for Edebug, so it will do Edebug stepping when called later. It displays `Edebug: FUNCTION' in the echo area to indicate that FUNCTION is now instrumented for Edebug. If the current defun is actually a call to `defvar' or `defcustom', evaluating it this way resets the variable using its initial value expression even if the variable already has some other value. (Normally `defvar' and `defcustom' do not alter the value if there already is one.)Fedebug-all-defs Toggle edebugging of all definitions.Fedebug-all-forms Toggle edebugging of all forms.Fediff-files Run Ediff on a pair of files, FILE-A and FILE-B. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. (fn FILE-A FILE-B &optional STARTUP-HOOKS)Fediff-files3 Run Ediff on three files, FILE-A, FILE-B, and FILE-C. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. (fn FILE-A FILE-B FILE-C &optional STARTUP-HOOKS)Fediff-current-file Start ediff between current buffer and its file on disk. This command can be used instead of `revert-buffer'. If there is nothing to revert then this command fails.Fediff-backup Run Ediff on FILE and its backup file. Uses the latest backup, if there are several numerical backups. If this file is a backup, `ediff' it with its original. (fn FILE)Fediff-buffers Run Ediff on a pair of buffers, BUFFER-A and BUFFER-B. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. JOB-NAME is a symbol describing the Ediff job type; it defaults to `ediff-buffers', but can also be one of `ediff-merge-files-with-ancestor', `ediff-last-dir-ancestor', `ediff-last-dir-C', `ediff-buffers3', `ediff-merge-buffers', or `ediff-merge-buffers-with-ancestor'. (fn BUFFER-A BUFFER-B &optional STARTUP-HOOKS JOB-NAME)Fediff-buffers3 Run Ediff on three buffers, BUFFER-A, BUFFER-B, and BUFFER-C. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. JOB-NAME is a symbol describing the Ediff job type; it defaults to `ediff-buffers3', but can also be one of `ediff-merge-files-with-ancestor', `ediff-last-dir-ancestor', `ediff-last-dir-C', `ediff-buffers', `ediff-merge-buffers', or `ediff-merge-buffers-with-ancestor'. (fn BUFFER-A BUFFER-B BUFFER-C &optional STARTUP-HOOKS JOB-NAME)Fediff-directories Run Ediff on a pair of directories, DIR1 and DIR2, comparing files that have the same name in both. The third argument, REGEXP, is nil or a regular expression; only file names that match the regexp are considered. (fn DIR1 DIR2 REGEXP)Fediff-directory-revisions Run Ediff on a directory, DIR1, comparing its files with their revisions. The second argument, REGEXP, is a regular expression that filters the file names. Only the files that are under revision control are taken into account. (fn DIR1 REGEXP)Fediff-directories3 Run Ediff on three directories, DIR1, DIR2, and DIR3, comparing files that have the same name in all three. The last argument, REGEXP, is nil or a regular expression; only file names that match the regexp are considered. (fn DIR1 DIR2 DIR3 REGEXP)Fediff-merge-directories Run Ediff on a pair of directories, DIR1 and DIR2, merging files that have the same name in both. The third argument, REGEXP, is nil or a regular expression; only file names that match the regexp are considered. MERGE-AUTOSTORE-DIR is the directory in which to store merged files. (fn DIR1 DIR2 REGEXP &optional MERGE-AUTOSTORE-DIR)Fediff-merge-directories-with-ancestor Merge files in directories DIR1 and DIR2 using files in ANCESTOR-DIR as ancestors. Ediff merges files that have identical names in DIR1, DIR2. If a pair of files in DIR1 and DIR2 doesn't have an ancestor in ANCESTOR-DIR, Ediff will merge without ancestor. The fourth argument, REGEXP, is nil or a regular expression; only file names that match the regexp are considered. MERGE-AUTOSTORE-DIR is the directory in which to store merged files. (fn DIR1 DIR2 ANCESTOR-DIR REGEXP &optional MERGE-AUTOSTORE-DIR)Fediff-merge-directory-revisions Run Ediff on a directory, DIR1, merging its files with their revisions. The second argument, REGEXP, is a regular expression that filters the file names. Only the files that are under revision control are taken into account. MERGE-AUTOSTORE-DIR is the directory in which to store merged files. (fn DIR1 REGEXP &optional MERGE-AUTOSTORE-DIR)Fediff-merge-directory-revisions-with-ancestor Run Ediff on a directory, DIR1, merging its files with their revisions and ancestors. The second argument, REGEXP, is a regular expression that filters the file names. Only the files that are under revision control are taken into account. MERGE-AUTOSTORE-DIR is the directory in which to store merged files. (fn DIR1 REGEXP &optional MERGE-AUTOSTORE-DIR)Fediff-windows-wordwise Compare WIND-A and WIND-B, which are selected by clicking, wordwise. This compares the portions of text visible in each of the two windows. With prefix argument, DUMB-MODE, or on a non-windowing display, works as follows: If WIND-A is nil, use selected window. If WIND-B is nil, use window next to WIND-A. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. (fn DUMB-MODE &optional WIND-A WIND-B STARTUP-HOOKS)Fediff-windows-linewise Compare WIND-A and WIND-B, which are selected by clicking, linewise. This compares the portions of text visible in each of the two windows. With prefix argument, DUMB-MODE, or on a non-windowing display, works as follows: If WIND-A is nil, use selected window. If WIND-B is nil, use window next to WIND-A. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. (fn DUMB-MODE &optional WIND-A WIND-B STARTUP-HOOKS)Fediff-regions-wordwise Run Ediff on a pair of regions in specified buffers. BUFFER-A and BUFFER-B are the buffers to be compared. Regions (i.e., point and mark) can be set in advance or marked interactively. This function might be slow for large regions. If you find it slow, use `ediff-regions-linewise' instead. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. (fn BUFFER-A BUFFER-B &optional STARTUP-HOOKS)Fediff-regions-linewise Run Ediff on a pair of regions in specified buffers. BUFFER-A and BUFFER-B are the buffers to be compared. Regions (i.e., point and mark) can be set in advance or marked interactively. Each region is enlarged to contain full lines. This function is effective for large regions, over 100-200 lines. For small regions, use `ediff-regions-wordwise'. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. (fn BUFFER-A BUFFER-B &optional STARTUP-HOOKS)Fediff-merge-files Merge two files without ancestor. FILE-A and FILE-B are the names of the files to be merged. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. MERGE-BUFFER-FILE is the name of the file to be associated with the merge buffer.. (fn FILE-A FILE-B &optional STARTUP-HOOKS MERGE-BUFFER-FILE)Fediff-merge-files-with-ancestor Merge two files with ancestor. FILE-A and FILE-B are the names of the files to be merged, and FILE-ANCESTOR is the name of the ancestor file. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. MERGE-BUFFER-FILE is the name of the file to be associated with the merge buffer. (fn FILE-A FILE-B FILE-ANCESTOR &optional STARTUP-HOOKS MERGE-BUFFER-FILE)Fediff-merge-buffers Merge buffers without ancestor. BUFFER-A and BUFFER-B are the buffers to be merged. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. JOB-NAME is a symbol describing the Ediff job type; it defaults to `ediff-merge-buffers', but can also be one of `ediff-merge-files-with-ancestor', `ediff-last-dir-ancestor', `ediff-last-dir-C', `ediff-buffers', `ediff-buffers3', or `ediff-merge-buffers-with-ancestor'. MERGE-BUFFER-FILE is the name of the file to be associated with the merge buffer. (fn BUFFER-A BUFFER-B &optional STARTUP-HOOKS JOB-NAME MERGE-BUFFER-FILE)Fediff-merge-buffers-with-ancestor Merge buffers with ancestor. BUFFER-A and BUFFER-B are the buffers to be merged, and BUFFER-ANCESTOR is their ancestor. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. JOB-NAME is a symbol describing the Ediff job type; it defaults to `ediff-merge-buffers-with-ancestor', but can also be one of `ediff-merge-files-with-ancestor', `ediff-last-dir-ancestor', `ediff-last-dir-C', `ediff-buffers', `ediff-buffers3', or `ediff-merge-buffers'. MERGE-BUFFER-FILE is the name of the file to be associated with the merge buffer. (fn BUFFER-A BUFFER-B BUFFER-ANCESTOR &optional STARTUP-HOOKS JOB-NAME MERGE-BUFFER-FILE)Fediff-merge-revisions Run Ediff by merging two revisions of a file. The file is the optional FILE argument or the file visited by the current buffer. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. MERGE-BUFFER-FILE is the name of the file to be associated with the merge buffer. (fn &optional FILE STARTUP-HOOKS MERGE-BUFFER-FILE)Fediff-merge-revisions-with-ancestor Run Ediff by merging two revisions of a file with a common ancestor. The file is the optional FILE argument or the file visited by the current buffer. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. MERGE-BUFFER-FILE is the name of the file to be associated with the merge buffer. (fn &optional FILE STARTUP-HOOKS MERGE-BUFFER-FILE)Fediff-patch-file Query for a file name, and then run Ediff by patching that file. If optional PATCH-BUF is given, use the patch in that buffer and don't ask the user. If prefix argument ARG, then: if even argument, assume that the patch is in a buffer. If odd -- assume it is in a file. (fn &optional ARG PATCH-BUF)Fediff-patch-buffer Run Ediff by patching the buffer specified at prompt. Without the optional prefix ARG, asks if the patch is in some buffer and prompts for the buffer or a file, depending on the answer. With ARG=1, assumes the patch is in a file and prompts for the file. With ARG=2, assumes the patch is in a buffer and prompts for the buffer. PATCH-BUF is an optional argument, which specifies the buffer that contains the patch. If not given, the user is prompted according to the prefix argument. (fn &optional ARG PATCH-BUF)Fediff-revision Run Ediff by comparing versions of a file. The file is an optional FILE argument or the file entered at the prompt. Default: the file visited by the current buffer. Uses `vc.el' or `rcs.el' depending on `ediff-version-control-package'. STARTUP-HOOKS is a list of functions that Emacs calls without arguments after setting up the Ediff buffers. (fn &optional FILE STARTUP-HOOKS)Fediff-version Return string describing the version of Ediff. When called interactively, displays the version.Fediff-documentation Display Ediff's manual. With optional NODE, goes to that node. (fn &optional NODE)Fediff-files-command Call `ediff-files' with the next two command line arguments.Fediff3-files-command Call `ediff3-files' with the next three command line arguments.Fediff-merge-command Call `ediff-merge-files' with the next two command line arguments.Fediff-merge-with-ancestor-command Call `ediff-merge-files-with-ancestor' with the next three command line arguments.Fediff-directories-command Call `ediff-directories' with the next three command line arguments.Fediff-directories3-command Call `ediff-directories3' with the next four command line arguments.Fediff-merge-directories-command Call `ediff-merge-directories' with the next three command line arguments.Fediff-merge-directories-with-ancestor-command Call `ediff-merge-directories-with-ancestor' with the next four command line arguments.Fediff-show-registry Display Ediff's registry.Fediff-toggle-multiframe Switch from multiframe display to single-frame display and back. To change the default, set the variable `ediff-window-setup-function', which see.Fediff-toggle-use-toolbar Enable or disable Ediff toolbar. Works only in versions of Emacs that support toolbars. To change the default, set the variable `ediff-use-toolbar-p', which see.Fedit-kbd-macro Edit a keyboard macro. At the prompt, type any key sequence which is bound to a keyboard macro. Or, type `\[kmacro-end-and-call-macro]' or RET to edit the last keyboard macro, `\[view-lossage]' to edit the last 300 keystrokes as a keyboard macro, or `\[execute-extended-command]' to edit a macro by its command name. With a prefix argument, format the macro in a more concise way. (fn KEYS &optional PREFIX FINISH-HOOK STORE-HOOK)Fedit-last-kbd-macro Edit the most recently defined keyboard macro. (fn &optional PREFIX)Fedit-named-kbd-macro Edit a keyboard macro which has been given a name by `name-last-kbd-macro'. (fn &optional PREFIX)Fread-kbd-macro Read the region as a keyboard macro definition. The region is interpreted as spelled-out keystrokes, e.g., "M-x abc RET". See documentation for `edmacro-mode' for details. Leading/trailing "C-x (" and "C-x )" in the text are allowed and ignored. The resulting macro is installed as the "current" keyboard macro. In Lisp, may also be called with a single STRING argument in which case the result is returned rather than being installed as the current macro. The result will be a string if possible, otherwise an event vector. Second argument NEED-VECTOR means to return an event vector always. (fn START &optional END)Fformat-kbd-macro Return the keyboard macro MACRO as a human-readable string. This string is suitable for passing to `read-kbd-macro'. Second argument VERBOSE means to put one command per line with comments. If VERBOSE is `1', put everything on one line. If VERBOSE is omitted or nil, use a compact 80-column format. (fn &optional MACRO VERBOSE)Fedt-set-scroll-margins Set scroll margins. Argument TOP is the top margin in number of lines or percent of window. Argument BOTTOM is the bottom margin in number of lines or percent of window. (fn TOP BOTTOM)Fedt-emulation-on Turn on EDT Emulation.Fwith-electric-help Pop up an "electric" help buffer. THUNK is a function of no arguments which is called to initialize the contents of BUFFER. BUFFER defaults to `*Help*'. BUFFER will be erased before THUNK is called unless NOERASE is non-nil. THUNK will be called while BUFFER is current and with `standard-output' bound to the buffer specified by BUFFER. If THUNK returns nil, we display BUFFER starting at the top, and shrink the window to fit. If THUNK returns non-nil, we don't do those things. After THUNK has been called, this function "electrically" pops up a window in which BUFFER is displayed and allows the user to scroll through that buffer in `electric-help-mode'. The window's height will be at least MINHEIGHT if this value is non-nil. If THUNK returns nil, we display BUFFER starting at the top, and shrink the window to fit if `electric-help-shrink-window' is non-nil. If THUNK returns non-nil, we don't do those things. When the user exits (with `electric-help-exit', or otherwise), the help buffer's window disappears (i.e., we use `save-window-excursion'), and BUFFER is put back into its original major mode. (fn THUNK &optional BUFFER NOERASE MINHEIGHT)Felectric-helpify (fn FUN &optional NAME)Feieio-defclass-autoload Create autoload symbols for the EIEIO class CNAME. SUPERCLASSES are the superclasses that CNAME inherits from. DOC is the docstring for CNAME. This function creates a mock-class for CNAME and adds it into SUPERCLASSES as children. It creates an autoload function for CNAME's constructor. (fn CNAME SUPERCLASSES FILENAME DOC)Velectric-pair-mode Non-nil if Electric-Pair mode is enabled. See the `electric-pair-mode' command 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 `electric-pair-mode'.Felectric-pair-mode Toggle automatic parens pairing (Electric Pair mode). If called interactively, enable Electric-Pair mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Electric Pair mode is a global minor mode. When enabled, typing an open parenthesis automatically inserts the corresponding closing parenthesis, and vice versa. (Likewise for brackets, etc.). If the region is active, the parentheses (brackets, etc.) are inserted around the region instead. To toggle the mode in a single buffer, use `electric-pair-local-mode'. (fn &optional ARG)Felectric-pair-local-mode Toggle `electric-pair-mode' only in this buffer. If called interactively, enable Electric-Pair-Local mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Felide-head Hide header material in buffer according to `elide-head-headers-to-hide'. The header is made invisible with an overlay. With a prefix arg, show an elided material again. This is suitable as an entry on `find-file-hook' or appropriate mode hooks. (fn &optional ARG)Felint-file Lint the file FILE. (fn FILE)Felint-directory Lint all the .el files in DIRECTORY. A complicated directory may require a lot of memory. (fn DIRECTORY)Felint-current-buffer Lint the current buffer. If necessary, this first calls `elint-initialize'.Felint-defun Lint the function at point. If necessary, this first calls `elint-initialize'.Felint-initialize Initialize elint. If elint is already initialized, this does nothing, unless optional prefix argument REINIT is non-nil. (fn &optional REINIT)Felp-instrument-function Instrument FUNSYM for profiling. FUNSYM must be a symbol of a defined function. (fn FUNSYM)Felp-instrument-list Instrument, for profiling, all functions in `elp-function-list'. Use optional LIST if provided instead. If called interactively, prompt for LIST in the minibuffer; type "nil" to use `elp-function-list'. (fn &optional LIST)Felp-instrument-package Instrument for profiling, all functions which start with PREFIX. For example, to instrument all ELP functions, do the following: \[elp-instrument-package] RET elp- RET (fn PREFIX)Felp-results Display current profiling results. If `elp-reset-after-results' is non-nil, then current profiling information for all instrumented functions is reset after results are displayed.Femacs-lock-mode Toggle Emacs Lock mode in the current buffer. If called with a plain prefix argument, ask for the locking mode to be used. Initially, if the user does not pass an explicit locking mode, it defaults to `emacs-lock-default-locking-mode' (which see); afterwards, the locking mode most recently set on the buffer is used instead. When called from Elisp code, ARG can be any locking mode: exit -- Emacs cannot exit while the buffer is locked kill -- the buffer cannot be killed, but Emacs can exit as usual all -- the buffer is locked against both actions Other values are interpreted as usual. See also `emacs-lock-unlockable-modes', which exempts buffers under some major modes from being locked under some circumstances. (fn &optional ARG)Freport-emacs-bug Report a bug in GNU Emacs. Prompts for bug subject. Leaves you in a mail buffer. (fn TOPIC &optional UNUSED)Femerge-files Run Emerge on two files. (fn ARG FILE-A FILE-B FILE-OUT &optional STARTUP-HOOKS QUIT-HOOKS)Femerge-files-with-ancestor Run Emerge on two files, giving another file as the ancestor. (fn ARG FILE-A FILE-B FILE-ANCESTOR FILE-OUT &optional STARTUP-HOOKS QUIT-HOOKS)Femerge-buffers Run Emerge on two buffers. (fn BUFFER-A BUFFER-B &optional STARTUP-HOOKS QUIT-HOOKS)Femerge-buffers-with-ancestor Run Emerge on two buffers, giving another buffer as the ancestor. (fn BUFFER-A BUFFER-B BUFFER-ANCESTOR &optional STARTUP-HOOKS QUIT-HOOKS)Femerge-files-remote (fn FILE-A FILE-B FILE-OUT)Femerge-files-with-ancestor-remote (fn FILE-A FILE-B FILE-ANC FILE-OUT)Femerge-revisions Emerge two RCS revisions of a file. (fn ARG FILE REVISION-A REVISION-B &optional STARTUP-HOOKS QUIT-HOOKS)Femerge-revisions-with-ancestor Emerge two RCS revisions of a file, with another revision as ancestor. (fn ARG FILE REVISION-A REVISION-B ANCESTOR &optional STARTUP-HOOKS QUIT-HOOKS)Femerge-merge-directories (fn A-DIR B-DIR ANCESTOR-DIR OUTPUT-DIR)Fenriched-mode Minor mode for editing text/enriched files. These are files with embedded formatting information in the MIME standard text/enriched format. If called interactively, enable Enriched mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Turning the mode on or off runs `enriched-mode-hook'. More information about Enriched mode is available in the file "enriched.txt" in `data-directory'. Commands: \{enriched-mode-map} (fn &optional ARG)Fenriched-encode (fn FROM TO ORIG-BUF)Fenriched-decode (fn FROM TO)Fepa-list-keys List all keys matched with NAME from the public keyring. (fn &optional NAME)Fepa-list-secret-keys List all keys matched with NAME from the private keyring. (fn &optional NAME)Fepa-select-keys Display a user's keyring and ask him to select keys. CONTEXT is an epg-context. PROMPT is a string to prompt with. NAMES is a list of strings to be matched with keys. If it is nil, all the keys are listed. If SECRET is non-nil, list secret keys instead of public keys. (fn CONTEXT PROMPT &optional NAMES SECRET)Fepa-decrypt-file Decrypt DECRYPT-FILE into PLAIN-FILE. If you do not specify PLAIN-FILE, this functions prompts for the value to use. (fn DECRYPT-FILE &optional PLAIN-FILE)Fepa-verify-file Verify FILE. (fn FILE)Fepa-sign-file Sign FILE by SIGNERS keys selected. (fn FILE SIGNERS MODE)Fepa-encrypt-file Encrypt FILE for RECIPIENTS. (fn FILE RECIPIENTS)Fepa-decrypt-region Decrypt the current region between START and END. If MAKE-BUFFER-FUNCTION is non-nil, call it to prepare an output buffer. It should return that buffer. If it copies the input, it should delete the text now being decrypted. It should leave point at the proper place to insert the plaintext. Be careful about using this command in Lisp programs! Since this function operates on regions, it does some tricks such as coding-system detection and unibyte/multibyte conversion. If you are sure how the data in the region should be treated, you should consider using the string based counterpart `epg-decrypt-string', or the file based counterpart `epg-decrypt-file' instead. For example: (let ((context (epg-make-context \='OpenPGP))) (decode-coding-string (epg-decrypt-string context (buffer-substring start end)) \='utf-8)) (fn START END &optional MAKE-BUFFER-FUNCTION)Fepa-decrypt-armor-in-region Decrypt OpenPGP armors in the current region between START and END. Don't use this command in Lisp programs! See the reason described in the `epa-decrypt-region' documentation. (fn START END)Fepa-verify-region Verify the current region between START and END. Don't use this command in Lisp programs! Since this function operates on regions, it does some tricks such as coding-system detection and unibyte/multibyte conversion. If you are sure how the data in the region should be treated, you should consider using the string based counterpart `epg-verify-string', or the file based counterpart `epg-verify-file' instead. For example: (let ((context (epg-make-context \='OpenPGP))) (decode-coding-string (epg-verify-string context (buffer-substring start end)) \='utf-8)) (fn START END)Fepa-verify-cleartext-in-region Verify OpenPGP cleartext signed messages in the current region between START and END. Don't use this command in Lisp programs! See the reason described in the `epa-verify-region' documentation. (fn START END)Fepa-sign-region Sign the current region between START and END by SIGNERS keys selected. Don't use this command in Lisp programs! Since this function operates on regions, it does some tricks such as coding-system detection and unibyte/multibyte conversion. If you are sure how the data should be treated, you should consider using the string based counterpart `epg-sign-string', or the file based counterpart `epg-sign-file' instead. For example: (let ((context (epg-make-context \='OpenPGP))) (epg-sign-string context (encode-coding-string (buffer-substring start end) \='utf-8))) (fn START END SIGNERS MODE)Fepa-encrypt-region Encrypt the current region between START and END for RECIPIENTS. Don't use this command in Lisp programs! Since this function operates on regions, it does some tricks such as coding-system detection and unibyte/multibyte conversion. If you are sure how the data should be treated, you should consider using the string based counterpart `epg-encrypt-string', or the file based counterpart `epg-encrypt-file' instead. For example: (let ((context (epg-make-context \='OpenPGP))) (epg-encrypt-string context (encode-coding-string (buffer-substring start end) \='utf-8) nil)) (fn START END RECIPIENTS SIGN SIGNERS)Fepa-delete-keys Delete selected KEYS. (fn KEYS &optional ALLOW-SECRET)Fepa-import-keys Import keys from FILE. (fn FILE)Fepa-import-keys-region Import keys from the region. (fn START END)Fepa-import-armor-in-region Import keys in the OpenPGP armor format in the current region between START and END. (fn START END)Fepa-export-keys Export selected KEYS to FILE. (fn KEYS FILE)Fepa-insert-keys Insert selected KEYS after the point. (fn KEYS)Fepa-dired-do-decrypt Decrypt marked files.Fepa-dired-do-verify Verify marked files.Fepa-dired-do-sign Sign marked files.Fepa-dired-do-encrypt Encrypt marked files.Fepa-file-handler (fn OPERATION &rest ARGS)Fepa-mail-mode A minor-mode for composing encrypted/clearsigned mails. If called interactively, enable epa-mail mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Fepa-mail-decrypt Decrypt OpenPGP armors in the current buffer. The buffer is expected to contain a mail message.Fepa-mail-verify Verify OpenPGP cleartext signed messages in the current buffer. The buffer is expected to contain a mail message.Fepa-mail-sign Sign the current buffer. The buffer is expected to contain a mail message, and signing is performed with your default key. With prefix argument, asks you to select interactively the key to use from your key ring. (fn START END SIGNERS MODE)Fepa-mail-encrypt Encrypt the outgoing mail message in the current buffer. Takes the recipients from the text in the header in the buffer and translates them through `epa-mail-aliases'. With prefix argument, asks you to select among them interactively and also whether and how to sign. Called from Lisp, the optional argument RECIPIENTS is a list of recipient addresses, t to perform symmetric encryption, or nil meaning use the defaults. SIGNERS is a list of keys to sign the message with. (fn &optional RECIPIENTS SIGNERS)Fepa-mail-import-keys Import keys in the OpenPGP armor format in the current buffer. The buffer is expected to contain a mail message.Vepa-global-mail-mode Non-nil if Epa-Global-Mail mode is enabled. See the `epa-global-mail-mode' command 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 `epa-global-mail-mode'.Fepa-global-mail-mode Minor mode to hook EasyPG into Mail mode. If called interactively, enable Epa-Global-Mail mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Fepg-make-context Return a context object. (fn &optional PROTOCOL ARMOR TEXTMODE INCLUDE-CERTS CIPHER-ALGORITHM DIGEST-ALGORITHM COMPRESS-ALGORITHM)Fepg-find-configuration Find or create a usable configuration to handle PROTOCOL. This function first looks at the existing configuration found by the previous invocation of this function, unless NO-CACHE is non-nil. Then it walks through PROGRAM-ALIST or `epg-config--program-alist'. If `epg-gpg-program' or `epg-gpgsm-program' is already set with custom, use it. Otherwise, it tries the programs listed in the entry until the version requirement is met. (fn PROTOCOL &optional NO-CACHE PROGRAM-ALIST)Fepg-configuration Return a list of internal configuration parameters of `epg-gpg-program'.Fepg-check-configuration Verify that a sufficient version of GnuPG is installed. CONFIG should be a `epg-configuration' object (a plist). REQ-VERSIONS should be a list with elements of the form (MIN . MAX) where MIN and MAX are version strings indicating a semi-open range of acceptable versions. REQ-VERSIONS may also be a single minimum version string. (fn CONFIG &optional REQ-VERSIONS)Fepg-expand-group Look at CONFIG and try to expand GROUP. (fn CONFIG GROUP)Ferc-select-read-args Prompt the user for values of nick, server, port, and password.Ferc ERC is a powerful, modular, and extensible IRC client. This function is the main entry point for ERC. It permits you to select connection parameters, and then starts ERC. Non-interactively, it takes the keyword arguments (server (erc-compute-server)) (port (erc-compute-port)) (nick (erc-compute-nick)) password (full-name (erc-compute-full-name))) That is, if called with (erc :server "irc.freenode.net" :full-name "Harry S Truman") then the server and full-name will be set to those values, whereas `erc-compute-port', `erc-compute-nick' and `erc-compute-full-name' will be invoked for the values of the other parameters. (fn &key (SERVER (erc-compute-server)) (PORT (erc-compute-port)) (NICK (erc-compute-nick)) PASSWORD (FULL-NAME (erc-compute-full-name)))Ferc-tls Interactively select TLS connection parameters and run ERC. Arguments are the same as for `erc'. (fn &rest R)Ferc-handle-irc-url Use ERC to IRC on HOST:PORT in CHANNEL as USER with PASSWORD. If ERC is already connected to HOST:PORT, simply /join CHANNEL. Otherwise, connect to HOST:PORT as USER and /join CHANNEL. (fn HOST PORT CHANNEL USER PASSWORD)Ferc-determine-network Return the name of the network or "Unknown" as a symbol. Use the server parameter NETWORK if provided, otherwise parse the server name and search for a match in `erc-networks-alist'.Ferc-server-select Interactively select a server to connect to using `erc-server-alist'.Fert-deftest Define NAME (a symbol) as a test. BODY is evaluated as a `progn' when the test is run. It should signal a condition on failure or just return if the test passes. `should', `should-not', `should-error' and `skip-unless' are useful for assertions in BODY. Use `ert' to run tests interactively. Tests that are expected to fail can be marked as such using :expected-result. See `ert-test-result-type-p' for a description of valid values for RESULT-TYPE. Macros in BODY are expanded when the test is defined, not when it is run. If a macro (possibly with side effects) is to be tested, it has to be wrapped in `(eval (quote ...))'. (fn NAME () [DOCSTRING] [:expected-result RESULT-TYPE] [:tags \='(TAG...)] BODY...)Fert-run-tests-batch Run the tests specified by SELECTOR, printing results to the terminal. SELECTOR works as described in `ert-select-tests', except if SELECTOR is nil, in which case all tests rather than none will be run; this makes the command line "emacs -batch -l my-tests.el -f ert-run-tests-batch-and-exit" useful. Returns the stats object. (fn &optional SELECTOR)Fert-run-tests-batch-and-exit Like `ert-run-tests-batch', but exits Emacs when done. The exit status will be 0 if all test results were as expected, 1 on unexpected results, or 2 if the tool detected an error outside of the tests (e.g. invalid SELECTOR or bug in the code that runs the tests). (fn &optional SELECTOR)Fert-run-tests-interactively Run the tests specified by SELECTOR and display the results in a buffer. SELECTOR works as described in `ert-select-tests'. OUTPUT-BUFFER-NAME and MESSAGE-FN should normally be nil; they are used for automated self-tests and specify which buffer to use and how to display message. (fn SELECTOR &optional OUTPUT-BUFFER-NAME MESSAGE-FN)Fert-describe-test Display the documentation for TEST-OR-TEST-NAME (a symbol or ert-test). (fn TEST-OR-TEST-NAME)Fert-kill-all-test-buffers Kill all test buffers that are still live.Feshell-mode Emacs shell interactive mode. (fn)Feshell Create an interactive Eshell buffer. Start a new Eshell session, or switch to an already active session. Return the buffer selected (or created). With a nonnumeric prefix arg, create a new session. With a numeric prefix arg (as in `C-u 42 M-x eshell RET'), switch to the session with that number, or create it if it doesn't already exist. The buffer name used for Eshell sessions is determined by the value of `eshell-buffer-name', which see. Eshell is a shell-like command interpreter. For more information on Eshell, see Info node `(eshell)Top'. (fn &optional ARG)Feshell-command Execute the Eshell command string COMMAND. With prefix ARG, insert output into the current buffer at point. (fn &optional COMMAND ARG)Feshell-command-result Execute the given Eshell COMMAND, and return the result. The result might be any Lisp object. If STATUS-VAR is a symbol, it will be set to the exit status of the command. This is the only way to determine whether the value returned corresponding to a successful execution. (fn COMMAND &optional STATUS-VAR)Vtags-file-name File name of tags table. To switch to a new tags table, do not set this variable; instead, invoke `visit-tags-table', which is the only reliable way of setting the value of this variable, whether buffer-local or global. Use the `etags' program to make a tags table file.Vtags-case-fold-search Whether tags operations should be case-sensitive. A value of t means case-insensitive, a value of nil means case-sensitive. Any other value means use the setting of `case-fold-search'.Vtags-table-list List of file names of tags tables to search. An element that is a directory means the file "TAGS" in that directory. To switch to a new list of tags tables, setting this variable is sufficient. If you set this variable, do not also set `tags-file-name'. Use the `etags' program to make a tags table file.Vtags-compression-info-list List of extensions tried by etags when `auto-compression-mode' is on. An empty string means search the non-compressed file.Vtags-add-tables Control whether to add a new tags table to the current list. t means do; nil means don't (always start a new list). Any other value means ask the user whether to add a new tags table to the current list (as opposed to starting a new list).Vfind-tag-hook Hook to be run by \[find-tag] after finding a tag. See `run-hooks'. The value in the buffer in which \[find-tag] is done is used, not the value in the buffer \[find-tag] goes to.Vfind-tag-default-function A function of no arguments used by \[find-tag] to pick a default tag. If nil, and the symbol that is the value of `major-mode' has a `find-tag-default-function' property (see `put'), that is used. Otherwise, `find-tag-default' is used.Ftags-table-mode Major mode for tags table file buffers. (fn)Fvisit-tags-table Tell tags commands to use tags table file FILE. FILE should be the name of a file created with the `etags' program. A directory name is ok too; it means file TAGS in that directory. Normally \[visit-tags-table] sets the global value of `tags-file-name'. With a prefix arg, set the buffer-local value instead. When called from Lisp, if the optional arg LOCAL is non-nil, set the local value. When you find a tag with \[find-tag], the buffer it finds the tag in is given a local value of this variable which is the name of the tags file the tag was in. (fn FILE &optional LOCAL)Fvisit-tags-table-buffer Select the buffer containing the current tags table. Optional arg CONT specifies which tags table to visit. If CONT is a string, visit that file as a tags table. If CONT is t, visit the next table in `tags-table-list'. If CONT is the atom `same', don't look for a new table; just select the buffer visiting `tags-file-name'. If CONT is nil or absent, choose a first buffer from information in `tags-file-name', `tags-table-list', `tags-table-list-pointer'. Optional second arg CBUF, if non-nil, specifies the initial buffer, which is important if that buffer has a local value of `tags-file-name'. Returns t if it visits a tags table, or nil if there are no more in the list. (fn &optional CONT CBUF)Ftags-table-files Return a list of files in the current tags table. Assumes the tags table is the current buffer. The file names are returned as they appeared in the `etags' command that created the table, usually without directory names.Ffind-tag-noselect Find tag (in current tags table) whose name contains TAGNAME. Returns the buffer containing the tag's definition and moves its point there, but does not select the buffer. The default for TAGNAME is the expression in the buffer near point. If second arg NEXT-P is t (interactively, with prefix arg), search for another tag that matches the last tagname or regexp used. When there are multiple matches for a tag, more exact matches are found first. If NEXT-P is the atom `-' (interactively, with prefix arg that is a negative number or just \[negative-argument]), pop back to the previous tag gone to. If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp. A marker representing the point when this command is invoked is pushed onto a ring and may be popped back to with \[pop-tag-mark]. Contrast this with the ring of marks gone to by the command. See documentation of variable `tags-file-name'. (fn TAGNAME &optional NEXT-P REGEXP-P)Ffind-tag Find tag (in current tags table) whose name contains TAGNAME. Select the buffer containing the tag's definition, and move point there. The default for TAGNAME is the expression in the buffer around or before point. If second arg NEXT-P is t (interactively, with prefix arg), search for another tag that matches the last tagname or regexp used. When there are multiple matches for a tag, more exact matches are found first. If NEXT-P is the atom `-' (interactively, with prefix arg that is a negative number or just \[negative-argument]), pop back to the previous tag gone to. If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp. A marker representing the point when this command is invoked is pushed onto a ring and may be popped back to with \[pop-tag-mark]. Contrast this with the ring of marks gone to by the command. See documentation of variable `tags-file-name'. (fn TAGNAME &optional NEXT-P REGEXP-P)Ffind-tag-other-window Find tag (in current tags table) whose name contains TAGNAME. Select the buffer containing the tag's definition in another window, and move point there. The default for TAGNAME is the expression in the buffer around or before point. If second arg NEXT-P is t (interactively, with prefix arg), search for another tag that matches the last tagname or regexp used. When there are multiple matches for a tag, more exact matches are found first. If NEXT-P is negative (interactively, with prefix arg that is a negative number or just \[negative-argument]), pop back to the previous tag gone to. If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp. A marker representing the point when this command is invoked is pushed onto a ring and may be popped back to with \[pop-tag-mark]. Contrast this with the ring of marks gone to by the command. See documentation of variable `tags-file-name'. (fn TAGNAME &optional NEXT-P REGEXP-P)Ffind-tag-other-frame Find tag (in current tags table) whose name contains TAGNAME. Select the buffer containing the tag's definition in another frame, and move point there. The default for TAGNAME is the expression in the buffer around or before point. If second arg NEXT-P is t (interactively, with prefix arg), search for another tag that matches the last tagname or regexp used. When there are multiple matches for a tag, more exact matches are found first. If NEXT-P is negative (interactively, with prefix arg that is a negative number or just \[negative-argument]), pop back to the previous tag gone to. If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp. A marker representing the point when this command is invoked is pushed onto a ring and may be popped back to with \[pop-tag-mark]. Contrast this with the ring of marks gone to by the command. See documentation of variable `tags-file-name'. (fn TAGNAME &optional NEXT-P)Ffind-tag-regexp Find tag (in current tags table) whose name matches REGEXP. Select the buffer containing the tag's definition and move point there. If second arg NEXT-P is t (interactively, with prefix arg), search for another tag that matches the last tagname or regexp used. When there are multiple matches for a tag, more exact matches are found first. If NEXT-P is negative (interactively, with prefix arg that is a negative number or just \[negative-argument]), pop back to the previous tag gone to. If third arg OTHER-WINDOW is non-nil, select the buffer in another window. A marker representing the point when this command is invoked is pushed onto a ring and may be popped back to with \[pop-tag-mark]. Contrast this with the ring of marks gone to by the command. See documentation of variable `tags-file-name'. (fn REGEXP &optional NEXT-P OTHER-WINDOW)Ftags-next-file Select next file among files in current tags table. A first argument of t (prefix arg, if interactive) initializes to the beginning of the list of files in the tags table. If the argument is neither nil nor t, it is evalled to initialize the list of files. Non-nil second argument NOVISIT means use a temporary buffer to save time and avoid uninteresting warnings. Value is nil if the file was already visited; if the file was newly read in, the value is the filename. (fn &optional INITIALIZE NOVISIT)Ftags-loop-continue Continue last \[tags-search] or \[tags-query-replace] command. Used noninteractively with non-nil argument to begin such a command (the argument is passed to `next-file', which see). (fn &optional FIRST-TIME)Ftags-search Search through all files listed in tags table for match for REGEXP. Stops when a match is found. To continue searching for next match, use command \[tags-loop-continue]. If FILES if non-nil should be a list or an iterator returning the files to search. The search will be restricted to these files. Also see the documentation of the `tags-file-name' variable. (fn REGEXP &optional FILES)Ftags-query-replace Do `query-replace-regexp' of FROM with TO on all files listed in tags table. Third arg DELIMITED (prefix arg) means replace only word-delimited matches. If you exit (\[keyboard-quit], RET or q), you can resume the query replace with the command \[tags-loop-continue]. For non-interactive use, superceded by `fileloop-initialize-replace'. (fn FROM TO &optional DELIMITED FILES)Flist-tags Display list of tags in file FILE. This searches only the first table in the list, and no included tables. FILE should be as it appeared in the `etags' command, usually without a directory specification. If called interactively, FILE defaults to the file name of the current buffer. (fn FILE &optional NEXT-MATCH)Ftags-apropos Display list of all tags in tags table REGEXP matches. (fn REGEXP)Fselect-tags-table Select a tags table file from a menu of those you have already used. The list of tags tables to select from is stored in `tags-table-set-list'; see the doc of that variable if you want to add names to the list.Fcomplete-tag Perform tags completion on the text around point. Completes to the set of names listed in the current tags table. The string to complete is chosen in the same way as the default for \[find-tag] (which see).Fethio-sera-to-fidel-buffer Convert the current buffer from SERA to FIDEL. The variable `ethio-primary-language' specifies the primary language and `ethio-secondary-language' specifies the secondary. If the 1st optional argument SECONDARY is non-nil, assume the buffer begins with the secondary language; otherwise with the primary language. If the 2nd optional argument FORCE is non-nil, perform conversion even if the buffer is read-only. See also the descriptions of the variables `ethio-use-colon-for-colon' and `ethio-use-three-dot-question'. (fn &optional SECONDARY FORCE)Fethio-sera-to-fidel-region Convert the characters in region from SERA to FIDEL. The variable `ethio-primary-language' specifies the primary language and `ethio-secondary-language' specifies the secondary. If the 3rd argument SECONDARY is given and non-nil, assume the region begins with the secondary language; otherwise with the primary language. If the 4th argument FORCE is given and non-nil, perform conversion even if the buffer is read-only. See also the descriptions of the variables `ethio-use-colon-for-colon' and `ethio-use-three-dot-question'. (fn BEGIN END &optional SECONDARY FORCE)Fethio-sera-to-fidel-marker Convert the regions surrounded by "" and "" from SERA to FIDEL. Assume that each region begins with `ethio-primary-language'. The markers "" and "" themselves are not deleted. (fn &optional FORCE)Fethio-fidel-to-sera-buffer Replace all the FIDEL characters in the current buffer to the SERA format. The variable `ethio-primary-language' specifies the primary language and `ethio-secondary-language' specifies the secondary. If the 1st optional argument SECONDARY is non-nil, try to convert the region so that it begins with the secondary language; otherwise with the primary language. If the 2nd optional argument FORCE is non-nil, convert even if the buffer is read-only. See also the descriptions of the variables `ethio-use-colon-for-colon', `ethio-use-three-dot-question', `ethio-quote-vowel-always' and `ethio-numeric-reduction'. (fn &optional SECONDARY FORCE)Fethio-fidel-to-sera-region Replace all the FIDEL characters in the region to the SERA format. The variable `ethio-primary-language' specifies the primary language and `ethio-secondary-language' specifies the secondary. If the 3rd argument SECONDARY is given and non-nil, convert the region so that it begins with the secondary language; otherwise with the primary language. If the 4th argument FORCE is given and non-nil, convert even if the buffer is read-only. See also the descriptions of the variables `ethio-use-colon-for-colon', `ethio-use-three-dot-question', `ethio-quote-vowel-always' and `ethio-numeric-reduction'. (fn BEGIN END &optional SECONDARY FORCE)Fethio-fidel-to-sera-marker Convert the regions surrounded by "" and "" from FIDEL to SERA. The markers "" and "" themselves are not deleted. (fn &optional FORCE)Fethio-modify-vowel Modify the vowel of the FIDEL that is under the cursor.Fethio-replace-space Replace ASCII spaces with Ethiopic word separators in the region. In the specified region, replace word separators surrounded by two Ethiopic characters, depending on the first argument CH, which should be 1, 2, or 3. If CH = 1, word separator will be replaced with an ASCII space. If CH = 2, with two ASCII spaces. If CH = 3, with the Ethiopic colon-like word separator. The 2nd and 3rd arguments BEGIN and END specify the region. (fn CH BEGIN END)Fethio-input-special-character This function is deprecated. (fn ARG)Fethio-fidel-to-tex-buffer Convert each fidel characters in the current buffer into a fidel-tex command.Fethio-tex-to-fidel-buffer Convert fidel-tex commands in the current buffer into fidel chars.Fethio-fidel-to-java-buffer Convert Ethiopic characters into the Java escape sequences. Each escape sequence is of the form \uXXXX, where XXXX is the character's codepoint (in hex) in Unicode. If `ethio-java-save-lowercase' is non-nil, use [0-9a-f]. Otherwise, [0-9A-F].Fethio-java-to-fidel-buffer Convert the Java escape sequences into corresponding Ethiopic characters.Fethio-find-file Transliterate file content into Ethiopic depending on filename suffix.Fethio-write-file Transliterate Ethiopic characters in ASCII depending on the file extension.Fethio-insert-ethio-space Insert the Ethiopic word delimiter (the colon-like character). With ARG, insert that many delimiters. (fn ARG)Fethio-composition-function (fn POS TO FONT-OBJECT STRING DIRECTION)Feudc-set-server Set the directory server to SERVER using PROTOCOL. Unless NO-SAVE is non-nil, the server is saved as the default server for future sessions. (fn SERVER PROTOCOL &optional NO-SAVE)Feudc-get-email Get the email field of NAME from the directory server. If ERROR is non-nil, report an error if there is none. (fn NAME &optional ERROR)Feudc-get-phone Get the phone field of NAME from the directory server. If ERROR is non-nil, report an error if there is none. (fn NAME &optional ERROR)Feudc-expand-inline Query the directory server, and expand the query string before point. The query string consists of the buffer substring from the point back to the preceding comma, colon or beginning of line. The variable `eudc-inline-query-format' controls how to associate the individual inline query words with directory attribute names. After querying the server for the given string, the expansion specified by `eudc-inline-expansion-format' is inserted in the buffer at point. If REPLACE is non-nil, then this expansion replaces the name in the buffer. `eudc-expansion-overwrites-query' being non-nil inverts the meaning of REPLACE. Multiple servers can be tried with the same query until one finds a match, see `eudc-inline-expansion-servers'. (fn &optional REPLACE)Feudc-query-with-words Query the directory server, and return the matching responses. The variable `eudc-inline-query-format' controls how to associate the individual QUERY-WORDS with directory attribute names. After querying the server for the given string, the expansion specified by `eudc-inline-expansion-format' is applied to the matches before returning them.inserted in the buffer at point. Multiple servers can be tried with the same query until one finds a match, see `eudc-inline-expansion-servers'. (fn QUERY-WORDS)Feudc-query-form Display a form to query the directory server. If given a non-nil argument GET-FIELDS-FROM-SERVER, the function first queries the server for the existing fields and displays a corresponding form. (fn &optional GET-FIELDS-FROM-SERVER)Feudc-load-eudc Load the Emacs Unified Directory Client. This does nothing except loading eudc by autoload side-effect.Feudc-display-generic-binary Display a button for unidentified binary DATA. (fn DATA)Feudc-display-url Display URL and make it clickable. (fn URL)Feudc-display-mail Display e-mail address and make it clickable. (fn MAIL)Feudc-display-sound Display a button to play the sound DATA. (fn DATA)Feudc-display-jpeg-inline Display the JPEG DATA inline at point if possible. (fn DATA)Feudc-display-jpeg-as-button Display a button for the JPEG DATA. (fn DATA)Feudc-insert-record-at-point-into-bbdb Insert record at point into the BBDB database. This function can only be called from a directory query result buffer.Feudc-try-bbdb-insert Call `eudc-insert-record-at-point-into-bbdb' if on a record.Feudc-edit-hotlist Edit the hotlist of directory servers in a specialized buffer.Fewoc-create Create an empty ewoc. The ewoc will be inserted in the current buffer at the current position. PRETTY-PRINTER should be a function that takes one argument, an element, and inserts a string representing it in the buffer (at point). The string PRETTY-PRINTER inserts may be empty or span several lines. The PRETTY-PRINTER should use `insert', and not `insert-before-markers'. Optional second and third arguments HEADER and FOOTER are strings, possibly empty, that will always be present at the top and bottom, respectively, of the ewoc. Normally, a newline is automatically inserted after the header, the footer and every node's printed representation. Optional fourth arg NOSEP non-nil inhibits this. (fn PRETTY-PRINTER &optional HEADER FOOTER NOSEP)Veww-suggest-uris List of functions called to form the list of default URIs for `eww'. Each of the elements is a function returning either a string or a list of strings. The results will be joined into a single list with duplicate entries (if any) removed.Feww Fetch URL and render the page. If the input doesn't look like an URL or a domain name, the word(s) will be searched for via `eww-search-prefix'. If called with a prefix ARG, use a new buffer instead of reusing the default EWW buffer. (fn URL &optional ARG)Feww-open-file Render FILE using EWW. (fn FILE)Feww-search-words Search the web for the text between BEG and END. If region is active (and not whitespace), search the web for the text between BEG and END. Else, prompt the user for a search string. See the `eww-search-prefix' variable for the search engine used.Feww-mode Mode for browsing the web. (fn)Feww-browse-url Ask the EWW browser to load URL. Interactively, if the variable `browse-url-new-window-flag' is non-nil, loads the document in a new buffer tab on the window tab-line. A non-nil prefix argument reverses the effect of `browse-url-new-window-flag'. If `tab-bar-mode' is enabled, then whenever a document would otherwise be loaded in a new buffer, it is loaded in a new tab in the tab-bar on an existing frame. See more options in `eww-browse-url-new-window-is-tab'. Non-interactively, this uses the optional second argument NEW-WINDOW instead of `browse-url-new-window-flag'. (fn URL &optional NEW-WINDOW)Feww-list-bookmarks Display the bookmarks.Fexecutable-command-find-posix-p Check if PROGRAM handles arguments Posix-style. If PROGRAM is non-nil, use that instead of "find". (fn &optional PROGRAM)Fexecutable-interpret Run script with user-specified args, and collect output in a buffer. While script runs asynchronously, you can use the \[next-error] command to find the next error. The buffer is also in `comint-mode' and `compilation-shell-minor-mode', so that you can answer any prompts. (fn COMMAND)Fexecutable-set-magic Set this buffer's interpreter to INTERPRETER with optional ARGUMENT. The variables `executable-magicless-file-regexp', `executable-prefix-env', `executable-insert', `executable-query' and `executable-chmod' control when and how magic numbers are inserted or replaced and scripts made executable. (fn INTERPRETER &optional ARGUMENT NO-QUERY-FLAG INSERT-FLAG)Fexecutable-make-buffer-file-executable-if-script-p Make file executable according to umask if not already executable. If file already has any execute bits set at all, do not change existing file modes.Fexpand-add-abbrevs Add a list of abbreviations to abbrev table TABLE. ABBREVS is a list of abbrev definitions; each abbrev description entry has the form (ABBREV EXPANSION ARG). ABBREV is the abbreviation to replace. EXPANSION is the replacement string or a function which will make the expansion. For example, you could use the DMacros or skeleton packages to generate such functions. ARG is an optional argument which can be a number or a list of numbers. If ARG is a number, point is placed ARG chars from the beginning of the expanded text. If ARG is a list of numbers, point is placed according to the first member of the list, but you can visit the other specified positions cyclically with the functions `expand-jump-to-previous-slot' and `expand-jump-to-next-slot'. If ARG is omitted, point is placed at the end of the expanded text. (fn TABLE ABBREVS)Fexpand-abbrev-hook Abbrev hook used to do the expansion job of expand abbrevs. See `expand-add-abbrevs'. Value is non-nil if expansion was done.Fexpand-jump-to-previous-slot Move the cursor to the previous slot in the last abbrev expansion. This is used only in conjunction with `expand-add-abbrevs'.Fexpand-jump-to-next-slot Move the cursor to the next slot in the last abbrev expansion. This is used only in conjunction with `expand-add-abbrevs'.Ff90-mode Major mode for editing Fortran 90,95 code in free format. For fixed format code, use `fortran-mode'. \[f90-indent-line] indents the current line. \[f90-indent-new-line] indents current line and creates a new indented line. \[f90-indent-subprogram] indents the current subprogram. Type \=`? or \=`\[help-command] to display a list of built-in abbrevs for F90 keywords. Key definitions: \{f90-mode-map} Variables controlling indentation style and extra features: `f90-do-indent' Extra indentation within do blocks (default 3). `f90-if-indent' Extra indentation within if/select/where/forall blocks (default 3). `f90-type-indent' Extra indentation within type/enum/interface/block-data blocks (default 3). `f90-program-indent' Extra indentation within program/module/subroutine/function blocks (default 2). `f90-associate-indent' Extra indentation within associate blocks (default 2). `f90-critical-indent' Extra indentation within critical/block blocks (default 2). `f90-continuation-indent' Extra indentation applied to continuation lines (default 5). `f90-comment-region' String inserted by function \[f90-comment-region] at start of each line in region (default "!!!$"). `f90-indented-comment-re' Regexp determining the type of comment to be intended like code (default "!"). `f90-directive-comment-re' Regexp of comment-like directive like "!HPF\\$", not to be indented (default "!hpf\\$"). `f90-break-delimiters' Regexp holding list of delimiters at which lines may be broken (default "[-+*/><=,% \t]"). `f90-break-before-delimiters' Non-nil causes `f90-do-auto-fill' to break lines before delimiters (default t). `f90-beginning-ampersand' Automatic insertion of `&' at beginning of continuation lines (default t). `f90-smart-end' From an END statement, check and fill the end using matching block start. Allowed values are `blink', `no-blink', and nil, which determine whether to blink the matching beginning (default `blink'). `f90-auto-keyword-case' Automatic change of case of keywords (default nil). The possibilities are `downcase-word', `upcase-word', `capitalize-word'. `f90-leave-line-no' Do not left-justify line numbers (default nil). Turning on F90 mode calls the value of the variable `f90-mode-hook' with no args, if that value is non-nil. (fn)Fface-remap-add-relative Add a face remapping entry of FACE to SPECS in the current buffer. Return a cookie which can be used to delete this remapping with `face-remap-remove-relative'. The remaining arguments, SPECS, should form a list of faces. Each list element should be either a face name or a property list of face attribute/value pairs. If more than one face is listed, that specifies an aggregate face, in the same way as in a `face' text property, except for possible priority changes noted below. The face remapping specified by SPECS takes effect alongside the remappings from other calls to `face-remap-add-relative' for the same FACE, as well as the normal definition of FACE (at lowest priority). This function tries to sort multiple remappings for the same face, so that remappings specifying relative face attributes are applied after remappings specifying absolute face attributes. The base (lowest priority) remapping may be set to something other than the normal definition of FACE via `face-remap-set-base'. (fn FACE &rest SPECS)Fface-remap-reset-base Set the base remapping of FACE to the normal definition of FACE. This causes the remappings specified by `face-remap-add-relative' to apply on top of the normal definition of FACE. (fn FACE)Fface-remap-set-base Set the base remapping of FACE in the current buffer to SPECS. This causes the remappings specified by `face-remap-add-relative' to apply on top of the face specification given by SPECS. The remaining arguments, SPECS, should form a list of faces. Each list element should be either a face name or a property list of face attribute/value pairs, like in a `face' text property. If SPECS is empty, call `face-remap-reset-base' to use the normal definition of FACE as the base remapping; note that this is different from SPECS containing a single value nil, which means not to inherit from the global definition of FACE at all. (fn FACE &rest SPECS)Ftext-scale-set Set the scale factor of the default face in the current buffer to LEVEL. If LEVEL is non-zero, `text-scale-mode' is enabled, otherwise it is disabled. LEVEL is a number of steps, with 0 representing the default size. Each step scales the height of the default face by the variable `text-scale-mode-step' (a negative number decreases the height by the same amount). (fn LEVEL)Ftext-scale-increase Increase the height of the default face in the current buffer by INC steps. If the new height is other than the default, `text-scale-mode' is enabled. Each step scales the height of the default face by the variable `text-scale-mode-step' (a negative number of steps decreases the height by the same amount). As a special case, an argument of 0 will remove any scaling currently active. (fn INC)Ftext-scale-decrease Decrease the height of the default face in the current buffer by DEC steps. See `text-scale-increase' for more details. (fn DEC)Ftext-scale-adjust Adjust the height of the default face by INC. INC may be passed as a numeric prefix argument. The actual adjustment made depends on the final component of the key-binding used to invoke the command, with all modifiers removed: +, = Increase the default face height by one step - Decrease the default face height by one step 0 Reset the default face height to the global default After adjusting, continue to read input events and further adjust the face height as long as the input event read (with all modifiers removed) is one of the above characters. Each step scales the height of the default face by the variable `text-scale-mode-step' (a negative number of steps decreases the height by the same amount). As a special case, an argument of 0 will remove any scaling currently active. This command is a special-purpose wrapper around the `text-scale-increase' command which makes repetition convenient even when it is bound in a non-top-level keymap. For binding in a top-level keymap, `text-scale-increase' or `text-scale-decrease' may be more appropriate. (fn INC)Fbuffer-face-mode Minor mode for a buffer-specific default face. If called interactively, enable Buffer-Face mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When enabled, the face specified by the variable `buffer-face-mode-face' is used to display the buffer text. (fn &optional ARG)Fbuffer-face-set Enable `buffer-face-mode', using face specs SPECS. Each argument in SPECS should be a face, i.e. either a face name or a property list of face attributes and values. If more than one face is listed, that specifies an aggregate face, like in a `face' text property. If SPECS is nil or omitted, disable `buffer-face-mode'. This function makes the variable `buffer-face-mode-face' buffer local, and sets it to FACE. (fn &rest SPECS)Fbuffer-face-toggle Toggle `buffer-face-mode', using face specs SPECS. Each argument in SPECS should be a face, i.e. either a face name or a property list of face attributes and values. If more than one face is listed, that specifies an aggregate face, like in a `face' text property. If `buffer-face-mode' is already enabled, and is currently using the face specs SPECS, then it is disabled; if `buffer-face-mode' is disabled, or is enabled and currently displaying some other face, then is left enabled, but the face changed to reflect SPECS. This function will make the variable `buffer-face-mode-face' buffer local, and set it to SPECS. (fn &rest SPECS)Fvariable-pitch-mode Variable-pitch default-face mode. An interface to `buffer-face-mode' which uses the `variable-pitch' face. Besides the choice of face, it is the same as `buffer-face-mode'. (fn &optional ARG)Ffaceup-view-buffer Display the faceup representation of the current buffer.Ffaceup-write-file Save the faceup representation of the current buffer to the file FILE-NAME. Unless a name is given, the file will be named xxx.faceup, where xxx is the file name associated with the buffer. If optional second arg CONFIRM is non-nil, this function asks for confirmation before overwriting an existing file. Interactively, confirmation is required unless you supply a prefix argument. (fn &optional FILE-NAME CONFIRM)Ffaceup-render-view-buffer Convert BUFFER containing Faceup markup to a new buffer and display it. (fn &optional BUFFER)Ffaceup-clean-buffer Remove faceup markup from buffer.Ffaceup-defexplainer Define an Ert explainer function for FUNCTION. FUNCTION must return an explanation when the test fails and `faceup-test-explain' is set. (fn FUNCTION)Ffeedmail-send-it Send the current mail buffer using the Feedmail package. This is a suitable value for `send-mail-function'. It can be used with various lower-level mechanisms to provide features such as queueing.Ffeedmail-run-the-queue-no-prompts Like `feedmail-run-the-queue', but suppress confirmation prompts. (fn &optional ARG)Ffeedmail-run-the-queue-global-prompt Like `feedmail-run-the-queue', but with a global confirmation prompt. This is generally most useful if run non-interactively, since you can bail out with an appropriate answer to the global confirmation prompt. (fn &optional ARG)Ffeedmail-run-the-queue Visit each message in the feedmail queue directory and send it out. Return value is a list of three things: number of messages sent, number of messages skipped, and number of non-message things in the queue (commonly backup file names and the like). (fn &optional ARG)Ffeedmail-queue-reminder Perform some kind of reminder activity about queued and draft messages. Called with an optional symbol argument which says what kind of event is triggering the reminder activity. The default is `on-demand', which is what you typically would use if you were putting this in your Emacs start-up or mail hook code. Other recognized values for WHAT-EVENT (these are passed internally by feedmail): after-immediate (a message has just been sent in immediate mode) after-queue (a message has just been queued) after-draft (a message has just been placed in the draft directory) after-run (the queue has just been run, possibly sending messages) WHAT-EVENT is used as a key into the table `feedmail-queue-reminder-alist'. If the associated value is a function, it is called without arguments and is expected to perform the reminder activity. You can supply your own reminder functions by redefining `feedmail-queue-reminder-alist'. If you don't want any reminders, you can set `feedmail-queue-reminder-alist' to nil. (fn &optional WHAT-EVENT)Fffap-next Search buffer for next file or URL, and run ffap. Optional argument BACK says to search backwards. Optional argument WRAP says to try wrapping around if necessary. Interactively: use a single prefix \[universal-argument] to search backwards, double prefix to wrap forward, triple to wrap backwards. Actual search is done by the function `ffap-next-guess'. (fn &optional BACK WRAP)Ffind-file-at-point Find FILENAME, guessing a default from text around point. If `ffap-url-regexp' is not nil, the FILENAME may also be an URL. With a prefix, this command behaves exactly like `ffap-file-finder'. If `ffap-require-prefix' is set, the prefix meaning is reversed. See also the variables `ffap-dired-wildcards', `ffap-newfile-prompt', `ffap-url-unwrap-local', `ffap-url-unwrap-remote', and the functions `ffap-file-at-point' and `ffap-url-at-point'. (fn &optional FILENAME)Fffap-menu Put up a menu of files and URLs mentioned in this buffer. Then set mark, jump to choice, and try to fetch it. The menu is cached in `ffap-menu-alist', and rebuilt by `ffap-menu-rescan'. The optional RESCAN argument (a prefix, interactively) forces a rebuild. Searches with `ffap-menu-regexp'. (fn &optional RESCAN)Fffap-at-mouse Find file or URL guessed from text around mouse click. Interactively, calls `ffap-at-mouse-fallback' if no guess is found. Return value: * if a guess string is found, return it (after finding it) * if the fallback is called, return whatever it returns * otherwise, nil (fn E)Fdired-at-point Start Dired, defaulting to file at point. See `ffap'. If `dired-at-point-require-prefix' is set, the prefix meaning is reversed. (fn &optional FILENAME)Fffap-guess-file-name-at-point Try to get a file name at point. This hook is intended to be put in `file-name-at-point-functions'.Fffap-bindings Evaluate the forms in variable `ffap-bindings'.Ffile-cache-add-directory Add all files in DIRECTORY to the file cache. If called from Lisp with a non-nil REGEXP argument is non-nil, only add files whose names match REGEXP. (fn DIRECTORY &optional REGEXP)Ffile-cache-add-directory-list Add DIRECTORIES (a list of directory names) to the file cache. If called interactively, read the directory names one by one. If the optional REGEXP argument is non-nil, only files which match it will be added to the cache. Note that the REGEXP is applied to the files in each directory, not to the directory list itself. (fn DIRECTORIES &optional REGEXP)Ffile-cache-add-file Add FILE to the file cache. (fn FILE)Ffile-cache-add-directory-using-find Use the `find' command to add files to the file cache. Find is run in DIRECTORY. (fn DIRECTORY)Ffile-cache-add-directory-using-locate Use the `locate' command to add files to the file cache. STRING is passed as an argument to the locate command. (fn STRING)Ffile-cache-add-directory-recursively Add DIR and any subdirectories to the file-cache. This function does not use any external programs. If the optional REGEXP argument is non-nil, only files which match it will be added to the cache. Note that the REGEXP is applied to the files in each directory, not to the directory list itself. (fn DIR &optional REGEXP)Ffile-cache-minibuffer-complete Complete a filename in the minibuffer using a preloaded cache. Filecache does two kinds of substitution: it completes on names in the cache, and, once it has found a unique name, it cycles through the directories that the name is available in. With a prefix argument, the name is considered already unique; only the second substitution (directories) is done. (fn ARG)Ffileloop-initialize Initialize a new round of operation on several files. FILES can be either a list of file names, or an iterator (used with `iter-next') which returns a file name at each step. SCAN-FUNCTION is a function called with no argument inside a buffer and it should return non-nil if that buffer has something on which to operate. OPERATE-FUNCTION is a function called with no argument; it is expected to perform the operation on the current file buffer and when done should return non-nil to mean that we should immediately continue operating on the next file and nil otherwise. (fn FILES SCAN-FUNCTION OPERATE-FUNCTION)Ffileloop-initialize-search (fn REGEXP FILES CASE-FOLD)Ffileloop-initialize-replace Initialize a new round of query&replace on several files. FROM is a regexp and TO is the replacement to use. FILES describes the files, as in `fileloop-initialize'. CASE-FOLD can be t, nil, or `default': if it is nil, matching of FROM is case-sensitive. if it is t, matching of FROM is case-insensitive, except when `search-upper-case' is non-nil and FROM includes upper-case letters. if it is `default', the function uses the value of `case-fold-search' instead. DELIMITED if non-nil means replace only word-delimited matches. (fn FROM TO FILES CASE-FOLD &optional DELIMITED)Ffile-notify-handle-event Handle a file system monitoring event, coming from backends. If OBJECT is a filewatch event, call its callback. Otherwise, signal a `file-notify-error'. (fn OBJECT)Fadd-file-local-variable Add file-local VARIABLE with its VALUE to the Local Variables list. This command deletes all existing settings of VARIABLE (except `mode' and `eval') and adds a new file-local VARIABLE with VALUE to the Local Variables list. If there is no Local Variables list in the current file buffer then this function adds the first line containing the string `Local Variables:' and the last line containing the string `End:'. (fn VARIABLE VALUE &optional INTERACTIVE)Fdelete-file-local-variable Delete all settings of file-local VARIABLE from the Local Variables list. (fn VARIABLE &optional INTERACTIVE)Fadd-file-local-variable-prop-line Add file-local VARIABLE with its VALUE to the -*- line. This command deletes all existing settings of VARIABLE (except `mode' and `eval') and adds a new file-local VARIABLE with VALUE to the -*- line. If there is no -*- line at the beginning of the current file buffer then this function adds it. (fn VARIABLE VALUE &optional INTERACTIVE)Fdelete-file-local-variable-prop-line Delete all settings of file-local VARIABLE from the -*- line. (fn VARIABLE &optional INTERACTIVE)Fadd-dir-local-variable Add directory-local VARIABLE with its VALUE and MODE to .dir-locals.el. (fn MODE VARIABLE VALUE)Fdelete-dir-local-variable Delete all MODE settings of file-local VARIABLE from .dir-locals.el. (fn MODE VARIABLE)Fcopy-file-locals-to-dir-locals Copy file-local variables to .dir-locals.el.Fcopy-dir-locals-to-file-locals Copy directory-local variables to the Local Variables list.Fcopy-dir-locals-to-file-locals-prop-line Copy directory-local variables to the -*- line.Venable-connection-local-variables Non-nil means enable use of connection-local variables.Fconnection-local-set-profiles Add PROFILES for CRITERIA. CRITERIA is a plist identifying a connection and the application using this connection, see `connection-local-criteria-alist'. PROFILES are the names of connection profiles (a symbol). When a connection to a remote server is opened and CRITERIA matches to that server, the connection-local variables from PROFILES are applied to the corresponding process buffer. The variables for a connection profile are defined using `connection-local-set-profile-variables'. (fn CRITERIA &rest PROFILES)Fconnection-local-set-profile-variables Map the symbol PROFILE to a list of variable settings. VARIABLES is a list that declares connection-local variables for the connection profile. An element in VARIABLES is an alist whose elements are of the form (VAR . VALUE). When a connection to a remote server is opened, the server's connection profiles are found. A server may be assigned a connection profile using `connection-local-set-profiles'. Then variables are set in the server's process buffer according to the VARIABLES list of the connection profile. The list is processed in order. (fn PROFILE VARIABLES)Fhack-connection-local-variables-apply Apply connection-local variables identified by CRITERIA. Other local variables, like file-local and dir-local variables, will not be changed. (fn CRITERIA)Fwith-connection-local-variables Apply connection-local variables according to `default-directory'. Execute BODY, and unwind connection-local variables. (fn &rest BODY)Ffilesets-init Filesets initialization. Set up hooks, load the cache file -- if existing -- and build the menu.Ffind-cmd Initiate the building of a find command. For example: (find-cmd \='(prune (name ".svn" ".git" ".CVS")) \='(and (or (name "*.pl" "*.pm" "*.t") (mtime "+1")) (fstype "nfs" "ufs")))) `default-directory' is used as the initial search path. The result is a string that should be ready for the command line. (fn &rest SUBFINDS)Ffind-dired Run `find' and go into Dired mode on a buffer of the output. The command run (after changing into DIR) is essentially find . \( ARGS \) -ls except that the car of the variable `find-ls-option' specifies what to use in place of "-ls" as the final argument. (fn DIR ARGS)Ffind-name-dired Search DIR recursively for files matching the globbing pattern PATTERN, and run Dired on those files. PATTERN is a shell wildcard (not an Emacs regexp) and need not be quoted. The default command run (after changing into DIR) is find . -name \='PATTERN\=' -ls See `find-name-arg' to customize the arguments. (fn DIR PATTERN)Ffind-grep-dired Find files in DIR that contain matches for REGEXP and start Dired on output. The command run (after changing into DIR) is find . \( -type f -exec `grep-program' `find-grep-options' \ -e REGEXP {} \; \) -ls where the first string in the value of the variable `find-ls-option' specifies what to use in place of "-ls" as the final argument. (fn DIR REGEXP)Vff-special-constructs List of special constructs recognized by `ff-treat-as-special'. Each element, tried in order, has the form (REGEXP . EXTRACT). If REGEXP matches the current line (from the beginning of the line), `ff-treat-as-special' calls function EXTRACT with no args. If EXTRACT returns nil, keep trying. Otherwise, return the filename that EXTRACT returned.Fff-get-other-file Find the header or source file corresponding to this file. See also the documentation for `ff-find-other-file'. If optional IN-OTHER-WINDOW is non-nil, find the file in another window. (fn &optional IN-OTHER-WINDOW)Fff-find-other-file Find the header or source file corresponding to this file. Being on a `#include' line pulls in that file. If optional IN-OTHER-WINDOW is non-nil, find the file in the other window. If optional IGNORE-INCLUDE is non-nil, ignore being on `#include' lines. Variables of interest include: - `ff-case-fold-search' Non-nil means ignore cases in matches (see `case-fold-search'). If you have extensions in different cases, you will want this to be nil. - `ff-always-in-other-window' If non-nil, always open the other file in another window, unless an argument is given to `ff-find-other-file'. - `ff-ignore-include' If non-nil, ignores #include lines. - `ff-always-try-to-create' If non-nil, always attempt to create the other file if it was not found. - `ff-quiet-mode' If non-nil, traces which directories are being searched. - `ff-special-constructs' A list of regular expressions specifying how to recognize special constructs such as include files etc, and an associated method for extracting the filename from that construct. - `ff-other-file-alist' Alist of extensions to find given the current file's extension. - `ff-search-directories' List of directories searched through with each extension specified in `ff-other-file-alist' that matches this file's extension. - `ff-pre-find-hook' List of functions to be called before the search for the file starts. - `ff-pre-load-hook' List of functions to be called before the other file is loaded. - `ff-post-load-hook' List of functions to be called after the other file is loaded. - `ff-not-found-hook' List of functions to be called if the other file could not be found. - `ff-file-created-hook' List of functions to be called if the other file has been created. (fn &optional IN-OTHER-WINDOW IGNORE-INCLUDE)Fff-mouse-find-other-file Visit the file you click on. (fn EVENT)Fff-mouse-find-other-file-other-window Visit the file you click on in another window. (fn EVENT)Ffind-library Find the Emacs Lisp source of LIBRARY. Interactively, prompt for LIBRARY using the one at or near point. (fn LIBRARY)Ffind-library-other-window Find the Emacs Lisp source of LIBRARY in another window. See `find-library' for more details. (fn LIBRARY)Ffind-library-other-frame Find the Emacs Lisp source of LIBRARY in another frame. See `find-library' for more details. (fn LIBRARY)Ffind-function-search-for-symbol Search for SYMBOL's definition of type TYPE in LIBRARY. Visit the library in a buffer, and return a cons cell (BUFFER . POSITION), or just (BUFFER . nil) if the definition can't be found in the file. If TYPE is nil, look for a function definition. Otherwise, TYPE specifies the kind of definition, and it is interpreted via `find-function-regexp-alist'. The search is done in the source for library LIBRARY. (fn SYMBOL TYPE LIBRARY)Ffind-function-noselect Return a pair (BUFFER . POINT) pointing to the definition of FUNCTION. Finds the source file containing the definition of FUNCTION in a buffer and the point of the definition. The buffer is not selected. If the function definition can't be found in the buffer, returns (BUFFER). If FUNCTION is a built-in function, this function normally attempts to find it in the Emacs C sources; however, if LISP-ONLY is non-nil, signal an error instead. If the file where FUNCTION is defined is not known, then it is searched for in `find-function-source-path' if non-nil, otherwise in `load-path'. (fn FUNCTION &optional LISP-ONLY)Ffind-function Find the definition of the FUNCTION near point. Finds the source file containing the definition of the function near point (selected by `function-called-at-point') in a buffer and places point before the definition. Set mark before moving, if the buffer already existed. The library where FUNCTION is defined is searched for in `find-function-source-path', if non-nil, otherwise in `load-path'. See also `find-function-recenter-line' and `find-function-after-hook'. (fn FUNCTION)Ffind-function-other-window Find, in another window, the definition of FUNCTION near point. See `find-function' for more details. (fn FUNCTION)Ffind-function-other-frame Find, in another frame, the definition of FUNCTION near point. See `find-function' for more details. (fn FUNCTION)Ffind-variable-noselect Return a pair `(BUFFER . POINT)' pointing to the definition of VARIABLE. Finds the library containing the definition of VARIABLE in a buffer and the point of the definition. The buffer is not selected. If the variable's definition can't be found in the buffer, return (BUFFER). The library where VARIABLE is defined is searched for in FILE or `find-function-source-path', if non-nil, otherwise in `load-path'. (fn VARIABLE &optional FILE)Ffind-variable Find the definition of the VARIABLE at or before point. Finds the library containing the definition of the variable near point (selected by `variable-at-point') in a buffer and places point before the definition. Set mark before moving, if the buffer already existed. The library where VARIABLE is defined is searched for in `find-function-source-path', if non-nil, otherwise in `load-path'. See also `find-function-recenter-line' and `find-function-after-hook'. (fn VARIABLE)Ffind-variable-other-window Find, in another window, the definition of VARIABLE near point. See `find-variable' for more details. (fn VARIABLE)Ffind-variable-other-frame Find, in another frame, the definition of VARIABLE near point. See `find-variable' for more details. (fn VARIABLE)Ffind-definition-noselect Return a pair `(BUFFER . POINT)' pointing to the definition of SYMBOL. If the definition can't be found in the buffer, return (BUFFER). TYPE says what type of definition: nil for a function, `defvar' for a variable, `defface' for a face. This function does not switch to the buffer nor display it. The library where SYMBOL is defined is searched for in FILE or `find-function-source-path', if non-nil, otherwise in `load-path'. (fn SYMBOL TYPE &optional FILE)Ffind-face-definition Find the definition of FACE. FACE defaults to the name near point. Finds the Emacs Lisp library containing the definition of the face near point (selected by `variable-at-point') in a buffer and places point before the definition. Set mark before moving, if the buffer already existed. The library where FACE is defined is searched for in `find-function-source-path', if non-nil, otherwise in `load-path'. See also `find-function-recenter-line' and `find-function-after-hook'. (fn FACE)Ffind-function-on-key Find the function that KEY invokes. KEY is a string. Set mark before moving, if the buffer already existed. (fn KEY)Ffind-function-on-key-other-window Find, in the other window, the function that KEY invokes. See `find-function-on-key'. (fn KEY)Ffind-function-on-key-other-frame Find, in the other frame, the function that KEY invokes. See `find-function-on-key'. (fn KEY)Ffind-function-at-point Find directly the function at point in the other window.Ffind-variable-at-point Find directly the variable at point in the other window.Ffind-function-setup-keys Define some key bindings for the find-function family of functions.Ffind-lisp-find-dired Find files in DIR, matching REGEXP. (fn DIR REGEXP)Ffind-lisp-find-dired-subdirectories Find all subdirectories of DIR. (fn DIR)Ffind-lisp-find-dired-filter Change the filter on a `find-lisp-find-dired' buffer to REGEXP. (fn REGEXP)Ffinder-list-keywords Display descriptions of the keywords in the Finder buffer.Ffinder-commentary Display FILE's commentary section. FILE should be in a form suitable for passing to `locate-library'. (fn FILE)Ffinder-by-keyword Find packages matching a given keyword.Fenable-flow-control Toggle flow control handling. When handling is enabled, user can type C-s as C-\, and C-q as C-^. With arg, enable flow control mode if arg is positive, otherwise disable. (fn &optional ARGUMENT)Fenable-flow-control-on Enable flow control if using one of a specified set of terminal types. Use `(enable-flow-control-on "vt100" "h19")' to enable flow control on VT-100 and H19 terminals. When flow control is enabled, you must type C-\ to get the effect of a C-s, and type C-^ to get the effect of a C-q. (fn &rest LOSING-TERMINAL-TYPES)Ffill-flowed-encode (fn &optional BUFFER)Ffill-flowed Apply RFC2646 decoding to BUFFER. If BUFFER is nil, default to the current buffer. If DELETE-SPACE, delete RFC2646 spaces padding at the end of lines. (fn &optional BUFFER DELETE-SPACE)Fflymake-log Log, at level LEVEL, the message MSG formatted with ARGS. LEVEL is passed to `display-warning', which is used to display the warning. If this form is included in a byte-compiled file, the generated warning contains an indication of the file that generated it. (fn LEVEL MSG &rest ARGS)Fflymake-make-diagnostic Make a Flymake diagnostic for BUFFER's region from BEG to END. TYPE is a diagnostic symbol and TEXT is string describing the problem detected in this region. DATA is any object that the caller wishes to attach to the created diagnostic for later retrieval. OVERLAY-PROPERTIES is an alist of properties attached to the created diagnostic, overriding the default properties and any properties of `flymake-overlay-control' of the diagnostic's type. (fn BUFFER BEG END TYPE TEXT &optional DATA OVERLAY-PROPERTIES)Fflymake-diagnostics Get Flymake diagnostics in region determined by BEG and END. If neither BEG or END is supplied, use the whole buffer, otherwise if BEG is non-nil and END is nil, consider only diagnostics at BEG. (fn &optional BEG END)Fflymake-diag-region Compute BUFFER's region (BEG . END) corresponding to LINE and COL. If COL is nil, return a region just for LINE. Return nil if the region is invalid. (fn BUFFER LINE &optional COL)Fflymake-mode Toggle Flymake mode on or off. If called interactively, enable Flymake mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Flymake is an Emacs minor mode for on-the-fly syntax checking. Flymake collects diagnostic information from multiple sources, called backends, and visually annotates the buffer with the results. Flymake performs these checks while the user is editing. The customization variables `flymake-start-on-flymake-mode', `flymake-no-changes-timeout' determine the exact circumstances whereupon Flymake decides to initiate a check of the buffer. The commands `flymake-goto-next-error' and `flymake-goto-prev-error' can be used to navigate among Flymake diagnostics annotated in the buffer. The visual appearance of each type of diagnostic can be changed by setting properties `flymake-overlay-control', `flymake-bitmap' and `flymake-severity' on the symbols of diagnostic types (like `:error', `:warning' and `:note'). Activation or deactivation of backends used by Flymake in each buffer happens via the special hook `flymake-diagnostic-functions'. Some backends may take longer than others to respond or complete, and some may decide to disable themselves if they are not suitable for the current buffer. The commands `flymake-running-backends', `flymake-disabled-backends' and `flymake-reporting-backends' summarize the situation, as does the special *Flymake log* buffer. (fn &optional ARG)Fflymake-mode-on Turn Flymake mode on.Fflymake-mode-off Turn Flymake mode off.Fflymake-cc Flymake backend for GNU-style C compilers. This backend uses `flymake-cc-command' (which see) to launch a process that is passed the current buffer's contents via stdin. REPORT-FN is Flymake's callback. (fn REPORT-FN &rest ARGS)Fflyspell-prog-mode Turn on `flyspell-mode' for comments and strings.Fflyspell-mode Toggle on-the-fly spell checking (Flyspell mode). If called interactively, enable Flyspell mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Flyspell mode is a buffer-local minor mode. When enabled, it spawns a single Ispell process and checks each word. The default flyspell behavior is to highlight incorrect words. Bindings: \[ispell-word]: correct words (using Ispell). \[flyspell-auto-correct-word]: automatically correct word. \[flyspell-auto-correct-previous-word]: automatically correct the last misspelled word. \[flyspell-correct-word] (or down-mouse-2): popup correct words. Hooks: This runs `flyspell-mode-hook' after flyspell mode is entered or exit. Remark: `flyspell-mode' uses `ispell-mode'. Thus all Ispell options are valid. For instance, a different dictionary can be used by invoking `ispell-change-dictionary'. Consider using the `ispell-parser' to check your text. For instance consider adding: (add-hook \='tex-mode-hook (function (lambda () (setq ispell-parser \='tex)))) in your init file. \[flyspell-region] checks all words inside a region. \[flyspell-buffer] checks the whole buffer. (fn &optional ARG)Fturn-on-flyspell Unconditionally turn on Flyspell mode.Fturn-off-flyspell Unconditionally turn off Flyspell mode.Fflyspell-mode-off Turn Flyspell mode off.Fflyspell-region Flyspell text between BEG and END. Make sure `flyspell-mode' is turned on if you want the highlight of a misspelled word removed when you've corrected it. (fn BEG END)Fflyspell-buffer Flyspell whole buffer.Fturn-on-follow-mode Turn on Follow mode. Please see the function `follow-mode'.Fturn-off-follow-mode Turn off Follow mode. Please see the function `follow-mode'.Ffollow-mode Toggle Follow mode. If called interactively, enable Follow mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Follow mode is a minor mode that combines windows into one tall virtual window. This is accomplished by two main techniques: * The windows always displays adjacent sections of the buffer. This means that whenever one window is moved, all the others will follow. (Hence the name Follow mode.) * Should point (cursor) end up outside a window, another window displaying that point is selected, if possible. This makes it possible to walk between windows using normal cursor movement commands. Follow mode comes to its prime when used on a large screen and two or more side-by-side windows are used. The user can, with the help of Follow mode, use these full-height windows as though they were one. Imagine yourself editing a large function, or section of text, and being able to use 144 or 216 lines instead of the normal 72... (your mileage may vary). To split one large window into two side-by-side windows, the commands `\[split-window-right]' or `\[follow-delete-other-windows-and-split]' can be used. Only windows displayed in the same frame follow each other. This command runs the normal hook `follow-mode-hook'. Keys specific to Follow mode: \{follow-mode-map} (fn &optional ARG)Ffollow-scroll-up-window Scroll text in a Follow mode window up by that window's size. The other windows in the window chain will scroll synchronously. If called with no ARG, the `next-screen-context-lines' last lines of the window will be visible after the scroll. If called with an argument, scroll ARG lines up. Negative ARG means scroll downward. Works like `scroll-up' when not in Follow mode. (fn &optional ARG)Ffollow-scroll-down-window Scroll text in a Follow mode window down by that window's size. The other windows in the window chain will scroll synchronously. If called with no ARG, the `next-screen-context-lines' top lines of the window in the chain will be visible after the scroll. If called with an argument, scroll ARG lines down. Negative ARG means scroll upward. Works like `scroll-down' when not in Follow mode. (fn &optional ARG)Ffollow-scroll-up Scroll text in a Follow mode window chain up. If called with no ARG, the `next-screen-context-lines' last lines of the bottom window in the chain will be visible in the top window. If called with an argument, scroll ARG lines up. Negative ARG means scroll downward. Works like `scroll-up' when not in Follow mode. (fn &optional ARG)Ffollow-scroll-down Scroll text in a Follow mode window chain down. If called with no ARG, the `next-screen-context-lines' top lines of the top window in the chain will be visible in the bottom window. If called with an argument, scroll ARG lines down. Negative ARG means scroll upward. Works like `scroll-down' when not in Follow mode. (fn &optional ARG)Ffollow-delete-other-windows-and-split Create two side by side windows and enter Follow mode. Execute this command to display as much as possible of the text in the selected window. All other windows, in the current frame, are deleted and the selected window is split in two side-by-side windows. Follow mode is activated, hence the two windows always will display two successive pages. (If one window is moved, the other one will follow.) If ARG is positive, the leftmost window is selected. If negative, the rightmost is selected. If ARG is nil, the leftmost window is selected if the original window is the first one in the frame. (fn &optional ARG)Ffootnote-mode Toggle Footnote mode. If called interactively, enable Footnote mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Footnote mode is a buffer-local minor mode. If enabled, it provides footnote support for `message-mode'. To get started, play around with the following keys: \{footnote-minor-mode-map} (fn &optional ARG)Fforms-mode Major mode to visit files in a field-structured manner using a form. Commands: Equivalent keys in read-only mode: TAB forms-next-field TAB C-c TAB forms-next-field C-c < forms-first-record < C-c > forms-last-record > C-c ? describe-mode ? C-c C-k forms-delete-record C-c C-q forms-toggle-read-only q C-c C-o forms-insert-record C-c C-l forms-jump-record l C-c C-n forms-next-record n C-c C-p forms-prev-record p C-c C-r forms-search-reverse r C-c C-s forms-search-forward s C-c C-x forms-exit x (fn &optional PRIMARY)Fforms-find-file Visit a file in Forms mode. (fn FN)Fforms-find-file-other-window Visit a file in Forms mode in other window. (fn FN)Ffortran-mode Major mode for editing Fortran code in fixed format. For free format code, use `f90-mode'. \[fortran-indent-line] indents the current Fortran line correctly. Note that DO statements must not share a common CONTINUE. Type ;? or ;\[help-command] to display a list of built-in abbrevs for Fortran keywords. Key definitions: \{fortran-mode-map} Variables controlling indentation style and extra features: `fortran-comment-line-start' To use comments starting with `!', set this to the string "!". `fortran-do-indent' Extra indentation within DO blocks (default 3). `fortran-if-indent' Extra indentation within IF blocks (default 3). `fortran-structure-indent' Extra indentation within STRUCTURE, UNION, MAP and INTERFACE blocks. (default 3) `fortran-continuation-indent' Extra indentation applied to continuation statements (default 5). `fortran-comment-line-extra-indent' Amount of extra indentation for text in full-line comments (default 0). `fortran-comment-indent-style' How to indent the text in full-line comments. Allowed values are: nil don't change the indentation `fixed' indent to `fortran-comment-line-extra-indent' beyond the value of either `fortran-minimum-statement-indent-fixed' (fixed format) or `fortran-minimum-statement-indent-tab' (TAB format), depending on the continuation format in use. `relative' indent to `fortran-comment-line-extra-indent' beyond the indentation for a line of code. (default `fixed') `fortran-comment-indent-char' Single-character string to be inserted instead of space for full-line comment indentation (default " "). `fortran-minimum-statement-indent-fixed' Minimum indentation for statements in fixed format mode (default 6). `fortran-minimum-statement-indent-tab' Minimum indentation for statements in TAB format mode (default 9). `fortran-line-number-indent' Maximum indentation for line numbers (default 1). A line number will get less than this much indentation if necessary to avoid reaching column 5. `fortran-check-all-num-for-matching-do' Non-nil causes all numbered lines to be treated as possible "continue" statements (default nil). `fortran-blink-matching-if' Non-nil causes \[fortran-indent-line] on an ENDIF (or ENDDO) statement to blink on the matching IF (or DO [WHILE]). (default nil) `fortran-continuation-string' Single-character string to be inserted in column 5 of a continuation line (default "$"). `fortran-comment-region' String inserted by \[fortran-comment-region] at start of each line in the region (default "c$$$"). `fortran-electric-line-number' Non-nil causes line number digits to be moved to the correct column as typed (default t). `fortran-break-before-delimiters' Non-nil causes lines to be broken before delimiters (default t). Turning on Fortran mode calls the value of the variable `fortran-mode-hook' with no args, if that value is non-nil. (fn)Ffortune-add-fortune Add STRING to a fortune file FILE. Interactively, if called with a prefix argument, read the file name to use. Otherwise use the value of `fortune-file'. (fn STRING FILE)Ffortune-from-region Append the current region to a local fortune-like data file. Interactively, if called with a prefix argument, read the file name to use. Otherwise use the value of `fortune-file'. (fn BEG END FILE)Ffortune-compile Compile fortune file. If called with a prefix asks for the FILE to compile, otherwise uses the value of `fortune-file'. This currently cannot handle directories. (fn &optional FILE)Ffortune-to-signature Create signature from output of the fortune program. If called with a prefix asks for the FILE to choose the fortune from, otherwise uses the value of `fortune-file'. If you want to have fortune choose from a set of files in a directory, call interactively with prefix and choose the directory as the fortune-file. (fn &optional FILE)Ffortune-message Display a fortune cookie to the mini-buffer. If called with a prefix, it has the same behavior as `fortune'. Optional FILE is a fortune file from which a cookie will be selected. (fn &optional FILE)Ffortune Display a fortune cookie. If called with a prefix asks for the FILE to choose the fortune from, otherwise uses the value of `fortune-file'. If you want to have fortune choose from a set of files in a directory, call interactively with prefix and choose the directory as the fortune-file. (fn &optional FILE)Vframeset-session-filter-alist Minimum set of parameters to filter for live (on-session) framesets. DO NOT MODIFY. See `frameset-filter-alist' for a full description.Vframeset-persistent-filter-alist Parameters to filter for persistent framesets. DO NOT MODIFY. See `frameset-filter-alist' for a full description.Vframeset-filter-alist Alist of frame parameters and filtering functions. This alist is the default value of the FILTERS argument of `frameset-save' and `frameset-restore' (which see). Initially, `frameset-filter-alist' is set to, and shares the value of, `frameset-persistent-filter-alist'. You can override any item in this alist by `push'ing a new item onto it. If, for some reason, you intend to modify existing values, do (setq frameset-filter-alist (copy-tree frameset-filter-alist)) before changing anything. On saving, PARAMETERS is the parameter alist of each frame processed, and FILTERED is the parameter alist that gets saved to the frameset. On restoring, PARAMETERS is the parameter alist extracted from the frameset, and FILTERED is the resulting frame parameter alist used to restore the frame. Elements of `frameset-filter-alist' are conses (PARAM . ACTION), where PARAM is a parameter name (a symbol identifying a frame parameter), and ACTION can be: nil The parameter is copied to FILTERED. :never The parameter is never copied to FILTERED. :save The parameter is copied only when saving the frame. :restore The parameter is copied only when restoring the frame. FILTER A filter function. FILTER can be a symbol FILTER-FUN, or a list (FILTER-FUN ARGS...). FILTER-FUN is invoked with (apply FILTER-FUN CURRENT FILTERED PARAMETERS SAVING ARGS) where CURRENT A cons (PARAM . VALUE), where PARAM is the one being filtered and VALUE is its current value. FILTERED The resulting alist (so far). PARAMETERS The complete alist of parameters being filtered, SAVING Non-nil if filtering before saving state, nil if filtering before restoring it. ARGS Any additional arguments specified in the ACTION. FILTER-FUN is allowed to modify items in FILTERED, but no other arguments. It must return: nil Skip CURRENT (do not add it to FILTERED). t Add CURRENT to FILTERED as is. (NEW-PARAM . NEW-VALUE) Add this to FILTERED instead of CURRENT. Frame parameters not on this alist are passed intact, as if they were defined with ACTION = nil.Fframeset-frame-id Return the frame id of FRAME, if it has one; else, return nil. A frame id is a string that uniquely identifies a frame. It is persistent across `frameset-save' / `frameset-restore' invocations, and once assigned is never changed unless the same frame is duplicated (via `frameset-restore'), in which case the newest frame keeps the id and the old frame's is set to nil. (fn FRAME)Fframeset-frame-id-equal-p Return non-nil if FRAME's id matches ID. (fn FRAME ID)Fframeset-frame-with-id Return the live frame with id ID, if exists; else nil. If FRAME-LIST is a list of frames, check these frames only. If nil, check all live frames. (fn ID &optional FRAME-LIST)Fframeset-save Return a frameset for FRAME-LIST, a list of frames. Dead frames and non-frame objects are silently removed from the list. If nil, FRAME-LIST defaults to the output of `frame-list' (all live frames). APP, NAME and DESCRIPTION are optional data; see the docstring of the `frameset' defstruct for details. FILTERS is an alist of parameter filters; if nil, the value of the variable `frameset-filter-alist' is used instead. PREDICATE is a predicate function, which must return non-nil for frames that should be saved; if PREDICATE is nil, all frames from FRAME-LIST are saved. PROPERTIES is a user-defined property list to add to the frameset. (fn FRAME-LIST &key APP NAME DESCRIPTION FILTERS PREDICATE PROPERTIES)Fframeset-restore Restore a FRAMESET into the current display(s). PREDICATE is a function called with two arguments, the parameter alist and the window-state of the frame being restored, in that order (see the docstring of the `frameset' defstruct for additional details). If PREDICATE returns nil, the frame described by that parameter alist and window-state is not restored. FILTERS is an alist of parameter filters; if nil, the value of `frameset-filter-alist' is used instead. REUSE-FRAMES selects the policy to reuse frames when restoring: t All existing frames can be reused. nil No existing frame can be reused. match Only frames with matching frame ids can be reused. PRED A predicate function; it receives as argument a live frame, and must return non-nil to allow reusing it, nil otherwise. FORCE-DISPLAY can be: t Frames are restored in the current display. nil Frames are restored, if possible, in their original displays. delete Frames in other displays are deleted instead of restored. PRED A function called with two arguments, the parameter alist and the window state (in that order). It must return t, nil or `delete', as above but affecting only the frame that will be created from that parameter alist. FORCE-ONSCREEN can be: t Force onscreen only those frames that are fully offscreen. nil Do not force any frame back onscreen. all Force onscreen any frame fully or partially offscreen. PRED A function called with three arguments, - the live frame just restored, - a list (LEFT TOP WIDTH HEIGHT), describing the frame, - a list (LEFT TOP WIDTH HEIGHT), describing the workarea. It must return non-nil to force the frame onscreen, nil otherwise. CLEANUP-FRAMES allows "cleaning up" the frame list after restoring a frameset: t Delete all frames that were not created or restored upon. nil Keep all frames. FUNC A function called with two arguments: - FRAME, a live frame. - ACTION, which can be one of :rejected Frame existed, but was not a candidate for reuse. :ignored Frame existed, was a candidate, but wasn't reused. :reused Frame existed, was a candidate, and restored upon. :created Frame didn't exist, was created and restored upon. Return value is ignored. Note the timing and scope of the operations described above: REUSE-FRAMES affects existing frames; PREDICATE, FILTERS and FORCE-DISPLAY affect the frame being restored before that happens; FORCE-ONSCREEN affects the frame once it has been restored; and CLEANUP-FRAMES affects all frames alive after the restoration, including those that have been reused or created anew. All keyword parameters default to nil. (fn FRAMESET &key PREDICATE FILTERS REUSE-FRAMES FORCE-DISPLAY FORCE-ONSCREEN CLEANUP-FRAMES)Fframeset-to-register Store the current frameset in register REGISTER. Use \[jump-to-register] to restore the frameset. Argument is a character, naming the register. Interactively, reads the register using `register-read-with-preview'. (fn REGISTER)Vgdb-enable-debug Non-nil if Gdb-Enable-Debug mode is enabled. See the `gdb-enable-debug' command for a description of this minor mode.Fgdb-enable-debug Toggle logging of transaction between Emacs and Gdb. The log is stored in `gdb-debug-log' as an alist with elements whose cons is send, send-item or recv and whose cdr is the string being transferred. This list may grow up to a size of `gdb-debug-log-max' after which the oldest element (at the end of the list) is deleted every time a new one is added (at the front). If called interactively, enable Gdb-Enable-Debug mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Fgdb Run gdb passing it COMMAND-LINE as arguments. If COMMAND-LINE names a program FILE to debug, gdb will run in a buffer named *gud-FILE*, and the directory containing FILE becomes the initial working directory and source-file directory for your debugger. If COMMAND-LINE requests that gdb attaches to a process PID, gdb will run in *gud-PID*, otherwise it will run in *gud*; in these cases the initial working directory is the default-directory of the buffer in which this command was invoked. COMMAND-LINE should include "-i=mi" to use gdb's MI text interface. Note that the old "--annotate" option is no longer supported. If option `gdb-many-windows' is nil (the default value) then gdb just pops up the GUD buffer unless `gdb-show-main' is t. In this case it starts with two windows: one displaying the GUD buffer and the other with the source file with the main routine of the inferior. If option `gdb-many-windows' is t, regardless of the value of `gdb-show-main', the layout below will appear. Keybindings are shown in some of the buffers. Watch expressions appear in the speedbar/slowbar. The following commands help control operation : `gdb-many-windows' - Toggle the number of windows gdb uses. `gdb-restore-windows' - To restore the window layout. See Info node `(emacs)GDB Graphical Interface' for a more detailed description of this mode. +----------------------------------------------------------------------+ | GDB Toolbar | +-----------------------------------+----------------------------------+ | GUD buffer (I/O of GDB) | Locals buffer | | | | | | | | | | +-----------------------------------+----------------------------------+ | Source buffer | I/O buffer (of debugged program) | | | (comint-mode) | | | | | | | | | | | | | | | | | | | +-----------------------------------+----------------------------------+ | Stack buffer | Breakpoints buffer | | RET gdb-select-frame | SPC gdb-toggle-breakpoint | | | RET gdb-goto-breakpoint | | | D gdb-delete-breakpoint | +-----------------------------------+----------------------------------+ (fn COMMAND-LINE)Vgeneric-mode-list A list of mode names for `generic-mode'. Do not add entries to this list directly; use `define-generic-mode' instead (which see).Fdefine-generic-mode Create a new generic mode MODE. MODE is the name of the command for the generic mode; don't quote it. The optional DOCSTRING is the documentation for the mode command. If you do not supply it, `define-generic-mode' uses a default documentation string instead. COMMENT-LIST is a list in which each element is either a character, a string of one or two characters, or a cons cell. A character or a string is set up in the mode's syntax table as a "comment starter". If the entry is a cons cell, the `car' is set up as a "comment starter" and the `cdr' as a "comment ender". (Use nil for the latter if you want comments to end at the end of the line.) Note that the syntax table has limitations about what comment starters and enders are actually possible. KEYWORD-LIST is a list of keywords to highlight with `font-lock-keyword-face'. Each keyword should be a string. FONT-LOCK-LIST is a list of additional expressions to highlight. Each element of this list should have the same form as an element of `font-lock-keywords'. AUTO-MODE-LIST is a list of regular expressions to add to `auto-mode-alist'. These regular expressions are added when Emacs runs the macro expansion. FUNCTION-LIST is a list of functions to call to do some additional setup. The mode command calls these functions just before it runs the mode hook `MODE-hook'. See the file generic-x.el for some examples of `define-generic-mode'. (fn MODE COMMENT-LIST KEYWORD-LIST FONT-LOCK-LIST AUTO-MODE-LIST FUNCTION-LIST &optional DOCSTRING)Fgeneric-mode-internal Go into the generic mode MODE. (fn MODE COMMENT-LIST KEYWORD-LIST FONT-LOCK-LIST FUNCTION-LIST)Fgeneric-mode Enter generic mode MODE. Generic modes provide basic comment and font-lock functionality for "generic" files. (Files which are too small to warrant their own mode, but have comment characters, keywords, and the like.) To define a generic-mode, use the function `define-generic-mode'. Some generic modes are defined in `generic-x.el'. (fn MODE)Fgeneric-make-keywords-list Return a `font-lock-keywords' construct that highlights KEYWORD-LIST. KEYWORD-LIST is a list of keyword strings that should be highlighted with face FACE. This function calculates a regular expression that matches these keywords and concatenates it with PREFIX and SUFFIX. Then it returns a construct based on this regular expression that can be used as an element of `font-lock-keywords'. (fn KEYWORD-LIST FACE &optional PREFIX SUFFIX)Fglasses-mode Minor mode for making identifiers likeThis readable. If called interactively, enable Glasses mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When this mode is active, it tries to add virtual separators (like underscores) at places they belong to. (fn &optional ARG)Fgmm-regexp-concat Potentially concat a list of regexps into a single one. The concatenation is done with logical ORs. (fn REGEXP)Fgmm-message If LEVEL is lower than `gmm-verbose' print ARGS using `message'. Guideline for numbers: 1 - error messages 3 - non-serious error messages 5 - messages for things that take a long time 7 - not very important messages on stuff 9 - messages inside loops. (fn LEVEL &rest ARGS)Fgmm-error Beep an error if LEVEL is equal to or less than `gmm-verbose'. ARGS are passed to `message'. (fn LEVEL &rest ARGS)Fgmm-widget-p Non-nil if SYMBOL is a widget. (fn SYMBOL)Fgmm-tool-bar-from-list Make a tool bar from ICON-LIST. Within each entry of ICON-LIST, the first element is a menu command, the second element is an icon file name and the third element is a test function. You can use \[describe-key] to find out the name of a menu command. The fourth and all following elements are passed as the PROPS argument to the function `tool-bar-local-item'. If ZAP-LIST is a list, remove those item from the default `tool-bar-map'. If it is t, start with a new sparse map. You can use \[describe-key] to find out the name of an icon item. When \[describe-key] shows " runs the command find-file", then use `new-file' in ZAP-LIST. DEFAULT-MAP specifies the default key map for ICON-LIST. (fn ICON-LIST ZAP-LIST DEFAULT-MAP)Fgnus-slave-no-server Read network news as a slave, without connecting to the local server. (fn &optional ARG)Fgnus-no-server Read network news. If ARG is a positive number, Gnus will use that as the startup level. If ARG is nil, Gnus will be started at level 2. If ARG is non-nil and not a positive number, Gnus will prompt the user for the name of an NNTP server to use. As opposed to `gnus', this command will not connect to the local server. (fn &optional ARG SLAVE)Fgnus-slave Read news as a slave. (fn &optional ARG)Fgnus-other-frame Pop up a frame to read news. This will call one of the Gnus commands which is specified by the user option `gnus-other-frame-function' (default `gnus') with the argument ARG if Gnus is not running, otherwise pop up a Gnus frame and run the command specified by `gnus-other-frame-resume-function'. The optional second argument DISPLAY should be a standard display string such as "unix:0" to specify where to pop up a frame. If DISPLAY is omitted or the function `make-frame-on-display' is not available, the current display is used. (fn &optional ARG DISPLAY)Fgnus Read network news. If ARG is non-nil and a positive number, Gnus will use that as the startup level. If ARG is non-nil and not a positive number, Gnus will prompt the user for the name of an NNTP server to use. (fn &optional ARG DONT-CONNECT SLAVE)Fgnus-unplugged Start Gnus unplugged.Fgnus-plugged Start Gnus plugged.Fgnus-slave-unplugged Read news as a slave unplugged. (fn &optional ARG)Fgnus-agentize Allow Gnus to be an offline newsreader. The gnus-agentize function is now called internally by gnus when gnus-agent is set. If you wish to avoid calling gnus-agentize, customize gnus-agent to nil. This will modify the `gnus-setup-news-hook', and `message-send-mail-real-function' variables, and install the Gnus agent minor mode in all Gnus buffers.Fgnus-agent-possibly-save-gcc Save GCC if Gnus is unplugged.Fgnus-agent-rename-group Rename fully-qualified OLD-GROUP as NEW-GROUP. Always updates the agent, even when disabled, as the old agent files would corrupt gnus when the agent was next enabled. Depends upon the caller to determine whether group renaming is supported. (fn OLD-GROUP NEW-GROUP)Fgnus-agent-delete-group Delete fully-qualified GROUP. Always updates the agent, even when disabled, as the old agent files would corrupt gnus when the agent was next enabled. Depends upon the caller to determine whether group deletion is supported. (fn GROUP)Fgnus-agent-get-undownloaded-list Construct list of articles that have not been downloaded.Fgnus-agent-possibly-alter-active Possibly expand a group's active range to include articles downloaded into the agent. (fn GROUP ACTIVE &optional INFO)Fgnus-agent-find-parameter Search for GROUPs SYMBOL in the group's parameters, the group's topic parameters, the group's category, or the customizable variables. Returns the first non-nil value found. (fn GROUP SYMBOL)Fgnus-agent-batch-fetch Start Gnus and fetch session.Fgnus-agent-batch Start Gnus, send queue and fetch session.Fgnus-agent-regenerate Regenerate all agent covered files. CLEAN is obsolete and ignored. (fn &optional CLEAN REREAD)Fgnus-article-prepare-display Make the current buffer look like a nice article.Fgnus-bookmark-set Set a bookmark for this article.Fgnus-bookmark-jump Jump to a Gnus bookmark (BMK-NAME). (fn &optional BMK-NAME)Fgnus-bookmark-bmenu-list Display a list of existing Gnus bookmarks. The list is displayed in a buffer named `*Gnus Bookmark List*'. The leftmost column displays a D if the bookmark is flagged for deletion, or > if it is flagged for displaying.Fgnus-jog-cache Go through all groups and put the articles into the cache. Usage: $ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cacheFgnus-cache-generate-active Generate the cache active file. (fn &optional DIRECTORY)Fgnus-cache-generate-nov-databases Generate NOV files recursively starting in DIR. (fn DIR)Fgnus-cache-rename-group Rename OLD-GROUP as NEW-GROUP. Always updates the cache, even when disabled, as the old cache files would corrupt Gnus when the cache was next enabled. It depends on the caller to determine whether group renaming is supported. (fn OLD-GROUP NEW-GROUP)Fgnus-cache-delete-group Delete GROUP from the cache. Always updates the cache, even when disabled, as the old cache files would corrupt gnus when the cache was next enabled. Depends upon the caller to determine whether group deletion is supported. (fn GROUP)Fgnus-delay-article Delay this article by some time. DELAY is a string, giving the length of the time. Possible values are: * for in minutes (`m'), hours (`h'), days (`d'), weeks (`w'), months (`M'), or years (`Y'); * YYYY-MM-DD for a specific date. The time of day is given by the variable `gnus-delay-default-hour', minute and second are zero. * hh:mm for a specific time. Use 24h format. If it is later than this time, then the deadline is tomorrow, else today. (fn DELAY)Fgnus-delay-send-queue Send all the delayed messages that are due now.Fgnus-delay-initialize Initialize the gnus-delay package. This sets up a key binding in `message-mode' to delay a message. This tells Gnus to look for delayed messages after getting new news. The optional arg NO-KEYMAP is ignored. Checking delayed messages is skipped if optional arg NO-CHECK is non-nil. (fn &optional NO-KEYMAP NO-CHECK)Fgnus-user-format-function-d (fn HEADER)Fgnus-user-format-function-D (fn HEADER)Fturn-on-gnus-dired-mode Convenience method to turn on gnus-dired-mode.Fgnus-draft-reminder Reminder user if there are unsent drafts.Fgnus--random-face-with-type Return file from DIR with extension EXT, omitting matches of OMIT, processed by FUN. (fn DIR EXT OMIT FUN)Fgnus-random-x-face Return X-Face header data chosen randomly from `gnus-x-face-directory'. Files matching `gnus-x-face-omit-files' are not considered.Fgnus-insert-random-x-face-header Insert a random X-Face header from `gnus-x-face-directory'.Fgnus-x-face-from-file Insert an X-Face header based on an image FILE. Depending on `gnus-convert-image-to-x-face-command' it may accept different input formats. (fn FILE)Fgnus-face-from-file Return a Face header based on an image FILE. Depending on `gnus-convert-image-to-face-command' it may accept different input formats. (fn FILE)Fgnus-convert-face-to-png Convert FACE (which is base64-encoded) to a PNG. The PNG is returned as a string. (fn FACE)Fgnus-convert-png-to-face Convert FILE to a Face. FILE should be a PNG file that's 48x48 and smaller than or equal to 726 bytes. (fn FILE)Fgnus-random-face Return randomly chosen Face from `gnus-face-directory'. Files matching `gnus-face-omit-files' are not considered.Fgnus-insert-random-face-header Insert a random Face header from `gnus-face-directory'.Fgnus-treat-from-gravatar Display gravatar in the From header. If gravatar is already displayed, remove it. (fn &optional FORCE)Fgnus-treat-mail-gravatar Display gravatars in the Cc and To headers. If gravatars are already displayed, remove them. (fn &optional FORCE)Fgnus-fetch-group Start Gnus if necessary and enter GROUP. If ARTICLES, display those articles. Returns whether the fetching was successful or not. (fn GROUP &optional ARTICLES)Fgnus-fetch-group-other-frame Pop up a frame and enter GROUP. (fn GROUP)Fgnus-read-ephemeral-emacs-bug-group Browse Emacs bug reports with IDS in an ephemeral group. The arguments have the same meaning as those of `gnus-read-ephemeral-bug-group', which see. (fn IDS &optional WINDOW-CONF)Fgnus-article-html (fn &optional HANDLE)Fgnus-html-prefetch-images (fn SUMMARY)Fgnus-icalendar-mm-inline (fn HANDLE)Fgnus-batch-score Run batched scoring. Usage: emacs -batch -l ~/.emacs -l gnus -f gnus-batch-scoreFgnus-mailing-list-insinuate Setup group parameters from List-Post header. If FORCE is non-nil, replace the old ones. (fn &optional FORCE)Fgnus-mailing-list-mode Minor mode for providing mailing-list commands. If called interactively, enable Gnus-Mailing-List mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. \{gnus-mailing-list-mode-map} (fn &optional ARG)Fgnus-group-split-setup Set up the split for `nnmail-split-fancy'. Sets things up so that nnmail-split-fancy is used for mail splitting, and defines the variable nnmail-split-fancy according with group parameters. If AUTO-UPDATE is non-nil (prefix argument accepted, if called interactively), it makes sure nnmail-split-fancy is re-computed before getting new mail, by adding `gnus-group-split-update' to `gnus-get-top-new-news-hook'. A non-nil CATCH-ALL replaces the current value of `gnus-group-split-default-catch-all-group'. This variable is only used by gnus-group-split-update, and only when its CATCH-ALL argument is nil. This argument may contain any fancy split, that will be added as the last split in a `|' split produced by `gnus-group-split-fancy', unless overridden by any group marked as a catch-all group. Typical uses are as simple as the name of a default mail group, but more elaborate fancy splits may also be useful to split mail that doesn't match any of the group-specified splitting rules. See `gnus-group-split-fancy' for details. (fn &optional AUTO-UPDATE CATCH-ALL)Fgnus-group-split-update Computes nnmail-split-fancy from group params and CATCH-ALL. It does this by calling (gnus-group-split-fancy nil nil CATCH-ALL). If CATCH-ALL is nil, `gnus-group-split-default-catch-all-group' is used instead. This variable is set by `gnus-group-split-setup'. (fn &optional CATCH-ALL)Fgnus-group-split Use information from group parameters in order to split mail. See `gnus-group-split-fancy' for more information. `gnus-group-split' is a valid value for `nnmail-split-methods'.Fgnus-group-split-fancy Uses information from group parameters in order to split mail. It can be embedded into `nnmail-split-fancy' lists with the SPLIT (: gnus-group-split-fancy GROUPS NO-CROSSPOST CATCH-ALL) GROUPS may be a regular expression or a list of group names, that will be used to select candidate groups. If it is omitted or nil, all existing groups are considered. if NO-CROSSPOST is omitted or nil, a & split will be returned, otherwise, a | split, that does not allow crossposting, will be returned. For each selected group, a SPLIT is composed like this: if SPLIT-SPEC is specified, this split is returned as-is (unless it is nil: in this case, the group is ignored). Otherwise, if TO-ADDRESS, TO-LIST and/or EXTRA-ALIASES are specified, a regexp that matches any of them is constructed (extra-aliases may be a list). Additionally, if SPLIT-REGEXP is specified, the regexp will be extended so that it matches this regexp too, and if SPLIT-EXCLUDE is specified, RESTRICT clauses will be generated. If CATCH-ALL is nil, no catch-all handling is performed, regardless of catch-all marks in group parameters. Otherwise, if there is no selected group whose SPLIT-REGEXP matches the empty string, nor is there a selected group whose SPLIT-SPEC is `catch-all', this fancy split (say, a group name) will be appended to the returned SPLIT list, as the last element of a `|' SPLIT. For example, given the following group parameters: nnml:mail.bar: ((to-address . "bar@femail.com") (split-regexp . ".*@femail\\.com")) nnml:mail.foo: ((to-list . "foo@nowhere.gov") (extra-aliases "foo@localhost" "foo-redist@home") (split-exclude "bugs-foo" "rambling-foo") (admin-address . "foo-request@nowhere.gov")) nnml:mail.others: ((split-spec . catch-all)) Calling (gnus-group-split-fancy nil nil "mail.others") returns: (| (& (any "\\(bar@femail\\.com\\|.*@femail\\.com\\)" "mail.bar") (any "\\(foo@nowhere\\.gov\\|foo@localhost\\|foo-redist@home\\)" - "bugs-foo" - "rambling-foo" "mail.foo")) "mail.others") (fn &optional GROUPS NO-CROSSPOST CATCH-ALL)Fgnus-msg-mail Start editing a mail message to be sent. Like `message-mail', but with Gnus paraphernalia, particularly the Gcc: header for archiving purposes. If Gnus isn't running, a plain `message-mail' setup is used instead. (fn &optional TO SUBJECT OTHER-HEADERS CONTINUE SWITCH-ACTION YANK-ACTION SEND-ACTIONS RETURN-ACTION)Fgnus-button-mailto Mail to ADDRESS. (fn ADDRESS)Fgnus-button-reply Like `message-reply'. (fn &optional TO-ADDRESS WIDE)Fgnus-notifications Send a notification on new message. This check for new messages that are in group with a level lower or equal to `gnus-notifications-minimum-level' and send a notification using `notifications-notify' for it. This is typically a function to add in `gnus-after-getting-new-news-hook'Fgnus-treat-from-picon Display picons in the From header. If picons are already displayed, remove them.Fgnus-treat-mail-picon Display picons in the Cc and To headers. If picons are already displayed, remove them.Fgnus-treat-newsgroups-picon Display picons in the Newsgroups and Followup-To headers. If picons are already displayed, remove them.Fgnus-sorted-difference Return a list of elements of LIST1 that do not appear in LIST2. Both lists have to be sorted over <. The tail of LIST1 is not copied. (fn LIST1 LIST2)Fgnus-sorted-ndifference Return a list of elements of LIST1 that do not appear in LIST2. Both lists have to be sorted over <. LIST1 is modified. (fn LIST1 LIST2)Fgnus-sorted-complement Return a list of elements that are in LIST1 or LIST2 but not both. Both lists have to be sorted over <. (fn LIST1 LIST2)Fgnus-intersection (fn LIST1 LIST2)Fgnus-sorted-intersection Return intersection of LIST1 and LIST2. LIST1 and LIST2 have to be sorted over <. (fn LIST1 LIST2)Fgnus-sorted-range-intersection Return intersection of RANGE1 and RANGE2. RANGE1 and RANGE2 have to be sorted over <. (fn RANGE1 RANGE2)Fgnus-sorted-nintersection Return intersection of LIST1 and LIST2 by modifying cdr pointers of LIST1. LIST1 and LIST2 have to be sorted over <. (fn LIST1 LIST2)Fgnus-sorted-union Return union of LIST1 and LIST2. LIST1 and LIST2 have to be sorted over <. (fn LIST1 LIST2)Fgnus-sorted-nunion Return union of LIST1 and LIST2 by modifying cdr pointers of LIST1. LIST1 and LIST2 have to be sorted over <. (fn LIST1 LIST2)Fgnus-add-to-sorted-list Add NUM into sorted LIST by side effect. (fn LIST NUM)Fgnus-registry-initialize Initialize the Gnus registry.Fgnus-sieve-update Update the Sieve script in gnus-sieve-file, by replacing the region between gnus-sieve-region-start and gnus-sieve-region-end with (gnus-sieve-script gnus-sieve-select-method gnus-sieve-crosspost), then execute gnus-sieve-update-shell-command. See the documentation for these variables and functions for details.Fgnus-sieve-generate Generate the Sieve script in gnus-sieve-file, by replacing the region between gnus-sieve-region-start and gnus-sieve-region-end with (gnus-sieve-script gnus-sieve-select-method gnus-sieve-crosspost). See the documentation for these variables and functions for details.Fgnus-update-format Update the format specification near point. (fn VAR)Fgnus-declare-backend Declare back end NAME with ABILITIES as a Gnus back end. (fn NAME &rest ABILITIES)Fgnus-summary-bookmark-jump Handler function for record returned by `gnus-summary-bookmark-make-record'. BOOKMARK is a bookmark name or a bookmark record. (fn BOOKMARK)Fgnus-add-configuration Add the window configuration CONF to `gnus-buffer-configuration'. (fn CONF)Fgomoku Start a Gomoku game between you and Emacs. If a game is in progress, this command allows you to resume it. If optional arguments N and M are given, an N by M board is used. If prefix arg is given for N, M is prompted for. You and Emacs play in turn by marking a free square. You mark it with X and Emacs marks it with O. The winner is the first to get five contiguous marks horizontally, vertically or in diagonal. You play by moving the cursor over the square you choose and hitting \\[gomoku-human-plays]. This program actually plays a simplified or archaic version of the Gomoku game, and ought to be upgraded to use the full modern rules. Use \[describe-mode] for more info. (fn &optional N M)Fgoto-address-at-point Send to the e-mail address or load the URL at point. Send mail to address at point. See documentation for `goto-address-find-address-at-point'. If no address is found there, then load the URL at or before point. (fn &optional EVENT)Fgoto-address Sets up goto-address functionality in the current buffer. Allows user to use mouse/keyboard command to click to go to a URL or to send e-mail. By default, goto-address binds `goto-address-at-point' to mouse-2 and C-c RET only on URLs and e-mail addresses. Also fontifies the buffer appropriately (see `goto-address-fontify-p' and `goto-address-highlight-p' for more information).Fgoto-address-mode Minor mode to buttonize URLs and e-mail addresses in the current buffer. If called interactively, enable Goto-Address mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Fgoto-address-prog-mode Like `goto-address-mode', but only for comments and strings. If called interactively, enable Goto-Address-Prog mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Fgravatar-retrieve Asynchronously retrieve a gravatar for MAIL-ADDRESS. When finished, call CALLBACK as (apply CALLBACK GRAVATAR CBARGS), where GRAVATAR is either an image descriptor, or the symbol `error' if the retrieval failed. (fn MAIL-ADDRESS CALLBACK &optional CBARGS)Fgravatar-retrieve-synchronously Synchronously retrieve a gravatar for MAIL-ADDRESS. Value is either an image descriptor, or the symbol `error' if the retrieval failed. (fn MAIL-ADDRESS)Vgrep-window-height Number of lines in a grep window. If nil, use `compilation-window-height'.Vgrep-command The default grep command for \[grep]. If the grep program used supports an option to always include file names in its output (such as the `-H' option to GNU grep), it's a good idea to include it when specifying `grep-command'. In interactive usage, the actual value of this variable is set up by `grep-compute-defaults'; to change the default value, use \[customize] or call the function `grep-apply-setting'.Vgrep-find-command The default find command for \[grep-find]. In interactive usage, the actual value of this variable is set up by `grep-compute-defaults'; to change the default value, use \[customize] or call the function `grep-apply-setting'.Vgrep-setup-hook List of hook functions run by `grep-process-setup' (see `run-hooks').Vgrep-regexp-alist Regexp used to match grep hits. See `compilation-error-regexp-alist' for format details.Vgrep-program The default grep program for `grep-command' and `grep-find-command'. This variable's value takes effect when `grep-compute-defaults' is called.Vfind-program The default find program. This is used by commands like `grep-find-command', `find-dired' and others.Vxargs-program The default xargs program for `grep-find-command'. See `grep-find-use-xargs'. This variable's value takes effect when `grep-compute-defaults' is called.Vgrep-find-use-xargs How to invoke find and grep. If `exec', use `find -exec {} ;'. If `exec-plus' use `find -exec {} +'. If `gnu', use `find -print0' and `xargs -0'. If `gnu-sort', use `find -print0', `sort -z' and `xargs -0'. Any other value means to use `find -print' and `xargs'. This variable's value takes effect when `grep-compute-defaults' is called.Vgrep-history History list for grep.Vgrep-find-history History list for grep-find.Fgrep-process-setup Setup compilation variables and buffer for `grep'. Set up `compilation-exit-message-function' and run `grep-setup-hook'.Fgrep-compute-defaults Compute the defaults for the `grep' command. The value depends on `grep-command', `grep-template', `grep-use-null-device', `grep-find-command', `grep-find-template', `grep-use-null-filename-separator', `grep-find-use-xargs' and `grep-highlight-matches'.Fgrep-mode Sets `grep-last-buffer' and `compilation-window-height'. (fn)Fgrep Run Grep with user-specified COMMAND-ARGS. The output from the command goes to the "*grep*" buffer. While Grep runs asynchronously, you can use \[next-error] (M-x next-error), or \\[compile-goto-error] in the *grep* buffer, to go to the lines where Grep found matches. To kill the Grep job before it finishes, type \[kill-compilation]. Noninteractively, COMMAND-ARGS should specify the Grep command-line arguments. For doing a recursive `grep', see the `rgrep' command. For running Grep in a specific directory, see `lgrep'. This command uses a special history list for its COMMAND-ARGS, so you can easily repeat a grep command. A prefix argument says to default the COMMAND-ARGS based on the current tag the cursor is over, substituting it into the last Grep command in the Grep command history (or into `grep-command' if that history list is empty). (fn COMMAND-ARGS)Fgrep-find Run grep via find, with user-specified args COMMAND-ARGS. Collect output in the "*grep*" buffer. While find runs asynchronously, you can use the \[next-error] command to find the text that grep hits refer to. This command uses a special history list for its arguments, so you can easily repeat a find command. (fn COMMAND-ARGS)Flgrep Run grep, searching for REGEXP in FILES in directory DIR. The search is limited to file names matching shell pattern FILES. FILES may use abbreviations defined in `grep-files-aliases', e.g. entering `ch' is equivalent to `*.[ch]'. As whitespace triggers completion when entering a pattern, including it requires quoting, e.g. `\[quoted-insert]'. With \[universal-argument] prefix, you can edit the constructed shell command line before it is executed. With two \[universal-argument] prefixes, directly edit and run `grep-command'. Collect output in the "*grep*" buffer. While grep runs asynchronously, you can use \[next-error] (M-x next-error), or \\[compile-goto-error] in the grep output buffer, to go to the lines where grep found matches. This command shares argument histories with \[rgrep] and \[grep]. If CONFIRM is non-nil, the user will be given an opportunity to edit the command before it's run. (fn REGEXP &optional FILES DIR CONFIRM)Frgrep Recursively grep for REGEXP in FILES in directory tree rooted at DIR. The search is limited to file names matching shell pattern FILES. FILES may use abbreviations defined in `grep-files-aliases', e.g. entering `ch' is equivalent to `*.[ch]'. As whitespace triggers completion when entering a pattern, including it requires quoting, e.g. `\[quoted-insert]'. With \[universal-argument] prefix, you can edit the constructed shell command line before it is executed. With two \[universal-argument] prefixes, directly edit and run `grep-find-command'. Collect output in the "*grep*" buffer. While the recursive grep is running, you can use \[next-error] (M-x next-error), or \\[compile-goto-error] in the grep output buffer, to visit the lines where matches were found. To kill the job before it finishes, type \[kill-compilation]. This command shares argument histories with \[lgrep] and \[grep-find]. When called programmatically and FILES is nil, REGEXP is expected to specify a command to run. If CONFIRM is non-nil, the user will be given an opportunity to edit the command before it's run. (fn REGEXP &optional FILES DIR CONFIRM)Fzrgrep Recursively grep for REGEXP in gzipped FILES in tree rooted at DIR. Like `rgrep' but uses `zgrep' for `grep-program', sets the default file name to `*.gz', and sets `grep-highlight-matches' to `always'. If CONFIRM is non-nil, the user will be given an opportunity to edit the command before it's run. (fn REGEXP &optional FILES DIR CONFIRM TEMPLATE)Fgud-gdb Run gdb passing it COMMAND-LINE as arguments. If COMMAND-LINE names a program FILE to debug, gdb will run in a buffer named *gud-FILE*, and the directory containing FILE becomes the initial working directory and source-file directory for your debugger. If COMMAND-LINE requests that gdb attaches to a process PID, gdb will run in *gud-PID*, otherwise it will run in *gud*; in these cases the initial working directory is the default-directory of the buffer in which this command was invoked. (fn COMMAND-LINE)Fsdb Run sdb on program FILE in buffer *gud-FILE*. The directory containing FILE becomes the initial working directory and source-file directory for your debugger. (fn COMMAND-LINE)Fdbx Run dbx on program FILE in buffer *gud-FILE*. The directory containing FILE becomes the initial working directory and source-file directory for your debugger. (fn COMMAND-LINE)Fxdb Run xdb on program FILE in buffer *gud-FILE*. The directory containing FILE becomes the initial working directory and source-file directory for your debugger. You can set the variable `gud-xdb-directories' to a list of program source directories if your program contains sources from more than one directory. (fn COMMAND-LINE)Fperldb Run perldb on program FILE in buffer *gud-FILE*. The directory containing FILE becomes the initial working directory and source-file directory for your debugger. (fn COMMAND-LINE)Fpdb Run COMMAND-LINE in the `*gud-FILE*' buffer. COMMAND-LINE should include the pdb executable name (`gud-pdb-command-name') and the file to be debugged. If called interactively, the command line will be prompted for. The directory containing this file becomes the initial working directory and source-file directory for your debugger. (fn COMMAND-LINE)Fguiler Run guiler on program FILE in buffer `*gud-FILE*'. The directory containing FILE becomes the initial working directory and source-file directory for your debugger. (fn COMMAND-LINE)Fjdb Run jdb with command line COMMAND-LINE in a buffer. The buffer is named "*gud*" if no initial class is given or "*gud-*" if there is. If the "-classpath" switch is given, omit all whitespace between it and its value. See `gud-jdb-use-classpath' and `gud-jdb-classpath' documentation for information on how jdb accesses source files. Alternatively (if `gud-jdb-use-classpath' is nil), see `gud-jdb-directories' for the original source file access method. For general information about commands available to control jdb from gud, see `gud-mode'. (fn COMMAND-LINE)Fgdb-script-mode Major mode for editing GDB scripts. (fn)Vgud-tooltip-mode Non-nil if Gud-Tooltip mode is enabled. See the `gud-tooltip-mode' command 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 `gud-tooltip-mode'.Fgud-tooltip-mode Toggle the display of GUD tooltips. If called interactively, enable Gud-Tooltip mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Fgv-get Build the code that applies DO to PLACE. PLACE must be a valid generalized variable. DO must be a function; it will be called with 2 arguments: GETTER and SETTER, where GETTER is a (copyable) Elisp expression that returns the value of PLACE, and SETTER is a function which returns the code to set PLACE when called with a (not necessarily copyable) Elisp expression that returns the value to set it to. DO must return an Elisp expression. (fn PLACE DO)Fgv-letplace Build the code manipulating the generalized variable PLACE. GETTER will be bound to a copyable expression that returns the value of PLACE. SETTER will be bound to a function that takes an expression V and returns a new expression that sets PLACE to V. BODY should return some Elisp expression E manipulating PLACE via GETTER and SETTER. The returned value will then be an Elisp expression that first evaluates all the parts of PLACE that can be evaluated and then runs E. (fn (GETTER SETTER) PLACE &rest BODY)Fgv-define-expander Use HANDLER to handle NAME as a generalized var. NAME is a symbol: the name of a function, macro, or special form. HANDLER is a function which takes an argument DO followed by the same arguments as NAME. DO is a function as defined in `gv-get'. (fn NAME HANDLER)Fgv--defun-declaration (fn SYMBOL NAME ARGS HANDLER &optional FIX)Fgv-define-setter Define a setter method for generalized variable NAME. This macro is an easy-to-use substitute for `gv-define-expander' that works well for simple place forms. Assignments of VAL to (NAME ARGS...) are expanded by binding the argument forms (VAL ARGS...) according to ARGLIST, then executing BODY, which must return a Lisp form that does the assignment. The first arg in ARGLIST (the one that receives VAL) receives an expression which can do arbitrary things, whereas the other arguments are all guaranteed to be pure and copyable. Example use: (gv-define-setter aref (v a i) \=`(aset ,a ,i ,v)) (fn NAME ARGLIST &rest BODY)Fgv-define-simple-setter Define a simple setter method for generalized variable NAME. This macro is an easy-to-use substitute for `gv-define-expander' that works well for simple place forms. Assignments of VAL to (NAME ARGS...) are turned into calls of the form (SETTER ARGS... VAL). If FIX-RETURN is non-nil, then SETTER is not assumed to return VAL and instead the assignment is turned into something equivalent to (let ((temp VAL)) (SETTER ARGS... temp) temp) so as to preserve the semantics of `setf'. (fn NAME SETTER &optional FIX-RETURN)Fsetf Set each PLACE to the value of its VAL. This is a generalized version of `setq'; the PLACEs may be symbolic references such as (car x) or (aref x i), as well as plain symbols. For example, (setf (cadr x) y) is equivalent to (setcar (cdr x) y). The return value is the last VAL in the list. (fn PLACE VAL PLACE VAL ...)Fgv-ref Return a reference to PLACE. This is like the `&' operator of the C language. Note: this only works reliably with lexical binding mode, except for very simple PLACEs such as (symbol-function \='foo) which will also work in dynamic binding mode. (fn PLACE)Fhandwrite Turns the buffer into a "handwritten" document. The functions `handwrite-10pt', `handwrite-11pt', `handwrite-12pt' and `handwrite-13pt' set up for various sizes of output. Variables: `handwrite-linespace' (default 12) `handwrite-fontsize' (default 11) `handwrite-numlines' (default 60) `handwrite-pagenumbering' (default nil)Fhanoi Towers of Hanoi diversion. Use NRINGS rings. (fn NRINGS)Fhanoi-unix Towers of Hanoi, UNIX doomsday version. Displays 32-ring towers that have been progressing at one move per second since 1970-01-01 00:00:00 GMT. Repent before ring 31 moves.Fhanoi-unix-64 Like hanoi-unix, but pretend to have a 64-bit clock. This is, necessarily (as of Emacs 20.3), a crock. When the current-time interface is made s2G-compliant, hanoi.el will need to be updated.Fhashcash-insert-payment Insert X-Payment and X-Hashcash headers with a payment for ARG. (fn ARG)Fhashcash-insert-payment-async Insert X-Payment and X-Hashcash headers with a payment for ARG Only start calculation. Results are inserted when ready. (fn ARG)Fhashcash-verify-payment Verify a hashcash payment. (fn TOKEN &optional RESOURCE AMOUNT)Fmail-add-payment Add X-Payment: and X-Hashcash: headers with a hashcash payment for each recipient address. Prefix arg sets default payment temporarily. Set ASYNC to t to start asynchronous calculation. (See `mail-add-payment-async'). (fn &optional ARG ASYNC)Fmail-add-payment-async Add X-Payment: and X-Hashcash: headers with a hashcash payment for each recipient address. Prefix arg sets default payment temporarily. Calculation is asynchronous. (fn &optional ARG)Fmail-check-payment Look for a valid X-Payment: or X-Hashcash: header. Prefix arg sets default accept amount temporarily. (fn &optional ARG)Fhelp-at-pt-string Return the help-echo string at point. Normally, the string produced by the `help-echo' text or overlay property, or nil, is returned. If KBD is non-nil, `kbd-help' is used instead, and any `help-echo' property is ignored. In this case, the return value can also be t, if that is the value of the `kbd-help' property. (fn &optional KBD)Fhelp-at-pt-kbd-string Return the keyboard help string at point. If the `kbd-help' text or overlay property at point produces a string, return it. Otherwise, use the `help-echo' property. If this produces no string either, return nil.Fdisplay-local-help Display local help in the echo area. This displays a short help message, namely the string produced by the `kbd-help' property at point. If `kbd-help' does not produce a string, but the `help-echo' property does, then that string is printed instead. A numeric argument ARG prevents display of a message in case there is no help. While ARG can be used interactively, it is mainly meant for use from Lisp. (fn &optional ARG)Fhelp-at-pt-cancel-timer Cancel any timer set by `help-at-pt-set-timer'. This disables `help-at-pt-display-when-idle'.Fhelp-at-pt-set-timer Enable `help-at-pt-display-when-idle'. This is done by setting a timer, if none is currently active.Vhelp-at-pt-display-when-idle Automatically show local help on point-over. If the value is t, the string obtained from any `kbd-help' or `help-echo' property at point is automatically printed in the echo area, if nothing else is already displayed there, or after a quit. If both `kbd-help' and `help-echo' produce help strings, `kbd-help' is used. If the value is a list, the help only gets printed if there is a text or overlay property at point that is included in this list. Suggested properties are `keymap', `local-map', `button' and `kbd-help'. Any value other than t or a non-empty list disables the feature. This variable only takes effect after a call to `help-at-pt-set-timer'. The help gets printed after Emacs has been idle for `help-at-pt-timer-delay' seconds. You can call `help-at-pt-cancel-timer' to cancel the timer set by, and the effect of, `help-at-pt-set-timer'. When this variable is set through Custom, `help-at-pt-set-timer' is called automatically, unless the value is `never', in which case `help-at-pt-cancel-timer' is called. Specifying an empty list of properties through Custom will set the timer, thus enabling buffer local values. It sets the actual value to nil. Thus, Custom distinguishes between a nil value and other values that disable the feature, which Custom identifies with `never'. The default is `never'.Fscan-buf-move-to-region Go to the start of the next region with non-nil PROP property. Then run HOOK, which should be a quoted symbol that is a normal hook variable, or an expression evaluating to such a symbol. Adjacent areas with different non-nil PROP properties are considered different regions. With numeric argument ARG, move to the start of the ARGth next such region, then run HOOK. If ARG is negative, move backward. If point is already in a region, then that region does not count toward ARG. If ARG is 0 and point is inside a region, move to the start of that region. If ARG is 0 and point is not in a region, print a message to that effect, but do not move point and do not run HOOK. If there are not enough regions to move over, an error results and the number of available regions is mentioned in the error message. Point is not moved and HOOK is not run. (fn PROP &optional ARG HOOK)Fscan-buf-next-region Go to the start of the next region with non-nil help-echo. Print the help found there using `display-local-help'. Adjacent areas with different non-nil help-echo properties are considered different regions. With numeric argument ARG, move to the start of the ARGth next help-echo region. If ARG is negative, move backward. If point is already in a help-echo region, then that region does not count toward ARG. If ARG is 0 and point is inside a help-echo region, move to the start of that region. If ARG is 0 and point is not in such a region, just print a message to that effect. If there are not enough regions to move over, an error results and the number of available regions is mentioned in the error message. A potentially confusing subtlety is that point can be in a help-echo region without any local help being available. This is because `help-echo' can be a function evaluating to nil. This rarely happens in practice. (fn &optional ARG)Fscan-buf-previous-region Go to the start of the previous region with non-nil help-echo. Print the help found there using `display-local-help'. Adjacent areas with different non-nil help-echo properties are considered different regions. With numeric argument ARG, behaves like `scan-buf-next-region' with argument -ARG. (fn &optional ARG)Fdescribe-function Display the full documentation of FUNCTION (a symbol). When called from lisp, FUNCTION may also be a function object. (fn FUNCTION)Fhelp-C-file-name Return the name of the C file where SUBR-OR-VAR is defined. KIND should be `var' for a variable or `subr' for a subroutine. If we can't find the file name, nil is returned. (fn SUBR-OR-VAR KIND)Ffind-lisp-object-file-name Guess the file that defined the Lisp object OBJECT, of type TYPE. OBJECT should be a symbol associated with a function, variable, or face; alternatively, it can be a function definition. If TYPE is `defvar', search for a variable definition. If TYPE is `defface', search for a face definition. If TYPE is not a symbol, search for a function definition. The return value is the absolute name of a readable file where OBJECT is defined. If several such files exist, preference is given to a file found via `load-path'. The return value can also be `C-source', which means that OBJECT is a function or variable defined in C. If no suitable file is found, return nil. (fn OBJECT TYPE)Fdescribe-function-1 (fn FUNCTION)Fvariable-at-point Return the bound variable symbol found at or before point. Return 0 if there is no such symbol. If ANY-SYMBOL is non-nil, don't insist the symbol be bound. (fn &optional ANY-SYMBOL)Fdescribe-variable Display the full documentation of VARIABLE (a symbol). Returns the documentation as a string, also. If VARIABLE has a buffer-local value in BUFFER or FRAME (default to the current buffer and current frame), it is displayed along with the global value. (fn VARIABLE &optional BUFFER FRAME)Fdescribe-face Display the properties of face FACE on FRAME. Interactively, FACE defaults to the faces of the character after point and FRAME defaults to the selected frame. If the optional argument FRAME is given, report on face FACE in that frame. If FRAME is t, report on the defaults for face FACE (for new frames). If FRAME is omitted or nil, use the selected frame. (fn FACE &optional FRAME)Fdescribe-symbol Display the full documentation of SYMBOL. Will show the info of SYMBOL as a function, variable, and/or face. Optional arguments BUFFER and FRAME specify for which buffer and frame to show the information about SYMBOL; they default to the current buffer and the selected frame, respectively. (fn SYMBOL &optional BUFFER FRAME)Fdescribe-syntax Describe the syntax specifications in the syntax table of BUFFER. The descriptions are inserted in a help buffer, which is then displayed. BUFFER defaults to the current buffer. (fn &optional BUFFER)Fdescribe-categories Describe the category specifications in the current category table. The descriptions are inserted in a buffer, which is then displayed. If BUFFER is non-nil, then describe BUFFER's category table instead. BUFFER should be a buffer or a buffer name. (fn &optional BUFFER)Fdoc-file-to-man Produce an nroff buffer containing the doc-strings from the DOC file. (fn FILE)Fdoc-file-to-info Produce a texinfo buffer with sorted doc-strings from the DOC file. (fn FILE)Vthree-step-help Non-nil means give more info about Help command in three steps. The three steps are simple prompt, prompt with all options, and window listing and describing the options. A value of nil means skip the middle step, so that \[help-command] \[help-command] gives the window that lists the options.Fhelp-mode Major mode for viewing help text and navigating references in it. Entry to this mode runs the normal hook `help-mode-hook'. Commands: \{help-mode-map} (fn)Fhelp-mode-setup Enter Help Mode in the current buffer.Fhelp-mode-finish Finalize Help Mode setup in current buffer.Fhelp-setup-xref Invoked from commands using the "*Help*" buffer to install some xref info. ITEM is a (FUNCTION . ARGS) pair appropriate for recreating the help buffer after following a reference. INTERACTIVE-P is non-nil if the calling command was invoked interactively. In this case the stack of items for help buffer "back" buttons is cleared. This should be called very early, before the output buffer is cleared, because we want to record the "previous" position of point so we can restore it properly when going back. (fn ITEM INTERACTIVE-P)Fhelp-buffer Return the name of a buffer for inserting help. If `help-xref-following' is non-nil, this is the name of the current buffer. Signal an error if this buffer is not derived from `help-mode'. Otherwise, return "*Help*", creating a buffer with that name if it does not already exist.Fhelp-make-xrefs Parse and hyperlink documentation cross-references in the given BUFFER. Find cross-reference information in a buffer and activate such cross references for selection with `help-follow'. Cross-references have the canonical form `...' and the type of reference may be disambiguated by the preceding word(s) used in `help-xref-symbol-regexp'. Faces only get cross-referenced if preceded or followed by the word `face'. Variables without variable documentation do not get cross-referenced, unless preceded by the word `variable' or `option'. If the variable `help-xref-mule-regexp' is non-nil, find also cross-reference information related to multilingual environment (e.g., coding-systems). This variable is also used to disambiguate the type of reference as the same way as `help-xref-symbol-regexp'. A special reference `back' is made to return back through a stack of help buffers. Variable `help-back-label' specifies the text for that. (fn &optional BUFFER)Fhelp-xref-button Make a hyperlink for cross-reference text previously matched. MATCH-NUMBER is the subexpression of interest in the last matched regexp. TYPE is the type of button to use. Any remaining arguments are passed to the button's help-function when it is invoked. See `help-make-xrefs'. (fn MATCH-NUMBER TYPE &rest ARGS)Fhelp-insert-xref-button Insert STRING and make a hyperlink from cross-reference text on it. TYPE is the type of button to use. Any remaining arguments are passed to the button's help-function when it is invoked. See `help-make-xrefs'. (fn STRING TYPE &rest ARGS)Fhelp-xref-on-pp Add xrefs for symbols in `pp's output between FROM and TO. (fn FROM TO)Fhelp-bookmark-jump Jump to help-mode bookmark BOOKMARK. Handler function for record returned by `help-bookmark-make-record'. BOOKMARK is a bookmark name or a bookmark record. (fn BOOKMARK)FHelper-describe-bindings Describe local key bindings of current mode.FHelper-help Provide help for current mode.Fhexl-mode \A mode for editing binary files in hex dump format. This is not an ordinary major mode; it alters some aspects of the current mode's behavior, but not all; also, you can exit Hexl mode and return to the previous mode using `hexl-mode-exit'. This function automatically converts a buffer into the hexl format using the function `hexlify-buffer'. Each line in the buffer has an "address" (displayed in hexadecimal) representing the offset into the file that the characters on this line are at and 16 characters from the file (displayed as hexadecimal values grouped every `hexl-bits' bits, and as their ASCII values). If any of the characters (displayed as ASCII characters) are unprintable (control or meta characters) they will be replaced by periods. If `hexl-mode' is invoked with an argument the buffer is assumed to be in hexl format. A sample format: HEX ADDR: 0011 2233 4455 6677 8899 aabb ccdd eeff ASCII-TEXT -------- ---- ---- ---- ---- ---- ---- ---- ---- ---------------- 00000000: 5468 6973 2069 7320 6865 786c 2d6d 6f64 This is hexl-mod 00000010: 652e 2020 4561 6368 206c 696e 6520 7265 e. Each line re 00000020: 7072 6573 656e 7473 2031 3620 6279 7465 presents 16 byte 00000030: 7320 6173 2068 6578 6164 6563 696d 616c s as hexadecimal 00000040: 2041 5343 4949 0a61 6e64 2070 7269 6e74 ASCII.and print 00000050: 6162 6c65 2041 5343 4949 2063 6861 7261 able ASCII chara 00000060: 6374 6572 732e 2020 416e 7920 636f 6e74 cters. Any cont 00000070: 726f 6c20 6f72 206e 6f6e 2d41 5343 4949 rol or non-ASCII 00000080: 2063 6861 7261 6374 6572 730a 6172 6520 characters.are 00000090: 6469 7370 6c61 7965 6420 6173 2070 6572 displayed as per 000000a0: 696f 6473 2069 6e20 7468 6520 7072 696e iods in the prin 000000b0: 7461 626c 6520 6368 6172 6163 7465 7220 table character 000000c0: 7265 6769 6f6e 2e0a region.. Movement is as simple as movement in a normal Emacs text buffer. Most cursor movement bindings are the same: use \[hexl-backward-char], \[hexl-forward-char], \[hexl-next-line], and \[hexl-previous-line] to move the cursor left, right, down, and up. Advanced cursor movement commands (ala \[hexl-beginning-of-line], \[hexl-end-of-line], \[hexl-beginning-of-buffer], and \[hexl-end-of-buffer]) are also supported. There are several ways to change text in hexl mode: ASCII characters (character between space (0x20) and tilde (0x7E)) are bound to self-insert so you can simply type the character and it will insert itself (actually overstrike) into the buffer. \[hexl-quoted-insert] followed by another keystroke allows you to insert the key even if it isn't bound to self-insert. An octal number can be supplied in place of another key to insert the octal number's ASCII representation. \[hexl-insert-hex-char] will insert a given hexadecimal value (if it is between 0 and 0xFF) into the buffer at the current point. \[hexl-insert-octal-char] will insert a given octal value (if it is between 0 and 0377) into the buffer at the current point. \[hexl-insert-decimal-char] will insert a given decimal value (if it is between 0 and 255) into the buffer at the current point. \[hexl-mode-exit] will exit `hexl-mode'. Note: saving the file with any of the usual Emacs commands will actually convert it back to binary format while saving. You can use \[hexl-find-file] to visit a file in Hexl mode. \[describe-bindings] for advanced commands. (fn &optional ARG)Fhexl-find-file Edit file FILENAME as a binary file in hex dump format. Switch to a buffer visiting file FILENAME, creating one if none exists, and edit the file in `hexl-mode'. (fn FILENAME)Fhexlify-buffer Convert a binary buffer to hexl format. This discards the buffer's undo information.Fhi-lock-mode Toggle selective highlighting of patterns (Hi Lock mode). If called interactively, enable Hi-Lock mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Hi Lock mode is automatically enabled when you invoke any of the highlighting commands listed below, such as \[highlight-regexp]. To enable Hi Lock mode in all buffers, use `global-hi-lock-mode' or add (global-hi-lock-mode 1) to your init file. In buffers where Font Lock mode is enabled, patterns are highlighted using font lock. In buffers where Font Lock mode is disabled, patterns are applied using overlays; in this case, the highlighting will not be updated as you type. The Font Lock mode is considered "enabled" in a buffer if its `major-mode' causes `font-lock-specified-p' to return non-nil, which means the major mode specifies support for Font Lock. When Hi Lock mode is enabled, a "Regexp Highlighting" submenu is added to the "Edit" menu. The commands in the submenu, which can be called interactively, are: \[highlight-regexp] REGEXP FACE Highlight matches of pattern REGEXP in current buffer with FACE. \[highlight-phrase] PHRASE FACE Highlight matches of phrase PHRASE in current buffer with FACE. (PHRASE can be any REGEXP, but spaces will be replaced by matches to whitespace and initial lower-case letters will become case insensitive.) \[highlight-lines-matching-regexp] REGEXP FACE Highlight lines containing matches of REGEXP in current buffer with FACE. \[highlight-symbol-at-point] Highlight the symbol found near point without prompting, using the next available face automatically. \[unhighlight-regexp] REGEXP Remove highlighting on matches of REGEXP in current buffer. \[hi-lock-write-interactive-patterns] Write active REGEXPs into buffer as comments (if possible). They may be read the next time file is loaded or when the \[hi-lock-find-patterns] command is issued. The inserted regexps are in the form of font lock keywords. (See `font-lock-keywords'.) They may be edited and re-loaded with \[hi-lock-find-patterns], any valid `font-lock-keywords' form is acceptable. When a file is loaded the patterns are read if `hi-lock-file-patterns-policy' is `ask' and the user responds y to the prompt, or if `hi-lock-file-patterns-policy' is bound to a function and that function returns t. \[hi-lock-find-patterns] Re-read patterns stored in buffer (in the format produced by \[hi-lock-write-interactive-patterns]). When hi-lock is started and if the mode is not excluded or patterns rejected, the beginning of the buffer is searched for lines of the form: Hi-lock: FOO where FOO is a list of patterns. The patterns must start before position (number of characters into buffer) `hi-lock-file-patterns-range'. Patterns will be read until Hi-lock: end is found. A mode is excluded if it's in the list `hi-lock-exclude-modes'. (fn &optional ARG)Vglobal-hi-lock-mode Non-nil if Global Hi-Lock mode is enabled. See the `global-hi-lock-mode' command 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 `global-hi-lock-mode'.Fglobal-hi-lock-mode Toggle Hi-Lock mode in all buffers. With prefix ARG, enable Global Hi-Lock mode if ARG is positive; otherwise, disable it. If called from Lisp, enable the mode if ARG is omitted or nil. Hi-Lock mode is enabled in all buffers where `turn-on-hi-lock-if-enabled' would do it. See `hi-lock-mode' for more information on Hi-Lock mode. (fn &optional ARG)Fhi-lock-line-face-buffer Highlight all lines that match REGEXP using FACE. The lines that match REGEXP will be displayed by merging the attributes of FACE with any other face attributes of text in those lines. Interactively, prompt for REGEXP using `read-regexp', then FACE. Use the global history list for FACE. Use Font lock mode, if enabled, to highlight REGEXP. Otherwise, use overlays for highlighting. If overlays are used, the highlighting will not update as you type. (fn REGEXP &optional FACE)Fhi-lock-face-buffer Set face of each match of REGEXP to FACE. Interactively, prompt for REGEXP using `read-regexp', then FACE. Use the global history list for FACE. Limit face setting to the corresponding SUBEXP (interactively, the prefix argument) of REGEXP. If SUBEXP is omitted or nil, the entire REGEXP is highlighted. Use Font lock mode, if enabled, to highlight REGEXP. Otherwise, use overlays for highlighting. If overlays are used, the highlighting will not update as you type. The Font Lock mode is considered "enabled" in a buffer if its `major-mode' causes `font-lock-specified-p' to return non-nil, which means the major mode specifies support for Font Lock. (fn REGEXP &optional FACE SUBEXP)Fhi-lock-face-phrase-buffer Set face of each match of phrase REGEXP to FACE. Interactively, prompt for REGEXP using `read-regexp', then FACE. Use the global history list for FACE. When called interactively, replace whitespace in user-provided regexp with arbitrary whitespace, and make initial lower-case letters case-insensitive, before highlighting with `hi-lock-set-pattern'. Use Font lock mode, if enabled, to highlight REGEXP. Otherwise, use overlays for highlighting. If overlays are used, the highlighting will not update as you type. The Font Lock mode is considered "enabled" in a buffer if its `major-mode' causes `font-lock-specified-p' to return non-nil, which means the major mode specifies support for Font Lock. (fn REGEXP &optional FACE)Fhi-lock-face-symbol-at-point Highlight each instance of the symbol at point. Uses the next face from `hi-lock-face-defaults' without prompting, unless you use a prefix argument. Uses `find-tag-default-as-symbol-regexp' to retrieve the symbol at point. This uses Font lock mode if it is enabled; otherwise it uses overlays, in which case the highlighting will not update as you type. The Font Lock mode is considered "enabled" in a buffer if its `major-mode' causes `font-lock-specified-p' to return non-nil, which means the major mode specifies support for Font Lock.Fhi-lock-unface-buffer Remove highlighting of each match to REGEXP set by hi-lock. Interactively, prompt for REGEXP, accepting only regexps previously inserted by hi-lock interactive functions. If REGEXP is t (or if \[universal-argument] was specified interactively), then remove all hi-lock highlighting. (fn REGEXP)Fhi-lock-write-interactive-patterns Write interactively added patterns, if any, into buffer at point. Interactively added patterns are those normally specified using `highlight-regexp' and `highlight-lines-matching-regexp'; they can be found in variable `hi-lock-interactive-patterns'.Fhide-ifdef-mode Toggle features to hide/show #ifdef blocks (Hide-Ifdef mode). If called interactively, enable Hide-Ifdef mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Hide-Ifdef mode is a buffer-local minor mode for use with C and C-like major modes. When enabled, code within #ifdef constructs that the C preprocessor would eliminate may be hidden from view. Several variables affect how the hiding is done: `hide-ifdef-env' An association list of defined and undefined symbols for the current project. Initially, the global value of `hide-ifdef-env' is used. This variable was a buffer-local variable, which limits hideif to parse only one C/C++ file at a time. We've extended hideif to support parsing a C/C++ project containing multiple C/C++ source files opened simultaneously in different buffers. Therefore `hide-ifdef-env' can no longer be buffer local but must be global. `hide-ifdef-define-alist' An association list of defined symbol lists. Use `hide-ifdef-set-define-alist' to save the current `hide-ifdef-env' and `hide-ifdef-use-define-alist' to set the current `hide-ifdef-env' from one of the lists in `hide-ifdef-define-alist'. `hide-ifdef-lines' Set to non-nil to not show #if, #ifdef, #ifndef, #else, and #endif lines when hiding. `hide-ifdef-initially' Indicates whether `hide-ifdefs' should be called when Hide-Ifdef mode is activated. `hide-ifdef-read-only' Set to non-nil if you want to make buffers read only while hiding. After `show-ifdefs', read-only status is restored to previous value. \{hide-ifdef-mode-map} (fn &optional ARG)Vhs-special-modes-alist Alist for initializing the hideshow variables for different modes. Each element has the form (MODE START END COMMENT-START FORWARD-SEXP-FUNC ADJUST-BEG-FUNC). If non-nil, hideshow will use these values as regexps to define blocks and comments, respectively for major mode MODE. START, END and COMMENT-START are regular expressions. A block is defined as text surrounded by START and END. As a special case, START may be a list of the form (COMPLEX-START MDATA-SELECTOR), where COMPLEX-START is a regexp w/ multiple parts and MDATA-SELECTOR an integer that specifies which sub-match is the proper place to adjust point, before calling `hs-forward-sexp-func'. Point is adjusted to the beginning of the specified match. For example, see the `hs-special-modes-alist' entry for `bibtex-mode'. For some major modes, `forward-sexp' does not work properly. In those cases, FORWARD-SEXP-FUNC specifies another function to use instead. See the documentation for `hs-adjust-block-beginning' to see what is the use of ADJUST-BEG-FUNC. If any of the elements is left nil or omitted, hideshow tries to guess appropriate values. The regexps should not contain leading or trailing whitespace. Case does not matter.Fhs-minor-mode Minor mode to selectively hide/show code and comment blocks. If called interactively, enable Hs minor mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When hideshow minor mode is on, the menu bar is augmented with hideshow commands and the hideshow commands are enabled. The value (hs . t) is added to `buffer-invisibility-spec'. The main commands are: `hs-hide-all', `hs-show-all', `hs-hide-block', `hs-show-block', `hs-hide-level' and `hs-toggle-hiding'. There is also `hs-hide-initial-comment-block'. Turning hideshow minor mode off reverts the menu bar and the variables to default values and disables the hideshow commands. Lastly, the normal hook `hs-minor-mode-hook' is run using `run-hooks'. Key bindings: \{hs-minor-mode-map} (fn &optional ARG)Fturn-off-hideshow Unconditionally turn off `hs-minor-mode'.Fhighlight-changes-mode Toggle highlighting changes in this buffer (Highlight Changes mode). If called interactively, enable Highlight-Changes mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When Highlight Changes is enabled, changes are marked with a text property. Normally they are displayed in a distinctive face, but command \[highlight-changes-visible-mode] can be used to toggle this on and off. Other functions for buffers in this mode include: \[highlight-changes-next-change] - move point to beginning of next change \[highlight-changes-previous-change] - move to beginning of previous change \[highlight-changes-remove-highlight] - remove the change face from the region \[highlight-changes-rotate-faces] - rotate different "ages" of changes through various faces. \[highlight-compare-with-file] - mark text as changed by comparing this buffer with the contents of a file \[highlight-compare-buffers] highlights differences between two buffers. (fn &optional ARG)Fhighlight-changes-visible-mode Toggle visibility of highlighting due to Highlight Changes mode. If called interactively, enable Highlight-Changes-Visible mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Highlight Changes Visible mode only has an effect when Highlight Changes mode is on. When enabled, the changed text is displayed in a distinctive face. The default value can be customized with variable `highlight-changes-visibility-initial-state'. This command does not itself set Highlight Changes mode. (fn &optional ARG)Fhighlight-changes-remove-highlight Remove the change face from the region between BEG and END. This allows you to manually remove highlighting from uninteresting changes. (fn BEG END)Fhighlight-changes-next-change Move to the beginning of the next change, if in Highlight Changes mode.Fhighlight-changes-previous-change Move to the beginning of the previous change, if in Highlight Changes mode.Fhighlight-changes-rotate-faces Rotate the faces if in Highlight Changes mode and the changes are visible. Current changes are displayed in the face described by the first element of `highlight-changes-face-list', one level older changes are shown in face described by the second element, and so on. Very old changes remain shown in the last face in the list. You can automatically rotate colors when the buffer is saved by adding this function to `write-file-functions' as a buffer-local value. To do this, eval the following in the buffer to be saved: (add-hook \='write-file-functions \='highlight-changes-rotate-faces nil t)Fhighlight-compare-buffers Compare two buffers and highlight the differences. The default is the current buffer and the one in the next window. If either buffer is modified and is visiting a file, you are prompted to save the file. Unless the buffer is unmodified and visiting a file, the buffer is written to a temporary file for comparison. If a buffer is read-only, differences will be highlighted but no property changes are made, so \[highlight-changes-next-change] and \[highlight-changes-previous-change] will not work. (fn BUF-A BUF-B)Fhighlight-compare-with-file Compare this buffer with a file, and highlight differences. If the buffer has a backup filename, it is used as the default when this function is called interactively. If the current buffer is visiting the file being compared against, it also will have its differences highlighted. Otherwise, the file is read in temporarily but the buffer is deleted. If the buffer is read-only, differences will be highlighted but no property changes are made, so \[highlight-changes-next-change] and \[highlight-changes-previous-change] will not work. (fn FILE-B)Vglobal-highlight-changes-mode Non-nil if Global Highlight-Changes mode is enabled. See the `global-highlight-changes-mode' command 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 `global-highlight-changes-mode'.Fglobal-highlight-changes-mode Toggle Highlight-Changes mode in all buffers. With prefix ARG, enable Global Highlight-Changes mode if ARG is positive; otherwise, disable it. If called from Lisp, enable the mode if ARG is omitted or nil. Highlight-Changes mode is enabled in all buffers where `highlight-changes-mode-turn-on' would do it. See `highlight-changes-mode' for more information on Highlight-Changes mode. (fn &optional ARG)Vhippie-expand-try-functions-list The list of expansion functions tried in order by `hippie-expand'. To change the behavior of `hippie-expand', remove, change the order of, or insert functions in this list.Fhippie-expand Try to expand text before point, using multiple methods. The expansion functions in `hippie-expand-try-functions-list' are tried in order, until a possible expansion is found. Repeated application of `hippie-expand' inserts successively possible expansions. With a positive numeric argument, jumps directly to the ARG next function in this list. With a negative argument or just \[universal-argument], undoes the expansion. (fn ARG)Fmake-hippie-expand-function Construct a function similar to `hippie-expand'. Make it use the expansion functions in TRY-LIST. An optional second argument VERBOSE non-nil makes the function verbose. (fn TRY-LIST &optional VERBOSE)Fhl-line-mode Toggle highlighting of the current line (Hl-Line mode). If called interactively, enable Hl-Line mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Hl-Line mode is a buffer-local minor mode. If `hl-line-sticky-flag' is non-nil, Hl-Line mode highlights the line about the buffer's point in all windows. Caveat: the buffer's point might be different from the point of a non-selected window. Hl-Line mode uses the function `hl-line-highlight' on `post-command-hook' in this case. When `hl-line-sticky-flag' is nil, Hl-Line mode highlights the line about point in the selected window only. In this case, it uses the function `hl-line-maybe-unhighlight' in addition to `hl-line-highlight' on `post-command-hook'. (fn &optional ARG)Vglobal-hl-line-mode Non-nil if Global Hl-Line mode is enabled. See the `global-hl-line-mode' command 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 `global-hl-line-mode'.Fglobal-hl-line-mode Toggle line highlighting in all buffers (Global Hl-Line mode). If called interactively, enable Global Hl-Line mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. If `global-hl-line-sticky-flag' is non-nil, Global Hl-Line mode highlights the line about the current buffer's point in all live windows. Global-Hl-Line mode uses the functions `global-hl-line-highlight' and `global-hl-line-maybe-unhighlight' on `post-command-hook'. (fn &optional ARG)Vholiday-general-holidays General holidays. Default value is for the United States. See the documentation for `calendar-holidays' for details.Vholiday-oriental-holidays Oriental holidays. See the documentation for `calendar-holidays' for details.Vholiday-local-holidays Local holidays. See the documentation for `calendar-holidays' for details.Vholiday-other-holidays User defined holidays. See the documentation for `calendar-holidays' for details.Vholiday-hebrew-holidays Jewish holidays. See the documentation for `calendar-holidays' for details.Vholiday-christian-holidays Christian holidays. See the documentation for `calendar-holidays' for details.Vholiday-islamic-holidays Islamic holidays. See the documentation for `calendar-holidays' for details.Vholiday-bahai-holidays Bahá’í holidays. See the documentation for `calendar-holidays' for details.Vholiday-solar-holidays Sun-related holidays. See the documentation for `calendar-holidays' for details.Fholidays Display the holidays for last month, this month, and next month. If called with an optional prefix argument ARG, prompts for month and year. This function is suitable for execution in an init file. (fn &optional ARG)Flist-holidays Display holidays for years Y1 to Y2 (inclusive). Y2 defaults to Y1. The optional list of holidays L defaults to `calendar-holidays'. If you want to control what holidays are displayed, use a different list. For example, (list-holidays 2006 2006 (append holiday-general-holidays holiday-local-holidays)) will display holidays for the year 2006 defined in the two mentioned lists, and nothing else. When called interactively, this command offers a choice of holidays, based on the variables `holiday-solar-holidays' etc. See the documentation of `calendar-holidays' for a list of the variables that control the choices, as well as a description of the format of a holiday list. The optional LABEL is used to label the buffer created. (fn Y1 &optional Y2 L LABEL)Fhtmlfontify-buffer Create a new buffer, named for the current buffer + a .html extension, containing an inline CSS-stylesheet and formatted CSS-markup HTML that reproduces the look of the current Emacs buffer as closely as possible. Dangerous characters in the existing buffer are turned into HTML entities, so you should even be able to do HTML-within-HTML fontified display. You should, however, note that random control or non-ASCII characters such as ^L (U+000C FORM FEED (FF)) or ¤ (U+00A4 CURRENCY SIGN) won't get mapped yet. If the SRCDIR and FILE arguments are set, lookup etags derived entries in the `hfy-tags-cache' and add HTML anchors and hyperlinks as appropriate. (fn &optional SRCDIR FILE)Fhtmlfontify-copy-and-link-dir Trawl SRCDIR and write fontified-and-hyperlinked output in DSTDIR. F-EXT and L-EXT specify values for `hfy-extn' and `hfy-link-extn'. You may also want to set `hfy-page-header' and `hfy-page-footer'. (fn SRCDIR DSTDIR &optional F-EXT L-EXT)Fdefine-ibuffer-column Define a column SYMBOL for use with `ibuffer-formats'. BODY will be called with `buffer' bound to the buffer object, and `mark' bound to the current mark on the buffer. The original ibuffer buffer will be bound to `ibuffer-buf'. If NAME is given, it will be used as a title for the column. Otherwise, the title will default to a capitalized version of the SYMBOL's name. PROPS is a plist of additional properties to add to the text, such as `mouse-face'. And SUMMARIZER, if given, is a function which will be passed a list of all the strings in its column; it should return a string to display at the bottom. If HEADER-MOUSE-MAP is given, it will be used as a keymap for the title of the column. Note that this macro expands into a `defun' for a function named ibuffer-make-column-NAME. If INLINE is non-nil, then the form will be inlined into the compiled format versions. This means that if you change its definition, you should explicitly call `ibuffer-recompile-formats'. (fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)Fdefine-ibuffer-sorter Define a method of sorting named NAME. DOCUMENTATION is the documentation of the function, which will be called `ibuffer-do-sort-by-NAME'. DESCRIPTION is a short string describing the sorting method. For sorting, the forms in BODY will be evaluated with `a' bound to one buffer object, and `b' bound to another. BODY should return a non-nil value if and only if `a' is "less than" `b'. (fn NAME DOCUMENTATION (&key DESCRIPTION) &rest BODY)Fdefine-ibuffer-op Generate a function which operates on a buffer. OP becomes the name of the function; if it doesn't begin with `ibuffer-do-', then that is prepended to it. When an operation is performed, this function will be called once for each marked buffer, with that buffer current. ARGS becomes the formal parameters of the function. DOCUMENTATION becomes the docstring of the function. INTERACTIVE becomes the interactive specification of the function. MARK describes which type of mark (:deletion, or nil) this operation uses. :deletion means the function operates on buffers marked for deletion, otherwise it acts on normally marked buffers. MODIFIER-P describes how the function modifies buffers. This is used to set the modification flag of the Ibuffer buffer itself. Valid values are: nil - the function never modifiers buffers t - the function it always modifies buffers :maybe - attempt to discover this information by comparing the buffer's modification flag. DANGEROUS is a boolean which should be set if the user should be prompted before performing this operation. OPSTRING is a string which will be displayed to the user after the operation is complete, in the form: "Operation complete; OPSTRING x buffers" ACTIVE-OPSTRING is a string which will be displayed to the user in a confirmation message, in the form: "Really ACTIVE-OPSTRING x buffers?" BEFORE is a form to evaluate before start the operation. AFTER is a form to evaluate once the operation is complete. COMPLEX means this function is special; if COMPLEX is nil BODY evaluates once for each marked buffer, MBUF, with MBUF current and saving the point. If COMPLEX is non-nil, BODY evaluates without requiring MBUF current. BODY define the operation; they are forms to evaluate per each marked buffer. BODY is evaluated with `buf' bound to the buffer object. (fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING BEFORE AFTER COMPLEX) &rest BODY)Fdefine-ibuffer-filter Define a filter named NAME. DOCUMENTATION is the documentation of the function. READER is a form which should read a qualifier from the user. DESCRIPTION is a short string describing the filter. ACCEPT-LIST is a boolean; if non-nil, the filter accepts either a single condition or a list of them; in the latter case the filter is the `or' composition of the conditions. BODY should contain forms which will be evaluated to test whether or not a particular buffer should be displayed or not. The forms in BODY will be evaluated with BUF bound to the buffer object, and QUALIFIER bound to the current value of the filter. (fn NAME DOCUMENTATION (&key READER DESCRIPTION) &rest BODY)Fibuffer-list-buffers Display a list of buffers, in another window. If optional argument FILES-ONLY is non-nil, then add a filter for buffers which are visiting a file. (fn &optional FILES-ONLY)Fibuffer-other-window Like `ibuffer', but displayed in another window by default. If optional argument FILES-ONLY is non-nil, then add a filter for buffers which are visiting a file. (fn &optional FILES-ONLY)Fibuffer Begin using Ibuffer to edit a list of buffers. Type `h' after entering ibuffer for more information. All arguments are optional. OTHER-WINDOW-P says to use another window. NAME specifies the name of the buffer (defaults to "*Ibuffer*"). QUALIFIERS is an initial set of filtering qualifiers to use; see `ibuffer-filtering-qualifiers'. NOSELECT means don't select the Ibuffer buffer. SHRINK means shrink the buffer to minimal size. The special value `onewindow' means always use another window. FILTER-GROUPS is an initial set of filtering groups to use; see `ibuffer-filter-groups'. FORMATS is the value to use for `ibuffer-formats'. If specified, then the variable `ibuffer-formats' will have that value locally in this buffer. (fn &optional OTHER-WINDOW-P NAME QUALIFIERS NOSELECT SHRINK FILTER-GROUPS FORMATS)Fibuffer-jump Call Ibuffer and set point at the line listing the current buffer. If optional arg OTHER-WINDOW is non-nil, then use another window. (fn &optional OTHER-WINDOW)Ficalendar-export-file Export diary file to iCalendar format. All diary entries in the file DIARY-FILENAME are converted to iCalendar format. The result is appended to the file ICAL-FILENAME. (fn DIARY-FILENAME ICAL-FILENAME)Ficalendar-export-region Export region in diary file to iCalendar format. All diary entries in the region from MIN to MAX in the current buffer are converted to iCalendar format. The result is appended to the file ICAL-FILENAME. This function attempts to return t if something goes wrong. In this case an error string which describes all the errors and problems is written into the buffer `*icalendar-errors*'. (fn MIN MAX ICAL-FILENAME)Ficalendar-import-file Import an iCalendar file and append to a diary file. Argument ICAL-FILENAME output iCalendar file. Argument DIARY-FILENAME input `diary-file'. Optional argument NON-MARKING determines whether events are created as non-marking or not. (fn ICAL-FILENAME DIARY-FILENAME &optional NON-MARKING)Ficalendar-import-buffer Extract iCalendar events from current buffer. This function searches the current buffer for the first iCalendar object, reads it and adds all VEVENT elements to the diary DIARY-FILENAME. It will ask for each appointment whether to add it to the diary unless DO-NOT-ASK is non-nil. When called interactively, DO-NOT-ASK is nil, so that you are asked for each event. NON-MARKING determines whether diary events are created as non-marking. Return code t means that importing worked well, return code nil means that an error has occurred. Error messages will be in the buffer `*icalendar-errors*'. (fn &optional DIARY-FILENAME DO-NOT-ASK NON-MARKING)Vfido-mode Non-nil if Fido mode is enabled. See the `fido-mode' command 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 `fido-mode'.Ffido-mode An enhanced `icomplete-mode' that emulates `ido-mode'. If called interactively, enable Fido mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. This global minor mode makes minibuffer completion behave more like `ido-mode' than regular `icomplete-mode'. (fn &optional ARG)Vicomplete-mode Non-nil if Icomplete mode is enabled. See the `icomplete-mode' command 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 `icomplete-mode'.Ficomplete-mode Toggle incremental minibuffer completion (Icomplete mode). If called interactively, enable Icomplete mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When this global minor mode is enabled, typing in the minibuffer continuously displays a list of possible completions that match the string you have typed. See `icomplete-completions' for a description of how prospective completions are displayed. For more information, see Info node `(emacs)Icomplete'. For options you can set, `\[customize-group] icomplete'. You can use the following key bindings to navigate and select completions: \{icomplete-minibuffer-map} (fn &optional ARG)Ficon-mode Major mode for editing Icon code. Expression and list commands understand all Icon brackets. Tab indents for Icon code. Paragraphs are separated by blank lines only. Delete converts tabs to spaces as it moves back. \{icon-mode-map} Variables controlling indentation style: icon-tab-always-indent Non-nil means TAB in Icon mode should always reindent the current line, regardless of where in the line point is when the TAB command is used. icon-auto-newline Non-nil means automatically newline before and after braces inserted in Icon code. icon-indent-level Indentation of Icon statements within surrounding block. The surrounding block's indentation is the indentation of the line on which the open-brace appears. icon-continued-statement-offset Extra indentation given to a substatement, such as the then-clause of an if or body of a while. icon-continued-brace-offset Extra indentation given to a brace that starts a substatement. This is in addition to `icon-continued-statement-offset'. icon-brace-offset Extra indentation for line if it starts with an open brace. icon-brace-imaginary-offset An open brace following other text is treated as if it were this far to the right of the start of its line. Turning on Icon mode calls the value of the variable `icon-mode-hook' with no args, if that value is non-nil. (fn)Fidlwave-shell Run an inferior IDL, with I/O through buffer `(idlwave-shell-buffer)'. If buffer exists but shell process is not running, start new IDL. If buffer exists and shell process is running, just switch to the buffer. When called with a prefix ARG, or when `idlwave-shell-use-dedicated-frame' is non-nil, the shell buffer and the source buffers will be in separate frames. The command to run comes from variable `idlwave-shell-explicit-file-name', with options taken from `idlwave-shell-command-line-options'. The buffer is put in `idlwave-shell-mode', providing commands for sending input and controlling the IDL job. See help on `idlwave-shell-mode'. See also the variable `idlwave-shell-prompt-pattern'. (Type \[describe-mode] in the shell buffer for a list of commands.) (fn &optional ARG)Fidlwave-mode Major mode for editing IDL source files (version 6.1_em22). The main features of this mode are 1. Indentation and Formatting -------------------------- Like other Emacs programming modes, C-j inserts a newline and indents. TAB is used for explicit indentation of the current line. To start a continuation line, use \[idlwave-split-line]. This function can also be used in the middle of a line to split the line at that point. When used inside a long constant string, the string is split at that point with the `+' concatenation operator. Comments are indented as follows: `;;;' Indentation remains unchanged. `;;' Indent like the surrounding code `;' Indent to a minimum column. The indentation of comments starting in column 0 is never changed. Use \[idlwave-fill-paragraph] to refill a paragraph inside a comment. The indentation of the second line of the paragraph relative to the first will be retained. Use \[idlwave-auto-fill-mode] to toggle auto-fill mode for these comments. When the variable `idlwave-fill-comment-line-only' is nil, code can also be auto-filled and auto-indented. To convert pre-existing IDL code to your formatting style, mark the entire buffer with \[mark-whole-buffer] and execute \[idlwave-expand-region-abbrevs]. Then mark the entire buffer again followed by \[indent-region] (`indent-region'). 2. Routine Info ------------ IDLWAVE displays information about the calling sequence and the accepted keyword parameters of a procedure or function with \[idlwave-routine-info]. \[idlwave-find-module] jumps to the source file of a module. These commands know about system routines, all routines in idlwave-mode buffers and (when the idlwave-shell is active) about all modules currently compiled under this shell. It also makes use of pre-compiled or custom-scanned user and library catalogs many popular libraries ship with by default. Use \[idlwave-update-routine-info] to update this information, which is also used for completion (see item 4). 3. Online IDL Help --------------- \[idlwave-context-help] displays the IDL documentation relevant for the system variable, keyword, or routines at point. A single key stroke gets you directly to the right place in the docs. See the manual to configure where and how the HTML help is displayed. 4. Completion ---------- \[idlwave-complete] completes the names of procedures, functions class names, keyword parameters, system variables and tags, class tags, structure tags, filenames and much more. It is context sensitive and figures out what is expected at point. Lower case strings are completed in lower case, other strings in mixed or upper case. 5. Code Templates and Abbreviations -------------------------------- Many Abbreviations are predefined to expand to code fragments and templates. The abbreviations start generally with a `\'. Some examples: \pr PROCEDURE template \fu FUNCTION template \c CASE statement template \sw SWITCH statement template \f FOR loop template \r REPEAT Loop template \w WHILE loop template \i IF statement template \elif IF-ELSE statement template \b BEGIN For a full list, use \[idlwave-list-abbrevs]. Some templates also have direct keybindings - see the list of keybindings below. \[idlwave-doc-header] inserts a documentation header at the beginning of the current program unit (pro, function or main). Change log entries can be added to the current program unit with \[idlwave-doc-modification]. 6. Automatic Case Conversion ------------------------- The case of reserved words and some abbrevs is controlled by `idlwave-reserved-word-upcase' and `idlwave-abbrev-change-case'. 7. Automatic END completion ------------------------ If the variable `idlwave-expand-generic-end' is non-nil, each END typed will be converted to the specific version, like ENDIF, ENDFOR, etc. 8. Hooks ----- Loading idlwave.el runs `idlwave-load-hook'. Turning on `idlwave-mode' runs `idlwave-mode-hook'. 9. Documentation and Customization ------------------------------- Info documentation for this package is available. Use \[idlwave-info] to display (complain to your sysadmin if that does not work). For Postscript, PDF, and HTML versions of the documentation, check IDLWAVE's homepage at URL `http://github.com/jdtsmith/idlwave'. IDLWAVE has customize support - see the group `idlwave'. 10.Keybindings ----------- Here is a list of all keybindings of this mode. If some of the key bindings below show with ??, use \[describe-key] followed by the key sequence to see what the key sequence does. \{idlwave-mode-map} (fn)Vido-mode Determines for which buffer/file Ido should be enabled. The following values are possible: - `buffer': Turn only on Ido buffer behavior (switching, killing, displaying...) - `file': Turn only on Ido file behavior (finding, writing, inserting...) - `both': Turn on Ido buffer and file behavior. - nil: Turn off any Ido switching. Setting this variable directly does not take effect; use either \[customize] or the function `ido-mode'.Fido-mode Toggle Ido mode on or off. With ARG, turn Ido mode on if arg is positive, off otherwise. Turning on Ido mode will remap (via a minor-mode keymap) the default keybindings for the `find-file' and `switch-to-buffer' families of commands to the Ido versions of these functions. However, if ARG arg equals `files', remap only commands for files, or if it equals `buffers', remap only commands for buffer switching. This function also adds a hook to the minibuffer. (fn &optional ARG)Fido-switch-buffer Switch to another buffer. The buffer is displayed according to `ido-default-buffer-method' -- the default is to show it in the same window, unless it is already visible in another frame. As you type in a string, all of the buffers matching the string are displayed if substring-matching is used (default). Look at `ido-enable-prefix' and `ido-toggle-prefix'. When you have found the buffer you want, it can then be selected. As you type, most keys have their normal keybindings, except for the following: \ RET Select the buffer at the front of the list of matches. If the list is empty, possibly prompt to create new buffer. \[ido-select-text] Use the current input string verbatim. \[ido-next-match] Put the first element at the end of the list. \[ido-prev-match] Put the last element at the start of the list. \[ido-complete] Complete a common suffix to the current string that matches all buffers. If there is only one match, select that buffer. If there is no common suffix, show a list of all matching buffers in a separate window. \[ido-edit-input] Edit input string. \[ido-fallback-command] Fallback to non-ido version of current command. \[ido-toggle-regexp] Toggle regexp searching. \[ido-toggle-prefix] Toggle between substring and prefix matching. \[ido-toggle-case] Toggle case-sensitive searching of buffer names. \[ido-completion-help] Show list of matching buffers in separate window. \[ido-enter-find-file] Drop into `ido-find-file'. \[ido-kill-buffer-at-head] Kill buffer at head of buffer list. \[ido-toggle-ignore] Toggle ignoring buffers listed in `ido-ignore-buffers'.Fido-switch-buffer-other-window Switch to another buffer and show it in another window. The buffer name is selected interactively by typing a substring. For details of keybindings, see `ido-switch-buffer'.Fido-display-buffer Display a buffer in another window but don't select it. If ACTION (the prefix argument interactively), display the buffer in another windown even if it's already displayed in the current window. The buffer name is selected interactively by typing a substring. For details of keybindings, see `ido-switch-buffer'. (fn &optional ACTION)Fido-display-buffer-other-frame Display a buffer preferably in another frame. The buffer name is selected interactively by typing a substring. For details of keybindings, see `ido-switch-buffer'.Fido-kill-buffer Kill a buffer. The buffer name is selected interactively by typing a substring. For details of keybindings, see `ido-switch-buffer'.Fido-insert-buffer Insert contents of a buffer in current buffer after point. The buffer name is selected interactively by typing a substring. For details of keybindings, see `ido-switch-buffer'.Fido-switch-buffer-other-frame Switch to another buffer and show it in another frame. The buffer name is selected interactively by typing a substring. For details of keybindings, see `ido-switch-buffer'.Fido-find-file-in-dir Switch to another file starting from DIR. (fn DIR)Fido-find-file Edit file with name obtained via minibuffer. The file is displayed according to `ido-default-file-method' -- the default is to show it in the same window, unless it is already visible in another frame. The file name is selected interactively by typing a substring. As you type in a string, all of the filenames matching the string are displayed if substring-matching is used (default). Look at `ido-enable-prefix' and `ido-toggle-prefix'. When you have found the filename you want, it can then be selected. As you type, most keys have their normal keybindings, except for the following: \ RET Select the file at the front of the list of matches. If the list is empty, possibly prompt to create new file. \[ido-select-text] Use the current input string verbatim. \[ido-next-match] Put the first element at the end of the list. \[ido-prev-match] Put the last element at the start of the list. \[ido-complete] Complete a common suffix to the current string that matches all files. If there is only one match, select that file. If there is no common suffix, show a list of all matching files in a separate window. \[ido-magic-delete-char] Open the specified directory in Dired mode. \[ido-edit-input] Edit input string (including directory). \[ido-prev-work-directory] Go to previous directory in work directory history. \[ido-next-work-directory] Go to next directory in work directory history. \[ido-merge-work-directories] Search for file in the work directory history. \[ido-forget-work-directory] Remove current directory from the work directory history. \[ido-prev-work-file] Cycle to previous file in work file history. \[ido-next-work-file] Cycle to next file in work file history. \[ido-wide-find-file-or-pop-dir] Prompt for a file and use find to locate it. \[ido-wide-find-dir-or-delete-dir] Prompt for a directory and use find to locate it. \[ido-make-directory] Prompt for a directory to create in current directory. \[ido-fallback-command] Fallback to non-Ido version of current command. \[ido-toggle-regexp] Toggle regexp searching. \[ido-toggle-prefix] Toggle between substring and prefix matching. \[ido-toggle-case] Toggle case-sensitive searching of file names. \[ido-toggle-literal] Toggle literal reading of this file. \[ido-completion-help] Show list of matching files in separate window. \[ido-toggle-ignore] Toggle ignoring files listed in `ido-ignore-files'. \[ido-reread-directory] Reread the current directory.Fido-find-file-other-window Switch to another file and show it in another window. The file name is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-find-alternate-file Find another file, select its buffer, kill previous buffer. The file name is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-find-alternate-file-other-window Find file as a replacement for the file in the next window. The file name is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-find-file-read-only Edit file read-only with name obtained via minibuffer. The file name is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-find-file-read-only-other-window Edit file read-only in other window with name obtained via minibuffer. The file name is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-find-file-read-only-other-frame Edit file read-only in other frame with name obtained via minibuffer. The file name is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-display-file Display a file in another window but don't select it. The file name is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-find-file-other-frame Switch to another file and show it in another frame. The file name is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-write-file Write current buffer to a file. The file name is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-insert-file Insert contents of file in current buffer. The file name is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-dired Call `dired' the Ido way. The directory is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-dired-other-window "Edit" a directory. Like `ido-dired' but selects in another window. The directory is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-dired-other-frame "Edit" a directory. Like `ido-dired' but makes a new frame. The directory is selected interactively by typing a substring. For details of keybindings, see `ido-find-file'.Fido-read-buffer Ido replacement for the built-in `read-buffer'. Return the name of a buffer selected. PROMPT is the prompt to give to the user. DEFAULT if given is the default buffer to be selected, which will go to the front of the list. If REQUIRE-MATCH is non-nil, an existing buffer must be selected. Optional arg PREDICATE if non-nil is a function limiting the buffers that can be considered. (fn PROMPT &optional DEFAULT REQUIRE-MATCH PREDICATE)Fido-read-file-name Ido replacement for the built-in `read-file-name'. Read file name, prompting with PROMPT and completing in directory DIR. See `read-file-name' for additional parameters. (fn PROMPT &optional DIR DEFAULT-FILENAME MUSTMATCH INITIAL PREDICATE)Fido-read-directory-name Ido replacement for the built-in `read-directory-name'. Read directory name, prompting with PROMPT and completing in directory DIR. See `read-directory-name' for additional parameters. (fn PROMPT &optional DIR DEFAULT-DIRNAME MUSTMATCH INITIAL)Fido-completing-read Ido replacement for the built-in `completing-read'. Read a string in the minibuffer with Ido-style completion. PROMPT is a string to prompt with; normally it ends in a colon and a space. CHOICES is a list of strings which are the possible completions. PREDICATE and INHERIT-INPUT-METHOD are currently ignored; they are included to be compatible with `completing-read'. If REQUIRE-MATCH is non-nil, the user is not allowed to exit unless the input is (or completes to) an element of CHOICES or is null. If the input is null, `ido-completing-read' returns DEF, or an empty string if DEF is nil, regardless of the value of REQUIRE-MATCH. If INITIAL-INPUT is non-nil, insert it in the minibuffer initially, with point positioned at the end. HIST, if non-nil, specifies a history list. DEF, if non-nil, is the default value. (fn PROMPT CHOICES &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)Fielm Interactively evaluate Emacs Lisp expressions. Switches to the buffer named BUF-NAME if provided (`*ielm*' by default), or creates it if it does not exist. See `inferior-emacs-lisp-mode' for details. (fn &optional BUF-NAME)Fiimage-mode Toggle Iimage mode on or off. If called interactively, enable Iimage mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. \{iimage-mode-map} (fn &optional ARG)Fimage-type-from-data Determine the image type from image data DATA. Value is a symbol specifying the image type or nil if type cannot be determined. (fn DATA)Fimage-type-from-buffer Determine the image type from data in the current buffer. Value is a symbol specifying the image type or nil if type cannot be determined.Fimage-type-from-file-header Determine the type of image file FILE from its first few bytes. Value is a symbol specifying the image type, or nil if type cannot be determined. (fn FILE)Fimage-type-from-file-name Determine the type of image file FILE from its name. Value is a symbol specifying the image type, or nil if type cannot be determined. (fn FILE)Fimage-type Determine and return image type. SOURCE is an image file name or image data. Optional TYPE is a symbol describing the image type. If TYPE is omitted or nil, try to determine the image type from its first few bytes of image data. If that doesn't work, and SOURCE is a file name, use its file extension as image type. Optional DATA-P non-nil means SOURCE is a string containing image data. If DATA-P is a symbol with a name on the format `image/jpeg', that may be used as a hint to determine the image type if we can't otherwise guess it. (fn SOURCE &optional TYPE DATA-P)Fimage-type-available-p Return t if image type TYPE is available. Image types are symbols like `xbm' or `jpeg'. (fn TYPE)Fimage-type-auto-detected-p Return t if the current buffer contains an auto-detectable image. This function is intended to be used from `magic-fallback-mode-alist'. The buffer is considered to contain an auto-detectable image if its beginning matches an image type in `image-type-header-regexps', and that image type is present in `image-type-auto-detectable' with a non-nil value. If that value is non-nil, but not t, then the image type must be available.Fcreate-image Create an image. FILE-OR-DATA is an image file name or image data. Optional TYPE is a symbol describing the image type. If TYPE is omitted or nil, try to determine the image type from its first few bytes of image data. If that doesn't work, and FILE-OR-DATA is a file name, use its file extension as image type. Optional DATA-P non-nil means FILE-OR-DATA is a string containing image data. Optional PROPS are additional image attributes to assign to the image, like, e.g. `:mask MASK'. If the property `:scale' is not given and the display has a high resolution (more exactly, when the average width of a character in the default font is more than 10 pixels), the image is automatically scaled up in proportion to the default font. Value is the image created, or nil if images of type TYPE are not supported. Images should not be larger than specified by `max-image-size'. Image file names that are not absolute are searched for in the "images" sub-directory of `data-directory' and `x-bitmap-file-path' (in that order). (fn FILE-OR-DATA &optional TYPE DATA-P &rest PROPS)Fput-image Put image IMAGE in front of POS in the current buffer. IMAGE must be an image created with `create-image' or `defimage'. IMAGE is displayed by putting an overlay into the current buffer with a `before-string' STRING that has a `display' property whose value is the image. STRING is defaulted if you omit it. The overlay created will have the `put-image' property set to t. POS may be an integer or marker. AREA is where to display the image. AREA nil or omitted means display it in the text area, a value of `left-margin' means display it in the left marginal area, a value of `right-margin' means display it in the right marginal area. (fn IMAGE POS &optional STRING AREA)Finsert-image Insert IMAGE into current buffer at point. IMAGE is displayed by inserting STRING into the current buffer with a `display' property whose value is the image. STRING defaults to a single space if you omit it. AREA is where to display the image. AREA nil or omitted means display it in the text area, a value of `left-margin' means display it in the left marginal area, a value of `right-margin' means display it in the right marginal area. SLICE specifies slice of IMAGE to insert. SLICE nil or omitted means insert whole image. SLICE is a list (X Y WIDTH HEIGHT) specifying the X and Y positions and WIDTH and HEIGHT of image area to insert. A float value 0.0 - 1.0 means relative to the width or height of the image; integer values are taken as pixel values. (fn IMAGE &optional STRING AREA SLICE)Finsert-sliced-image Insert IMAGE into current buffer at point. IMAGE is displayed by inserting STRING into the current buffer with a `display' property whose value is the image. The default STRING is a single space. AREA is where to display the image. AREA nil or omitted means display it in the text area, a value of `left-margin' means display it in the left marginal area, a value of `right-margin' means display it in the right marginal area. The image is automatically split into ROWS x COLS slices. (fn IMAGE &optional STRING AREA ROWS COLS)Fremove-images Remove images between START and END in BUFFER. Remove only images that were put in BUFFER with calls to `put-image'. BUFFER nil or omitted means use the current buffer. (fn START END &optional BUFFER)Ffind-image Find an image, choosing one of a list of image specifications. SPECS is a list of image specifications. Each image specification in SPECS is a property list. The contents of a specification are image type dependent. All specifications must at least contain the properties `:type TYPE' and either `:file FILE' or `:data DATA', where TYPE is a symbol specifying the image type, e.g. `xbm', FILE is the file to load the image from, and DATA is a string containing the actual image data. The specification whose TYPE is supported, and FILE exists, is used to construct the image specification to be returned. Return nil if no specification is satisfied. The image is looked for in `image-load-path'. Image files should not be larger than specified by `max-image-size'. (fn SPECS)Fdefimage Define SYMBOL as an image, and return SYMBOL. SPECS is a list of image specifications. DOC is an optional documentation string. Each image specification in SPECS is a property list. The contents of a specification are image type dependent. All specifications must at least contain the properties `:type TYPE' and either `:file FILE' or `:data DATA', where TYPE is a symbol specifying the image type, e.g. `xbm', FILE is the file to load the image from, and DATA is a string containing the actual image data. The first image specification whose TYPE is supported, and FILE exists, is used to define SYMBOL. Example: (defimage test-image ((:type xpm :file "~/test1.xpm") (:type xbm :file "~/test1.xbm"))) (fn SYMBOL SPECS &optional DOC)Fimagemagick-register-types Register file types that can be handled by ImageMagick. This function is called at startup, after loading the init file. It registers the ImageMagick types returned by `imagemagick-filter-types'. Registered image types are added to `auto-mode-alist', so that Emacs visits them in Image mode. They are also added to `image-type-file-name-regexps', so that the `image-type' function recognizes these files as having image type `imagemagick'. If Emacs is compiled without ImageMagick support, this does nothing.Fimage-dired-dired-toggle-marked-thumbs Toggle thumbnails in front of file names in the dired buffer. If no marked file could be found, insert or hide thumbnails on the current line. ARG, if non-nil, specifies the files to use instead of the marked files. If ARG is an integer, use the next ARG (or previous -ARG, if ARG<0) files. (fn &optional ARG)Fimage-dired-dired-with-window-configuration Open directory DIR and create a default window configuration. Convenience command that: - Opens dired in folder DIR - Splits windows in most useful (?) way - Set `truncate-lines' to t After the command has finished, you would typically mark some image files in dired and type \[image-dired-display-thumbs] (`image-dired-display-thumbs'). If called with prefix argument ARG, skip splitting of windows. The current window configuration is saved and can be restored by calling `image-dired-restore-window-configuration'. (fn DIR &optional ARG)Fimage-dired-display-thumbs Display thumbnails of all marked files, in `image-dired-thumbnail-buffer'. If a thumbnail image does not exist for a file, it is created on the fly. With prefix argument ARG, display only thumbnail for file at point (this is useful if you have marked some files but want to show another one). Recommended usage is to split the current frame horizontally so that you have the dired buffer in the left window and the `image-dired-thumbnail-buffer' buffer in the right window. With optional argument APPEND, append thumbnail to thumbnail buffer instead of erasing it first. Optional argument DO-NOT-POP controls if `pop-to-buffer' should be used or not. If non-nil, use `display-buffer' instead of `pop-to-buffer'. This is used from functions like `image-dired-next-line-and-display' and `image-dired-previous-line-and-display' where we do not want the thumbnail buffer to be selected. (fn &optional ARG APPEND DO-NOT-POP)Fimage-dired-show-all-from-dir Make a preview buffer for all images in DIR and display it. If the number of files in DIR matching `image-file-name-regexp' exceeds `image-dired-show-all-from-dir-max-files', a warning will be displayed. (fn DIR)Fimage-dired-tag-files Tag marked file(s) in dired. With prefix ARG, tag file at point. (fn ARG)Fimage-dired-delete-tag Remove tag for selected file(s). With prefix argument ARG, remove tag from file at point. (fn ARG)Fimage-dired-jump-thumbnail-buffer Jump to thumbnail buffer.Fimage-dired-minor-mode Setup easy-to-use keybindings for the commands to be used in dired mode. Note that n, p and and will be hijacked and bound to `image-dired-dired-x-line'. If called interactively, enable Image-Dired minor mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. (fn &optional ARG)Fimage-dired-display-thumbs-append Append thumbnails to `image-dired-thumbnail-buffer'.Fimage-dired-display-thumb Shorthand for `image-dired-display-thumbs' with prefix argument.Fimage-dired-dired-display-external Display file at point using an external viewer.Fimage-dired-dired-display-image Display current image file. See documentation for `image-dired-display-image' for more information. With prefix argument ARG, display image in its original size. (fn &optional ARG)Fimage-dired-dired-comment-files Add comment to current or marked files in dired.Fimage-dired-mark-tagged-files Use regexp to mark files with matching tag. A `tag' is a keyword, a piece of meta data, associated with an image file and stored in image-dired's database file. This command lets you input a regexp and this will be matched against all tags on all image files in the database file. The files that have a matching tag will be marked in the dired buffer.Fimage-dired-dired-edit-comment-and-tags Edit comment and tags of current or marked image files. Edit comment and tags for all marked image files in an easy-to-use form.Vimage-file-name-extensions A list of image-file filename extensions. Filenames having one of these extensions are considered image files, in addition to those matching `image-file-name-regexps'. See `auto-image-file-mode'; if `auto-image-file-mode' is enabled, setting this variable directly does not take effect unless `auto-image-file-mode' is re-enabled; this happens automatically when the variable is set using \[customize].Vimage-file-name-regexps List of regexps matching image-file filenames. Filenames matching one of these regexps are considered image files, in addition to those with an extension in `image-file-name-extensions'. See function `auto-image-file-mode'; if `auto-image-file-mode' is enabled, setting this variable directly does not take effect unless `auto-image-file-mode' is re-enabled; this happens automatically when the variable is set using \[customize].Fimage-file-name-regexp Return a regular expression matching image-file filenames.Finsert-image-file Insert the image file FILE into the current buffer. Optional arguments VISIT, BEG, END, and REPLACE are interpreted as for the command `insert-file-contents'. Return list of absolute file name and number of characters inserted. (fn FILE &optional VISIT BEG END REPLACE)Vauto-image-file-mode Non-nil if Auto-Image-File mode is enabled. See the `auto-image-file-mode' command 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 `auto-image-file-mode'.Fauto-image-file-mode Toggle visiting of image files as images (Auto Image File mode). If called interactively, enable Auto-Image-File mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. An image file is one whose name has an extension in `image-file-name-extensions', or matches a regexp in `image-file-name-regexps'. (fn &optional ARG)Fimage-mode Major mode for image files. You can use \\[image-toggle-display] or \\[image-toggle-hex-display] to toggle between display as an image and display as text or hex. Key bindings: \{image-mode-map}Fimage-minor-mode Toggle Image minor mode in this buffer. If called interactively, enable Image minor mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Image minor mode provides the key \\[image-toggle-display], to switch back to `image-mode' and display an image file as the actual image. (fn &optional ARG)Fimage-mode-to-text Set a non-image mode as major mode in combination with image minor mode. A non-mage major mode found from `auto-mode-alist' or fundamental mode displays an image file as text.Fimage-bookmark-jump (fn BMK)Vimenu-sort-function The function to use for sorting the index mouse-menu. Affects only the mouse index menu. Set this to nil if you don't want any sorting (faster). The items in the menu are then presented in the order they were found in the buffer. Set it to `imenu--sort-by-name' if you want alphabetic sorting. The function should take two arguments and return t if the first element should come before the second. The arguments are cons cells; (NAME . POSITION). Look at `imenu--sort-by-name' for an example.Vimenu-generic-expression List of definition matchers for creating an Imenu index. Each element of this list should have the form (MENU-TITLE REGEXP INDEX [FUNCTION] [ARGUMENTS...]) MENU-TITLE should be nil (in which case the matches for this element are put in the top level of the buffer index) or a string (which specifies the title of a submenu into which the matches are put). REGEXP is a regular expression matching a definition construct which is to be displayed in the menu. REGEXP may also be a function of no arguments. If REGEXP is a function, it is expected to search backwards, return non-nil if it finds a definition construct, and set `match-data' for that construct. INDEX is an integer specifying which subexpression of REGEXP matches the definition's name; this subexpression is displayed as the menu item. FUNCTION, if present, specifies a function to call when the index item is selected by the user. This function is called with arguments consisting of the item name, the buffer position, and the ARGUMENTS. The variable `imenu-case-fold-search' determines whether or not the regexp matches are case sensitive, and `imenu-syntax-alist' can be used to alter the syntax table for the search. If non-nil this pattern is passed to `imenu--generic-function' to create a buffer index. For example, see the value of `fortran-imenu-generic-expression' used by `fortran-mode' with `imenu-syntax-alist' set locally so that characters which normally have "symbol" syntax are considered to have "word" syntax during matching.Vimenu-create-index-function The function to use for creating an index alist of the current buffer. It should be a function that takes no arguments and returns an index alist of the current buffer. The function is called within a `save-excursion'. See `imenu--index-alist' for the format of the buffer index alist.Vimenu-prev-index-position-function Function for finding the next index position. If `imenu-create-index-function' is set to `imenu-default-create-index-function', then you must set this variable to a function that will find the next index, looking backwards in the file. The function should leave point at the place to be connected to the index and it should return nil when it doesn't find another index.Vimenu-extract-index-name-function Function for extracting the index item name, given a position. This function is called after `imenu-prev-index-position-function' finds a position for an index item, with point at that position. It should return the name for that index item.Vimenu-name-lookup-function Function to compare string with index item. This function will be called with two strings, and should return non-nil if they match. If nil, comparison is done with `string='. Set this to some other function for more advanced comparisons, such as "begins with" or "name matches and number of arguments match".Vimenu-default-goto-function The default function called when selecting an Imenu item. The function in this variable is called when selecting a normal index-item.Fimenu-add-to-menubar Add an `imenu' entry to the menu bar for the current buffer. NAME is a string used to name the menu bar item. See the command `imenu' for more information. (fn NAME)Fimenu-add-menubar-index Add an Imenu "Index" entry on the menu bar for the current buffer. A trivial interface to `imenu-add-to-menubar' suitable for use in a hook.Fimenu Jump to a place in the buffer chosen using a buffer menu or mouse menu. INDEX-ITEM specifies the position. See `imenu-choose-buffer-index' for more information. (fn INDEX-ITEM)Findian-compose-region Compose the region according to `composition-function-table'. (fn FROM TO)Findian-compose-string (fn STRING)Fin-is13194-post-read-conversion (fn LEN)Fin-is13194-pre-write-conversion (fn FROM TO)Findian-2-column-to-ucs-region Convert old Emacs Devanagari characters to UCS. (fn FROM TO)Finferior-lisp Run an inferior Lisp process, input and output via buffer `*inferior-lisp*'. If there is a process already running in `*inferior-lisp*', just switch to that buffer. With argument, allows you to edit the command line (default is value of `inferior-lisp-program'). Runs the hooks from `inferior-lisp-mode-hook' (after the `comint-mode-hook' is run). (Type \[describe-mode] in the process buffer for a list of commands.) (fn CMD)VInfo-default-directory-list Default list of directories to search for Info documentation files. They are searched in the order they are given in the list. Therefore, the directory of Info files that come with Emacs normally should come last (so that local files override standard ones), unless Emacs is installed into a non-standard directory. In the latter case, the directory of Info files that come with Emacs should be first in this list. Once Info is started, the list of directories to search comes from the variable `Info-directory-list'. This variable `Info-default-directory-list' is used as the default for initializing `Info-directory-list' when Info is started, unless the environment variable INFOPATH is set. Although this is a customizable variable, that is mainly for technical reasons. Normally, you should either set INFOPATH or customize `Info-additional-directory-list', rather than changing this variable.Finfo-other-window Like `info' but show the Info buffer in another window. (fn &optional FILE-OR-NODE BUFFER)Finfo Enter Info, the documentation browser. Optional argument FILE-OR-NODE specifies the file to examine; the default is the top-level directory of Info. Called from a program, FILE-OR-NODE may specify an Info node of the form "(FILENAME)NODENAME". Optional argument BUFFER specifies the Info buffer name; the default buffer name is *info*. If BUFFER exists, just switch to BUFFER. Otherwise, create a new buffer with the top-level Info directory. In interactive use, a non-numeric prefix argument directs this command to read a file name from the minibuffer. A numeric prefix argument of N selects an Info buffer named "*info*". The search path for Info files is in the variable `Info-directory-list'. The top-level Info directory is made by combining all the files named `dir' in all the directories in that path. See a list of available Info commands in `Info-mode'. (fn &optional FILE-OR-NODE BUFFER)Finfo-emacs-manual Display the Emacs manual in Info mode.Finfo-emacs-bug Display the "Reporting Bugs" section of the Emacs manual in Info mode.Finfo-standalone Run Emacs as a standalone Info reader. Usage: emacs -f info-standalone [filename] In standalone mode, \\[quit-window] exits Emacs itself.FInfo-on-current-buffer Use Info mode to browse the current Info buffer. With a prefix arg, this queries for the node name to visit first; otherwise, that defaults to `Top'. (fn &optional NODENAME)FInfo-directory Go to the Info directory node.FInfo-index Look up a string TOPIC in the index for this manual and go to that entry. If there are no exact matches to the specified topic, this chooses the first match which is a case-insensitive substring of a topic. Use the \\[Info-index-next] command to see the other matches. Give an empty topic name to go to the Index node itself. (fn TOPIC)Finfo-apropos Grovel indices of all known Info files on your system for STRING. Build a menu of the possible matches. (fn STRING)Finfo-finder Display descriptions of the keywords in the Finder virtual manual. In interactive use, a prefix argument directs this command to read a list of keywords separated by comma. After that, it displays a node with a list of packages that contain all specified keywords. (fn &optional KEYWORDS)FInfo-mode Info mode provides commands for browsing through the Info documentation tree. Documentation in Info is divided into "nodes", each of which discusses one topic and contains references to other nodes which discuss related topics. Info has commands to follow the references and show you other nodes. \\[Info-help] Invoke the Info tutorial. \[quit-window] Quit Info: reselect previously selected buffer. Selecting other nodes: \[Info-mouse-follow-nearest-node] Follow a node reference you click on. This works with menu items, cross references, and the "next", "previous" and "up", depending on where you click. \[Info-follow-nearest-node] Follow a node reference near point, like \[Info-mouse-follow-nearest-node]. \[Info-next] Move to the "next" node of this node. \[Info-prev] Move to the "previous" node of this node. \[Info-up] Move "up" from this node. \[Info-menu] Pick menu item specified by name (or abbreviation). Picking a menu item causes another node to be selected. \[Info-directory] Go to the Info directory node. \[Info-top-node] Go to the Top node of this file. \[Info-final-node] Go to the final node in this file. \[Info-backward-node] Go backward one node, considering all nodes as forming one sequence. \[Info-forward-node] Go forward one node, considering all nodes as forming one sequence. \[Info-next-reference] Move cursor to next cross-reference or menu item. \[Info-prev-reference] Move cursor to previous cross-reference or menu item. \[Info-follow-reference] Follow a cross reference. Reads name of reference. \[Info-history-back] Move back in history to the last node you were at. \[Info-history-forward] Move forward in history to the node you returned from after using \[Info-history-back]. \[Info-history] Go to menu of visited nodes. \[Info-toc] Go to table of contents of the current Info file. Moving within a node: \[Info-scroll-up] Normally, scroll forward a full screen. Once you scroll far enough in a node that its menu appears on the screen but after point, the next scroll moves into its first subnode. When after all menu items (or if there is no menu), move up to the parent node. \[Info-scroll-down] Normally, scroll backward. If the beginning of the buffer is already visible, try to go to the previous menu entry, or up if there is none. \[beginning-of-buffer] Go to beginning of node. Advanced commands: \[Info-search] Search through this Info file for specified regexp, and select the node in which the next occurrence is found. \[Info-search-case-sensitively] Search through this Info file for specified regexp case-sensitively. \[isearch-forward], \[isearch-forward-regexp] Use Isearch to search through multiple Info nodes. \[Info-index] Search for a topic in this manual's Index and go to index entry. \[Info-index-next] (comma) Move to the next match from a previous \\[Info-index] command. \[Info-virtual-index] Look for a string and display the index node with results. \[info-apropos] Look for a string in the indices of all manuals. \[Info-goto-node] Move to node specified by name. You may include a filename as well, as (FILENAME)NODENAME. 1 .. 9 Pick first ... ninth item in node's menu. Every third `*' is highlighted to help pick the right number. \[Info-copy-current-node-name] Put name of current Info node in the kill ring. \[clone-buffer] Select a new cloned Info buffer in another window. \[universal-argument] \[info] Move to new Info file with completion. \[universal-argument] N \[info] Select Info buffer with prefix number in the name *info*. (fn)FInfo-goto-emacs-command-node Go to the Info node in the Emacs manual for command COMMAND. The command is found by looking up in Emacs manual's indices or in another manual found via COMMAND's `info-file' property or the variable `Info-file-list-for-emacs'. COMMAND must be a symbol or string. (fn COMMAND)FInfo-goto-emacs-key-command-node Go to the node in the Emacs manual which describes the command bound to KEY. KEY is a string. Interactively, if the binding is `execute-extended-command', a command is read. The command is found by looking up in Emacs manual's indices or in another manual found via COMMAND's `info-file' property or the variable `Info-file-list-for-emacs'. (fn KEY)FInfo-speedbar-browser Initialize speedbar to display an Info node browser. This will add a speedbar major display mode.FInfo-bookmark-jump This implements the `handler' function interface for the record type returned by `Info-bookmark-make-record', which see. (fn BMK)Finfo-display-manual Display an Info buffer displaying MANUAL. If there is an existing Info buffer for MANUAL, display it. Otherwise, visit the manual in a new Info buffer. In interactive use, a prefix argument directs this command to limit the completion alternatives to currently visited manuals. (fn MANUAL)Finfo-lookup-reset Throw away all cached data. This command is useful if the user wants to start at the beginning without quitting Emacs, for example, after some Info documents were updated on the system.Finfo-lookup-symbol Display the definition of SYMBOL, as found in the relevant manual. When this command is called interactively, it reads SYMBOL from the minibuffer. In the minibuffer, use M-n to yank the default argument value into the minibuffer so you can edit it. The default symbol is the one found at point. With prefix arg MODE a query for the symbol help mode is offered. (fn SYMBOL &optional MODE)Finfo-lookup-file Display the documentation of a file. When this command is called interactively, it reads FILE from the minibuffer. In the minibuffer, use M-n to yank the default file name into the minibuffer so you can edit it. The default file name is the one found at point. With prefix arg MODE a query for the file help mode is offered. (fn FILE &optional MODE)Finfo-complete-symbol Perform completion on symbol preceding point. (fn &optional MODE)Finfo-complete-file Perform completion on file preceding point. (fn &optional MODE)Finfo-xref-check Check external references in FILENAME, an info document. Interactively from an `Info-mode' or `texinfo-mode' buffer the current info file is the default. Results are shown in a `compilation-mode' buffer. The format is a bit rough, but there shouldn't be many problems normally. The file:line:column: is the info document, but of course normally any correction should be made in the original .texi file. Finding the right place in the .texi is a manual process. When a target info file doesn't exist there's obviously no way to validate node references within it. A message is given for missing target files once per source document. It could be simply that you don't have the target installed, or it could be a mistake in the reference. Indirect info files are understood, just pass the top-level foo.info to `info-xref-check' and it traverses all sub-files. Compressed info files are accepted too as usual for `Info-mode'. "makeinfo" checks references internal to an info document, but not external references, which makes it rather easy for mistakes to creep in or node name changes to go unnoticed. `Info-validate' doesn't check external references either. (fn FILENAME)Finfo-xref-check-all Check external references in all info documents in the info path. `Info-directory-list' and `Info-additional-directory-list' are the info paths. See `info-xref-check' for how each file is checked. The search for "all" info files is rather permissive, since info files don't necessarily have a ".info" extension and in particular the Emacs manuals normally don't. If you have a source code directory in `Info-directory-list' then a lot of extraneous files might be read. This will be time consuming but should be harmless.Finfo-xref-check-all-custom Check info references in all customize groups and variables. Info references can be in `custom-manual' or `info-link' entries of the `custom-links' for a variable. Any `custom-load' autoloads in variables are loaded in order to get full link information. This will be a lot of Lisp packages and can take a long time.Finfo-xref-docstrings Check docstring info node references in source files. The given files are searched for docstring hyperlinks like Info node `(elisp)Documentation Tips' and those links checked by attempting to visit the target nodes as per `info-xref-check' does. Interactively filenames are read as a wildcard pattern like "foo*.el", with the current file as a default. Usually this will be lisp sources, but anything with such hyperlinks can be checked, including the Emacs .c sources (or the etc/DOC file of all builtins). Because info node hyperlinks are found by a simple regexp search in the files, the Lisp code checked doesn't have to be loaded, and links can be in the file commentary or elsewhere too. Even .elc files can usually be checked successfully if you don't have the sources handy. (fn FILENAME-LIST)FInfo-tagify Create or update Info file tag table in current buffer or in a region. (fn &optional INPUT-BUFFER-NAME)VInfo-split-threshold The number of characters by which `Info-split' splits an info file.FInfo-split Split an info file into an indirect file plus bounded-size subfiles. Each subfile will be up to the number of characters that `Info-split-threshold' specifies, plus one node. To use this command, first visit a large Info file that has a tag table. The buffer is modified into a (small) indirect info file which should be saved in place of the original visited file. The subfiles are written in the same directory the original file is in, with names generated by appending `-' and a number to the original file name. The indirect file still functions as an Info file, but it contains just the tag table and a directory of subfiles.FInfo-validate Check current buffer for validity as an Info file. Check that every node pointer points to an existing node.Fbatch-info-validate Runs `Info-validate' on the files remaining on the command line. Must be used only with -batch, and kills Emacs on completion. Each file will be processed even if an error occurred previously. For example, invoke "emacs -batch -f batch-info-validate $info/ ~/*.info"Fdefine-inline Define an inline function NAME with arguments ARGS and body in BODY. This is like `defmacro', but has several advantages. See Info node `(elisp)Defining Functions' for more details. (fn NAME ARGS &rest BODY)Finversion-require-emacs Declare that you need either EMACS-VER, XEMACS-VER or SXEMACS-ver. Only checks one based on which kind of Emacs is being run. (fn EMACS-VER XEMACS-VER SXEMACS-VER)Fisearch-toggle-specified-input-method Select an input method and turn it on in interactive search.Fisearch-toggle-input-method Toggle input method in interactive search.Fisearch-process-search-multibyte-characters (fn LAST-CHAR &optional COUNT)Fisearchb-activate Active isearchb mode for subsequent alphanumeric keystrokes. Executing this command again will terminate the search; or, if the search has not yet begun, will toggle to the last buffer accessed via isearchb.Fiso-spanish Translate net conventions for Spanish to ISO 8859-1. Translate the region between FROM and TO using the table `iso-spanish-trans-tab'. Optional arg BUFFER is ignored (for use in `format-alist'). (fn FROM TO &optional BUFFER)Fiso-german Translate net conventions for German to ISO 8859-1. Translate the region FROM and TO using the table `iso-german-trans-tab'. Optional arg BUFFER is ignored (for use in `format-alist'). (fn FROM TO &optional BUFFER)Fiso-iso2tex Translate ISO 8859-1 characters to TeX sequences. Translate the region between FROM and TO using the table `iso-iso2tex-trans-tab'. Optional arg BUFFER is ignored (for use in `format-alist'). (fn FROM TO &optional BUFFER)Fiso-tex2iso Translate TeX sequences to ISO 8859-1 characters. Translate the region between FROM and TO using the table `iso-tex2iso-trans-tab'. Optional arg BUFFER is ignored (for use in `format-alist'). (fn FROM TO &optional BUFFER)Fiso-gtex2iso Translate German TeX sequences to ISO 8859-1 characters. Translate the region between FROM and TO using the table `iso-gtex2iso-trans-tab'. Optional arg BUFFER is ignored (for use in `format-alist'). (fn FROM TO &optional BUFFER)Fiso-iso2gtex Translate ISO 8859-1 characters to German TeX sequences. Translate the region between FROM and TO using the table `iso-iso2gtex-trans-tab'. Optional arg BUFFER is ignored (for use in `format-alist'). (fn FROM TO &optional BUFFER)Fiso-iso2duden Translate ISO 8859-1 characters to Duden sequences. Translate the region between FROM and TO using the table `iso-iso2duden-trans-tab'. Optional arg BUFFER is ignored (for use in `format-alist'). (fn FROM TO &optional BUFFER)Fiso-iso2sgml Translate ISO 8859-1 characters in the region to SGML entities. Use entities from "ISO 8879:1986//ENTITIES Added Latin 1//EN". Optional arg BUFFER is ignored (for use in `format-alist'). (fn FROM TO &optional BUFFER)Fiso-sgml2iso Translate SGML entities in the region to ISO 8859-1 characters. Use entities from "ISO 8879:1986//ENTITIES Added Latin 1//EN". Optional arg BUFFER is ignored (for use in `format-alist'). (fn FROM TO &optional BUFFER)Fiso-cvt-read-only Warn that format is read-only. (fn &rest IGNORE)Fiso-cvt-write-only Warn that format is write-only. (fn &rest IGNORE)Fiso-cvt-define-menu Add submenus to the File menu, to convert to and from various formats.Vispell-personal-dictionary File name of your personal spelling dictionary, or nil. If nil, the default personal dictionary for your spelling checker is used.Vispell-menu-map Key map for ispell menu.Vispell-skip-region-alist Alist expressing beginning and end of regions not to spell check. The alist key must be a regular expression. Valid forms include: (KEY) - just skip the key. (KEY . REGEXP) - skip to the end of REGEXP. REGEXP may be string or symbol. (KEY REGEXP) - skip to end of REGEXP. REGEXP must be a string. (KEY FUNCTION ARGS) - FUNCTION called with ARGS returns end of region.Vispell-tex-skip-alists Lists of regions to be skipped in TeX mode. First list is used raw. Second list has key placed inside \begin{}. Delete or add any regions you want to be automatically selected for skipping in latex mode.Vispell-html-skip-alists Lists of start and end keys to skip in HTML buffers. Same format as `ispell-skip-region-alist'. Note - substrings of other matches must come last (e.g. "<[tT][tT]/" and "<[^ \t\n>]").Fispell-word Check spelling of word under or before the cursor. If the word is not found in dictionary, display possible corrections in a window allowing you to choose one. If optional argument FOLLOWING is non-nil or if `ispell-following-word' is non-nil when called interactively, then the following word (rather than preceding) is checked when the cursor is not over a word. When the optional argument QUIETLY is non-nil or `ispell-quietly' is non-nil when called interactively, non-corrective messages are suppressed. With a prefix argument (or if CONTINUE is non-nil), resume interrupted spell-checking of a buffer or region. Interactively, in Transient Mark mode when the mark is active, call `ispell-region' to check the active region for spelling errors. Word syntax is controlled by the definition of the chosen dictionary, which is in `ispell-local-dictionary-alist' or `ispell-dictionary-alist'. This will check or reload the dictionary. Use \[ispell-change-dictionary] or \[ispell-region] to update the Ispell process. Return values: nil word is correct or spelling is accepted. 0 word is inserted into buffer-local definitions. "word" word corrected from word list. ("word" arg) word is hand entered. quit spell session exited. (fn &optional FOLLOWING QUIETLY CONTINUE REGION)Fispell-pdict-save Check to see if the personal dictionary has been modified. If so, ask if it needs to be saved. (fn &optional NO-QUERY FORCE-SAVE)Fispell-help Display a list of the options available when a misspelling is encountered. Selections are: DIGIT: Replace the word with a digit offered in the *Choices* buffer. SPC: Accept word this time. `i': Accept word and insert into private dictionary. `a': Accept word for this session. `A': Accept word and place in `buffer-local dictionary'. `r': Replace word with typed-in value. Rechecked. `R': Replace word with typed-in value. Query-replaced in buffer. Rechecked. `?': Show these commands. `x': Exit spelling buffer. Move cursor to original point. `X': Exit spelling buffer. Leaves cursor at the current point, and permits the aborted check to be completed later. `q': Quit spelling session (Kills ispell process). `l': Look up typed-in replacement in alternate dictionary. Wildcards okay. `u': Like `i', but the word is lower-cased first. `m': Place typed-in value in personal dictionary, then recheck current word. `C-l': Redraw screen. `C-r': Recursive edit. `C-z': Suspend Emacs or iconify frame.Fispell-kill-ispell Kill current Ispell process (so that you may start a fresh one). With NO-ERROR, just return non-nil if there was no Ispell running. With CLEAR, buffer session localwords are cleaned. (fn &optional NO-ERROR CLEAR)Fispell-change-dictionary Change to dictionary DICT for Ispell. With a prefix arg, set it "globally", for all buffers. Without a prefix arg, set it "locally", just for this buffer. By just answering RET you can find out what the current dictionary is. (fn DICT &optional ARG)Fispell-region Interactively check a region for spelling errors. Return nil if spell session was terminated, otherwise returns shift offset amount for last line processed. (fn REG-START REG-END &optional RECHECKP SHIFT)Fispell-comments-and-strings Check comments and strings in the current buffer for spelling errors.Fispell-buffer Check the current buffer for spelling errors interactively.Fispell-buffer-with-debug `ispell-buffer' with some output sent to `ispell-debug-buffer'. If APPEND is non-nil, don't erase previous debugging output. (fn &optional APPEND)Fispell-continue Continue a halted spelling session beginning with the current word.Fispell-complete-word Try to complete the word before or at point. If optional INTERIOR-FRAG is non-nil, then the word may be a character sequence inside of a word. Standard ispell choices are then available. (fn &optional INTERIOR-FRAG)Fispell-complete-word-interior-frag Completes word matching character sequence inside a word.Fispell Interactively check a region or buffer for spelling errors. If `transient-mark-mode' is on, and a region is active, spell-check that region. Otherwise spell-check the buffer. Ispell dictionaries are not distributed with Emacs. If you are looking for a dictionary, please see the distribution of the GNU ispell program, or do an Internet search; there are various dictionaries available on the net.Fispell-minor-mode Toggle last-word spell checking (Ispell minor mode). If called interactively, enable ISpell minor mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Ispell minor mode is a buffer-local minor mode. When enabled, typing SPC or RET warns you if the previous word is incorrectly spelled. All the buffer-local variables and dictionaries are ignored. To read them into the running Ispell process, type \[ispell-word] SPC. For spell-checking "on the fly", not just after typing SPC or RET, use `flyspell-mode'. (fn &optional ARG)Fispell-message Check the spelling of a mail message or news post. Don't check spelling of message headers except the Subject field. Don't check included messages. To abort spell checking of a message region and send the message anyway, use the `x' command. (Any subsequent regions will be checked.) The `X' command aborts sending the message so that you can edit the buffer. To spell-check whenever a message is sent, include the appropriate lines in your init file: (add-hook \='message-send-hook #\='ispell-message) ;; GNUS 5 (add-hook \='news-inews-hook #\='ispell-message) ;; GNUS 4 (add-hook \='mail-send-hook #\='ispell-message) (add-hook \='mh-before-send-letter-hook #\='ispell-message) You can bind this to the key C-c i in GNUS or mail by adding to `news-reply-mode-hook' or `mail-mode-hook' the following lambda expression: (function (lambda () (local-set-key "\C-ci" \='ispell-message)))Fjapanese-katakana Convert argument to Katakana and return that. The argument may be a character or string. The result has the same type. The argument object is not altered--the value is a copy. Optional argument HANKAKU t means to convert to `hankaku' Katakana (`japanese-jisx0201-kana'), in which case return value may be a string even if OBJ is a character if two Katakanas are necessary to represent OBJ. (fn OBJ &optional HANKAKU)Fjapanese-hiragana Convert argument to Hiragana and return that. The argument may be a character or string. The result has the same type. The argument object is not altered--the value is a copy. (fn OBJ)Fjapanese-hankaku Convert argument to `hankaku' and return that. The argument may be a character or string. The result has the same type. The argument object is not altered--the value is a copy. Optional argument ASCII-ONLY non-nil means to return only ASCII character. (fn OBJ &optional ASCII-ONLY)Fjapanese-zenkaku Convert argument to `zenkaku' and return that. The argument may be a character or string. The result has the same type. The argument object is not altered--the value is a copy. (fn OBJ)Fjapanese-katakana-region Convert Japanese `hiragana' chars in the region to `katakana' chars. Optional argument HANKAKU t means to convert to `hankaku katakana' character of which charset is `japanese-jisx0201-kana'. (fn FROM TO &optional HANKAKU)Fjapanese-hiragana-region Convert Japanese `katakana' chars in the region to `hiragana' chars. (fn FROM TO)Fjapanese-hankaku-region Convert Japanese `zenkaku' chars in the region to `hankaku' chars. `Zenkaku' chars belong to `japanese-jisx0208' `Hankaku' chars belong to `ascii' or `japanese-jisx0201-kana'. Optional argument ASCII-ONLY non-nil means to convert only to ASCII char. (fn FROM TO &optional ASCII-ONLY)Fjapanese-zenkaku-region Convert hankaku' chars in the region to Japanese `zenkaku' chars. `Zenkaku' chars belong to `japanese-jisx0208' `Hankaku' chars belong to `ascii' or `japanese-jisx0201-kana'. Optional argument KATAKANA-ONLY non-nil means to convert only KATAKANA char. (fn FROM TO &optional KATAKANA-ONLY)Fread-hiragana-string Read a Hiragana string from the minibuffer, prompting with string PROMPT. If non-nil, second arg INITIAL-INPUT is a string to insert before reading. (fn PROMPT &optional INITIAL-INPUT)Vjka-compr-inhibit Non-nil means inhibit automatic uncompression temporarily. Lisp programs can bind this to t to do that. It is not recommended to set this variable permanently to anything but nil.Fjka-compr-handler (fn OPERATION &rest ARGS)Fjka-compr-uninstall Uninstall jka-compr. This removes the entries in `file-name-handler-alist' and `auto-mode-alist' and `inhibit-local-variables-suffixes' that were added by `jka-compr-installed'.Fjs-mode Major mode for editing JavaScript. (fn)Fjs-jsx-mode Major mode for editing JavaScript+JSX. Simply makes `js-jsx-syntax' buffer-local and sets it to t. `js-mode' may detect and enable support for JSX automatically if it appears to be used in a JavaScript file. You could also customize `js-jsx-regexps' to improve that detection; or, you could set `js-jsx-syntax' to t in your init file, or in a .dir-locals.el file, or using file variables; or, you could call `js-jsx-enable' in `js-mode-hook'. You may be better served by one of the aforementioned options instead of using this mode. (fn)Vkeypad-setup Specifies the keypad setup for unshifted keypad keys when NumLock is off. When selecting the plain numeric keypad setup, the character returned by the decimal key must be specified.Vkeypad-numlock-setup Specifies the keypad setup for unshifted keypad keys when NumLock is on. When selecting the plain numeric keypad setup, the character returned by the decimal key must be specified.Vkeypad-shifted-setup Specifies the keypad setup for shifted keypad keys when NumLock is off. When selecting the plain numeric keypad setup, the character returned by the decimal key must be specified.Vkeypad-numlock-shifted-setup Specifies the keypad setup for shifted keypad keys when NumLock is off. When selecting the plain numeric keypad setup, the character returned by the decimal key must be specified.Fkeypad-setup Set keypad bindings in `function-key-map' according to SETUP. If optional second argument NUMLOCK is non-nil, the NumLock On bindings are changed. Otherwise, the NumLock Off bindings are changed. If optional third argument SHIFT is non-nil, the shifted keypad keys are bound. Setup Binding ------------------------------------------------------------- `prefix' Command prefix argument, i.e. M-0 .. M-9 and M-- `S-cursor' Bind shifted keypad keys to the shifted cursor movement keys. `cursor' Bind keypad keys to the cursor movement keys. `numeric' Plain numeric keypad, i.e. 0 .. 9 and . (or DECIMAL arg) `none' Removes all bindings for keypad keys in function-key-map; this enables any user-defined bindings for the keypad keys in the global and local keymaps. If SETUP is `numeric' and the optional fourth argument DECIMAL is non-nil, the decimal key on the keypad is mapped to DECIMAL instead of `.' (fn SETUP &optional NUMLOCK SHIFT DECIMAL)Fkinsoku Go to a line breaking position near point by doing `kinsoku' processing. LINEBEG is a buffer position we can't break a line before. `Kinsoku' processing is to prohibit specific characters to be placed at beginning of line or at end of line. Characters not to be placed at beginning and end of line have character category `>' and `<' respectively. This restriction is dissolved by making a line longer or shorter. `Kinsoku' is a Japanese word which originally means ordering to stay in one place, and is used for the text processing described above in the context of text formatting. (fn LINEBEG)Vkkc-after-update-conversion-functions Functions to run after a conversion is selected in `japanese' input method. With this input method, a user can select a proper conversion from candidate list. Each time he changes the selection, functions in this list are called with two arguments; starting and ending buffer positions that contains the current selection.Fkkc-region Convert Kana string in the current region to Kanji-Kana mixed string. Users can select a desirable conversion interactively. When called from a program, expects two arguments, positions FROM and TO (integers or markers) specifying the target region. When it returns, the point is at the tail of the selected conversion, and the return value is the length of the conversion. (fn FROM TO)Fkmacro-exec-ring-item Execute item ITEM from the macro ring. ARG is the number of times to execute the item. (fn ITEM ARG)Fkmacro-start-macro Record subsequent keyboard input, defining a keyboard macro. The commands are recorded even as they are executed. Use \[kmacro-end-macro] to finish recording and make the macro available. Use \[kmacro-end-and-call-macro] to execute the macro. Non-nil arg (prefix arg) means append to last macro defined. With \[universal-argument] prefix, append to last keyboard macro defined. Depending on `kmacro-execute-before-append', this may begin by re-executing the last macro as if you typed it again. Otherwise, it sets `kmacro-counter' to ARG or 0 if missing before defining the macro. Use \[kmacro-insert-counter] to insert (and increment) the macro counter. The counter value can be set or modified via \[kmacro-set-counter] and \[kmacro-add-counter]. The format of the counter can be modified via \[kmacro-set-format]. Use \[kmacro-name-last-macro] to give it a name that will remain valid even after another macro is defined. Use \[kmacro-bind-to-key] to bind it to a key sequence. (fn ARG)Fkmacro-end-macro Finish defining a keyboard macro. The definition was started by \[kmacro-start-macro]. The macro is now available for use via \[kmacro-call-macro], or it can be given a name with \[kmacro-name-last-macro] and then invoked under that name. With numeric arg, repeat macro now that many times, counting the definition just completed as the first repetition. An argument of zero means repeat until error. (fn ARG)Fkmacro-call-macro Call the keyboard MACRO that you defined with \[kmacro-start-macro]. A prefix argument serves as a repeat count. Zero means repeat until error. MACRO defaults to `last-kbd-macro'. When you call the macro, you can call the macro again by repeating just the last key in the key sequence that you used to call this command. See `kmacro-call-repeat-key' and `kmacro-call-repeat-with-arg' for details on how to adjust or disable this behavior. To give a macro a name so you can call it even after defining others, use \[kmacro-name-last-macro]. (fn ARG &optional NO-REPEAT END-MACRO MACRO)Fkmacro-start-macro-or-insert-counter Record subsequent keyboard input, defining a keyboard macro. The commands are recorded even as they are executed. Initializes the macro's `kmacro-counter' to ARG (or 0 if no prefix arg) before defining the macro. With \[universal-argument], appends to current keyboard macro (keeping the current value of `kmacro-counter'). When used during defining/executing a macro, inserts the current value of `kmacro-counter' and increments the counter value by ARG (or by 1 if no prefix argument). With just \[universal-argument], inserts the previous value of `kmacro-counter', and does not modify the counter; this is different from incrementing the counter by zero. (The previous value of the counter is the one it had before the last increment.) The macro counter can be set directly via \[kmacro-set-counter] and \[kmacro-add-counter]. The format of the inserted value of the counter can be controlled via \[kmacro-set-format]. (fn ARG)Fkmacro-end-or-call-macro End kbd macro if currently being defined; else call last kbd macro. With numeric prefix ARG, repeat macro that many times. With \[universal-argument], call second macro in macro ring. (fn ARG &optional NO-REPEAT)Fkmacro-end-and-call-macro Call last keyboard macro, ending it first if currently being defined. With numeric prefix ARG, repeat macro that many times. Zero argument means repeat until there is an error. To give a macro a name, so you can call it even after defining other macros, use \[kmacro-name-last-macro]. (fn ARG &optional NO-REPEAT)Fkmacro-end-call-mouse Move point to the position clicked with the mouse and call last kbd macro. If kbd macro currently being defined end it before activating it. (fn EVENT)Fkmacro-lambda-form Create lambda form for macro bound to symbol or key. (fn MAC &optional COUNTER FORMAT)Vdefault-korean-keyboard The kind of Korean keyboard for Korean input method. "" for 2, "3" for 3.Flao-compose-string (fn STR)Flao-transcribe-single-roman-syllable-to-lao Transcribe a Romanized Lao syllable in the region FROM and TO to Lao string. Only the first syllable is transcribed. The value has the form: (START END LAO-STRING), where START and END are the beginning and end positions of the Roman Lao syllable, LAO-STRING is the Lao character transcription of it. Optional 3rd arg STR, if non-nil, is a string to search for Roman Lao syllable. In that case, FROM and TO are indexes to STR. (fn FROM TO &optional STR)Flao-transcribe-roman-to-lao-string Transcribe Romanized Lao string STR to Lao character string. (fn STR)Flao-composition-function (fn GSTRING DIRECTION)Flao-compose-region (fn FROM TO)Vlatex-inputenc-coding-alist Mapping from LaTeX encodings in "inputenc.sty" to Emacs coding systems. LaTeX encodings are specified with "\usepackage[encoding]{inputenc}". Used by the function `latexenc-find-file-coding-system'.Flatexenc-inputenc-to-coding-system Return the corresponding coding-system for the specified input encoding. Return nil if no matching coding system can be found. (fn INPUTENC)Flatexenc-coding-system-to-inputenc Return the corresponding input encoding for the specified coding system. Return nil if no matching input encoding can be found. (fn CS)Flatexenc-find-file-coding-system Determine the coding system of a LaTeX file if it uses "inputenc.sty". The mapping from LaTeX's "inputenc.sty" encoding names to Emacs coding system names is determined from `latex-inputenc-coding-alist'. (fn ARG-LIST)Vlatin1-display Set up Latin-1/ASCII display for ISO8859 character sets. This is done for each character set in the list `latin1-display-sets', if no font is available to display it. Characters are displayed using the corresponding Latin-1 characters where they match. Otherwise ASCII sequences are used, mostly following the Latin prefix input methods. Some different ASCII sequences are used if `latin1-display-mnemonic' is non-nil. This option also treats some characters in the `mule-unicode-...' charsets if you don't have a Unicode font with which to display them. Setting this variable directly does not take effect; use either \[customize] or the function `latin1-display'.Flatin1-display Set up Latin-1/ASCII display for the arguments character SETS. See option `latin1-display' for the method. The members of the list must be in `latin1-display-sets'. With no arguments, reset the display for all of `latin1-display-sets'. See also `latin1-display-setup'. (fn &rest SETS)Vlatin1-display-ucs-per-lynx Set up Latin-1/ASCII display for Unicode characters. This uses the transliterations of the Lynx browser. The display isn't changed if the display can render Unicode characters. Setting this variable directly does not take effect; use either \[customize] or the function `latin1-display'.Fld-script-mode A major mode to edit GNU ld script files (fn)Fless-css-mode Major mode for editing Less files (http://lesscss.org/). Special commands: \{less-css-mode-map} (fn)Flet-alist Let-bind dotted symbols to their cdrs in ALIST and execute BODY. Dotted symbol is any symbol starting with a `.'. Only those present in BODY are let-bound and this search is done at compile time. For instance, the following code (let-alist alist (if (and .title .body) .body .site .site.contents)) essentially expands to (let ((.title (cdr (assq \='title alist))) (.body (cdr (assq \='body alist))) (.site (cdr (assq \='site alist))) (.site.contents (cdr (assq \='contents (cdr (assq \='site alist)))))) (if (and .title .body) .body .site .site.contents)) If you nest `let-alist' invocations, the inner one can't access the variables of the outer one. You can, however, access alists inside the original alist by using dots inside the symbol, as displayed in the example above. (fn ALIST &rest BODY)Flife Run Conway's Life simulation. The starting pattern is randomly selected. Prefix arg (optional first arg non-nil from a program) is the number of seconds to sleep between generations (this defaults to 1). (fn &optional SLEEPTIME)Flinum-mode Toggle display of line numbers in the left margin (Linum mode). If called interactively, enable Linum mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Linum mode is a buffer-local minor mode. (fn &optional ARG)Vglobal-linum-mode Non-nil if Global Linum mode is enabled. See the `global-linum-mode' command 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 `global-linum-mode'.Fglobal-linum-mode Toggle Linum mode in all buffers. With prefix ARG, enable Global Linum mode if ARG is positive; otherwise, disable it. If called from Lisp, enable the mode if ARG is omitted or nil. Linum mode is enabled in all buffers where `linum-on' would do it. See `linum-mode' for more information on Linum mode. (fn &optional ARG)Funload-feature Unload the library that provided FEATURE. If the feature is required by any other loaded code, and prefix arg FORCE is nil, raise an error. Standard unloading activities include restoring old autoloads for functions defined by the library, undoing any additions that the library has made to hook variables or to `auto-mode-alist', undoing ELP profiling of functions in that library, unproviding any features provided by the library, and canceling timers held in variables defined by the library. If a function `FEATURE-unload-function' is defined, this function calls it with no arguments, before doing anything else. That function can do whatever is appropriate to undo the loading of the library. If `FEATURE-unload-function' returns non-nil, that suppresses the standard unloading of the library. Otherwise the standard unloading proceeds. `FEATURE-unload-function' has access to the package's list of definitions in the variable `unload-function-defs-list' and could remove symbols from it in the event that the package has done something strange, such as redefining an Emacs function. (fn FEATURE &optional FORCE)Vlocate-ls-subdir-switches `ls' switches for inserting subdirectories in `*Locate*' buffers. This should contain the "-l" switch, but not the "-F" or "-b" switches.Flocate Run the program `locate', putting results in `*Locate*' buffer. Pass it SEARCH-STRING as argument. Interactively, prompt for SEARCH-STRING. With prefix arg ARG, prompt for the exact shell command to run instead. This program searches for those file names in a database that match SEARCH-STRING and normally outputs all matching absolute file names, one per line. The database normally consists of all files on your system, or of all files that you have access to. Consult the documentation of the program for the details about how it determines which file names match SEARCH-STRING. (Those details vary highly with the version.) You can specify another program for this command to run by customizing the variables `locate-command' or `locate-make-command-line'. The main use of FILTER is to implement `locate-with-filter'. See the docstring of that function for its meaning. After preparing the results buffer, this runs `dired-mode-hook' and then `locate-post-command-hook'. (fn SEARCH-STRING &optional FILTER ARG)Flocate-with-filter Run the executable program `locate' with a filter. This function is similar to the function `locate', which see. The difference is that, when invoked interactively, the present function prompts for both SEARCH-STRING and FILTER. It passes SEARCH-STRING to the locate executable program. It produces a `*Locate*' buffer that lists only those lines in the output of the locate program that contain a match for the regular expression FILTER; this is often useful to constrain a big search. ARG is the interactive prefix arg, which has the same effect as in `locate'. When called from Lisp, this function is identical with `locate', except that FILTER is not optional. (fn SEARCH-STRING FILTER &optional ARG)Flog-edit Setup a buffer to enter a log message. The buffer is put in mode MODE or `log-edit-mode' if MODE is nil. \ If SETUP is non-nil, erase the buffer and run `log-edit-hook'. Set mark and point around the entire contents of the buffer, so that it is easy to kill the contents of the buffer with \[kill-region]. Once the user is done editing the message, invoking the command \[log-edit-done] (`log-edit-done') will call CALLBACK to do the actual commit. PARAMS if non-nil is an alist of variables and buffer-local values to give them in the Log Edit buffer. Possible keys and associated values: `log-edit-listfun' -- function taking no arguments that returns the list of files that are concerned by the current operation (using relative names); `log-edit-diff-function' -- function taking no arguments that displays a diff of the files concerned by the current operation. `vc-log-fileset' -- the VC fileset to be committed (if any). If BUFFER is non-nil `log-edit' will jump to that buffer, use it to edit the log message and go back to the current buffer when done. Otherwise, it uses the current buffer. (fn CALLBACK &optional SETUP PARAMS BUFFER MODE &rest IGNORE)Flog-view-mode Major mode for browsing CVS log output. (fn)Vlpr-windows-system Non-nil if running on MS-DOS or MS Windows.Vlpr-lp-system Non-nil if running on a system type that uses the "lp" command.Vprinter-name The name of a local printer to which data is sent for printing. (Note that PostScript files are sent to `ps-printer-name', which see.) On Unix-like systems, a string value should be a name understood by lpr's -P option; otherwise the value should be nil. On MS-DOS and MS-Windows systems, a string value is taken as the name of a printer device or port, provided `lpr-command' is set to "". Typical non-default settings would be "LPT1" to "LPT3" for parallel printers, or "COM1" to "COM4" or "AUX" for serial printers, or "//hostname/printer" for a shared network printer. You can also set it to the name of a file, in which case the output gets appended to that file. If you want to discard the printed output, set this to "NUL".Vlpr-switches List of strings to pass as extra options for the printer program. It is recommended to set `printer-name' instead of including an explicit switch on this list. See `lpr-command'.Vlpr-command Name of program for printing a file. On MS-DOS and MS-Windows systems, if the value is an empty string then Emacs will write directly to the printer port named by `printer-name'. The programs `print' and `nprint' (the standard print programs on Windows NT and Novell Netware respectively) are handled specially, using `printer-name' as the destination for output; any other program is treated like `lpr' except that an explicit filename is given as the last argument.Flpr-buffer Print buffer contents without pagination or page headers. See the variables `lpr-switches' and `lpr-command' for customization of the printer command.Fprint-buffer Paginate and print buffer contents. The variable `lpr-headers-switches' controls how to paginate. If it is nil (the default), we run the `pr' program (or whatever program `lpr-page-header-program' specifies) to paginate. `lpr-page-header-switches' specifies the switches for that program. Otherwise, the switches in `lpr-headers-switches' are used in the print command itself; we expect them to request pagination. See the variables `lpr-switches' and `lpr-command' for further customization of the printer command.Flpr-region Print region contents without pagination or page headers. See the variables `lpr-switches' and `lpr-command' for customization of the printer command. (fn START END)Fprint-region Paginate and print the region contents. The variable `lpr-headers-switches' controls how to paginate. If it is nil (the default), we run the `pr' program (or whatever program `lpr-page-header-program' specifies) to paginate. `lpr-page-header-switches' specifies the switches for that program. Otherwise, the switches in `lpr-headers-switches' are used in the print command itself; we expect them to request pagination. See the variables `lpr-switches' and `lpr-command' for further customization of the printer command. (fn START END)Vls-lisp-support-shell-wildcards Non-nil means ls-lisp treats file patterns as shell wildcards. Otherwise they are treated as Emacs regexps (for backward compatibility).Flunar-phases Display the quarters of the moon for last month, this month, and next month. If called with an optional prefix argument ARG, prompts for month and year. This function is suitable for execution in an init file. (fn &optional ARG)Fm4-mode A major mode to edit m4 macro files. (fn)Finsert-kbd-macro Insert in buffer the definition of kbd macro MACRONAME, as Lisp code. MACRONAME should be a symbol. Optional second arg KEYS means also record the keys it is on (this is the prefix argument, when calling interactively). This Lisp code will, when executed, define the kbd macro with the same definition it has now. If you say to record the keys, the Lisp code will also rebind those keys to the macro. Only global key bindings are recorded since executing this Lisp code always makes global bindings. To save a kbd macro, visit a file of Lisp code such as your `~/.emacs', use this command, and then save the file. (fn MACRONAME &optional KEYS)Fkbd-macro-query Query user during kbd macro execution. With prefix argument, enters recursive edit, reading keyboard commands even within a kbd macro. You can give different commands each time the macro executes. Without prefix argument, asks whether to continue running the macro. Your options are: \ \[act] Finish this iteration normally and continue with the next. \[skip] Skip the rest of this iteration, and start the next. \[exit] Stop the macro entirely right now. \[recenter] Redisplay the screen, then ask again. \[edit] Enter recursive edit; ask again when you exit from that. (fn FLAG)Fapply-macro-to-region-lines Apply last keyboard macro to all lines in the region. For each line that begins in the region, move to the beginning of the line, and run the last keyboard macro. When called from lisp, this function takes two arguments TOP and BOTTOM, describing the current region. TOP must be before BOTTOM. The optional third argument MACRO specifies a keyboard macro to execute. This is useful for quoting or unquoting included text, adding and removing comments, or producing tables where the entries are regular. For example, in Usenet articles, sections of text quoted from another author are indented, or have each line start with `>'. To quote a section of text, define a keyboard macro which inserts `>', put point and mark at opposite ends of the quoted section, and use `\[apply-macro-to-region-lines]' to mark the entire section. Suppose you wanted to build a keyword table in C where each entry looked like this: { "foo", foo_data, foo_function }, { "bar", bar_data, bar_function }, { "baz", baz_data, baz_function }, You could enter the names in this format: foo bar baz and write a macro to massage a word into a table entry: \C-x ( \M-d { "\C-y", \C-y_data, \C-y_function }, \C-x ) and then select the region of un-tablified names and use `\[apply-macro-to-region-lines]' to build the table from the names. (fn TOP BOTTOM &optional MACRO)Fmail-extract-address-components Extract full name and canonical address from ADDRESS. ADDRESS should be in RFC 822 (or later) format. Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). If no name can be extracted, FULL-NAME will be nil. Also see `mail-extr-ignore-single-names' and `mail-extr-ignore-realname-equals-mailbox-name'. If the optional argument ALL is non-nil, then ADDRESS can contain zero or more recipients, separated by commas, and we return a list of the form ((FULL-NAME CANONICAL-ADDRESS) ...) with one element for each recipient. If ALL is nil, then if ADDRESS contains more than one recipients, all but the first is ignored. ADDRESS may be a string or a buffer. If it is a buffer, the visible (narrowed) portion of the buffer will be interpreted as the address. (This feature exists so that the clever caller might be able to avoid consing a string.) This function is primarily meant for when you're displaying the result to the user: Many prettifications are applied to the result returned. If you want to decode an address for further non-display use, you should probably use `mail-header-parse-address' instead. (fn ADDRESS &optional ALL)Fwhat-domain Convert mail domain DOMAIN to the country it corresponds to. (fn DOMAIN)Fmail-hist-define-keys Define keys for accessing mail header history. For use in hooks.Vmail-hist-keep-history Non-nil means keep a history for headers and text of outgoing mail.Fmail-hist-put-headers-into-history Put headers and contents of this message into mail header history. Each header has its own independent history, as does the body of the message. This function normally would be called when the message is sent.Vmail-use-rfc822 If non-nil, use a full, hairy RFC 822 (or later) parser on mail addresses. Otherwise, (the default) use a smaller, somewhat faster, and often correct parser.Vmail-dont-reply-to-names Regexp specifying addresses to prune from a reply message. If this is nil, it is set the first time you compose a reply, to a value which excludes your own email address. Matching addresses are excluded from the Cc field in replies, and also the To field, unless this would leave an empty To field.Fmail-file-babyl-p Return non-nil if FILE is a Babyl file. (fn FILE)Fmail-quote-printable Convert a string to the "quoted printable" Q encoding if necessary. If the string contains only ASCII characters and no troublesome ones, we return it unconverted. If the optional argument WRAPPER is non-nil, we add the wrapper characters =?ISO-8859-1?Q?....?=. (fn STRING &optional WRAPPER)Fmail-quote-printable-region Convert the region to the "quoted printable" Q encoding. If the optional argument WRAPPER is non-nil, we add the wrapper characters =?ISO-8859-1?Q?....?=. (fn BEG END &optional WRAPPER)Fmail-unquote-printable Undo the "quoted printable" encoding. If the optional argument WRAPPER is non-nil, we expect to find and remove the wrapper characters =?ISO-8859-1?Q?....?=. (fn STRING &optional WRAPPER)Fmail-unquote-printable-region Undo the "quoted printable" encoding in buffer from BEG to END. If the optional argument WRAPPER is non-nil, we expect to find and remove the wrapper characters =?ISO-8859-1?Q?....?=. On encountering malformed quoted-printable text, exits with an error, unless NOERROR is non-nil, in which case it continues, and returns nil when finished. Returns non-nil on successful completion. If UNIBYTE is non-nil, insert converted characters as unibyte. That is useful if you are going to character code decoding afterward, as Rmail does. (fn BEG END &optional WRAPPER NOERROR UNIBYTE)Fmail-fetch-field Return the value of the header field whose type is FIELD-NAME. If second arg LAST is non-nil, use the last field of type FIELD-NAME. If third arg ALL is non-nil, concatenate all such fields with commas between. If 4th arg LIST is non-nil, return a list of all such fields. If 5th arg DELETE is non-nil, delete all header lines that are included in the result. The buffer should be narrowed to just the header, else false matches may be returned from the message body. (fn FIELD-NAME &optional LAST ALL LIST DELETE)Vmail-abbrevs-mode Non-nil if Mail-Abbrevs mode is enabled. See the `mail-abbrevs-mode' command 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 `mail-abbrevs-mode'.Fmail-abbrevs-mode Toggle abbrev expansion of mail aliases (Mail Abbrevs mode). If called interactively, enable Mail-Abbrevs mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Mail Abbrevs mode is a global minor mode. When enabled, abbrev-like expansion is performed when editing certain mail headers (those specified by `mail-abbrev-mode-regexp'), based on the entries in your `mail-personal-alias-file'. (fn &optional ARG)Fmail-abbrevs-setup Initialize use of the `mailabbrev' package.Fbuild-mail-abbrevs Read mail aliases from personal mail alias file and set `mail-abbrevs'. By default this is the file specified by `mail-personal-alias-file'. (fn &optional FILE RECURSIVEP)Fdefine-mail-abbrev Define NAME as a mail alias abbrev that translates to DEFINITION. If DEFINITION contains multiple addresses, separate them with commas. Optional argument FROM-MAILRC-FILE means that DEFINITION comes from a mailrc file. In that case, addresses are separated with spaces and addresses with embedded spaces are surrounded by double-quotes. (fn NAME DEFINITION &optional FROM-MAILRC-FILE)Vmail-complete-style Specifies how \[mail-complete] formats the full name when it completes. If nil, they contain just the return address like: king@grassland.com If `parens', they look like: king@grassland.com (Elvis Parsley) If `angles', they look like: Elvis Parsley Fexpand-mail-aliases Expand all mail aliases in suitable header fields found between BEG and END. If interactive, expand in header fields. Suitable header fields are `To', `From', `Cc' and `Bcc', `Reply-To', and their `Resent-' variants. Optional second arg EXCLUDE may be a regular expression defining text to be removed from alias expansions. (fn BEG END &optional EXCLUDE)Fdefine-mail-alias Define NAME as a mail alias that translates to DEFINITION. This means that sending a message to NAME will actually send to DEFINITION. Normally, the addresses in DEFINITION must be separated by commas. If FROM-MAILRC-FILE is non-nil, then addresses in DEFINITION can be separated by spaces; an address can contain spaces if it is quoted with double-quotes. (fn NAME DEFINITION &optional FROM-MAILRC-FILE)Fmail-completion-at-point-function Compute completion data for mail aliases. For use on `completion-at-point-functions'.Fmail-complete Perform completion on header field or word preceding point. Completable headers are according to `mail-complete-alist'. If none matches current header, calls `mail-complete-function' and passes prefix ARG if any. (fn ARG)Fmailclient-send-it Pass current buffer on to the system's mail client. Suitable value for `send-mail-function'. The mail client is taken to be the handler of mailto URLs.Fmakefile-mode Major mode for editing standard Makefiles. If you are editing a file for a different make, try one of the variants `makefile-automake-mode', `makefile-gmake-mode', `makefile-makepp-mode', `makefile-bsdmake-mode' or, `makefile-imake-mode'. All but the last should be correctly chosen based on the file name, except if it is *.mk. This function ends by invoking the function(s) `makefile-mode-hook'. It is strongly recommended to use `font-lock-mode', because that provides additional parsing information. This is used for example to see that a rule action `echo foo: bar' is a not rule dependency, despite the colon. \{makefile-mode-map} In the browser, use the following keys: \{makefile-browser-map} Makefile mode can be configured by modifying the following variables: `makefile-browser-buffer-name': Name of the macro- and target browser buffer. `makefile-target-colon': The string that gets appended to all target names inserted by `makefile-insert-target'. ":" or "::" are quite common values. `makefile-macro-assign': The string that gets appended to all macro names inserted by `makefile-insert-macro'. The normal value should be " = ", since this is what standard make expects. However, newer makes such as dmake allow a larger variety of different macro assignments, so you might prefer to use " += " or " := " . `makefile-tab-after-target-colon': If you want a TAB (instead of a space) to be appended after the target colon, then set this to a non-nil value. `makefile-browser-leftmost-column': Number of blanks to the left of the browser selection mark. `makefile-browser-cursor-column': Column in which the cursor is positioned when it moves up or down in the browser. `makefile-browser-selected-mark': String used to mark selected entries in the browser. `makefile-browser-unselected-mark': String used to mark unselected entries in the browser. `makefile-browser-auto-advance-after-selection-p': If this variable is set to a non-nil value the cursor will automagically advance to the next line after an item has been selected in the browser. `makefile-pickup-everything-picks-up-filenames-p': If this variable is set to a non-nil value then `makefile-pickup-everything' also picks up filenames as targets (i.e. it calls `makefile-pickup-filenames-as-targets'), otherwise filenames are omitted. `makefile-cleanup-continuations': If this variable is set to a non-nil value then Makefile mode will assure that no line in the file ends with a backslash (the continuation character) followed by any whitespace. This is done by silently removing the trailing whitespace, leaving the backslash itself intact. IMPORTANT: Please note that enabling this option causes Makefile mode to MODIFY A FILE WITHOUT YOUR CONFIRMATION when "it seems necessary". `makefile-browser-hook': A function or list of functions to be called just before the browser is entered. This is executed in the makefile buffer. `makefile-special-targets-list': List of special targets. You will be offered to complete on one of those in the minibuffer whenever you enter a `.'. at the beginning of a line in Makefile mode. (fn)Fmakefile-automake-mode An adapted `makefile-mode' that knows about automake. (fn)Fmakefile-gmake-mode An adapted `makefile-mode' that knows about gmake. (fn)Fmakefile-makepp-mode An adapted `makefile-mode' that knows about makepp. (fn)Fmakefile-bsdmake-mode An adapted `makefile-mode' that knows about BSD make. (fn)Fmakefile-imake-mode An adapted `makefile-mode' that knows about imake. (fn)Fmake-command-summary Make a summary of current key bindings in the buffer *Summary*. Previous contents of that buffer are killed first.Fman Get a Un*x manual page and put it in a buffer. This command is the top-level command in the man package. It runs a Un*x command to retrieve and clean a manpage in the background and places the results in a `Man-mode' browsing buffer. The variable `Man-width' defines the number of columns in formatted manual pages. The buffer is displayed immediately. The variable `Man-notify-method' defines how the buffer is displayed. If a buffer already exists for this man page, it will be displayed without running the man command. For a manpage from a particular section, use either of the following. "cat(1)" is how cross-references appear and is passed to man as "1 cat". cat(1) 1 cat To see manpages from all sections related to a subject, use an "all pages" option (which might be "-a" if it's not the default), then step through with `Man-next-manpage' (\\[Man-next-manpage]) etc. Add to `Man-switches' to make this option permanent. -a chmod An explicit filename can be given too. Use -l if it might otherwise look like a page name. /my/file/name.1.gz -l somefile.1 An "apropos" query with -k gives a buffer of matching page names or descriptions. The pattern argument is usually an "grep -E" style regexp. -k pattern Note that in some cases you will need to use \[quoted-insert] to quote the SPC character in the above examples, because this command attempts to auto-complete your input based on the installed manual pages. (fn MAN-ARGS)Fman-follow Get a Un*x manual page of the item under point and put it in a buffer. (fn MAN-ARGS)FMan-bookmark-jump Default bookmark handler for Man buffers. (fn BOOKMARK)Fmaster-mode Toggle Master mode. If called interactively, enable Master mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. When Master mode is enabled, you can scroll the slave buffer using the following commands: \{master-mode-map} The slave buffer is stored in the buffer-local variable `master-of'. You can set this variable using `master-set-slave'. You can show yourself the value of `master-of' by calling `master-show-slave'. (fn &optional ARG)Vminibuffer-depth-indicate-mode Non-nil if Minibuffer-Depth-Indicate mode is enabled. See the `minibuffer-depth-indicate-mode' command 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 `minibuffer-depth-indicate-mode'.Fminibuffer-depth-indicate-mode Toggle Minibuffer Depth Indication mode. If called interactively, enable Minibuffer-Depth-Indicate mode if ARG is positive, and disable it if ARG is zero or negative. If called from Lisp, also enable the mode if ARG is omitted or nil, and toggle it if ARG is `toggle'; disable the mode otherwise. Minibuffer Depth Indication mode is a global minor mode. When enabled, any recursive use of the minibuffer will show the recursion depth in the minibuffer prompt. This is only useful if `enable-recursive-minibuffers' is non-nil. (fn &optional ARG)Fmessage-mode Major mode for editing mail and news to be sent. Like `text-mode', but with these additional commands: \{message-mode-map} (fn)Fmessage-mail Start editing a mail message to be sent. OTHER-HEADERS is an alist of header/value pairs. CONTINUE says whether to continue editing a message already being composed. SWITCH-FUNCTION is a function used to switch to and display the mail buffer. (fn &optional TO SUBJECT OTHER-HEADERS CONTINUE SWITCH-FUNCTION YANK-ACTION SEND-ACTIONS RETURN-ACTION &rest IGNORED)Fmessage-news Start editing a news article to be sent. (fn &optional NEWSGROUPS SUBJECT)Fmessage-reply Start editing a reply to the article in the current buffer. (fn &optional TO-ADDRESS WIDE SWITCH-FUNCTION)Fmessage-wide-reply Make a "wide" reply to the message in the current buffer. (fn &optional TO-ADDRESS)Fmessage-followup Follow up to the message in the current buffer. If TO-NEWSGROUPS, use that as the new Newsgroups line. (fn &optional TO-NEWSGROUPS)Fmessage-cancel-news Cancel an article you posted. If ARG, allow editing of the cancellation message. (fn &optional ARG)Fmessage-supersede Start composing a message to supersede the current message. This is done simply by taking the old article and adding a Supersedes header line with the old Message-ID.Fmessage-recover Reread contents of current buffer from its last auto-save file.Fmessage-forward Forward the current message via mail. Optional NEWS will use news to forward instead of mail. Optional DIGEST will use digest to forward. (fn &optional NEWS DIGEST)Fmessage-forward-make-body (fn FORWARD-BUFFER &optional DIGEST)Fmessage-forward-rmail-make-body (fn FORWARD-BUFFER)Fmessage-insinuate-rmail Let RMAIL use message to forward.Fmessage-resend Resend the current article to ADDRESS. (fn ADDRESS)Fmessage-bounce Re-mail the current message. This only makes sense if the current message is a bounce message that contains some mail you have written which has been bounced back to you.Fmessage-mail-other-window Like `message-mail' command, but display mail buffer in another window. (fn &optional TO SUBJECT)Fmessage-mail-other-frame Like `message-mail' command, but display mail buffer in another frame. (fn &optional TO SUBJECT)Fmessage-news-other-window Start editing a news article to be sent. (fn &optional NEWSGROUPS SUBJECT)Fmessage-news-other-frame Start editing a news article to be sent. (fn &optional NEWSGROUPS SUBJECT)Fmessage-bold-region Bold all nonblank characters in the region. Works by overstriking characters. Called from program, takes two arguments START and END which specify the range to operate on. (fn START END)Fmessage-unbold-region Remove all boldness (overstruck characters) in the region. Called from program, takes two arguments START and END which specify the range to operate on. (fn START END)Fmetafont-mode Major mode for editing Metafont sources. (fn)Fmetapost-mode Major mode for editing MetaPost sources. (fn)Fmetamail-interpret-header Interpret a header part of a MIME message in current buffer. Its body part is not interpreted at all.Fmetamail-interpret-body Interpret a body part of a MIME message in current buffer. Optional argument VIEWMODE specifies the value of the EMACS_VIEW_MODE environment variable (defaulted to 1). Optional argument NODISPLAY non-nil means buffer is not redisplayed as output is inserted. Its header part is not interpreted at all. (fn &optional VIEWMODE NODISPLAY)Fmetamail-buffer Process current buffer through `metamail'. Optional argument VIEWMODE specifies the value of the EMACS_VIEW_MODE environment variable (defaulted to 1). Optional argument BUFFER specifies a buffer to be filled (nil means current). Optional argument NODISPLAY non-nil means buffer is not redisplayed as output is inserted. (fn &optional VIEWMODE BUFFER NODISPLAY)Fmetamail-region Process current region through `metamail'. Optional argument VIEWMODE specifies the value of the EMACS_VIEW_MODE environment variable (defaulted to 1). Optional argument BUFFER specifies a buffer to be filled (nil means current). Optional argument NODISPLAY non-nil means buffer is not redisplayed as output is inserted. (fn BEG END &optional VIEWMODE BUFFER NODISPLAY)Fmh-smail Compose a message with the MH mail system. See `mh-send' for more details on composing mail.Fmh-smail-other-window Compose a message with the MH mail system in other window. See `mh-send' for more details on composing mail.Fmh-smail-batch Compose a message with the MH mail system. This function does not prompt the user for any header fields, and thus is suitable for use by programs that want to create a mail buffer. Users should use \[mh-smail] to compose mail. Optional arguments for setting certain fields include TO, SUBJECT, and OTHER-HEADERS. Additional arguments are IGNORED. This function remains for Emacs 21 compatibility. New applications should use `mh-user-agent-compose'. (fn &optional TO SUBJECT OTHER-HEADERS &rest IGNORED)Fmh-user-agent-compose Set up mail composition draft with the MH mail system. This is the `mail-user-agent' entry point to MH-E. This function conforms to the contract specified by `define-mail-user-agent' which means that this function should accept the same arguments as `compose-mail'. The optional arguments TO and SUBJECT specify recipients and the initial Subject field, respectively. OTHER-HEADERS is an alist specifying additional header fields. Elements look like (HEADER . VALUE) where both HEADER and VALUE are strings. Any additional arguments are IGNORED. (fn &optional TO SUBJECT OTHER-HEADERS &rest IGNORED)Fmh-send-letter Save draft and send message. When you are all through editing a message, you send it with this command. You can give a prefix argument ARG to monitor the first stage of the delivery; this output can be found in a buffer called "*MH-E Mail Delivery*". The hook `mh-before-send-letter-hook' is run at the beginning of this command. For example, if you want to check your spelling in your message before sending, add the function `ispell-message'. Unless `mh-insert-auto-fields' had previously been called manually, the function `mh-insert-auto-fields' is called to insert fields based upon the recipients. If fields are added, you are given a chance to see and to confirm these fields before the message is actually sent. You can do away with this confirmation by turning off the option `mh-auto-fields-prompt-flag'. In case the MH "send" program is installed under a different name, use `mh-send-prog' to tell MH-E the name. The hook `mh-annotate-msg-hook' is run after annotating the message and scan line. (fn &optional ARG)Fmh-fully-kill-draft Quit editing and delete draft message. If for some reason you are not happy with the draft, you can use this command to kill the draft buffer and delete the draft message. Use the command \[kill-buffer] if you don't want to delete the draft message.Fmh-version Display version information about MH-E and the MH mail handling system.Fmh-rmail Incorporate new mail with MH. Scan an MH folder if ARG is non-nil. This function is an entry point to MH-E, the Emacs interface to the MH mail system. (fn &optional ARG)Fmh-nmail Check for new mail in inbox folder. Scan an MH folder if ARG is non-nil. This function is an entry point to MH-E, the Emacs interface to the MH mail system. (fn &optional ARG)Fmh-folder-mode Major MH-E mode for "editing" an MH folder scan listing.\ You can show the message the cursor is pointing to, and step through the messages. Messages can be marked for deletion or refiling into another folder; these commands are executed all at once with a separate command. Options that control this mode can be changed with \[customize-group]; specify the "mh" group. In particular, please see the `mh-scan-format-file' option if you wish to modify scan's format. When a folder is visited, the hook `mh-folder-mode-hook' is run. Ranges ====== Many commands that operate on individual messages, such as `mh-forward' or `mh-refile-msg' take a RANGE argument. This argument can be used in several ways. If you provide the prefix argument (\[universal-argument]) to these commands, then you will be prompted for the message range. This can be any valid MH range which can include messages, sequences, and the abbreviations (described in the mh(1) man page): - Indicates all messages in the range to , inclusive. The range must be nonempty. :N :+N :-N Up to N messages beginning with (or ending with) message num. Num may be any of the predefined symbols: first, prev, cur, next or last. first:N prev:N next:N last:N The first, previous, next or last messages, if they exist. all All of the messages. For example, a range that shows all of these things is `1 2 3 5-10 last:5 unseen'. If the option `transient-mark-mode' is set to t and you set a region in the MH-Folder buffer, then the MH-E command will perform the operation on all messages in that region. \{mh-folder-mode-map} (fn)Fmhtml-mode Major mode based on `html-mode', but works with embedded JS and CSS. Code inside a