(save-environment file-name)

Saves the current state of Emacs into an environment file. The default file type is .Emacs_ENVIRONMENT.

(save-excursion local... expression...)

Evaluates the given expressions and returns the value of the last expression evaluated. It is much like progn except that before any expressions are executed, dot and the current buffer are marked (via the marker mechanism) and the search-string is saved.

(save-restriction locals... expression ...)

Saves the current dot, mark, buffer, search-string and buffer restriction; executes the provided expressions; then restores the saved information.

(save-window-excursion local... expression ...)

Saves the current dot, mark, buffer, search-string and window state; executes the expressions; then restores the saved information. save-window-excursion returns the value of the last expression evaluated. If the mark was not set before calling save-window-excursion, it will not be set afterwards.

(schedule-procedure function seconds)

Executes the given function after the specified number of seconds. If the number of seconds is zero, then any outstanding schedule for the specified function is removed. If a schedule is specified for a procedure that already has a schedule, the old schedule is replaced.

(scroll-one-column-left)

Scrolls the current window one column to the left.

(scroll-one-column-right)

Scrolls the current window one column to the right.

(scroll-one-line-down) ESC-z

Repositions the current window on the current buffer so that the line which is currently the second to the last line in the window becomes the last. This effectively moves the buffer down one line in the window.

(scroll-one-line-up) ^Z

Repositions the current window on the current buffer so that the line which is currently the second line in the window becomes the first. This effectively move the buffer up one line in the window.

(search-forward search-string) ^S

Searches for a match in the current buffer, moving forwards from dot and stopping at the end of the buffer. Dot is left at the end of the matched string if a match is found, or is unmoved if a match is not found.

(search-reverse search-string) ^R

Searches for a match in the current buffer, moving backwards from dot and stopping at the beginning of the buffer. Dot is left at the beginning of the matched string if a match is found, or is unmoved if a match is not found.

(self-insert) All inserting keys

This function is bound to those keys which insert themselves into the current buffer. It is roughly the same as (insert-character (last-key-struck) with the exception that it does not work unless it is bound to a key.

(send-eof-to-process process-name)

Unix only

Sends the special end-of-file (eof) message to the specified subprocess. Use the wait-for-process-input-request command to ensure that the process is ready.

(send-string-to-process process-name text)

Sends the specified string to the specified subprocess. Use the wait-for-process-input-request command to ensure that the process is ready.

(send-string-to-terminal text)

Sends the string to the terminal with no conversion or interpretation. This should only be used for such applications as loading function keys when Emacs starts up. If you disrupt the screen, Emacs will not know about it and will not fix it up automatically -- you will have to use redraw-display to do this.

(set variable-name expression)

Sets the value of a variable.

If you require a value of 1, then from the terminal, you can type the string true or on. If you require a value of 0, then from the terminal, you can type the string false or off.

(set-current-process process-name)

Sets the current subprocess to the specified process. The current subprocess name is used in all of the subprocess commands when a blank process name is specified.

(set-default variable-name expression)

Sets the default value of a variable.

If you require a value of 1, then from the terminal, you can type the string true or on. If you require a value of 0, then from the terminal, you can type the string false or off.

(set-mark) ^@ (NUL)

Sets the mark at the current location of dot.

(set-process-input-procedure process-name function)

Sets the input function for the specified subprocess. Whenever the subprocess asks for input, the specified procedure is run. This procedure may then supply the process with input (using send-string-to-process).

(set-process-name old-name new-name)

Changes the name of a subprocess. If the process is the current process, then the current process name is changed to the new name.

(set-process-output-buffer process-name buffer-name)

Connects a buffer to the output of the specified process. All output from the process appears in this buffer. The buffer is not allowed to grow indefinitely: if it becomes larger than maximum-DCL-buffer-size characters, it will be truncated by DCL-buffer-reduction characters before the next output from the process is inserted into the buffer.

(set-process-output-procedure process-name function)

Defines the name of an MLisp function to be called when a subprocess produces output. This function is called instead of the insertion of any output into an output buffer. Use the process-output function to obtain the latest line of output from the process.

(set-process-termination-procedure process-name function)

Defines an MLisp function to be called after a process has terminated. This function should be used to tidy up any resources or MLisp variables that the process may have used.

(setq variable-name expression)

Assigns a new value to a variable.

(setq-array array index... value)

Stores a value in an array.

(setq-default variable-name expression)

Assigns a new default value to a variable.

(shell)

Starts up an interactive DCL session in an Emacs buffer shell-n (where n is a sequence number used to identify multiple shells).

(show-buffer)

Describes the current buffer in a buffer called Show buffer.

(shrink-window) ^X-^Z

Makes the current window prefix-argument lines shorter, and the window below (or the one above if there is no window below) prefix-argument lines taller. The command cannot be used if there is only one window on the screen.

(sit-for expression)

Updates the display and pauses for expression tenths of a second. (sit-for 10) waits for one second. If an argument of zero is used, then no pause is executed, but the display is still updated.

(spell-check-word word)

Checks the spelling of the supplied word. If the word is spelled correctly then 1 is returned, otherwise 0 is returned.

(split-current-window) ^X-2

Splits the current window into two, dividing the space on the screen equally between the two windows.

(split-current-window-vertically) ^X-3

Takes the current window and splits it into two windows side-by-side, dividing the space on the screen equally between the two windows. An arbitrary number of windows can be created -- the only limit is the width of the screen. Each window must be at least one column wide.

(sprintf format-string args...)

sprintf provides a string formating command modelled after the C runtime library function of the same name.

Formating instructions start with a "%" character in the format-string and has the follow form:

%alignment width.precision type

sprintf support the following types:

(start-DCL-process process-name)

Starts a DCL subprocess. Use the other subprocess commands to attach buffers and MLisp procedures to the process. The new process becomes the current process.

This function is a synonym for the start-process function.

(start-process process-name)

Starts a DCL subprocess. Use the other subprocess commands to attach buffers and MLisp procedures to the process. The new process becomes the current process.

(start-remembering) ^X-(

Causes all following keystrokes to be remembered by Emacs as the current keyboard macro. The functions to which the keys are bound will be executed. The stop-remembering function terminates the keyboard macro definition.

(stop-remembering) ^X-)

Stops remembering keystrokes, as initiated by start-remembering. The remembered keystrokes are not forgotten and may be re-executed with the execute-keyboard-macro command.

(string-to-char string)

Returns the integer value of the first character of its string argument.

(string-extract string start end)

Extract a subpart of the string between positions start and end. The first string position is at 0, zero. Use negative position values to index from the end of the string.

If start is negative and end is zero then the end taken to be the end of the sting.

Any position that is outside of the strings length is set to the start, if its before the string, of the end of the string.

(string-index-of-first string find)

Returns the zero based index into string of the first occurrance of the string find. -1 is returned if the string is not found.

(string-index-of-last string find)

Returns the zero based index into string of the last occurrance of the string find. -1 is returned if the string is not found.

(string-index-of-string string find pos)

Returns the zero based index into string of the first occurrance of the string find start at position pos. -1 is returned if the string is not found.

(substr str pos n)

Returns the substring of string str starting at position pos (numbering from 1) and running for n characters. If pos is less than 0, then the length of the string is added to it; the same is done for n.

(switch-to-buffer buffer-name)^X-b

Changes the buffer association of the current window to the selected buffer.

(system-name)

Returns the name of the system on which Emacs is running. This should be the DECnet or ArpaNet (or whatever) host name of the machine.

(synchronise-files)

Use this command to have Emacs update all file buffers with newer copies of the files from the disk. For each file that has a newer version on the disk Emacs prompts asking you if you wish to read in the newer file.

(sys$fao ctrstr par-desc P1...)

Calls the VMS system service SYS$FAO.

(sys$filescan sl srcstr item result...)

Calls the VMS system service SYS$FILESCAN.

(sys$getdvi devnam item value...)

Calls the VMS system service SYS$GETDVI.

(sys$getjpi ctrl-str pidadr prcnam item value...)

Calls the VMS system service SYS$GETJPI.

(sys$getmsg msgid flags)

Calls the VMS system service SYS$GETMSG.

(sys$getsyi ctrl-str csiddadr nodename item value...)

Calls the VMS system service SYS$GETSYI.

(sys$setprn prcnam)

Calls the VMS system service SYS$SETPRN.

(sys$sndjbc func item value...)

Calls the VMS system service SYS$SNDJBC.

(system-name)

Returns the name of the system on which Emacs is running. This should be the DECnet or ArpaNet (or whatever) host name of the machine.