From bbanerje Tue May 14 10:06:01 1985 
Received: by sjuvax.UUCP (4.12/4.7) 
	id AA26204; Tue, 14 May 85 10:05:55 edt 
Date: Tue, 14 May 85 10:05:55 edt 
From: bbanerje (B. Banerjee) 
Message-Id: <8505141405.AA26204@sjuvax.UUCP> 
To: mendenha 
Subject: Re:  GNU Emacs 
Status: R 
 
>>  
>>      I've found someone here at RCA that can do the Emacs port to VMS. 
>> If I come by with a tape sometime, can I get a copy of the source? 
>>  
>> 				Henry 
>>  
 
I won't be around, but Joe will be.  Tell him that the sources are 
in : 
 
/src/local/text-handling/Editors/emacs. 
 
Also, we have a utility called 'ansitar' which should be able to 
write tapes that VMS can read (I'm not sure what to do about the 
UNIX subdirectories). 
 
You'll have to excuse the state of the sources.  I haven't 'cleaned' 
them up for distribution.  Most of the object files are lying around 
in addition to a bunch of RCS files (with an extension of ,v).  These 
you can get rid of. 
 
Anyway, I'll let your friend worry about the details. 
 
-- Binayak 
 
P.S. 
 
Some documentation of a preliminary nature is available for 
GNU EMACS.  I'm taking the liberty of sending this over to you 
by mail. 
 
From bbanerje Tue May 14 10:08:53 1985 
Received: by sjuvax.UUCP (4.12/4.7) 
	id AA26213; Tue, 14 May 85 10:07:41 edt 
Date: Tue, 14 May 85 10:07:41 edt 
From: bbanerje (B. Banerjee) 
Message-Id: <8505141407.AA26213@sjuvax.UUCP> 
To: mendenha 
Subject: Emacs functions 
Status: R 
 
 
 
 
 
 
 
 
 
 
               Command Summary For Gnu Emacs 
 
 
                    Richard M. Stallman 
 
 
 
 
 
 
 
_m_o_d_i_f_y-_s_y_n_t_a_x-_e_n_t_r_y 
 
Set syntax for character C according to string S. 
The first character of S should be one of the following: 
  Space    whitespace syntax.    w   word constituent.   _  symbol constituent. 
  (        open-parenthesis.     )   close-parenthesis. 
  "        string quote.            character-quote. 
  $        paired delimiter.     '   expression prefix operator. 
  <        comment starter.      >   comment ender. 
Only single-character comment start and end sequences are represented thus. 
Two-character sequences are represented as described below. 
The second character of S 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 and 4. 
 1 means C is the start of a two-char comment start sequence. 
 2 means C is the second character of such a sequence. 
 3 means C is the start of a two-char comment end sequence. 
 4 means C is the second character of such a sequence. 
 
 
_p_a_r_s_e-_p_a_r_t_i_a_l-_s_e_x_p 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 2 - 
 
 
 
Parse Lisp syntax starting at FROM until TO; return status of parse at TO. 
Parsing stops at TO or when certain criteria are met; 
 dot is set to where parsing stops. 
If fifth arg STATE is omitted or nil, 
 parsing assumes that FROM is the beginning of a function. 
Value is a list of six elements describing final state of parsing: 
 1. depth in parens. 
 2. character address of start of innermost containing list; nil if none. 
 3. character address of start of last complete sexp terminated. 
 4. non-nil if inside a string. 
    (it is the character that will terminate the string.) 
 5. t if inside a comment. 
 6. t if following a quote character. 
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 come to 
 any character that starts a sexp. 
Fifth arg STATE is a six-list like what this function returns. 
It is used to initialize the state of the parse. 
 
 
_i_n_t_e_r_a_c_t_i_v_e 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 3 - 
 
 
 
Specify a way of parsing arguments for interactive use of a function. 
For example, write 
  (defun fun (arg) "Doc string" (interactive "p") ...use arg...) 
to make arg be the prefix numeric argument when foo is called as a command. 
This 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. 
 
The argument of  interactive  is usually a string containing a code letter 
 followed by a prompt.  (Some code letters do not use I/O to get 
 the argument and do not need prompts.)  To prompt for multiple arguments, 
 give a code letter, its prompt, a newline, and another code letter, etc. 
If the argument is not a string, it is evaluated to get a list of 
 arguments to pass to the function. 
Just  (interactive)  means pass no args 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. 
C -- Command name: symbol with interactive function definition. 
d -- Value of dot as number.  Does not do I/O. 
D -- Directory name. 
f -- Existing file name. 
F -- Possibly nonexistent file name. 
k -- Key sequence (string). 
m -- Value of mark as number.  Does not do I/O. 
n -- Number read using minibuffer. 
p -- Prefix arg converted to number.  Does not do I/O. 
P -- Prefix arg in raw form.  Does not do I/O. 
r -- Region: dot and mark as 2 numeric args, smallest first.  Does no I/O. 
s -- Any string. 
S -- Any symbol. 
v -- Variable name: symbol that is boundp. 
x -- Lisp expression read but not evaluated. 
X -- Lisp expression read and evaluated. 
 
 
_s_e_t-_s_c_r_e_e_n-_h_e_i_g_h_t 
 
Set number of lines on screen available for use in windows. 
 
 
_s_e_t-_s_c_r_e_e_n-_w_i_d_t_h 
 
Set number of columns on screen available for display. 
 
 
_s_c_r_e_e_n-_h_e_i_g_h_t 
 
Return number of lines on screen available for use in windows. 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 4 - 
 
 
_s_c_r_e_e_n-_w_i_d_t_h 
 
Return number of columns on screen available for display. 
 
 
_d_i_n_g 
 
Beep, or flash the screen. 
 
 
_s_l_e_e_p-_f_o_r 
 
Pause, without updating display, for ARG seconds. 
 
 
_s_i_t-_f_o_r 
 
Perform redisplay, then wait for ARG seconds or until input is available 
 
 
_r_e_d_r_a_w-_d_i_s_p_l_a_y 
 
Clear the screen and output again what is supposed to appear on it. 
 
 
_w_i_n_d_o_w_p 
 
Returns t if OBJ is a window. 
 
 
_s_e_l_e_c_t_e_d-_w_i_n_d_o_w 
 
Return the window that the cursor appears in and commands apply to. 
 
 
_p_o_s-_v_i_s_i_b_l_e-_i_n-_w_i_n_d_o_w-_p 
 
Return t if position POS is currently on the screen in WINDOW. 
Returns nil if that position is scrolled vertically out of view. 
POS defautls to dot; WINDOW, to the selected window. 
 
 
_w_i_n_d_o_w-_b_u_f_f_e_r 
 
Return the buffer that WINDOW is displaying. 
 
 
_w_i_n_d_o_w-_h_e_i_g_h_t 
 
Return the number of lines in WINDOW (including its mode line). 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 5 - 
 
 
_w_i_n_d_o_w-_w_i_d_t_h 
 
Return the number of columns in WINDOW. 
 
 
_w_i_n_d_o_w-_h_s_c_r_o_l_l 
 
Return the number of columns by which WINDOW is scrolled from left margin. 
 
 
_s_e_t-_w_i_n_d_o_w-_h_s_c_r_o_l_l 
 
Set number of columns WINDOW is scrolled from left margin to NCOL. 
NCOL should be zero or positive. 
 
 
_w_i_n_d_o_w-_e_d_g_e_s 
 
Return a list of the edge coordinates of WINDOW. 
(LEFT TOP RIGHT BOTTOM), all relative to 0, 0 at top left corner of screen. 
 
 
_w_i_n_d_o_w-_d_o_t 
 
Return current value of dot in WINDOW. 
 
 
_w_i_n_d_o_w-_s_t_a_r_t 
 
Return position at which display currently starts in WINDOW. 
 
 
_s_e_t-_w_i_n_d_o_w-_d_o_t 
 
Make dot value in WINDOW be at position POS in WINDOW's buffer. 
 
 
_s_e_t-_w_i_n_d_o_w-_s_t_a_r_t 
 
Make display in WINDOW start at position POS in WINDOW's buffer. 
 
 
_d_e_l_e_t_e-_w_i_n_d_o_w 
 
Remove WINDOW from the display.  Default is selected window. 
 
 
_n_e_x_t-_w_i_n_d_o_w 
 
Return next window after WINDOW in canonical ordering of windows. 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 6 - 
 
 
_p_r_e_v_i_o_u_s-_w_i_n_d_o_w 
 
Return previous window before WINDOW in canonical ordering of windows. 
 
 
_o_t_h_e_r-_w_i_n_d_o_w 
 
Select a different window by moving down ARG times. 
 
 
_g_e_t-_l_r_u-_w_i_n_d_o_w 
 
Return the window least recently selected or used for display. 
 
 
_g_e_t-_l_a_r_g_e_s_t-_w_i_n_d_o_w 
 
Return the largest window in area. 
 
 
_g_e_t-_b_u_f_f_e_r-_w_i_n_d_o_w 
 
Return a window currently displaying BUFFER, or nil if none. 
 
 
_d_e_l_e_t_e-_o_t_h_e_r-_w_i_n_d_o_w_s 
 
Make WINDOW (or the selected window) fill the screen. 
 
 
_d_e_l_e_t_e-_w_i_n_d_o_w_s-_o_n 
 
Delete all windows showing BUFFER. 
 
 
_r_e_p_l_a_c_e-_b_u_f_f_e_r-_i_n-_w_i_n_d_o_w_s 
 
Replace BUFFER with some other buffer in all windows showing it. 
 
 
_s_h_o_w-_b_u_f_f_e_r 
 
Make WINDOW display BUFFER as its contents. 
BUFFER can be a buffer or buffer name. 
 
 
_s_e_l_e_c_t-_w_i_n_d_o_w 
 
Select WINDOW.  Most editing will apply to WINDOW's buffer. 
The main editor command loop selects the buffer of the selected window 
before each command. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 7 - 
 
 
_d_i_s_p_l_a_y-_b_u_f_f_e_r 
 
Make BUFFER appear in some window but don't select them. 
BUFFER can be a buffer or a buffer name. 
Returns the window displaying BUFFER. 
 
 
_s_p_l_i_t-_w_i_n_d_o_w 
 
Split WINDOW, putting SIZE lines in the first of the pair. 
WINDOW defaults to selected one and SIZE to half its size. 
If optional third arg HOR-FLAG is non-nil, split side by side 
and put SIZE columns in the first of the pair. 
 
 
_e_n_l_a_r_g_e-_w_i_n_d_o_w 
 
Make current window ARG lines bigger. 
>From program, optional second arg non-nil means grow sideways ARG columns. 
 
 
_s_h_r_i_n_k-_w_i_n_d_o_w 
 
Make current window ARG lines smaller. 
>From program, optional second arg non-nil means shrink sideways ARG columns. 
 
 
_s_c_r_o_l_l-_u_p 
 
Scroll text of current window upward ARG lines; or near full screen if no ARG. 
When calling from a program, supply a number as argument or nil. 
 
 
_s_c_r_o_l_l-_d_o_w_n 
 
Scroll text of current window downward ARG lines; or near full screen if no ARG. 
When calling from a program, supply a number as argument or nil. 
 
 
_s_c_r_o_l_l-_l_e_f_t 
 
Scroll selected window display ARG columns left. 
 
 
_s_c_r_o_l_l-_r_i_g_h_t 
 
Scroll selected window display ARG columns right. 
 
 
_s_c_r_o_l_l-_o_t_h_e_r-_w_i_n_d_o_w 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 8 - 
 
 
 
Scroll text of next window upward ARG lines; or near full screen if no ARG. 
The next window is the one below the current one; or the one at the top 
if the current one is at the bottom. 
When calling from a program, supply a number as argument or nil. 
 
 
_r_e_c_e_n_t_e_r 
 
Center dot in window and redisplay screen.  With ARG, put dot on line ARG. 
The desired position of dot is always relative to the current window. 
If there is no ARG (i.e., it is nil) then the entire screen is redisplayed. 
 
 
_m_o_v_e-_t_o-_s_c_r_e_e_n-_l_i_n_e 
 
Position dot relative to window. 
With no argument, position at text at center of window. 
An argument specifies screen line; zero means top of window, 
negative means relative to bottom of window. 
 
 
_s_a_v_e-_w_i_n_d_o_w-_e_x_c_u_r_s_i_o_n 
 
Execute body, preserving window sizes and contents. 
Restores which buffer appears in which window, where display starts, 
as well as dot and mark. 
 
 
_k_i_l_l-_e_m_a_c_s 
 
Exit the Emacs job and kill it.  Arg means no query. 
 
 
_d_u_m_p-_e_m_a_c_s 
 
Dump current state of Emacs into executable file FILENAME. 
Take symbols from SYMFILE (presumably the file you executed to run Emacs). 
 
 
_r_e_c_u_r_s_i_v_e-_e_d_i_t 
 
Invoke the editor command loop recursively. 
Do (throw 'exit nil) within the command loop to make this function return, 
or (throw 'exit t) to make this function signal an error. 
This function is called by the editor initialization 
to begin editing. 
 
 
_t_o_p-_l_e_v_e_l 
 
Exit all recursive editing levels. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 9 - 
 
 
_e_x_i_t-_r_e_c_u_r_s_i_v_e-_e_d_i_t 
 
Exit from the innermost recursive edit or minibuffer. 
 
 
_a_b_o_r_t-_r_e_c_u_r_s_i_v_e-_e_d_i_t 
 
Abort the command that requested this recursive edit or minibuffer input. 
 
 
_r_e_a_d-_k_e_y-_s_e_q_u_e_n_c_e 
 
Read a sequence of keystrokes and return as a string. 
The sequence is sufficient to specify a non-prefix command 
starting from the current local and global keymaps. 
One arg, PROMPT, a prompt string. 
 
 
_c_o_m_m_a_n_d-_e_x_e_c_u_t_e 
 
Execute CMD as an editor command. 
CMD may be an APPLYable Lisp function, 
 or a string (which is executed as a keyboard macro). 
 
 
_i_n_p_u_t-_p_e_n_d_i_n_g-_p 
 
T if command input is currently available with no waiting. 
Actually, the value is NIL only if we can be sure that no input is available. 
 
 
_r_e_c_e_n_t-_k_e_y_s 
 
Return string of last 100 chars read from terminal. 
 
 
_t_h_i_s-_c_o_m_m_a_n_d-_k_e_y_s 
 
Return string of the keystrokes that invoked this command. 
 
 
_l_a_s_t-_k_e_y-_s_t_r_u_c_k 
 
Return the last character input from the command input stream, as a number. 
 
 
_r_e_c_u_r_s_i_o_n-_d_e_p_t_h 
 
Return the current depth in recursive edits. 
 
 
_o_p_e_n-_d_r_i_b_b_l_e-_f_i_l_e 
 
Start writing all keyboard characters to a file named dribble. 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 10 - 
 
 
_d_i_s_c_a_r_d-_i_n_p_u_t 
 
Discard the contents of the terminal input buffer. 
Also flush any kbd macro definition in progress. 
 
 
_s_u_s_p_e_n_d-_e_m_a_c_s 
 
Stop Emacs and return to superior process.  You can resume. 
If optional arg STUFFSTRING is non-nil, its characters are stuffed 
to be read as terminal input by Emacs's superior shell. 
 
 
_s_t_a_r_t-_k_b_d-_m_a_c_r_o 
 
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. 
 
 
_e_n_d-_k_b_d-_m_a_c_r_o 
 
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. 
 
 
_c_a_l_l-_l_a_s_t-_k_b_d-_m_a_c_r_o 
 
Call the last keyboard macro that you defined. 
To make a macro permanent so you can call it even after 
defining others, use name-last-kbd-macro. 
 
 
_e_x_e_c_u_t_e-_k_b_d-_m_a_c_r_o 
 
Execute MACRO as string of editor command characters. 
If MACRO is a symbol, its function definition is used. 
COUNT is a repeat count, or nil for once, or 0 for infinite loop. 
 
 
_n_a_m_e-_l_a_s_t-_k_b_d-_m_a_c_r_o 
 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 11 - 
 
 
 
Assign a name to the last keyboard macro defined. 
One arg, a symbol, which is the name to define. 
The symbol's function definition becomes the keyboard macro string. 
Such a "function" cannot be called from Lisp, but it is a valid command 
definition for the editor command loop. 
 
 
_m_a_k_e-_k_e_y_m_a_p 
 
Construct and return a new keymap. 
All entries in it are NIL, meaning "command undefined". 
 
 
_m_a_k_e-_s_p_a_r_s_e-_k_e_y_m_a_p 
 
Construct and return a new sparse-keymap list. 
Its car is 'keymap and its cdr is an alist of (CHAR . DEFINITION). 
Initially the alist is nil. 
 
 
_k_e_y_m_a_p_p 
 
T if ARG is a keymap. 
A keymap is a vector of length 128, or a list (keymap . ALIST), 
where alist elements look like (CHAR . DEFN). 
 
 
_d_e_f_i_n_e-_k_e_y 
 
Args KEYMAP, KEYS, DEF.  Define key sequence KEYS, in KEYMAP, as DEF. 
KEYMAP is a keymap.  KEYS is a string meaning a sequence of keystrokes. 
DEF is usually a symbol with a function definition, suitable for use as a command. 
 
 
_l_o_o_k_u_p-_k_e_y 
 
In keymap KEYMAP, look up key sequence KEYS.  Return the definition. 
nil means undefined. 
Number as value means KEYS is "too long"; 
that is, characters 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 KEYS 
it takes to reach a non-prefix command. 
 
 
_k_e_y-_b_i_n_d_i_n_g 
 
Return the definition for command KEYS in current keymaps. 
KEYS is a string, a sequence of keystrokes. 
The definition is probably a symbol with a function definition. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 12 - 
 
 
_l_o_c_a_l-_k_e_y-_b_i_n_d_i_n_g 
 
Return the definition for command KEYS in current local keymap only. 
KEYS is a string, a sequence of keystrokes. 
The definition is probably a symbol with a function definition. 
 
 
_g_l_o_b_a_l-_k_e_y-_b_i_n_d_i_n_g 
 
Return the definition for command KEYS in current global keymap only. 
KEYS is a string, a sequence of keystrokes. 
The definition is probably a symbol with a function definition. 
 
 
_g_l_o_b_a_l-_s_e_t-_k_e_y 
 
Give KEY a definition of COMMAND. 
COMMAND is a symbol naming an interactively-callable function. 
KEY is a string representing a sequence of keystrokes. 
Note that if KEY has a local definition in the current buffer 
that local definition will continue to shadow any global definition. 
 
 
_l_o_c_a_l-_s_e_t-_k_e_y 
 
Give KEY a local definition of COMMAND. 
COMMAND is a symbol naming an interactively-callable function. 
KEY is a string representing a sequence of keystrokes. 
The definition goes in the current buffer's local map, 
which is shared with other buffers in the same major mode. 
 
 
_g_l_o_b_a_l-_u_n_s_e_t-_k_e_y 
 
Remove global definition of KEY. 
KEY is a string representing a sequence of keystrokes. 
 
 
_l_o_c_a_l-_u_n_s_e_t-_k_e_y 
 
Remove local definition of KEY. 
KEY is a string representing a sequence of keystrokes. 
 
 
_d_e_f_i_n_e-_p_r_e_f_i_x-_c_o_m_m_a_n_d 
 
Define SYMBOL as a prefix command. 
A keymap is created and stored as SYMBOL's function definition. 
 
 
_u_s_e-_g_l_o_b_a_l-_m_a_p 
 
Selects KEYMAP as the global keymap. 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 13 - 
 
 
_u_s_e-_l_o_c_a_l-_m_a_p 
 
Selects KEYMAP as the local keymap. 
nil for KEYMAP means no local keymap. 
 
 
_c_u_r_r_e_n_t-_l_o_c_a_l-_m_a_p 
 
Return current buffer's local keymap, or nil if it has none. 
 
 
_a_c_c_e_s_s_i_b_l_e-_k_e_y_m_a_p_s 
 
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). 
 
 
_k_e_y-_d_e_s_c_r_i_p_t_i_o_n 
 
Return a pretty description of key-sequence KEYS. 
Control characters turn into caret-sequences, spaces are put between sequence elements, etc. 
 
 
_s_i_n_g_l_e-_k_e_y-_d_e_s_c_r_i_p_t_i_o_n 
 
Return a pretty description of command character KEY. 
Control characters turn into C-whatever, etc. 
 
 
_t_e_x_t-_c_h_a_r-_d_e_s_c_r_i_p_t_i_o_n 
 
Return a pretty description of file-character CHAR. 
Control characters turn into caret-sequences, etc. 
 
 
_w_h_e_r_e-_i_s-_i_n_t_e_r_n_a_l 
 
Return list of key sequences that currently invoke command DEFINITION. 
 
 
_w_h_e_r_e-_i_s 
 
Print message listing key sequences that invoke specified command. 
Argument is a command definition, usually a symbol with a function definition. 
 
 
_d_e_s_c_r_i_b_e-_b_i_n_d_i_n_g_s 
 
Show a list of all defined keys, and their definitions. 
The list is put in a buffer, which is displayed. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 14 - 
 
 
_a_p_r_o_p_o_s 
 
Show all symbols whose names contain match for REGEXP. 
If optional arg PRED is non-nil, (funcall PRED SYM) is done 
for each symbol and a symbol is mentioned if that returns non-nil. 
Returns list of symbols found; if third arg NOPRINT is non-nil, 
does not display them, just returns the list. 
 
 
_e_x_e_c_u_t_e-_e_x_t_e_n_d_e_d-_c_o_m_m_a_n_d 
 
Read function name, then read its arguments and call it. 
 
 
_b_u_f_f_e_r-_l_i_s_t 
 
Return a list of all buffers. 
 
 
_g_e_t-_b_u_f_f_e_r 
 
Return the buffer named NAME (a string). 
It is found by looking up NAME in  buffer-alist. 
If there is no buffer named NAME, nil is returned. 
NAME may also be a buffer; it is returned. 
 
 
_g_e_t-_f_i_l_e-_b_u_f_f_e_r 
 
Return the buffer visiting file FILENAME (a string). 
If there is no such buffer, nil is returned. 
 
 
_g_e_t-_b_u_f_f_e_r-_c_r_e_a_t_e 
 
Like get-buffer but creates a buffer named NAME and returns it if none already exists. 
 
 
_c_r_e_a_t_e-_f_i_l_e-_b_u_f_f_e_r 
 
Creates a suitably named buffer for visiting FILENAME, and returns it. 
 
 
_b_u_f_f_e_r-_n_a_m_e 
 
Return the name of BUFFER, as a string. 
No arg means return name of current buffer. 
 
 
_b_u_f_f_e_r-_n_u_m_b_e_r 
 
Return the number of BUFFER. 
No arg means return number of current buffer. 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 15 - 
 
 
_b_u_f_f_e_r-_f_i_l_e-_n_a_m_e 
 
Return name of file BUFFER is visiting, or NIL if none. 
No argument means use current buffer as BUFFER. 
 
 
_b_u_f_f_e_r-_l_o_c_a_l-_v_a_r_i_a_b_l_e_s 
 
Return alist of buffer-local variables of BUFFER. 
Each element looks like (SYMBOL . VALUE). 
No argument means use current buffer as BUFFER. 
 
 
_b_u_f_f_e_r-_m_o_d_i_f_i_e_d-_p 
 
Return t if BUFFER is modified since file last read in or saved. 
No argument means use current buffer as BUFFER. 
 
 
_s_e_t-_b_u_f_f_e_r-_m_o_d_i_f_i_e_d-_p 
 
Mark current buffer as modified or unmodified according to FLAG. 
 
 
_r_e_n_a_m_e-_b_u_f_f_e_r 
 
Change current buffer's name to NEWNAME (a string). 
 
 
_o_t_h_e_r-_b_u_f_f_e_r 
 
Return an interesting buffer other than BUFFER. 
If BUFFER is omitted or nil, some interesting buffer is returned. 
 
 
_b_u_f_f_e_r-_f_l_u_s_h-_u_n_d_o 
 
Make BUFFER stop keeping undo information. 
 
 
_k_i_l_l-_b_u_f_f_e_r 
 
One arg, a string or a buffer.  Get rid of the specified buffer. 
 
 
_s_w_i_t_c_h-_t_o-_b_u_f_f_e_r 
 
One arg, a string or buffer.  Select the specified buffer in the current window. 
 
 
_p_o_p-_t_o-_b_u_f_f_e_r 
 
One arg, a string or window.  Select the specified buffer, popping up a window. 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 16 - 
 
 
_c_u_r_r_e_n_t-_b_u_f_f_e_r 
 
Return the current buffer as a Lisp buffer object. 
 
 
_s_e_t-_b_u_f_f_e_r 
 
Set the current buffer to the buffer or buffer name supplied as argument. 
This function will not accomplish buffer switching interactively. 
This is because returning to command level always selects 
the buffer tied to the current window, 
and this function has no effect on what buffer that is. 
Use switch-to-buffer or pop-to-buffer for interactive buffer selection. 
 
 
_e_r_a_s_e-_b_u_f_f_e_r 
 
Delete the entire contents of the current buffer. 
 
 
_l_i_s_t-_b_u_f_f_e_r_s 
 
Display a list of names of existing buffers. 
Inserts it in buffer *Buffer List* and displays that. 
Note that buffers with names starting with spaces are omitted. 
Non-null optional arg FILES-ONLY means mention only file buffers. 
 
 
_k_i_l_l-_a_l_l-_l_o_c_a_l-_v_a_r_i_a_b_l_e_s 
 
Eliminate all the buffer-local variable values of the current buffer. 
This buffer will then see the default values of all variables. 
 
 
_m_a_r_k_e_r-_b_u_f_f_e_r 
 
Return the buffer that MARKER points into, or nil if MARKER points nowhere. 
 
 
_m_a_r_k_e_r-_p_o_s_i_t_i_o_n 
 
Return the position MARKER points at, as a character number. 
 
 
_s_e_t-_m_a_r_k_e_r 
 
Position MARKER before character number NUMBER in BUFFER. 
BUFFER defaults to the current buffer. 
If NUMBER is nil, makes marker point nowhere. 
Then it no longer slows down editing in any buffer. 
Returns MARKER. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 17 - 
 
 
_c_o_p_y-_m_a_r_k_e_r 
 
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. 
 
 
_e_v_a_l-_m_i_n_i_b_u_f_f_e_r 
 
Return value of Lisp expression read using the minibuffer. 
Return Prompt with PROMPT. 
 
 
_r_e_a_d-_m_i_n_i_b_u_f_f_e_r 
 
Return Lisp object read using the minibuffer, prompting with PROMPT. 
 
 
_r_e_a_d-_s_t_r_i_n_g 
 
Read a string from the minibuffer, prompting with string PROMPT. 
 
 
_r_e_a_d-_i_n_p_u_t 
 
Read string from minibuffer, prompting with string PROMPT. 
Start off with second arg string INIT as minibuffer contents. 
 
 
_r_e_a_d-_n_o-_b_l_a_n_k_s-_i_n_p_u_t 
 
Args PROMPT and INIT, strings.  Read a string from the terminal, not allowing blanks. 
Prompt with PROMPT, and provide INIT as an initial value of the input string. 
 
 
_r_e_a_d-_c_o_m_m_a_n_d 
 
One arg PROMPT, a string.  Read the name of a command and return as a symbol. 
Prompts with PROMPT. 
 
 
_r_e_a_d-_f_u_n_c_t_i_o_n 
 
One arg PROMPT, a string.  Read the name of a function and return as a symbol. 
Prompts with PROMPT. 
 
 
_r_e_a_d-_v_a_r_i_a_b_l_e 
 
One arg PROMPT, a string.  Read the name of a variable and return as a symbol. 
Prompts with PROMPT. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 18 - 
 
 
_r_e_a_d-_b_u_f_f_e_r 
 
One arg PROMPT, a string.  Read the name of a buffer and return as a string. 
Prompts with PROMPT. 
Optional second arg is value to return if user enters an empty line. 
If optional third arg REQUIRE-MATCH is non-nil, only existing buffer names are allowed. 
 
 
_t_r_y-_c_o_m_p_l_e_t_i_o_n 
 
Return common substring of all completions of STRING in ALIST. 
Each car of each element of ALIST is tested to see if it begins with STRING. 
All that match are compared together; the longest initial sequence 
common to all matches is returned as a string. 
If there is no match at all, nil is returned. 
For an exact match, t is returned. 
 
ALIST can be an obarray instead of an alist. 
Then the print names of all symbols in the obarray are the possible matches. 
 
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. 
 
 
_a_l_l-_c_o_m_p_l_e_t_i_o_n_s 
 
Search for partial matches to STRING in ALIST. 
Each car of each element of ALIST is tested to see if it begins with STRING. 
The value is a list of all the strings from ALIST that match. 
ALIST can be an obarray instead of an alist. 
Then the print names of all symbols in the obarray are the possible matches. 
 
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. 
 
 
_c_o_m_p_l_e_t_i_n_g-_r_e_a_d 
 
Read a string in the minibuffer, with completion. 
Args are PROMPT, TABLE, PREDICATE, REQUIRE-MATCH and INITIAL-INPUT. 
PROMPT is a string to prompt with; normally it ends in a colon and a space. 
TABLE is an alist whose elements' cars are strings, or an obarray (see try-completion). 
PREDICATE limits completion to a subset of TABLE; see try-completion for details. 
If REQUIRE-MATCH is non-nil, the user is not allowed to exit unless 
 the input is (or completes to) an element of TABLE. 
 If it is also not t, ^M does not exit if it does non-null completion. 
If INITIAL-INPUT is non-nil, insert it in the minibuffer initially. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 19 - 
 
 
_m_i_n_i_b_u_f_f_e_r-_c_o_m_p_l_e_t_e 
 
Complete the minibuffer contents as far as possible. 
 
 
_m_i_n_i_b_u_f_f_e_r-_c_o_m_p_l_e_t_e-_w_o_r_d 
 
Complete the minibuffer contents at most a single word. 
 
 
_m_i_n_i_b_u_f_f_e_r-_c_o_m_p_l_e_t_e-_a_n_d-_e_x_i_t 
 
Complete the minibuffer contents, and maybe exit. 
Exit if the name is valid with no completion needed. 
If name was completed to a valid match, 
a repetition of this command will exit. 
 
 
_m_i_n_i_b_u_f_f_e_r-_c_o_m_p_l_e_t_i_o_n-_h_e_l_p 
 
Display a list of possible completions of the current minibuffer contents. 
 
 
_s_e_l_f-_i_n_s_e_r_t-_a_n_d-_e_x_i_t 
 
Terminate minibuffer input. 
 
 
_e_x_i_t-_m_i_n_i_b_u_f_f_e_r 
 
Terminate this minibuffer argument. 
 
 
_f_i_l_e-_n_a_m_e-_d_i_r_e_c_t_o_r_y 
 
Return the directory component in file name NAME. 
Return nil if NAME does not include a directory. 
Otherwise return a string ending in a slash. 
 
 
_f_i_l_e-_n_a_m_e-_n_o_n_d_i_r_e_c_t_o_r_y 
 
Return file name NAME sans its directory. 
This is everything after the last slash in NAME, if NAME contains a slash. 
 
 
_m_a_k_e-_t_e_m_p-_n_a_m_e 
 
Generate temporary name (string) starting with PREFIX (a string). 
 
 
_e_x_p_a_n_d-_f_i_l_e-_n_a_m_e 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 20 - 
 
 
 
Convert FILENAME to absolute, and canonicalize it. 
Second arg DEFAULT is directory to start with if FILENAME is relative 
 (does not start with slash); if DEFAULT is nil or missing, 
the current buffer's value of default-directory is used. 
Filenames containing . or .. as components are simplified; 
initial ~ is expanded.  See also the function substitute-in-file-name. 
 
 
_s_u_b_s_t_i_t_u_t_e-_i_n-_f_i_l_e-_n_a_m_e 
 
Substitute environment variables referred to in STRING. 
A $ begins a request to substitute; the env variable name is 
the alphanumeric characters after the $, or else is surrounded by braces. 
If a ~ appears following a /, everything through that / is discarded. 
 
 
_c_o_p_y-_f_i_l_e 
 
Copy FILE to NEWNAME.  Both args strings. 
 
 
_d_e_l_e_t_e-_f_i_l_e 
 
Delete specified file.  One argument, a file name string. 
If file has multiple names, it continues to exist with the other names. 
 
 
_r_e_n_a_m_e-_f_i_l_e 
 
Rename FILE as NEWNAME.  Both args strings. 
If file has names other than FILE, it continues to have those names. 
 
 
_a_d_d-_n_a_m_e-_t_o-_f_i_l_e 
 
Give FILE additional name NEWNAME.  Both args strings. 
 
 
_m_a_k_e-_s_y_m_b_o_l_i_c-_l_i_n_k 
 
Make a symbolic link to FILENAME, named LINKNAME.  Both args strings. 
 
 
_f_i_l_e-_e_x_i_s_t_s-_p 
 
Return t if file FILENAME exists and you can read it. 
 
 
_f_i_l_e-_w_r_i_t_a_b_l_e-_p 
 
Return t if file FILENAME can be written or created by you. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 21 - 
 
 
_f_i_l_e-_s_y_m_l_i_n_k-_p 
 
Return t if file FILENAME is the name of a symbolic link. 
 
 
_f_i_l_e-_d_i_r_e_c_t_o_r_y-_p 
 
Return t if file FILENAME is the name of a directory. 
 
 
_f_i_l_e-_m_o_d_e_s 
 
Return mode bits of FILE, as an integer. 
 
 
_s_e_t-_f_i_l_e-_m_o_d_e_s 
 
Set mode bits of FILE to MODE (an integer). 
Only the 12 low bits of MODE are used. 
 
 
_i_n_s_e_r_t-_f_i_l_e-_c_o_n_t_e_n_t_s 
 
Insert contents of file FILENAME after dot. 
Returns list of absolute pathname and length of data 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. 
 
 
_w_r_i_t_e-_r_e_g_i_o_n 
 
Write current region into specified file. 
When called from a program, takes three arguments: 
START, END and FILENAME.  START and END are buffer positions. 
Optional fourth argument APPEND if non-nil means 
  append to existing file contents (if any). 
Optional fifth argument VISIT if t means 
  set last-save-file-modtime of buffer to this file's modtime 
  and mark buffer not modified. 
If VISIT is neither t nor nil, it means do not print 
  the "Wrote file" message. 
 
 
_v_e_r_i_f_y-_v_i_s_i_t_e_d-_f_i_l_e-_m_o_d_t_i_m_e 
 
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. 
 
 
_c_l_e_a_r-_v_i_s_i_t_e_d-_f_i_l_e-_m_o_d_t_i_m_e 
 
Clear out records of last mod time of visited file. 
Next attempt to save will certainly not complain of a discrepancy. 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 22 - 
 
 
_d_o-_a_u_t_o-_s_a_v_e 
 
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. 
 
Non-nil argument means do not print any message. 
 
 
_s_e_t-_b_u_f_f_e_r-_a_u_t_o-_s_a_v_e_d 
 
Make current buffer as auto-saved with its current text. 
No auto-save file will be written until the buffer changes again. 
 
 
_r_e_c_e_n_t-_a_u_t_o-_s_a_v_e-_p 
 
Return t if buffer has been auto-saved since last read in or saved. 
 
 
_r_e_a_d-_f_i_l_e-_n_a_m_e-_i_n_t_e_r_n_a_l 
 
Internal subroutine for read-file-name.  Do not call this. 
 
 
_r_e_a_d-_f_i_l_e-_n_a_m_e 
 
Read file name, prompting with PROMPT and completing in directory DIR. 
Value is not expanded!  You must call expand-file-name yourself. 
Default name to DEFAULT if user enters a null string. 
Fourth arg MUSTMATCH non-nil means require existing file's name. 
 Non-nil and non-t means also require confirmation after completion. 
DIR defaults to current buffer's directory default. 
 
 
_d_i_r_e_c_t_o_r_y-_f_i_l_e_s 
 
Return a list of names of files in DIRECTORY. 
If FULL is non-NIL, absolute pathnames of the files are returned. 
 
 
_f_i_l_e-_n_a_m_e-_c_o_m_p_l_e_t_i_o_n 
 
Complete file name FILE in directory DIR. 
Returns the longest string common to all filenames in DIR 
that start with FILE. 
If there is only one and FILE matches it exactly, returns t. 
Returns nil if DIR contains no name starting with FILE. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 23 - 
 
 
_f_i_l_e-_n_a_m_e-_a_l_l-_c_o_m_p_l_e_t_i_o_n_s 
 
Return a list of all completions of file name FILE in directory DIR. 
 
 
_f_i_l_e-_a_t_t_r_i_b_u_t_e_s 
 
Return a list of attributes of file FILENAME. 
Elements are: 
 0. t for directory, string (name linked to) for symbolic link, or nil. 
 1. Number of links to file. 
 2. File uid. 
 3. File gid. 
 4. Last access time, as a list of two integers. 
  First integer has high-order 16 bits of time, second has low 16 bits. 
 5. Last modification time, likewise. 
 6. Creation time, likewise. 
 7. Size in bytes. 
 8. File modes, as a string of nine letters or dashes as in ls -l. 
 
 
_f_o_r_w_a_r_d-_c_h_a_r 
 
Move dot right ARG characters (left if ARG negative). 
On reaching end of buffer, stop and signal error. 
 
 
_b_a_c_k_w_a_r_d-_c_h_a_r 
 
Move dot left ARG characters (right if ARG negative). 
On reaching end of buffer, stop and signal error. 
 
 
_f_o_r_w_a_r_d-_l_i_n_e 
 
Move dot forward past ARG newlines. 
If ARG is zero, position after previous newline. 
If ARG is negative, position after -ARG'th newline before that one. 
If scan reaches end of buffer, stop there without error; 
 value is count of lines left to move. 
 
 
_b_e_g_i_n_n_i_n_g-_o_f-_l_i_n_e 
 
Move dot to beginning of current line. 
With argument ARG not nil or 1, move forward ARG - 1 lines first. 
If scan reaches end of buffer, stop there without error. 
 
 
_e_n_d-_o_f-_l_i_n_e 
 
Move dot to beginning of current line. 
With argument ARG not nil or 1, move forward ARG - 1 lines first. 
If scan reaches end of buffer, stop there without error. 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 24 - 
 
 
_d_e_l_e_t_e-_c_h_a_r 
 
Delete the following ARG characters (previous, with negative arg). 
Optional second arg KILLFLAG non-nil means kill instead (save in kill ring). 
Interactively, ARG is the prefix arg, and kill if ARG was explicitly specd. 
 
 
_d_e_l_e_t_e-_b_a_c_k_w_a_r_d-_c_h_a_r 
 
Delete the previous ARG characters (following, with negative ARG). 
Optional second arg KILLFLAG non-nil means kill instead (save in kill ring). 
Interactively, ARG is the prefix arg, and kill if ARG was explicitly specd. 
 
 
_s_e_l_f-_i_n_s_e_r_t-_c_o_m_m_a_n_d 
 
Insert this character. 
 
 
_n_e_w_l_i_n_e 
 
Insert a newline.  With arg, insert that many newlines. 
 
 
_u_p_c_a_s_e 
 
One arg, a character or string.  Convert it to upper case and return that. 
 
 
_d_o_w_n_c_a_s_e 
 
One arg, a character or string.  Convert it to lower case and return that. 
 
 
_c_a_p_i_t_a_l_i_z_e 
 
One arg, a character or string.  Convert it to capitalized form and return that. 
This means that each word's first character is upper case and the rest is lower case. 
 
 
_u_p_c_a_s_e-_r_e_g_i_o_n 
 
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 
dot and the mark is operated on. 
 
 
_d_o_w_n_c_a_s_e-_r_e_g_i_o_n 
 
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 
dot and the mark is operated on. 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 25 - 
 
 
_c_a_p_i_t_a_l_i_z_e-_r_e_g_i_o_n 
 
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 
dot and the mark is operated on. 
Capitalized form means each word's first character is upper case 
and the rest of it is lower case. 
 
 
_u_p_c_a_s_e-_w_o_r_d 
 
Convert following word (or ARG words) to upper case, moving over. 
With negative argument, convert previous words but do not move. 
 
 
_d_o_w_n_c_a_s_e-_w_o_r_d 
 
Convert following word (or ARG words) to lower case, moving over. 
With negative argument, convert previous words but do not move. 
 
 
_c_a_p_i_t_a_l_i_z_e-_w_o_r_d 
 
Capitalize the following word (or ARG words), moving over. 
This gives the word(s) a first character in upper case 
and the rest lower case. 
With negative argument, capitalize previous words but do not move. 
 
 
_c_u_r_r_e_n_t-_c_o_l_u_m_n 
 
Return the horizontal position of dot.  The left margin is column 0. 
Ignores finite width of screen, 
 
 
_i_n_d_e_n_t-_t_o 
 
Indent from dot with tabs and spaces until COLUMN is reached. 
Always do at least MIN spaces even if that goes past COLUMN; 
by default, MIN is zero. 
 
 
_c_u_r_r_e_n_t-_i_n_d_e_n_t_a_t_i_o_n 
 
Return the indentation of the current line. 
This is the horizontal position of the character 
following any initial whitespace. 
 
 
_m_o_v_e-_t_o-_c_o_l_u_m_n 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 26 - 
 
 
 
Move dot to column COLUMN in the current line. 
Does not change the text, only dot. 
Ignores finite width of screen. 
 
 
_v_e_r_t_i_c_a_l-_m_o_t_i_o_n 
 
Move to start of screen line LINES lines down. 
If LINES is negative, this is moving up. 
Sets dot to position found; this may be start of line 
 or just the start of a continuation line. 
Returns number of lines moved; may be closer to zero than LINES 
 if end of buffer was reached. 
 
 
_l_o_o_k_i_n_g-_a_t 
 
t if text after dot matches regular expression PAT. 
 
 
_s_t_r_i_n_g-_m_a_t_c_h 
 
Return index of start of first match for REGEXP in STRING, or nil. 
If third arg START is non-nil, start search at that index in STRING. 
 
 
_s_c_a_n-_b_u_f_f_e_r 
 
Scan from character number FROM for COUNT occurrences of character C. 
Returns the character number of the position after the character found. 
If not found, returns char number of beginning or end of buffer. 
 
 
_s_k_i_p-_c_h_a_r_s-_f_o_r_w_a_r_d 
 
Move dot forward, stopping before a char not in CHARS, or at position LIM. 
CHARS is like the inside of a [...] in a regular expression 
except that ] is never special and  quotes ^, - or . 
Thus, with arg "a-zA-Z", this skips letters stopping before first nonletter. 
With arg "^a-zA-Z", skips nonletters stopping before first letter. 
 
 
_s_k_i_p-_c_h_a_r_s-_b_a_c_k_w_a_r_d 
 
Move dot backward, stopping after a char not in CHARS, or at position LIM. 
See skip-chars-forward for details. 
 
 
_s_e_a_r_c_h-_b_a_c_k_w_a_r_d 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 27 - 
 
 
 
Search backward from dot for STRING. 
Set dot to the beginning of the occurrence found, and return t. 
An optional second argument bounds the search; it is a buffer position. 
The match found must not extend before that position. 
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 is repeat count--search for successive occurrences. 
 
 
_s_e_a_r_c_h-_f_o_r_w_a_r_d 
 
Search forward from dot for STRING. 
Set dot to the end of the occurrence found, and return t. 
An optional second argument bounds the search; it is a buffer position. 
The match found must not extend before that position. 
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 is repeat count--search for successive occurrences. 
 
 
_w_o_r_d-_s_e_a_r_c_h-_b_a_c_k_w_a_r_d 
 
Search backward from dot for STRING, ignoring differences in punctuation. 
Set dot to the beginning of the occurrence found, and return t. 
An optional second argument bounds the search; it is a buffer position. 
The match found must not extend before that position. 
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 is repeat count--search for successive occurrences. 
 
 
_w_o_r_d-_s_e_a_r_c_h-_f_o_r_w_a_r_d 
 
Search forward from dot for STRING, ignoring differences in punctuation. 
Set dot to the end of the occurrence found, and return t. 
An optional second argument bounds the search; it is a buffer position. 
The match found must not extend before that position. 
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 is repeat count--search for successive occurrences. 
 
 
_r_e-_s_e_a_r_c_h-_b_a_c_k_w_a_r_d 
 
Search backward from dot for regular expression REGEXP. 
Set dot to the beginning of the occurrence found, and return t. 
An optional second argument bounds the search; it is a buffer position. 
The match found must not extend before that position. 
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 is repeat count--search for successive occurrences. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 28 - 
 
 
_r_e-_s_e_a_r_c_h-_f_o_r_w_a_r_d 
 
Search forward from dot for regular expression REGEXP. 
Set dot to the end of the occurrence found, and return t. 
An optional second argument bounds the search; it is a buffer position. 
The match found must not extend before that position. 
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 is repeat count--search for successive occurrences. 
 
 
_r_e_p_l_a_c_e-_m_a_t_c_h 
 
Replace text matched by last search with NEWTEXT. 
If second arg FIXEDCASE is non-nil, do not alter case of replacement text. 
Otherwise convert to all caps or cap initials, like replaced text. 
If third arg LITERAL is non-nil, insert NEWTEXT literally. 
Otherwise treat  in NEWTEXT as "substitute original matched text" 
and <n> as "substitute match for .) number <n>". 
Leaves dot at end of replacement text. 
 
 
_m_a_t_c_h-_b_e_g_i_n_n_i_n_g 
 
Return the character number of start of text matched by last regexp searched for. 
ARG, a number, specifies which parenthesized expression in the last regexp. 
Zero means the entire text matched by the whole regexp. 
 
 
_m_a_t_c_h-_e_n_d 
 
Return the character number of end of text matched by last regexp searched for. 
ARG, a number, specifies which parenthesized expression in the last regexp. 
Zero means the entire text matched by the whole regexp. 
 
 
_m_a_t_c_h-_d_a_t_a 
 
Return list containing all info on what the last search matched. 
 
 
_s_t_o_r_e-_m_a_t_c_h-_d_a_t_a 
 
Set internal data on last search match from elements of LIST. 
LIST should have been created by calling match-data previously. 
 
 
_r_e_g_i_o_n-_a_r_o_u_n_d-_m_a_t_c_h 
 
Put dot and the mark around the text matched by part of last regexp searched for. 
ARG, a number (the prefix arg, in interactive use) specifies which parenthesized 
expression in the last regexp.  Zero means the entire text matched by the whole regexp. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 29 - 
 
 
_r_e_g_e_x_p-_q_u_o_t_e 
 
Return a regexp string which matches exactly STRING and nothing else. 
 
 
_u_n_d_o-_b_o_u_n_d_a_r_y 
 
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. 
 
 
_u_n_d_o-_m_o_r_e 
 
Undo back N undo-boundaries beyond what was already undone recently. 
Call undo-start to get ready to undo recent changes, 
then call undo-more one or more times to undo them. 
 
 
_u_n_d_o-_s_t_a_r_t 
 
Move undo-pointer to front of undo records. 
The next call to undo-more will undo the most recently made change. 
 
 
_c_o_n_s 
 
Create a new cons, give it CAR and CDR as components, and return it. 
 
 
_l_i_s_t 
 
Return a newly created list whose elements are the arguments (any number). 
 
 
_m_a_k_e-_l_i_s_t 
 
Return a newly created list of length LENGTH, with each element being INIT. 
 
 
_m_a_k_e-_v_e_c_t_o_r 
 
Return a newly created vector of length LENGTH, with each element being INIT. 
 
 
_v_e_c_t_o_r 
 
Return a newly created vector with our arguments (any number) as its elements. 
 
 
_m_a_k_e-_s_y_m_b_o_l 
 
Return a newly allocated uninterned symbol whose name is NAME. 
Its value and function definition are void, and its property list is NIL. 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 30 - 
 
 
_m_a_k_e-_m_a_r_k_e_r 
 
Return a newly allocated marker which does not point at any place. 
 
 
_m_a_k_e-_s_t_r_i_n_g 
 
Return a newly created string of length LENGTH, with every element being INIT. 
Both LENGTH and INIT must be numbers. 
 
 
_p_u_r_e_c_o_p_y 
 
Make a copy of OBJECT in pure storage. 
Recursively copies contents of vectors and cons cells. 
Does not copy symbols. 
 
 
_g_a_r_b_a_g_e-_c_o_l_l_e_c_t 
 
Reclaim storage for Lisp objects no longer needed. 
Returns info on amount of space in use: 
 ((USED-CONSES . FREE-CONSES) (USED-SYMS . FREE-SYMS) 
  (USED-MARKERS . FREE-MARKERS) USED-STRING-CHARS USED-VECTOR-SLOTS) 
Garbage collection happens automatically if you cons more than 
gc-cons-threshold  bytes of Lisp data since previous garbage collection. 
 
 
_e_q 
 
T if the two args are the same Lisp object. 
 
 
_n_u_l_l 
 
T if OBJECT is nil. 
 
 
_c_o_n_s_p 
 
T if OBJECT is a cons cell.. 
 
 
_a_t_o_m 
 
T if OBJECT is not a cons cell.  This includes nil. 
 
 
_l_i_s_t_p 
 
T if OBJECT is a list.  This includes nil. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 31 - 
 
 
_n_l_i_s_t_p 
 
T if OBJECT is not a list.  Lists include nil. 
 
 
_i_n_t_e_g_e_r_p 
 
T if OBJECT is a number. 
 
 
_n_a_t_n_u_m_p 
 
T if OBJECT is a nonnegative number. 
 
 
_s_y_m_b_o_l_p 
 
T if OBJECT is a symbol. 
 
 
_v_e_c_t_o_r_p 
 
T if OBJECT is a vector. 
 
 
_s_t_r_i_n_g_p 
 
T if OBJECT is a string. 
 
 
_a_r_r_a_y_p 
 
T if OBJECT is an array (string or vector). 
 
 
_s_e_q_u_e_n_c_e_p 
 
T if OBJECT is a sequence (list of array). 
 
 
_b_u_f_f_e_r_p 
 
T if OBJECT is an editor buffer. 
 
 
_m_a_r_k_e_r_p 
 
T if OBJECT is a marker (editor pointer). 
 
 
_i_n_t_e_g_e_r-_o_r-_m_a_r_k_e_r-_p 
 
T if OBJECT is an integer or a marker (editor pointer). 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 32 - 
 
 
_s_u_b_r_p 
 
T if OBJECT is a build-in function. 
 
 
_c_h_a_r-_o_r-_s_t_r_i_n_g-_p 
 
T if OBJECT is a character (a number) or a string. 
 
 
_c_a_r 
 
Returns the car of the specified cons cell. 
 
 
_c_d_r 
 
Returns the cdr of the specified cons cell. 
 
 
_s_e_t_c_a_r 
 
Set the car of CONSCELL to be NEWCAR.  Returns NEWCAR. 
 
 
_s_e_t_c_d_r 
 
Set the cdr of CONSCELL to be NEWCDR.  Returns NEWCDR. 
 
 
_b_o_u_n_d_p 
 
T if SYMBOL's value is not void. 
 
 
_f_b_o_u_n_d_p 
 
T if SYMBOL's function definition is not void. 
 
 
_m_a_k_u_n_b_o_u_n_d 
 
Make SYMBOL's value be void. 
 
 
_f_m_a_k_u_n_b_o_u_n_d 
 
Make SYMBOL's function definition be void. 
 
 
_s_y_m_b_o_l-_f_u_n_c_t_i_o_n 
 
Return SYMBOL's function definition. 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 33 - 
 
 
_s_y_m_b_o_l-_p_l_i_s_t 
 
Return SYMBOL's property list. 
 
 
_s_y_m_b_o_l-_n_a_m_e 
 
Return SYMBOL's name, a string. 
 
 
_f_s_e_t 
 
Set SYMBOL's function definition to NEWVAL, and return NEWVAL. 
 
 
_s_e_t_p_l_i_s_t 
 
Set SYMBOL's property list to NEWVAL, and return NEWVAL. 
 
 
_s_y_m_b_o_l-_v_a_l_u_e 
 
Return SYMBOL's value. 
 
 
_d_e_f_a_u_l_t-_v_a_l_u_e 
 
Return SYMBOL's default value. 
This is the value that is seen in buffers that do not have their own values 
for this variable. 
 
 
_s_e_t 
 
Set SYMBOL's value to NEWVAL, and return NEWVAL. 
 
 
_s_e_t-_d_e_f_a_u_l_t 
 
Set SYMBOL's default value. 
This is the value that is seen in buffers that do not have their own values 
for this variable. 
 
 
_m_a_k_e-_v_a_r_i_a_b_l_e-_b_u_f_f_e_r-_l_o_c_a_l 
 
Make VARIABLE have a separate value for each buffer. 
The value you see with symbol-value at any time is the value for the current buffer. 
There is also a default value which is seen in any buffer which has not yet 
set its own value. 
The function default-value gets the default value and set-default sets it. 
Using set or setq to set the variable causes it to have a separate value 
for the current buffer if it was previously using the default value. 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 34 - 
 
 
_m_a_k_e-_l_o_c_a_l-_v_a_r_i_a_b_l_e 
 
Make VARIABLE have a separate value in the current buffer. 
 
 
_k_i_l_l-_l_o_c_a_l-_v_a_r_i_a_b_l_e 
 
Make VARIABLE no longer have a separate value in the current buffer. 
>From now on the default value will apply in this buffer. 
 
 
_a_r_e_f 
 
Return the element of ARRAY at index INDEX. 
ARRAY may be a vector or a string.  INDEX starts at 0. 
 
 
_a_s_e_t 
 
Store into the element of ARRAY at index INDEX the value NEWVAL. 
ARRAY may be a vector or a string.  INDEX starts at 0. 
 
 
= 
 
T if two args, both numbers, are equal. 
 
 
< 
 
T if first arg is less than second arg.  Both must be numbers. 
 
 
> 
 
T if first arg is greater than second arg.  Both must be numbers. 
 
 
<= 
 
T if first arg is less than or equal to second arg.  Both must be numbers. 
 
 
>= 
 
T if first arg is greater than or equal to second arg.  Both must be numbers. 
 
 
/= 
 
T if first arg is not equal to second arg.  Both must be numbers. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 35 - 
 
 
_z_e_r_o_p 
 
T if NUMBER is zero. 
 
 
_i_n_t-_t_o-_s_t_r_i_n_g 
 
Convert INT to a string by printing it in decimal, with minus sign if negative. 
 
 
_s_t_r_i_n_g-_t_o-_i_n_t 
 
Convert STRING to an integer by parsing it as a decimal number. 
Optional second arg FLAG non-nil means also convert "yes" to 1, "no" to 0. 
 
 
+ 
 
Return sum of any number of numbers. 
 
 
- 
 
Negate number or subtract numbers. 
With one arg, negates it.  With more than one arg, 
subtracts all but the first from the first. 
 
 
* 
 
Returns product of any number of numbers. 
 
 
/ 
 
Returns first argument divided by rest of arguments. 
 
 
% 
 
Returns remainder of first arg divided by second. 
 
 
_m_a_x 
 
Return largest of all the arguments (which must be numbers.) 
 
 
_m_i_n 
 
Return smallest of all the arguments (which must be numbers.) 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 36 - 
 
 
_l_o_g_a_n_d 
 
Return bitwise and of all the arguments (numbers). 
 
 
_l_o_g_i_o_r 
 
Return bitwise or of all the arguments (numbers). 
 
 
_l_o_g_x_o_r 
 
Return bitwise exclusive-or of all the arguments (numbers). 
 
 
_a_s_h 
 
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. 
 
 
_l_s_h 
 
Return VALUE with its bits shifted left by COUNT. 
If COUNT is negative, shifting is actually to the right. 
In this case,  zeros are shifted in on the left. 
 
 
_1+ 
 
Return NUMBER plus one. 
 
 
_1- 
 
Return NUMBER minus one. 
 
 
_l_o_g_n_o_t 
 
Return the bitwise complement of ARG. 
 
 
_d_o_c_u_m_e_n_t_a_t_i_o_n 
 
Return the documentation string of FUNCTION. 
 
 
_S_n_a_r_f-_d_o_c_u_m_e_n_t_a_t_i_o_n 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 37 - 
 
 
 
Used during Emacs initialization, before dumping runnable Emacs, 
to find pointers to doc strings stored in etc/DOCSTR... and 
record them in function definitions. 
One arg, FILENAME, a string which does not include a directory. 
The file is found in ../etc now; found in the exec-directory 
when doc strings are referred to later in the dumped Emacs. 
 
 
_c_h_a_r-_t_o-_s_t_r_i_n_g 
 
Convert arg CHAR to a string containing that character. 
 
 
_s_t_r_i_n_g-_t_o-_c_h_a_r 
 
Convert arg STRING to a character, the first character of that string. 
 
 
_d_o_t 
 
Return value of dot, as an integer. 
Beginning of buffer is position 1. 
 
 
_d_o_t-_m_a_r_k_e_r 
 
Return value of dot, as a marker object. 
 
 
_g_o_t_o-_c_h_a_r 
 
One arg, a number.  Set dot to that number. 
Beginning of buffer is position 1. 
 
 
_m_a_r_k 
 
Return this buffer's mark value as integer, or nil if no mark. 
 
 
_m_a_r_k-_m_a_r_k_e_r 
 
Return this buffer's mark, as a marker object, or nil if no mark. 
Watch out!  Moving this marker changes the buffer's mark. 
 
 
_s_e_t-_m_a_r_k 
 
Set this buffer's mark to POS; 
Argument is character position, or nil to clear out the mark. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 38 - 
 
 
_s_a_v_e-_e_x_c_u_r_s_i_o_n 
 
Save dot (and mark), execute BODY, then restore dot and mark. 
Executes BODY just like PROGN.  Dot and mark values are restored 
even in case of abnormal exit (throw or error). 
 
 
_b_a_u_d-_r_a_t_e 
 
Return the output baud rate of the terminal. 
 
 
_b_u_f_f_e_r-_s_i_z_e 
 
Return the number of characters in the current buffer. 
 
 
_d_o_t-_m_i_n 
 
Return the minimum permissible value of dot in the current buffer. 
This is 1, unless a clipping restriction is in effect. 
 
 
_d_o_t-_m_i_n-_m_a_r_k_e_r 
 
Return a marker to the beginning of the currently visible part of the buffer. 
This is the beginning, unless a clipping restriction is in effect. 
 
 
_d_o_t-_m_a_x 
 
Return the minimum permissible value of dot in the current buffer. 
This is 1 plus the value of (buffer-size), 
unless a clipping restriction is in effect, in which case it is less. 
 
 
_d_o_t-_m_a_x-_m_a_r_k_e_r 
 
Return a marker to the end of the currently visible part of the buffer. 
This is the actual end, unless a clipping restriction is in effect. 
 
 
_f_o_l_l_o_w_i_n_g-_c_h_a_r 
 
Return the character following dot, as a number. 
 
 
_p_r_e_c_e_d_i_n_g-_c_h_a_r 
 
Return the character preceding dot, as a number. 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 39 - 
 
 
_b_o_b_p 
 
Return T if dot is at the beginning of the buffer. 
 
 
_e_o_b_p 
 
Return T if dot is at the end of the buffer. 
 
 
_b_o_l_p 
 
Return T if dot is at the beginning of a line. 
 
 
_e_o_l_p 
 
Return T if dot is at the end of a line. 
 
 
_c_h_a_r-_a_f_t_e_r 
 
One arg, POS, a number.  Return the character in the current buffer at position POS. 
If POS is out of range, the value is NIL. 
 
 
_u_s_e_r-_l_o_g_i_n-_n_a_m_e 
 
Return the name under which user logged in, as a string. 
 
 
_u_s_e_r-_f_u_l_l-_n_a_m_e 
 
Return the full name of the user logged in, as a string. 
 
 
_s_y_s_t_e_m-_n_a_m_e 
 
Return the name of the machine you are running on, as a string. 
 
 
_c_u_r_r_e_n_t-_t_i_m_e-_s_t_r_i_n_g 
 
Return the current time, as a human-readable string. 
 
 
_i_n_s_e_r_t 
 
Any number of args, strings or chars.  Insert them after dot, moving dot forward. 
 
 
_b_u_f_f_e_r-_s_u_b_s_t_r_i_n_g 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 40 - 
 
 
 
Return the contents of part of the current buffer as a string. 
The two arguments specify the start and end, as character numbers. 
 
 
_b_u_f_f_e_r-_s_t_r_i_n_g 
 
Return the contents of the current buffer as a string. 
 
 
_r_e_g_i_o_n-_t_o-_s_t_r_i_n_g 
 
Return the contents of the region as a string 
 
 
_i_n_s_e_r_t-_b_u_f_f_e_r-_s_u_b_s_t_r_i_n_g 
 
Insert before dot a substring of the contents buffer BUFFER. 
BUFFER may be a buffer or a buffer name. 
Arguments START and END are character numbers specifying the substring. 
They default to the beginning and the end of BUFFER. 
 
 
_s_u_b_s_t-_c_h_a_r-_i_n-_r_e_g_i_o_n 
 
>From START to END, replace FROMCHAR with TOCHAR each time it occurs. 
 
 
_d_e_l_e_t_e-_r_e_g_i_o_n 
 
Delete the text between dot and mark. 
When called from a program, expects two arguments, 
character numbers specifying the stretch to be deleted. 
 
 
_w_i_d_e_n 
 
Remove restrictions from current buffer, allowing full text to be seen and edited. 
 
 
_n_a_r_r_o_w-_t_o-_r_e_g_i_o_n 
 
Restrict editing in current buffer to text between present values of dot and mark. 
Called interactively, takes two arguments, character numbers that specify 
the stretch to restrict to. 
 
 
_s_a_v_e-_r_e_s_t_r_i_c_t_i_o_n 
 
 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 41 - 
 
 
 
Execute the body, undoing at the end any changes to current buffer's restrictions. 
Changes to restrictions are made by narrow-to-region or by widen. 
Thus, the restrictions are the same after this function as they were before it. 
The value returned is that returned by the last form in the body. 
 
This function can be confused if, within the body, you widen 
and then make changes outside the area within the saved restrictions. 
 
 
_m_e_s_s_a_g_e 
 
Print a one-line message at the bottom of the screen. 
The first argument is a control string. 
It may contain %s or %d or %c to print successive following arguments. 
%s means print an argument as a string, %d means print as number in decimal, 
%c means print a number as a single character. 
The argument used by %s must be a string or a symbol; 
the argument used by %d or %c must be a number. 
 
 
_f_o_r_m_a_t 
 
Format a string out of a control-string and arguments. 
The first argument is a control string. 
It, and subsequent arguments substituted into it, become the value, which is a string. 
It may contain %s or %d or %c to substitute successive following arguments. 
%s means print an argument as a string, %d means print as number in decimal, 
%c means print a number as a single character. 
The argument used by %s must be a string or a symbol; 
the argument used by %d or %c must be a number. 
 
 
_c_h_a_r-_e_q_u_a_l 
 
T if args (both characters (numbers)) match.  May ignore case. 
Case is ignored if the current buffer specifies to do so. 
 
 
_g_e_t_e_n_v 
 
One arg VAR, a string. Return the value of environment variable VAR, as a string. 
 
 
_c_a_l_l-_i_n_t_e_r_a_c_t_i_v_e_l_y 
 
Call FUNCTION, reading args from the terminal. 
if the interactive calling specs of FUNCTION request one. 
 
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. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 42 - 
 
 
_p_r_e_f_i_x-_n_u_m_e_r_i_c-_v_a_l_u_e 
 
Return numeric meaning of raw prefix argument. 
A raw prefix argument is what you get from (interactive "P"). 
 
 
_o_r 
 
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. 
 
 
_a_n_d 
 
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. 
 
 
_i_f 
 
(if C T E...) if C yields non-NIL do T, else do E... 
Returns the value of T or the value of the last of the E's. 
There may be no E's; then if C yields NIL, the value is NIL. 
 
 
_c_o_n_d 
 
(cond CLAUSES...) tries each clause until one succeeds. 
Each clause looks like (C BODY...).  C 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 expression. 
If a clause looks like (C), C's value if non-nil is returned from cond. 
If no clause succeeds, cond returns nil. 
 
 
_p_r_o_g_n 
 
Eval arguments in sequence, and return the value of the last one. 
 
 
_p_r_o_g_1 
 
Eval arguments in sequence, then return the FIRST arg's value. 
This value is saved during the evaluation of the remaining args, 
whose values are discarded. 
 
 
_p_r_o_g_2 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 43 - 
 
 
 
Eval arguments in sequence, then return the SECOND arg's value. 
This value is saved during the evaluation of the remaining args, 
whose values are discarded. 
 
 
_s_e_t_q 
 
(setq SYM VAL SYM VAL ...) sets each SYM to the value of its VAL. 
The SYMs are not evaluated.  Thus (setq x y) sets x to the value of y. 
Each SYM is set before the next VAL is computed. 
 
 
_q_u_o_t_e 
 
Return the argument, without evaluating it.  (quote x)  yields  x. 
 
 
_f_u_n_c_t_i_o_n 
 
Quote a function object. 
Equivalent to the quote function in the interpreter, 
but causes the compiler to compile the argument as a function 
if it is not a symbol. 
 
 
_i_n_t_e_r_a_c_t_i_v_e-_p 
 
Return t if function in which this appears was called interactively. 
Also, input must be coming from the terminal. 
 
 
_d_e_f_u_n 
 
(defun NAME ARGLIST [DOCSTRING] BODY...) defines NAME as a function. 
The definition is (lambda ARGLIST [DOCSTRING] BODY...). 
See also the function  interactive . 
 
 
_d_e_f_m_a_c_r_o 
 
(defmacro NAME ARGLIST [DOCSTRING] BODY...) defines NAME as a macro. 
The definition is (macro lambda ARGLIST [DOCSTRING] BODY...). 
When the macro is called, as in (NAME ARGS...), 
the function (lambda ARGLIST BODY...) is applied to 
the list ARGS... as it appears in the expression, 
and the result should be a form to be evaluated instead of the original. 
 
 
_d_e_f_v_a_r 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 44 - 
 
 
 
(defvar SYMBOL INITVALUE DOCSTRING) defines SYMBOL as an advertised variable. 
INITVALUE is evaluated, and used to set SYMBOL, only if SYMBOL's value is void. 
INITVALUE and DOCSTRING are optional. 
If DOCSTRING starts with *, this variable is identified as a user option. 
If INITVALUE is missing, SYMBOL's value is not set. 
 
 
_d_e_f_c_o_n_s_t 
 
(defconst SYMBOL INITVALUE DOCSTRING) defines SYMBOL as an advertised constant. 
The intent is that programs do not change this value (but users may). 
Always sets the value of SYMBOL to the result of evalling INITVALUE. 
DOCSTRING is optional. 
If DOCSTRING starts with *, this variable is identified as a user option. 
 
 
_l_e_t* 
 
(let* VARLIST BODY...) binds variables according to VARLIST then executes 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. 
 
 
_l_e_t 
 
(let VARLIST BODY...) binds variables according to VARLIST then executes 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. 
 
 
_w_h_i_l_e 
 
(while TEST BODY...) if TEST yields non-NIL, execute the BODY forms and repeat. 
 
 
_m_a_c_r_o_e_x_p_a_n_d 
 
If FORM is a macro call, expand it. 
If the result of expansion is another macro call, expand it, etc. 
Return the ultimate expansion. 
 
 
_c_a_t_c_h 
 
(catch TAG BODY...) perform BODY allowing nonlocal exits using (throw TAG). 
TAG is evalled to get the tag to use.  throw  to that tag exits this catch. 
Then the BODY is executed.  If no  throw  happens, the value of the last BODY 
form is returned from  catch.  If a  throw  happens, it specifies the value to 
return from  catch. 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 45 - 
 
 
_t_h_r_o_w 
 
(throw TAG VALUE): throw to the catch for TAG and return VALUE from it. 
Both TAG and VALUE are evalled. 
 
 
_u_n_w_i_n_d-_p_r_o_t_e_c_t 
 
(unwind-protect BODYFORM UNWINDFORMS...) 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. 
 
 
_c_o_n_d_i_t_i_o_n-_c_a_s_e 
 
Regain control when an error is signaled. 
 (condition-case VAR BODYFORM HANDLERS...) 
executes BODYFORM and returns its value if no error happens. 
Each element of HANDLERS looks like (CONDITIONLIST BODY...) 
CONDITIONLIST is a list of condition names.  The handler applies 
if the error has any of those condition names.  When this is so, 
control returns to the condition-case and the handler BODY... is executed 
with VAR bound to (SIGNALED-CONDITIONS . SIGNAL-DATA). 
The value of the last BODY form is returned from the condition-case. 
See SIGNAL for more info. 
 
 
_s_i_g_n_a_l 
 
Signal an error.  Args are SIGNAL-NAME, and associated DATA. 
A signal name is a symbol with an  error-conditions  property 
that is a list of condition names.  DATA can be anything. 
A handlers for any of those names will get to handle this signal. 
The symbol  error  should always be one of them. 
 
 
_f_u_n_c_t_i_o_n-_t_y_p_e 
 
Return a symbol indicating what type of function the argument is. 
It may be  lambda,  subr  or  autoload. 
 
 
_c_o_m_m_a_n_d_p 
 
T 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. 
 
 
_a_u_t_o_l_o_a_d 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 46 - 
 
 
 
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. 
Third and fourth args give info about the real definition. 
They default to nil. 
 
 
_e_v_a_l 
 
Evaluate FORM and return its value. 
 
 
_a_p_p_l_y 
 
Call FUNCTION with arguments being the elements of ARGS. 
 
 
_f_u_n_c_a_l_l 
 
Call first argument as a function, passing remaining arguments to it. 
Thus,  (funcall 'cons 'x 'y)  returns  (x . y). 
 
 
_g_l_o_b_a_l-_v_a_l_u_e 
 
Return the global value of VARIABLE, even if other bindings of it exist currently. 
Normal evaluation of VARIABLE would get the innermost binding. 
 
 
_g_l_o_b_a_l-_s_e_t 
 
Set the global binding of VARIABLE to VALUE, ignoring other bindings. 
Normal setting of VARIABLE with  set  would set the innermost binding. 
 
 
_b_a_c_k_t_r_a_c_e-_d_e_b_u_g 
 
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. 
 
 
_b_a_c_k_t_r_a_c_e 
 
Print a trace of Lisp function calls currently active. 
Output stream used is value of standard-output. 
 
 
_i_d_e_n_t_i_t_y 
 
Return the argument unchanged. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 47 - 
 
 
_r_a_n_d_o_m 
 
Return a pseudo-random number. 
 
 
_l_e_n_g_t_h 
 
Return the length of vector, list or string SEQUENCE. 
 
 
_s_t_r_i_n_g-_e_q_u_a_l 
 
T if two strings have identical contents. 
Symbols are also allowed; their print names are used instead. 
 
 
_s_t_r_i_n_g-_l_e_s_s_p 
 
T if first arg string is less than second in lexicographic order. 
Symbols are also allowed; their print names are used instead. 
 
 
_a_p_p_e_n_d 
 
Concatenate 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. 
 
 
_c_o_n_c_a_t 
 
Concatenate arguments and make the result a string. 
The result is a list whose elements are the elements of all the arguments. 
Each argument may be a list, vector or string.  However, if any element 
of an argument is not a number, an error results. 
 
 
_v_c_o_n_c_a_t 
 
Concatenate arguments and make the result a vector. 
The result is a list whose elements are the elements of all the arguments. 
Each argument may be a list, vector or string. 
 
 
_c_o_p_y-_s_e_q_u_e_n_c_e 
 
Return a copy of a list, vector or string. 
 
 
_s_u_b_s_t_r_i_n_g 
 
Return a substring of STRING, starting at index FROM and reaching until TO. 
TO may be nil or omitted; then the substring runs to the end of STRING. 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 48 - 
 
 
_n_t_h_c_d_r 
 
Takes cdr N times on LIST, returns the result. 
 
 
_n_t_h 
 
Returns the Nth element of LIST. 
 
 
_e_l_t 
 
Returns element of SEQUENCE at index N. 
 
 
_m_e_m_q 
 
Returns 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. 
 
 
_a_s_s_q 
 
Returns non-nil if ELT is the car of an element of LIST.  Comparison done with eq. 
The value is actually the element of LIST whose car is ELT. 
 
 
_a_s_s_o_c 
 
Returns non-nil if ELT is the car of an element of LIST.  Comparison done with  equal. 
The value is actually the element of LIST whose car is ELT. 
 
 
_r_a_s_s_q 
 
Returns non-nil if ELT is the cdr of an element of LIST.  Comparison done with EQ. 
The value is actually the element of LIST whose cdr is ELT. 
 
 
_d_e_l_q 
 
Deletes by side effect any occurrences of ELT as a member of LIST. 
The modified LIST is returned. 
If the first member of LIST is ELT, there is no way to remove it by side effect; 
therefore, write  (setq foo (delq element foo))  to be sure of changing  foo. 
 
 
_n_r_e_v_e_r_s_e 
 
Reverses LIST by modifying cdr pointers.  Returns the beginning of the reversed list. 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 49 - 
 
 
_r_e_v_e_r_s_e 
 
Reverses LIST, copying.  Returns the beginning of the reversed list. 
 
 
_s_o_r_t 
 
Sort LIST, comparing elements using PREDICATE. 
Returns the sorted list.  LIST is modified by side effects. 
PREDICATE is called with two elements of LIST, and should return T 
if the first element is "less" than the second. 
 
 
_g_e_t 
 
Return the value of SYMBOL's PROPNAME property. 
This is the last VALUE stored with  (put SYMBOL PROPNAME VALUE). 
 
 
_p_u_t 
 
Store SYMBOL's PROPNAME property with value VALUE. 
It can be retrieved with  (get SYMBOL PROPNAME). 
 
 
_e_q_u_a_l 
 
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 by value.  Symbols must match exactly. 
 
 
_f_i_l_l_a_r_r_a_y 
 
Store each element of ARRAY with ITEM.  ARRAY is a vector or string. 
 
 
_n_c_o_n_c 
 
Concatenate any number of lists by altering them. 
Only the last argument is not altered, and need not be a list. 
 
 
_m_a_p_c_o_n_c_a_t 
 
Apply FN to each element of SEQ, and concat the results as strings. 
In between each pair of results, stick in SEP. 
Thus, " " as SEP results in spaces between the values return by FN. 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 50 - 
 
 
_m_a_p_c_a_r 
 
Apply FUNCTION to each element of LIST, and make a list of the results. 
THe result is a list just as long as LIST. 
 
 
_y-_o_r-_n-_p 
 
Ask user a y or n question.  Return t if answer is y. 
No confirmation of the answer is requested; a single character is enough. 
 
 
_y_e_s-_o_r-_n_o-_p 
 
Ask user a yes or no question.  Return t if answer is yes. 
The user must confirm the answer with a newline, and can rub it out if not confirmed. 
 
 
_w_r_i_t_e-_c_h_a_r 
 
Output character CHAR to stream STREAM. 
STREAM defaults to the value of standard-output (which see). 
 
 
_w_i_t_h-_o_u_t_p_u_t-_t_o-_t_e_m_p-_b_u_f_f_e_r 
 
Binding  standard-output  to buffer named BUFNAME, execute BODY then display the buffer. 
The buffer is cleared out initially, and marked as unmodified when done. 
All output done by BODY is inserted in that buffer by default. 
It is displayed in another window, but not selected. 
The value of the last form in BODY is returned. 
 
 
_t_e_r_p_r_i 
 
Output a newline to STREAM (or value of standard-output). 
 
 
_p_r_i_n_1 
 
Output the printed representation of OBJECT, any Lisp object. 
Quoting characters are used, to make output that  read  can handle 
whenever this is possible. 
Output stream is STREAM, or value of standard-output (which see). 
 
 
_p_r_i_n_c 
 
Output the printed representation of OBJECT, any Lisp object. 
No quoting characters are used; no delimiters are printed around 
the contents of strings. 
Output stream is STREAM, or value of standard-output (which see). 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 51 - 
 
 
_p_r_i_n_t 
 
Output the printed representation of OBJECT, with newline before and space after. 
Quoting characters are used, to make output that  read  can handle 
whenever this is possible. 
Output stream is STREAM, or value of standard-output (which see). 
 
 
_r_e_a_d-_c_h_a_r 
 
Read a character from the command input (keyboard or macro). 
It is returned as a number. 
 
 
_g_e_t-_f_i_l_e-_c_h_a_r 
 
Don't use this yourself. 
 
 
_l_o_a_d 
 
Execute a file of Lisp code named FILE. 
First tries FILE with .elc appended, then tries with .el, 
 then tries FILE unmodified.  Searches directories in load-path. 
If optional second arg MISSING-OK 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. 
Return t if file exists. 
 
 
_e_v_a_l-_c_u_r_r_e_n_t-_b_u_f_f_e_r 
 
Execute the current buffer as Lisp code. 
Programs can pass argument PRINTFLAG which controls printing of output: 
nil means discard it; anything else is stream for print. 
 
 
_e_v_a_l-_r_e_g_i_o_n 
 
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 printing of output: 
nil means discard it; anything else is stream for print. 
 
 
_r_e_a_d 
 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 52 - 
 
 
 
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 standard-input may be: 
 a buffer (read from dot and advance it) 
 a marker (read from where it points and advance it) 
 a function (call it with no arguments for each character) 
 t (read text line using minibuffer and use it). 
 
 
_i_n_t_e_r_n 
 
Return the symbol whose name is STRING. 
A second optional argument specifies the obarray to use; 
it defaults to the value of  obarray. 
 
 
_i_n_t_e_r_n-_s_o_f_t 
 
Return the symbol whose name is STRING, or nil if none exists yet. 
A second optional argument specifies the obarray to use; 
it defaults to the value of  obarray. 
 
 
_m_a_p_a_t_o_m_s 
 
Call FUNCTION on every symbol in OBARRAY. 
OBARRAY defaults to the value of  obarray. 
 
 
_m_a_k_e-_a_b_b_r_e_v-_t_a_b_l_e 
 
Create a new, empty abbrev table object. 
 
 
_c_l_e_a_r-_a_b_b_r_e_v-_t_a_b_l_e 
 
Undefine all abbrevs in abbrev table TABLE, leaving it empty. 
 
 
_d_e_f_i_n_e-_a_b_b_r_e_v 
 
Define an abbrev in TABLE named NAME, to expand to EXPANSION or call HOOK. 
NAME and EXPANSION are strings.  HOOK is a function or nil. 
To undefine an abbrev, define it with EXPANSION = nil 
 
 
_d_e_f_i_n_e-_g_l_o_b_a_l-_a_b_b_r_e_v 
 
Define ABBREV as a global abbreviation for EXPANSION. 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 53 - 
 
 
_d_e_f_i_n_e-_m_o_d_e-_a_b_b_r_e_v 
 
Define ABBREV as a mode-specific abbreviation for EXPANSION. 
 
 
_a_b_b_r_e_v-_s_y_m_b_o_l 
 
Return the symbol representing abbrev named ABBREV. 
Value is nil if that abbrev is not defined. 
Optional second arg TABLE is abbrev table to look it up in. 
Default is try buffer's mode-specific abbrev table, then global table. 
 
 
_a_b_b_r_e_v-_e_x_p_a_n_s_i_o_n 
 
Return the string that ABBREV expands into in the current buffer. 
Optionally specify an abbrev table; then ABBREV is looked up in that table only. 
 
 
_e_x_p_a_n_d-_a_b_b_r_e_v 
 
Expand the abbrev before dot, if it is an abbrev. 
Returns t if expansion took place. 
 
 
_u_n_e_x_p_a_n_d-_a_b_b_r_e_v 
 
Undo the expansion of the last abbrev that expanded. 
 
 
_l_a_s_t-_a_b_b_r_e_v-_e_x_p_a_n_s_i_o_n 
 
Return expansion of last abbrev expanded, or nil. 
 
 
_i_n_s_e_r_t-_a_b_b_r_e_v-_t_a_b_l_e-_d_e_s_c_r_i_p_t_i_o_n 
 
Insert before dot a description of abbrev table named NAME. 
NAME is a symbol whose value is an abbrev table. 
If 2nd arg READABLE is non-nil, a readable description is inserted. 
Otherwise description is an expression, 
a call to define-abbrev-table which would 
define NAME exactly as it is currently defined. 
 
 
_d_e_f_i_n_e-_a_b_b_r_e_v-_t_a_b_l_e 
 
Define TABNAME (a symbol) as an abbrev table name. 
Define abbrevs in it according to DEFINITIONS, a list of elements 
of the form (ABBREVNAME EXPANSION HOOK USECOUNT). 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 54 - 
 
 
_s_y_n_t_a_x-_t_a_b_l_e-_p 
 
Return t if ARG is a syntax table. 
Any vector of 256 elements will do. 
 
 
_s_y_n_t_a_x-_t_a_b_l_e 
 
Return the current syntax table. 
This is the one specified by the current buffer. 
 
 
_s_t_a_n_d_a_r_d-_s_y_n_t_a_x-_t_a_b_l_e 
 
Return the standard syntax table. 
This is the one used for new buffers. 
 
 
_m_a_k_e-_s_y_n_t_a_x-_t_a_b_l_e 
 
Construct a new syntax table and return it. 
It is a copy of the standard syntax table's current contents. 
 
 
_s_e_t-_s_y_n_t_a_x-_t_a_b_l_e 
 
Select a new syntax table for the current buffer. 
One argument, a syntax table. 
 
 
_c_h_a_r-_s_y_n_t_a_x 
 
Return the syntax code of CHAR, described by a character. 
For example, if CHAR is a word constituent, ?w is returned. 
The characters that correspond to various syntax codes 
are listed in the documentation of  modify-syntax-entry. 
 
 
_d_e_s_c_r_i_b_e-_s_y_n_t_a_x 
 
Describe the syntax specifications in the syntax table. 
The descriptions are inserted in a buffer, which is selected so you can see it. 
 
 
_f_o_r_w_a_r_d-_w_o_r_d 
 
Move dot forward ARG words (backward if ARG is negative). 
Normally returns t. 
If an edge of the buffer is reached, dot is left there 
and nil is returned. 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 55 - 
 
 
_s_c_a_n-_l_i_s_t_s 
 
Scan from character number FROM by COUNT lists. 
Returns the character number of the position thus found. 
 
If DEPTH is nonzero, paren depth begins counting from that value, 
only places where the depth in parentheses becomes zero 
are candidates for stopping; COUNT such places are counted. 
Thus, a positive value for DEPTH means go out levels. 
 
Comments are ignored if parse-sexp-ignore-comments is non-nil. 
 
If the beginning or end of (the visible part of) the buffer is reached 
and the depth is wrong, an error is signaled. 
If the depth is right but the count is not used up, nil is returned. 
 
 
_s_c_a_n-_s_e_x_p_s 
 
Scan from character number FROM by COUNT balanced expressions. 
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 visible 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. 
 
 
_b_a_c_k_w_a_r_d-_p_r_e_f_i_x-_c_h_a_r_s 
 
Move dot backward over any number of chars with syntax "prefix". 
 
 
_f_i_n_d-_l_i_n_e-_c_o_m_m_e_n_t 
 
Find the first comment-beginning after dot and on the same line as dot. 
Value is the character number of the comment-starter, or nil if there is none. 
 
 
_f_i_n_d-_l_i_n_e-_c_o_m_m_e_n_t-_b_o_d_y 
 
Find the first comment-beginning after dot and on the same line as dot. 
Value is the character number after the comment-starter, or nil if there is none. 
 
 
_m_l-_d_e_f_u_n 
 
Define mocklisp functions 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 56 - 
 
 
_m_l-_i_f 
 
if  for mocklisp programs 
 
 
_m_l-_w_h_i_l_e 
 
while  for mocklisp programs 
 
 
_m_l-_n_a_r_g_s 
 
# arguments to this mocklisp function 
 
 
_m_l-_a_r_g 
 
Argument #N to this mocklisp function. 
 
 
_m_l-_i_n_t_e_r_a_c_t_i_v_e 
 
true if this mocklisp function was called interactively. 
 
 
_m_l-_p_r_o_v_i_d_e-_p_r_e_f_i_x-_a_r_g_u_m_e_n_t 
 
Evaluate second argument, using first argument as prefix arg value. 
 
 
_m_l-_p_r_e_f_i_x-_a_r_g_u_m_e_n_t-_l_o_o_p 
 
 
 
 
_m_l-_s_u_b_s_t_r 
 
Return a substring of STRING, starting at index FROM and of length LENGTH. 
If either FROM or LENGTH is negative, the length of STRING is added to it. 
 
 
_i_n_s_e_r_t-_s_t_r_i_n_g 
 
Insert the arguments (all strings) into the buffer, moving dot forward. 
Any argument that is a number is converted to a string by printing it in decimal. 
 
 
_b_y_t_e-_c_o_d_e 
 
 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 57 - 
 
 
_p_r_o_c_e_s_s_p 
 
Return t if OBJECT is a process. 
 
 
_g_e_t-_p_r_o_c_e_s_s 
 
Return the process named NAME, or nil if there is none. 
 
 
_g_e_t-_b_u_f_f_e_r-_p_r_o_c_e_s_s 
 
Return the (or, a) process associated with BUFFER. 
BUFFER may be a buffer or the name of one. 
 
 
_d_e_l_e_t_e-_p_r_o_c_e_s_s 
 
Delete PROCESS: kill it and forget about it immediately. 
PROCESS may be a process or the name of one, or a buffer name. 
 
 
_p_r_o_c_e_s_s-_s_t_a_t_u_s 
 
Return the status of PROCESS: a symbol, one of these: 
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. 
command -- for a command channel opened to Emacs by another process. 
external -- for an i/o channel opened to Emacs by another process. 
 
 
_p_r_o_c_e_s_s-_i_d 
 
Return the process id of PROCESS. 
This is the pid of the Unix process which PROCESS uses or talks to. 
 
 
_p_r_o_c_e_s_s-_n_a_m_e 
 
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. 
 
 
_p_r_o_c_e_s_s-_c_o_m_m_a_n_d 
 
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 non-child channel, this is nil. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 58 - 
 
 
_s_e_t-_p_r_o_c_e_s_s-_b_u_f_f_e_r 
 
Set buffer associated with PROCESS to BUFFER. 
 
 
_p_r_o_c_e_s_s-_b_u_f_f_e_r 
 
Return the buffer PROCESS is associated with. 
Output from PROCESS is inserted in this buffer 
unless PROCESS has a filter. 
 
 
_p_r_o_c_e_s_s-_m_a_r_k 
 
Return the marker for the end of the last output from PROCESS. 
 
 
_s_e_t-_p_r_o_c_e_s_s-_f_i_l_t_e_r 
 
Give PROCESS the filter function FILTER; nil means no filter. 
When a process has a filter, 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. 
If the process has a filter, its buffer is not used for output. 
 
 
_p_r_o_c_e_s_s-_f_i_l_t_e_r 
 
Returns the filter function of PROCESS; nil if none. 
See set-process-filter for more info on filter functions. 
 
 
_s_e_t-_p_r_o_c_e_s_s-_s_e_n_t_i_n_e_l 
 
Give PROCESS the sentinel SENTINEL; nil for none. 
The sentinel is called as a function when the process changes state. 
It gets two arguments: the process, and a string describing the change. 
 
 
_p_r_o_c_e_s_s-_s_e_n_t_i_n_e_l 
 
Return the sentinel of PROCESS; nil if none. 
See set-process-sentinel for more info on sentinels. 
 
 
_p_r_o_c_e_s_s-_k_i_l_l-_w_i_t_h_o_u_t-_q_u_e_r_y 
 
Say no query needed if this process is running when Emacs is exited. 
 
 
_l_i_s_t-_p_r_o_c_e_s_s_e_s 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 59 - 
 
 
 
Display a list of all processes and comm channels. 
First two columns are S for subprocess, C for command channel, 
or X for external I/O channel. 
(Any processes listed as Exited or Signaled are actually eliminated 
after the listing is made.) 
 
 
_s_t_a_r_t-_p_r_o_c_e_s_s 
 
Start a program in a subprocess.  Return the process object for it. 
First arg is name for process.  It is modified if nec to make it unique. 
Second arg is buffer to associate with the process (or buffer name). 
 Process output goes at end of that buffer, unless you specify 
 an output stream or filter function to handle the output. 
Third arg is program file name.  It is searched for as in the shell. 
Remaining arguments are strings to give program as arguments. 
 
 
_s_e_n_d-_r_e_g_i_o_n 
 
Send current contents of region as input to PROCESS. 
PROCESS may be a process name. 
Called from program, takes three arguments, PROCESS, START and END. 
 
 
_s_e_n_d-_s_t_r_i_n_g 
 
Send PROCESS the contents of STRING as input. 
PROCESS may be a process name. 
 
 
_i_n_t_e_r_r_u_p_t-_p_r_o_c_e_s_s 
 
Interrupt process PROCESS.  May be process or name of one. 
Nil or no arg 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. 
 
 
_k_i_l_l-_p_r_o_c_e_s_s 
 
Kill process PROCESS.  May be process or name of one. 
See function interrupt-process for more details on usage. 
 
 
_q_u_i_t-_p_r_o_c_e_s_s 
 
Send QUIT signal to process PROCESS.  May be process or name of one. 
See function interrupt-process for more details on usage. 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 60 - 
 
 
_s_t_o_p-_p_r_o_c_e_s_s 
 
Stop process PROCESS.  May be process or name of one. 
See function interrupt-process for more details on usage. 
 
 
_c_o_n_t_i_n_u_e-_p_r_o_c_e_s_s 
 
Continue process PROCESS.  May be process or name of one. 
See function interrupt-process for more details on usage. 
 
 
_p_r_o_c_e_s_s-_s_e_n_d-_e_o_f 
 
Make PROCESS see end-of-file in its input. 
Eof comes after any text already sent to it. 
Nil or no arg means current buffer's process. 
 
 
_c_a_l_l-_p_r_o_c_e_s_s 
 
Call PROGRAM in separate process. 
Program's input comes from file INFILE (nil means /dev/null). 
Insert output in BUFFER before dot; t means current buffer; 
 nil for BUFFER means discard it; 0 means discard and don't wait. 
Fourth arg DISPLAY non-nil means redisplay buffer as output is inserted. 
Remaining arguments are strings passed as command arguments to PROGRAM. 
This function waits for PROGRAM to terminate; 
if you quit, the process is killed. 
 
 
_c_a_l_l-_p_r_o_c_e_s_s-_r_e_g_i_o_n 
 
Send text from START to END to a process running PROGRAM. 
Delete it if DELETE is non-nil. 
Put output in BUFFER, before dot.  nil => discard it, t => current buffer. 
Sixth arg DISPLAY non-nil means redisplay buffer as output is inserted. 
Remaining args are passed to PROGRAM at startup as command args. 
This function normally waits for the process to terminate; 
if you quit, the process is killed. 
 
 
_o_p_e_n-_l_i_n_e 
 
Insert a newline and leave dot before it. 
With arg, inserts that many newlines. 
 
 
_s_p_l_i_t-_l_i_n_e 
 
Split current line, moving portion beyond dot vertically down. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 61 - 
 
 
_q_u_o_t_e_d-_i_n_s_e_r_t 
 
Read next input character and insert it. 
Useful for inserting control characters. 
 
 
_d_e_l_e_t_e-_i_n_d_e_n_t_a_t_i_o_n 
 
Join this line to previous and fix up whitespace at join. 
With argument, join this line to following line. 
 
 
_d_e_l_e_t_e-_h_o_r_i_z_o_n_t_a_l-_s_p_a_c_e 
 
Delete all spaces and tabs around dot. 
 
 
_j_u_s_t-_o_n_e-_s_p_a_c_e 
 
Delete all spaces and tabs around dot, leaving one space. 
 
 
_d_e_l_e_t_e-_b_l_a_n_k-_l_i_n_e_s 
 
On blank line, delete all surrounding blank lines, leaving just one. 
On isolated blank line, delete that one. 
On nonblank line, delete all blank lines that follow it. 
 
 
_b_a_c_k-_t_o-_i_n_d_e_n_t_a_t_i_o_n 
 
Move dot to the first non-whitespace character on this line. 
 
 
_n_e_w_l_i_n_e-_a_n_d-_i_n_d_e_n_t 
 
Insert a newline, then indent according to mode, like Tab. 
 
 
_b_a_c_k_w_a_r_d-_d_e_l_e_t_e-_c_h_a_r-_u_n_t_a_b_i_f_y 
 
Delete characters backward, changing tabs into spaces. 
Delete ARG chars, and kill (save in kill ring) if KILLP is non-nil. 
Interactively, ARG is the prefix arg (default 1) 
and KILLP is t if prefix arg is was specified. 
 
 
_z_a_p-_t_o-_c_h_a_r 
 
Kill up to (but not incl) ARG'th occurrence of CHAR. 
Goes backward if ARG is negative; goes to end of buffer if CHAR not found. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 62 - 
 
 
_b_e_g_i_n_n_i_n_g-_o_f-_b_u_f_f_e_r 
 
Move dot to the beginning of the buffer; leave mark at previous position. 
With arg N, put dot N/10 of the way from the true beginning. 
 
 
_e_n_d-_o_f-_b_u_f_f_e_r 
 
Move dot to the end of the buffer; leave mark at previous position. 
With arg N, put dot N/10 of the way from the true end. 
 
 
_m_a_r_k-_b_e_g_i_n_n_i_n_g-_o_f-_b_u_f_f_e_r 
 
Set mark at the beginning of the buffer. 
 
 
_m_a_r_k-_e_n_d-_o_f-_b_u_f_f_e_r 
 
Set mark at the end of the buffer. 
 
 
_m_a_r_k-_w_h_o_l_e-_b_u_f_f_e_r 
 
Put dot at beginning and mark at end of buffer. 
 
 
_c_o_u_n_t-_l_i_n_e_s 
 
Return number of newlines between START and END. 
 
 
_u_p_c_a_s_e-_c_h_a_r 
 
Uppercasify ARG chars starting from dot. 
 
 
_f_u_n_d_a_m_e_n_t_a_l-_m_o_d_e 
 
Major mode not specialized for anything in particular. 
Other major modes are defined by comparison with this one. 
 
 
_e_v_a_l-_e_x_p_r_e_s_s_i_o_n 
 
Evaluate EXPRESSION and print value in minibuffer. 
Value is also consed on to front of variable  values  's value. 
 
 
_r_e_p_e_a_t-_c_o_m_p_l_e_x-_c_o_m_m_a_n_d 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 63 - 
 
 
 
Repeat last complex command, or ARGth from last. 
A complex command is one which prompted for and read arguments 
via the interactive calling mechanism.  Prefix args don't count. 
No ARG counts as arg of 1, meaning most recent command. 
 
 
_g_o_t_o-_l_i_n_e 
 
Goto line ARG, counting from line 1 at beginning of buffer. 
 
 
_u_n_d_o 
 
Undo some previous changes. 
Repeat this command to undo more changes. 
A numeric argument serves as a repeat count. 
 
 
_s_h_e_l_l-_c_o_m_m_a_n_d 
 
Execute string COMMAND in inferior shell; display output, if any. 
Optional second arg non-nil (prefix arg, if interactive) 
means insert output in current buffer after dot (leave mark after it). 
 
 
_s_h_e_l_l-_c_o_m_m_a_n_d-_o_n-_r_e_g_i_o_n 
 
Execute string COMMAND in inferior shell with region as input. 
Normally display output (if any) in temp buffer; 
Prefix arg means replace the region with it. 
Noninteractive args are START, END, COMMAND, FLAG. 
 
 
_u_n_i_v_e_r_s_a_l-_a_r_g_u_m_e_n_t 
 
Begin a numeric argument for the following command. 
Digits or minus sign following this command make up the numeric argument. 
If no digits or minus sign follow, this command by itself provides 4 as argument. 
Used more than once, this command multiplies the argument by 4 each time. 
 
 
_d_i_g_i_t-_a_r_g_u_m_e_n_t 
 
Part of the numeric argument for the next command. 
 
 
_n_e_g_a_t_i_v_e-_a_r_g_u_m_e_n_t 
 
Begin a negative numeric argument for the next command. 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 64 - 
 
 
_f_o_r_w_a_r_d-_t_o-_i_n_d_e_n_t_a_t_i_o_n 
 
Move forward ARG lines and position at first nonblank character. 
 
 
_b_a_c_k_w_a_r_d-_t_o-_i_n_d_e_n_t_a_t_i_o_n 
 
Move backward ARG lines and position at first nonblank character. 
 
 
_k_i_l_l-_l_i_n_e 
 
Kill the rest of the current line; before a newline, kill the newline. 
With prefix argument, kill that many lines from dot. 
Negative arguments kill lines backward. 
 
When calling from a program, nil means "no arg", 
a number counts as a prefix arg. 
 
 
_k_i_l_l-_r_e_g_i_o_n 
 
Kill between point and mark. 
The text is deleted but saved in the kill ring. 
The command  yank  can retrieve it from there. 
 
This is the primitive for programs to kill text (as opposed to deleting it). 
Supply two arguments, character numbers indicating the stretch of text to be killed. 
Any command that calls this function is a "kill command". 
If the previous command was also a kill command, 
the text killed this time appends to the text killed last time 
to make one entry in the kill ring. 
 
 
_k_i_l_l-_r_i_n_g-_s_a_v_e 
 
Save the region on the kill ring but don't kill it. 
 
 
_a_p_p_e_n_d-_n_e_x_t-_k_i_l_l 
 
Cause following command, if kill, to append to previous kill. 
 
 
_r_o_t_a_t_e-_y_a_n_k-_p_o_i_n_t_e_r 
 
Rotate the yanking point in the kill ring. 
 
 
_y_a_n_k-_p_o_p 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 65 - 
 
 
 
Replace just-yanked stretch of killed-text with a different stretch. 
This command is allowed only immediately after a yank or a yank-pop. 
At such a time, the region contains a stretch of reinserted previously-killed text. 
yank-pop deletes that text and inserts in its place a different stretch of killed text. 
 
With no argument, the previous kill is inserted. 
With argument n, the n'th previous kill is inserted. 
If n is negative, this is a more recent kill. 
 
The sequence of kills wraps around, so that after the oldest one comes the newest one. 
 
 
_y_a_n_k 
 
Reinsert the last stretch of killed text. 
More precisely, reinsert the stretch of killed text most recently killed OR yanked. 
With just C-U as argument, same but put dot in front (and mark at end). 
With argument n, reinsert the nth most recently killed stretch of killed text. 
See also the command  yank-pop. 
 
 
_i_n_s_e_r_t-_b_u_f_f_e_r 
 
Insert after dot the contents of BUFFER. 
Puts mark after the inserted text. 
BUFFER may be a buffer or a buffer name. 
 
 
_a_p_p_e_n_d-_t_o-_b_u_f_f_e_r 
 
Append to specified buffer the text of the region. 
It is inserted into that buffer before its dot. 
 
When calling from a program, give three arguments: 
a buffer or the name of one, and two character numbers 
specifying the portion of the current buffer to be copied. 
 
 
_p_r_e_p_e_n_d-_t_o-_b_u_f_f_e_r 
 
Prepend to specified buffer the text of the region. 
It is inserted into that buffer after its dot. 
 
When calling from a program, give three arguments: 
a buffer or the name of one, and two character numbers 
specifying the portion of the current buffer to be copied. 
 
 
_c_o_p_y-_t_o-_b_u_f_f_e_r 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 66 - 
 
 
  
Copy to specified buffer the text of the region. 
It is inserted into that buffer, replacing existing text there. 
 
When calling from a program, give three arguments: 
a buffer or the name of one, and two character numbers 
specifying the portion of the current buffer to be copied. 
 
 
_s_e_t-_m_a_r_k-_c_o_m_m_a_n_d 
 
Set mark at where dot is, or jump to mark. 
With no argument, set mark, and push previous mark on mark ring. 
With argument, jump to mark, and pop into mark off the mark ring. 
 
 
_p_u_s_h-_m_a_r_k 
 
Set mark at location (dot, by default) and push old mark on mark ring. 
 
 
_p_o_p-_m_a_r_k 
 
Pop off mark ring into the buffer's actual mark. 
Does not set dot.  Does nothing if mark ring is empty. 
 
 
_e_x_c_h_a_n_g_e-_d_o_t-_a_n_d-_m_a_r_k 
 
Put the mark where dot is now, and dot where the mark is now. 
 
 
_n_e_x_t-_l_i_n_e 
 
Move cursor vertically down. 
If there is no character in the next line exactly under the current column, 
the cursor is positioned after the character in that line which spans this column, 
or at the end of the line if it is not long enough. 
If there is no line in the buffer after this one, 
a newline character is inserted to create a line 
and the cursor moves to that line. 
 
The command set-goal-column can be used to create a semipermanent goal column 
which this command always moves to.  Then it does not try to move vertically. 
 
 
_p_r_e_v_i_o_u_s-_l_i_n_e 
 
 
 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 67 - 
 
 
 
Move cursor vertically down. 
If there is no character in the next line exactly under the current column, 
the cursor is positioned after the character in that line which spans this column, 
or at the end of the line if it is not long enough. 
 
The command set-goal-column can be used to create a semipermanent goal column 
which this command always moves to.  Then it does not try to move vertically. 
 
 
_s_e_t-_g_o_a_l-_c_o_l_u_m_n 
 
Set the current horizontal position as a goal for next-line and previous-line. 
Those commands will move to this position in the line moved to 
rather than trying to keep the same horizontal position. 
set-goal-column with a non-nil argument clears out the goal column 
so that next-line and previous-line resume vertical motion. 
 
 
_t_r_a_n_s_p_o_s_e-_c_h_a_r_s 
 
Interchange characters around dot, moving forward one character. 
With prefix arg ARG, effect is to take character before dot 
and drag it forward past ARG other characters (backward if ARG negative). 
If no argument and at end of line, the previous two chars are exchanged. 
 
 
_t_r_a_n_s_p_o_s_e-_w_o_r_d_s 
 
Interchange words around dot, leaving dot at end of them. 
With prefix arg ARG, effect is to take word before or around dot 
and drag it forward past ARG other words (backward if ARG negative). 
If ARG is zero, the words around or after dot and around or after mark 
are interchanged. 
 
 
_t_r_a_n_s_p_o_s_e-_s_e_x_p_s 
 
Like transpose-words but applies to sexps. 
Does not work on a sexp that dot is in the middle of 
if it is a list or string. 
 
 
_t_r_a_n_s_p_o_s_e-_l_i_n_e_s 
 
Exchange current line and previous line, leaving dot after both. 
With argument ARG, takes previous line and moves it past ARG lines. 
With argument 0, interchanges line dot is in with line mark is in. 
 
 
_i_n_d_e_n_t-_f_o_r-_c_o_m_m_e_n_t 
 
Indent this line's comment to comment column, or insert an empty comment. 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 68 - 
 
 
_s_e_t-_c_o_m_m_e_n_t-_c_o_l_u_m_n 
 
Set the comment column based on dot. 
With no arg, set the comment column to the current column. 
With just minus as arg, kill any comment on this line. 
With any other arg, set comment column to indentation of the previous comment 
 and then align or create a comment on this line at that column. 
 
 
_k_i_l_l-_c_o_m_m_e_n_t 
 
Kill the comment on this line, if any. 
With argument, kill comments on that many lines starting with this one. 
 
 
_f_o_r_w_a_r_d-_t_o-_w_o_r_d 
 
Move forward until encountering the beginning of a word. 
With argument, do this that many times. 
 
 
_b_a_c_k_w_a_r_d-_t_o-_w_o_r_d 
 
Move backward until encountering the end of a word. 
With argument, do this that many times. 
 
 
_b_a_c_k_w_a_r_d-_w_o_r_d 
 
Move backward until encountering the end of a word. 
With argument, do this that many times. 
 
 
_m_a_r_k-_w_o_r_d 
 
Set mark arg words away from dot. 
 
 
_k_i_l_l-_w_o_r_d 
 
Kill characters forward until encountering the end of a word. 
With argument, do this that many times. 
 
 
_b_a_c_k_w_a_r_d-_k_i_l_l-_w_o_r_d 
 
Kill characters backward until encountering the end of a word. 
With argument, do this that many times. 
 
 
_i_n_d_e_n_t-_n_e_w-_c_o_m_m_e_n_t-_l_i_n_e 
 
Break line at dot and indent, continuing comment if presently within one. 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 69 - 
 
 
_a_u_t_o-_f_i_l_l-_m_o_d_e 
 
Toggle auto-fill mode. 
With arg, turn auto-fill mode on iff arg is positive. 
In auto-fill mode, inserting a space at a column beyond  fill-column 
automatically breaks the line at a previous space. 
 
 
_s_e_t-_m_i_n_o_r-_m_o_d_e 
 
Set status of minor mode, for mode-line display. 
FUNCTION-SYMBOL is the function that turns the mode on or off. 
PRETTY-STRING is a string to show in the mode line. 
ON-STATE is t if mode should be on, nil if it should be off. 
Returns ON-STATE. 
 
 
_s_e_t-_f_i_l_l-_c_o_l_u_m_n 
 
Set fill-column to current column, or to argument if given. 
fill-column's value is separate for each buffer. 
 
 
_s_e_t-_s_e_l_e_c_t_i_v_e-_d_i_s_p_l_a_y 
 
Set selective-display to ARG; clear it if no arg. 
When selective-display is a number > 0, 
lines whose indentation is >= selective-display are not displayed. 
selective-display's value is separate for each buffer. 
 
 
_o_v_e_r_w_r_i_t_e-_m_o_d_e 
 
Toggle overwrite mode. 
With arg, turn overwrite mode on iff arg is positive. 
In overwrite mode, printing characters typed in replace existing text 
on a one-for-one basis, rather than pushing it to the right. 
 
 
_b_l_i_n_k-_m_a_t_c_h_i_n_g-_o_p_e_n 
 
Move cursor momentarily to the beginning of the sexp before dot. 
 
 
_e_r_r_o_r 
 
Signal an error, making error message by passing all args to  format. 
 
 
_h_e_l_p-_c_o_m_m_a_n_d 
 
Give help.  Invoked by help character at top level. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 70 - 
 
 
_h_e_l_p-_w_i_t_h-_t_u_t_o_r_i_a_l 
 
Select the Emacs learn-by-doing tutorial. 
 
 
_d_e_s_c_r_i_b_e-_k_e_y-_b_r_i_e_f_l_y 
 
Print the name of the function KEY invokes.  KEY is a string. 
 
 
_d_e_s_c_r_i_b_e-_k_e_y 
 
Display documentation of the function KEY invokes.  KEY is a string. 
 
 
_d_e_s_c_r_i_b_e-_m_o_d_e 
 
Display documentation of current major mode. 
 
 
_d_e_s_c_r_i_b_e-_d_i_s_t_r_i_b_u_t_i_o_n 
 
Display info on how to obtain the latest version of GNU Emacs. 
 
 
_d_e_s_c_r_i_b_e-_c_o_p_y_i_n_g 
 
Display info on how you may redistribute copies of GNU Emacs. 
 
 
_v_i_e_w-_e_m_a_c_s-_n_e_w_s 
 
Display info on recent changes to Emacs. 
 
 
_v_i_e_w-_l_o_s_s_a_g_e 
 
Display last 100 input keystrokes. 
 
 
_h_e_l_p-_f_o_r-_h_e_l_p 
 
Give help for the help command. 
 
 
_d_e_s_c_r_i_b_e-_f_u_n_c_t_i_o_n 
 
Display the full documentation of FUNCTION (a symbol). 
 
 
_d_e_s_c_r_i_b_e-_v_a_r_i_a_b_l_e 
 
Display the full documentation of VARIABLE (a symbol). 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 71 - 
 
 
_c_o_m_m_a_n_d-_a_p_r_o_p_o_s 
 
Like apropos but lists only symbols that are names of commands 
(interactively callable functions). 
 
 
_s_u_p_p_r_e_s_s-_k_e_y_m_a_p 
 
Make MAP override all buffer-modifying commands to be undefined. 
Works by knowing which commands are normally buffer-modifying. 
Normally also makes digits set numeric arg, 
but optional second arg NODIGITS non-nil prevents this. 
 
 
_p_w_d 
 
Show the current default directory. 
 
 
_c_d 
 
Make DIR become the current buffer's default directory. 
 
 
_f_i_n_d-_f_i_l_e 
 
Edit file FILENAME. 
Switch to a buffer visiting file FILENAME, 
creating one if none already exists. 
 
 
_f_i_n_d-_f_i_l_e-_o_t_h_e_r-_w_i_n_d_o_w 
 
Edit file FILENAME, in another window. 
May create a new window, or reuse an existing one; 
see the function display-buffer. 
 
 
_f_i_n_d-_f_i_l_e-_r_e_a_d-_o_n_l_y 
 
Edit file FILENAME but don't save without confirmation. 
Like find-file but marks buffer as read-only. 
 
 
_f_i_n_d-_f_i_l_e-_n_o_s_e_l_e_c_t 
 
Read file FILENAME into a buffer and return the buffer. 
If a buffer exists visiting FILENAME, return that one, 
but verify that the file has not changed since visited or saved. 
The buffer is not selected, just returned to the caller. 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 72 - 
 
 
_f_i_n_d-_a_l_t_e_r_n_a_t_e-_f_i_l_e 
 
Find file FILENAME, select its buffer, kill previous buffer. 
If the current buffer now contains an empty file that you just visited 
(presumably by mistake), use this command to visit the file you really want. 
 
 
_s_e_t-_a_u_t_o-_m_o_d_e 
 
Select major mode appropriate for current buffer. 
May base decision on visited file name (See variable auto-mode-list) 
or on buffer contents (-*- line or local variables spec). 
 
 
_s_e_t-_v_i_s_i_t_e_d-_f_i_l_e-_n_a_m_e 
 
Change name of file visited in current buffer to FILENAME. 
The next time the buffer is saved it will go in the newly specified file. 
nil or empty string as argument means make buffer not be visiting any file. 
 
 
_w_r_i_t_e-_f_i_l_e 
 
Write current buffer into file FILENAME. 
Makes buffer visit that file, and marks it not modified. 
 
 
_b_a_c_k_u_p-_b_u_f_f_e_r 
 
Make a backup of the disk file visited by the current buffer. 
This is done before saving the buffer the first time. 
 
 
_f_i_l_e-_n_l_i_n_k_s 
 
Return number of names file FILENAME has. 
 
 
_s_a_v_e-_b_u_f_f_e_r 
 
Save the current buffer in its visited file, if it has been modified. 
 
 
_s_a_v_e-_s_o_m_e-_b_u_f_f_e_r_s 
 
Save some modified file-visiting buffers.  Asks user about each one. 
With argument, saves all with no questions. 
 
 
_n_o_t-_m_o_d_i_f_i_e_d 
 
Mark current buffer as unmodified, not needing to be saved. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 73 - 
 
 
_t_o_g_g_l_e-_r_e_a_d-_o_n_l_y 
 
Change whether this buffer is visiting its file read-only. 
 
 
_i_n_s_e_r_t-_f_i_l_e 
 
Insert contents of file FILENAME into buffer after dot. 
Set mark after the inserted text. 
 
 
_a_p_p_e_n_d-_t_o-_f_i_l_e 
 
Append the contents of the region to the end of file FILENAME. 
When called from a function, expects three arguments, 
START, END and FILENAME.  START and END are buffer positions 
saying what text to write. 
 
 
_r_e_v_e_r_t-_b_u_f_f_e_r 
 
Replace the buffer text with the text of the visited file on disk. 
This undoes all changes since the file was visited or saved. 
If latest auto-save file is more recent than the visited file, 
asks user whether to use that instead, unless a non-nil argument is given. 
 
If revert-buffer-function's value is non-nil, it is called to do the work. 
 
 
_k_i_l_l-_s_o_m_e-_b_u_f_f_e_r_s 
 
For each buffer, ask whether to kill it. 
 
 
_a_u_t_o-_s_a_v_e-_m_o_d_e 
 
Toggle auto-saving of contents of current buffer. 
With arg, turn auto-saving on if arg is positive, else off. 
 
 
_m_a_k_e-_a_u_t_o-_s_a_v_e-_f_i_l_e-_n_a_m_e 
 
Return file name to use for auto-saves of current buffer. 
Does not consider auto-save-visited-filename; that is checked 
before calling this function. 
This is a separate function so your .emacs file or site-init.el can redefine t. 
 
 
_l_i_s_t-_d_i_r_e_c_t_o_r_y 
 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 74 - 
 
 
 
Display a list of files in or matching DIRNAME, a la `ls'. 
DIRNAME is globbed by the shell if necessary. 
Prefix arg (second arg if noninteractive) means supply -l switch to `ls'. 
Actions controlled by variables list-directory-brief-switches 
 and list-directory-verbose-switches. 
 
 
_s_a_v_e-_b_u_f_f_e_r_s-_k_i_l_l-_e_m_a_c_s 
 
Offer to save each buffer, then kill this Emacs fork. 
 
 
_s_p_l_i_t-_w_i_n_d_o_w-_v_e_r_t_i_c_a_l_l_y 
 
Split current window into two windows, one above the other. 
This window becomes the uppermost of the two, and gets 
ARG lines.  No arg means split equally. 
 
 
_s_p_l_i_t-_w_i_n_d_o_w-_h_o_r_i_z_o_n_t_a_l_l_y 
 
Split current window into two windows side by side. 
This window becomes the leftmost of the two, and gets 
ARG columns.  No arg means split equally. 
 
 
_e_n_l_a_r_g_e-_w_i_n_d_o_w-_h_o_r_i_z_o_n_t_a_l_l_y 
 
Make current window ARG columns wider. 
 
 
_s_h_r_i_n_k-_w_i_n_d_o_w-_h_o_r_i_z_o_n_t_a_l_l_y 
 
Make current window ARG columns narrower. 
 
 
_i_n_d_e_n_t-_a_c_c_o_r_d_i_n_g-_t_o-_m_o_d_e 
 
Indent line in proper way for current major mode. 
 
 
_i_n_d_e_n_t-_f_o_r-_t_a_b-_c_o_m_m_a_n_d 
 
Indent line in proper way for current major mode. 
 
 
_i_n_d_e_n_t-_r_i_g_i_d_l_y 
 
Indent all lines starting in the region sideways by ARG columns. 
Called from a program, takes three arguments, START, END and ARG. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 75 - 
 
 
_i_n_d_e_n_t-_r_e_g_i_o_n 
 
Indent each nonblank line in the region. 
With no argument, indent each line with Tab. 
With argument COLUMN, indent each line to that column. 
Called from a program, takes three args: START, END and COLUMN. 
 
 
_i_n_d_e_n_t-_r_e_l_a_t_i_v_e 
 
Space out to under next indent point in previous nonblank line. 
An indent point is a non-whitespace character following whitespace. 
If the previous nonblank line has no indent points beyond 
the column dot starts at,  tab-to-tab-stop  is done instead. 
 
 
_e_d_i_t-_t_a_b-_s_t_o_p_s 
 
Edit the tab stops used by tab-to-tab-stop. 
Creates a buffer *Tab Stops* containing text describing the tab stops. 
A colon indicates a column where there is a tab stop. 
You can add or remove colons and then do C-X C-S to make changes take effect. 
 
 
_e_d_i_t-_t_a_b-_s_t_o_p_s-_n_o_t_e-_c_h_a_n_g_e_s 
 
Put edited tab stops into effect. 
 
 
_t_a_b-_t_o-_t_a_b-_s_t_o_p 
 
Insert spaces or tabs to next defined tab-stop column. 
The variable tab-stop-list is a list of columns at which there are tab stops. 
Use edit-tab-stops to edit them interactively. 
 
 
_a_d_d-_c_h_a_n_g_e-_l_o_g-_e_n_t_r_y 
 
Find change log file and add an entry for today. 
 
 
_o_c_c_u_r-_m_e_n_u 
 
Show menu of lines containing match for REGEXP. 
Enters recursive edit on text showing an entry for each matching line. 
User can move to an entry and then exit with C-Z to 
move to the line in the original buffer described by the selected entry. 
Abort with C-] to avoid moving in the original buffer. 
 
If REGEXP is empty then THE EXACT SAME menu is presented again, 
with cursor initially at the next successive entry. 
This is useful for stepping through located lines rapidly in order. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 76 - 
 
 
_b_y_t_e-_c_o_m_p_i_l_e-_f_i_l_e 
 
Compile a file of Emacs Lisp code into byte code. 
Argument is input file name; output file name is made 
by appending a "c" to the end. 
 
 
_b_y_t_e-_r_e_c_o_m_p_i_l_e-_d_i_r_e_c_t_o_r_y 
 
Recompile every .el file in DIRECTORY that needs recompilation. 
This is if a .elc file exists but is older than the .el file. 
 
 
_c_o_m_p_a_r_e-_w_i_n_d_o_w_s 
 
Compare text in current window with text in next window. 
Compares the text starting at dot in each window, 
moving over text in each one as fas as they match. 
 
 
_c_o_m_p_i_l_e 
 
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. 
 
 
_g_r_e_p 
 
Run grep, with user-specified args, and collect output in a buffer. 
While grep runs asynchronously, you can use the next-error command 
to find the text that grep hits refer to. 
 
 
_d_e_b_u_g 
 
Enter debugger.  Returns if user says "continue". 
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. 
 
 
_c_a_n_c_e_l-_d_e_b_u_g-_o_n-_e_n_t_r_y 
 
Undoes effect of debug-on-entry on FUNCTION. 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 77 - 
 
 
_d_e_b_u_g-_o_n-_e_n_t_r_y 
 
Request FUNCTION to invoke debugger each time it is called. 
If the user continues, FUNCTION's execution proceeds. 
Works by modifying the definition of FUNCTION, 
which must be written in Lisp, not predefined. 
 
 
_d_i_r_e_d 
 
"Edit" directory DIRNAME.  Delete some files in it. 
Dired displays a list of files in DIRNAME. 
You can move around in it with the usual commands. 
You can mark files for deletion with C-D 
and then delete them by typing `x'. 
Type `h' after entering dired for more info. 
 
 
_d_i_r_e_d-_o_t_h_e_r-_w_i_n_d_o_w 
 
"Edit" directory DIRNAME in other window. 
Like dired command but displays dired buffer in other window. 
 
 
_d_i_r_e_d-_n_o_s_e_l_e_c_t 
 
Find or create a dired buffer, return it, don't select it. 
Call like dired. 
 
 
_d_i_s_s_o_c_i_a_t_e_d-_p_r_e_s_s 
 
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 words of continuity. 
If ARG is negative, require -ARG chars of continuity. 
Default is 2. 
 
 
_i_n_f_o 
 
Enter Info documentation browser. 
 
 
_l_e_d_i_t-_m_o_d_e 
 
 
 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 78 - 
 
 
 
Major mode for editing text and stuffing it to a Lisp job. 
Like Lisp mode, plus these special commands: 
  M-C-d -- record defun at or after dot 
           for later transmission to Lisp job. 
  M-C-r -- record region for later transmission to Lisp job. 
  C-x z -- transfer to Lisp job and transmit saved text. 
  M-C-c -- transfer to Liszt (Lisp compiler) job 
           and transmit saved text. 
To make Lisp mode automatically change to Ledit mode, 
do (setq lisp-mode-hook 'ledit-from-lisp-mode) 
 
 
_l_p_r-_b_u_f_f_e_r 
 
Print contents of buffer as with Unix command `lpr'. 
 
 
_p_r_i_n_t-_b_u_f_f_e_r 
 
Print contents of buffer as with Unix command `lpr -p'. 
 
 
_a_p_p_e_n_d-_k_b_d-_m_a_c_r_o 
 
Append kbd macro NAME in file FILE, as Lisp code to define the macro. 
Use  load  to load the file. 
Third argument KEYS non-nil means also record the keys it is on. 
 (This is the prefix argument, when calling interactively.) 
 
 
_k_b_d-_m_a_c_r_o-_q_u_e_r_y 
 
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, reads a character.  Your options are: 
 Space -- execute the rest of the macro. 
 Delete -- skip the rest of the macro; start next repetition. 
 C-d -- skip rest of the macro and don't repeat it any more. 
 C-r -- enter a recursive edit, then on exit ask again for a character 
 C-l -- redisplay screen and ask again. 
 
 
_w_r_i_t_e-_k_b_d-_m_a_c_r_o 
 
Save kbd macro NAME in file FILE, as Lisp code to define the macro. 
Use  load  to load the file. 
Third argument KEYS non-nil means also record the keys it is on. 
 (This is the prefix argument, when calling interactively.) 
Fourth argument APPENDFLAG non-nil meams append to FILE's existing contents. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 79 - 
 
 
_m_a_n_u_a_l-_e_n_t_r_y 
 
Display Unix manual entry for TOPIC. 
 
 
_e_n_a_b_l_e-_c_o_m_m_a_n_d 
 
Allow COMMAND to be executed without special confirmation from now on. 
The user's emacs.profile file is altered so that this will apply 
to future sessions. 
 
 
_d_i_s_a_b_l_e-_c_o_m_m_a_n_d 
 
Require special confirmation to execute COMMAND from now on. 
The user's emacs.profile file is altered so that this will apply 
to future sessions. 
 
 
_l_i_s_t-_o_p_t_i_o_n_s 
 
Display a list of Emacs user options, with values and documentation. 
 
 
_e_d_i_t-_o_p_t_i_o_n_s 
 
Edit a list of Emacs user option values. 
Selects a buffer containing such a list, 
in which there are commands to set the option values. 
Type C-H m in that buffer for a list of commands. 
 
 
_o_u_t_l_i_n_e-_m_o_d_e 
 
Set up Emacs for editing an outline, doing selective hiding of text. 
 
 
_c_l_e_a_r-_r_e_c_t_a_n_g_l_e 
 
Blank out rectangle with corners at dot and mark. 
The text previously in the region is overwritten by the blanks. 
 
 
_d_e_l_e_t_e-_r_e_c_t_a_n_g_l_e 
 
Delete (don't save) text in rectangle with dot and mark as corners. 
The same range of columns is deleted in each line 
starting with the line where the region begins 
and ending with the line where the region ends. 
 
 
_d_e_l_e_t_e-_e_x_t_r_a_c_t-_r_e_c_t_a_n_g_l_e 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 80 - 
 
 
 
Return and delete contents of rectangle with corners at START and END. 
Value is list of strings, one for each line of the rectangle. 
 
 
_e_x_t_r_a_c_t-_r_e_c_t_a_n_g_l_e 
 
Return contents of rectangle with corners at START and END. 
Value is list of strings, one for each line of the rectangle. 
 
 
_i_n_s_e_r_t-_r_e_c_t_a_n_g_l_e 
 
Insert text of RECTANGLE with upper left corner at dot. 
RECTANGLE's first line is inserted at dot, 
its second line is inserted at a point vertically under dot, etc. 
RECTANGLE should be a list of strings. 
 
 
_k_i_l_l-_r_e_c_t_a_n_g_l_e 
 
Delete rectangle with corners at dot and mark; save as last killed one. 
Calling from program, supply two args START and END, buffer positions. 
But in programs you might prefer to use delete-extract-rectangle. 
 
 
_o_p_e_n-_r_e_c_t_a_n_g_l_e 
 
Blank out rectangle with corners at dot and mark, shifting text right. 
The text previously in the region is not overwritten by the blanks, 
but insted winds up to the right of the rectangle. 
 
 
_y_a_n_k-_r_e_c_t_a_n_g_l_e 
 
Yank the last killed rectangle with upper left corner at dot. 
 
 
_r_m_a_i_l 
 
Read (or delete or answer) your mail. 
 
 
_m_a_i_l-_o_t_h_e_r-_w_i_n_d_o_w 
 
Like mail command but displays in other window. 
 
 
_m_a_i_l 
 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 81 - 
 
 
 
Edit a message to be sent.  Argument means resume editing (don't erase). 
Returns with message buffer seleted; value t if message freshly initialized. 
While editing message, type C-z C-z to send the message and exit. 
 
Various special commands starting with C-z are available in sendmail mode 
to move to message header fields.  Type C-z? for a list of them. 
 
If mail-self-blind is non-nil, a bcc to yourself is inserted 
when the message is initialized. 
 
If mail-setup-hook is bound, its value is called with no arguments 
after the message is initialized.  It can add more default fields. 
 
When calling from a program, the second through fifth arguments 
 TO, SUBJECT, CC and IN-REPLY-TO specify if non-nil 
 the initial contents of those header fields. 
 These arguments should not have final newlines. 
The sixth argument REPLYBUFFER is a buffer whose contents 
 should be yanked if the user types C-Z y. 
 
 
_s_h_e_l_l 
 
Run an inferior shell, with I/O through buffer *shell*. 
If buffer exists but shell process is not running, make new shell. 
The buffer is put in shell-mode, giving commands for sending input 
and controlling the subjobs of the shell.  See shell-mode. 
 
 
_s_p_e_l_l-_b_u_f_f_e_r 
 
Check spelling of every word in the buffer. 
For each incorrect word, you are asked for the correct spelling 
and then put into a query-replace to fix some or all occurrences. 
If you do not want to change a word, just give the same word 
as its "correct" spelling; then the query replace is skipped. 
 
 
_s_p_e_l_l-_w_o_r_d 
 
Check spelling of word at or after dot. 
If it is not correct, ask user for the correct spelling 
and query-replace the entire buffer to substitute it. 
 
 
_s_p_e_l_l-_s_t_r_i_n_g 
 
Check spelling of string supplied as argument. 
 
 
_u_n_t_a_b_i_f_y 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 82 - 
 
 
 
Convert all tabs in region to multiple spaces, preserving columns. 
The variable tab-width controls the action. 
 
 
_t_a_b_i_f_y 
 
Convert multiple spaces in region to tabs when possible. 
A group of spaces is partially replaced by tabs 
when this can be done without changing the column they end at. 
The variable tab-width controls the action. 
 
 
_f_i_n_d-_t_a_g 
 
Find next tag (in current tag table) whose name contains TAGNAME. 
 Selects the buffer that the tag is contained in 
and puts dot at its definition. 
 If TAGNAME is a null string, the expression in the buffer 
around or before dot is used as the tag name. 
 If second arg NEXT is non-nil (interactively, with prefix arg), 
searches for the next tag in the tag table 
that matches the tagname used in the previous find-tag. 
 
See documentation of variable tags-file-name. 
 
 
_f_i_n_d-_t_a_g-_o_t_h_e_r-_w_i_n_d_o_w 
 
Find tag (in current tag table) whose name contains TAGNAME. 
 Selects the buffer that the tag is contained in 
and puts dot at its definition. 
 If TAGNAME is a null string, the expression in the buffer 
around or before dot is used as the tag name. 
 If second arg NEXT is non-nil (interactively, with prefix arg), 
searches for the next tag in the tag table 
that matches the tagname used in the previous find-tag. 
 
See documentation of variable tags-file-name. 
 
 
_l_i_s_t-_t_a_g_s 
 
Display list of tags in file FILE. 
 
 
_n_e_x_t-_f_i_l_e 
 
Select next file among files in current tag table. 
Non-nil argument (prefix arg, if interactive) 
initializes to the beginning of the list of files in the tag table. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 83 - 
 
 
_t_a_g_s-_a_p_r_o_p_o_s 
 
Display list of all tags in tag table that contain STRING. 
 
 
_t_a_g_s-_l_o_o_p-_c_o_n_t_i_n_u_e 
 
Continue last tags-search or tags-query-replace command. 
Used noninteractively with non-nil argument 
to begin such a command.  See variable tags-loop-form. 
 
 
_t_a_g-_t_a_b_l_e-_f_i_l_e_s 
 
Return a list of files in the current tag table. 
 
 
_t_a_g_s-_q_u_e_r_y-_r_e_p_l_a_c_e 
 
Query-replace FROM with TO through all files listed in tag table. 
If you exit (C-G or ESC), you can resume the query-replace 
with the command tags-loop-continue. 
 
See documentation of variable tags-file-name. 
 
 
_t_a_g_s-_s_e_a_r_c_h 
 
Search through all files listed in tag table for match for REGEXP. 
Stops when a match is found. 
To continue searching for next match, use command tags-loop-continue. 
 
See documentation of variable tags-file-name. 
 
 
_d_i_s_p_l_a_y-_t_i_m_e 
 
Display current time and load level in mode line of each buffer. 
Updates automatically every minute. 
 
 
_u_n_d_e_r_l_i_n_e-_r_e_g_i_o_n 
 
Underline all nonblank characters in the region. 
Works by overstriking underscores. 
Called from program, takes two arguments START and END 
which specify the range to operate on. 
 
 
_u_n_u_n_d_e_r_l_i_n_e-_r_e_g_i_o_n 
 
Remove allunderlining (overstruck underscores) in the region. 
Called from program, takes two arguments START and END 
which specify the range to operate on. 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 84 - 
 
 
_i_s_e_a_r_c_h-_f_o_r_w_a_r_d 
 
Do incremental search forward. 
As you type characters, they add to the search string and are found. 
Type Delete to cancel characters from end of search string. 
Type ESC to exit, leaving dot at location found. 
Type C-S to search again forward, C-R to search again backward. 
Type C-W to yank word from buffer onto end of search string and search for it. 
Type C-Y to yank rest of line onto end of search string, etc. 
Type C-Q to quote control character to search for it. 
Other control and meta characters terminate the search 
 and are then executed normally. 
C-G while searching or when search has failed 
 cancels input back to what has been found successfully. 
C-G when search is successful aborts and moves dot to starting point. 
 
 
_i_s_e_a_r_c_h-_f_o_r_w_a_r_d-_r_e_g_e_x_p 
 
Do incremental search forward for regular expression. 
Like ordinary incremental search except that your input 
is treated as a regexp.  See  isearch-forward  for more info. 
 
 
_i_s_e_a_r_c_h-_b_a_c_k_w_a_r_d 
 
Do incremental search backward. 
See  isearch-forward  for more information. 
 
 
_i_s_e_a_r_c_h-_b_a_c_k_w_a_r_d-_r_e_g_e_x_p 
 
Do incremental search backward for regular expression. 
Like ordinary incremental search except that your input 
is treated as a regexp.  See  isearch-forward  for more info. 
 
 
_q_u_e_r_y-_r_e_p_l_a_c_e 
 
Replace some occurrences of FROM-STRING with TO-STRING. 
As each match is found, the user must type a character saying 
what to do with it. 
Type Help char within query-replace for directions. 
 
Preserves case in each replacement if case-replace and case-fold-search 
are non-nil and FROM-STRING has no uppercase letters. 
Third arg DELIMITED non-nil means replace only matches 
surrounded by word boundaries.  Interactively, this is the prefix arg. 
 
 
_q_u_e_r_y-_r_e_p_l_a_c_e-_r_e_g_e_x_p 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 85 - 
 
 
 
Replace some things after dot matching REGEXP with TO-STRING. 
As each match is found, the user must type a character saying 
what to do with it. 
Type Help char within query-replace for directions. 
 
Preserves case in each replacement if case-replace and case-fold-search 
are non-nil and REGEXP has no uppercase letters. 
Third arg DELIMITED non-nil means replace only matches 
surrounded by word boundaries. 
In TO-STRING,  means insert what matched REGEXP, 
and <n> means insert what matched <n>th .) in REGEXP. 
 
 
_r_e_p_l_a_c_e-_s_t_r_i_n_g 
 
Replace occurrences of FROM-STRING with TO-STRING. 
Preserve case in each match if case-replace and case-fold-search 
are non-nil and FROM-STRING has no uppercase letters. 
Third arg DELIMITED non-nil means replace only matches 
surrounded by word boundaries. 
 
 
_r_e_p_l_a_c_e-_r_e_g_e_x_p 
 
Replace things after dot matching REGEXP with TO-STRING. 
Preserve case in each match if case-replace and case-fold-search 
are non-nil and REGEXP has no uppercase letters. 
Third arg DELIMITED non-nil means replace only matches 
surrounded by word boundaries. 
In TO-STRING,  means insert what matched REGEXP, 
and <n> means insert what matched <n>th .) in REGEXP. 
 
 
_f_o_r_w_a_r_d-_s_e_x_p 
 
Move forward across one balanced expression. 
With argument, do this that many times. 
 
 
_b_a_c_k_w_a_r_d-_s_e_x_p 
 
Move backward across one balanced expression. 
With argument, do this that many times. 
 
 
_m_a_r_k-_s_e_x_p 
 
Set mark ARG sexps from dot. 
 
 
_f_o_r_w_a_r_d-_l_i_s_t 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 86 - 
 
 
 
Move forward across one balanced group of parentheses. 
With argument, do this that many times. 
 
 
_b_a_c_k_w_a_r_d-_l_i_s_t 
 
Move backward across one balanced group of parentheses. 
With argument, do this that many times. 
 
 
_d_o_w_n-_l_i_s_t 
 
Move forward down one level of parentheses. 
With argument, do this that many times. 
A negative argument means move backward but still go down a level. 
 
 
_b_a_c_k_w_a_r_d-_u_p-_l_i_s_t 
 
Move backward out of one level of parentheses. 
With argument, do this that many times. 
A negative argument means move forward but still to a less deep spot. 
 
 
_u_p-_l_i_s_t 
 
Move forward out of one level of parentheses. 
With argument, do this that many times. 
A negative argument means move backward but still to a less deep spot. 
 
 
_k_i_l_l-_s_e_x_p 
 
Kill the syntactic expression following the cursor. 
With argument, kill that many expressions after (or before) the cursor. 
 
 
_b_a_c_k_w_a_r_d-_k_i_l_l-_s_e_x_p 
 
Kill the syntactic expression preceding the cursor. 
With argument, kill that many expressions before (or after) the cursor. 
 
 
_e_v_a_l-_l_a_s_t-_s_e_x_p 
 
Evaluate sexp before point; print value in minibuffer. 
With argument, print output into current buffer. 
 
 
_e_v_a_l-_d_e_f_u_n 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 87 - 
 
 
 
Evaluate defun that dot is in or before. 
Print value in minibuffer. 
With argument, insert value in current buffer after the defun. 
 
 
_b_e_g_i_n_n_i_n_g-_o_f-_d_e_f_u_n 
 
Move backward to next beginning-of-defun. 
With argument, do this that many times. 
Returns t unless search stops due to end of buffer. 
 
 
_e_n_d-_o_f-_d_e_f_u_n 
 
Move forward to next end of defun. 
An end of a defun is found by moving forward from the beginning of one. 
 
 
_m_a_r_k-_d_e_f_u_n 
 
Put mark at end of defun, dot at beginning. 
 
 
_i_n_s_e_r_t-_p_a_r_e_n_t_h_e_s_e_s 
 
Put parentheses around next ARG sexps.  Leave dot after open-paren. 
No argument is equivalent to zero: just insert () and leave dot between. 
 
 
_m_o_v_e-_p_a_s_t-_c_l_o_s_e-_a_n_d-_r_e_i_n_d_e_n_t 
 
Move past next ), delete indentation before it, then indent after it. 
 
 
_f_o_r_w_a_r_d-_p_a_g_e 
 
Move forward to page boundary.  With arg, repeat, or go back if negative. 
A page boundary is any line whose beginning matches the regexp  page-delimiter. 
 
 
_b_a_c_k_w_a_r_d-_p_a_g_e 
 
Move backward to page boundary.  With arg, repeat, or go fwd if negative. 
A page boundary is any line whose beginning matches the regexp  page-delimiter. 
 
 
_m_a_r_k-_p_a_g_e 
 
Put mark at end of page, dot at beginning. 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 88 - 
 
 
_n_a_r_r_o_w-_t_o-_p_a_g_e 
 
Make text outside current page invisible. 
 
 
_c_o_u_n_t-_l_i_n_e_s-_p_a_g_e 
 
Report number of lines on current page, and how many are before or after dot. 
 
 
_w_h_a_t-_p_a_g_e 
 
Print page and line number of dot. 
 
 
_g_e_t-_r_e_g_i_s_t_e_r 
 
Return contents of Emacs register named CHAR, or nil if none. 
 
 
_s_e_t-_r_e_g_i_s_t_e_r 
 
Set contents of Emacs register named CHAR to VALUE. 
 
 
_d_o_t-_t_o-_r_e_g_i_s_t_e_r 
 
Store current location of dot in a register. 
Argument is a character, naming the register. 
 
 
_r_e_g_i_s_t_e_r-_t_o-_d_o_t 
 
Move dot to location stored in a register. 
Argument is a character, naming the register. 
 
 
_v_i_e_w-_r_e_g_i_s_t_e_r 
 
Display what is contained in register named REGISTER. 
REGISTER is a character. 
 
 
_i_n_s_e_r_t-_r_e_g_i_s_t_e_r 
 
Insert contents of register REG.  REG is a character. 
Normally puts dot before and mark after the inserted text. 
If optional second arg is non-nil, puts mark before and dot after. 
Interactively, second arg is non-nil if prefix arg is supplied. 
 
 
_c_o_p_y-_t_o-_r_e_g_i_s_t_e_r 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 89 - 
 
 
 
Copy region into register REG. 
With prefix arg, delete as well. 
Called from program, takes four args: 
REG, START, END and DELETE-FLAG. 
START and END are buffer positions indicating what to copy. 
 
 
_a_p_p_e_n_d-_t_o-_r_e_g_i_s_t_e_r 
 
Append region to text in register REG. 
With prefix arg, delete as well. 
Called from program, takes four args: 
REG, START, END and DELETE-FLAG. 
START and END are buffer positions indicating what to append. 
 
 
_p_r_e_p_e_n_d-_t_o-_r_e_g_i_s_t_e_r 
 
Prepend region to text in register REG. 
With prefix arg, delete as well. 
Called from program, takes four args: 
REG, START, END and DELETE-FLAG. 
START and END are buffer positions indicating what to prepend. 
 
 
_c_o_p_y-_r_e_c_t_a_n_g_l_e-_t_o-_r_e_g_i_s_t_e_r 
 
Copy rectangular region into register REG. 
With prefix arg, delete as well. 
Called from program, takes four args: 
REG, START, END and DELETE-FLAG. 
START and END are buffer positions giving two corners of rectangle. 
 
 
_f_o_r_w_a_r_d-_p_a_r_a_g_r_a_p_h 
 
Move forward to end of paragraph.  With arg, do it arg times. 
A line which  paragraph-start  matches either separates paragraphs 
(if  paragraph-separate  matches it also) or is the first line of a paragraph. 
A paragraph end is the beginning of a line which is not part of the paragraph 
to which the end of the previous line belongs, or the end of the buffer. 
 
 
_b_a_c_k_w_a_r_d-_p_a_r_a_g_r_a_p_h 
 
Move backward to start of paragraph.  With arg, do it arg times. 
A paragraph start is the beginning of a line which is a first-line-of-paragraph 
or which is ordinary text and follows a paragraph-separating line; except: 
if the first real line of a paragraph is preceded by a blank line, 
the paragraph starts at that blank line. 
See forward-paragraph for more information. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 90 - 
 
 
_m_a_r_k-_p_a_r_a_g_r_a_p_h 
 
Put point at beginning of this paragraph, mark at end. 
 
 
_k_i_l_l-_p_a_r_a_g_r_a_p_h 
 
Kill to end of paragraph. 
 
 
_b_a_c_k_w_a_r_d-_k_i_l_l-_p_a_r_a_g_r_a_p_h 
 
Kill back to start of paragraph. 
 
 
_t_r_a_n_s_p_o_s_e-_p_a_r_a_g_r_a_p_h_s 
 
Interchange this (or next) paragraph with previous one. 
 
 
_f_o_r_w_a_r_d-_s_e_n_t_e_n_c_e 
 
Move forward to next sentence-end.  With argument, repeat. 
With negative argument, move backward repeatedly to sentence-beginning. 
Sentence ends are identified by the value of sentence-end 
treated as a regular expression.  Also, every paragraph boundary 
terminates sentences as well. 
 
 
_b_a_c_k_w_a_r_d-_s_e_n_t_e_n_c_e 
 
Move backward to start of sentence.  With arg, do it arg times. 
See forward-sentence for more information. 
 
 
_k_i_l_l-_s_e_n_t_e_n_c_e 
 
Kill from dot to end of sentence. 
With arg, repeat, or backward if negative arg. 
 
 
_b_a_c_k_w_a_r_d-_k_i_l_l-_s_e_n_t_e_n_c_e 
 
Kill back from dot to start of sentence. 
With arg, repeat, or forward if negative arg. 
 
 
_m_a_r_k-_e_n_d-_o_f-_s_e_n_t_e_n_c_e 
 
Put mark at end of sentence.  Arg works as in forward-sentence. 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 91 - 
 
 
_t_r_a_n_s_p_o_s_e-_s_e_n_t_e_n_c_e_s 
 
Interchange this (next) and previous sentence. 
 
 
_l_i_s_p-_m_o_d_e 
 
Major mode for editing Lisp code. 
Commands: 
Delete converts tabs to spaces as it moves back. 
Tab indents for Lisp; with argument, shifts rest 
 of expression rigidly with the current line. 
Meta-Control-Q does Tab on each line starting within following expression. 
Meta-Control-X evaluates the largest Lisp expression around or after dot. 
Blank lines separate paragraphs.  Semicolons start comments. 
 
 
_l_i_s_p-_i_n_t_e_r_a_c_t_i_o_n-_m_o_d_e 
 
Major mode for typing and evaluating Lisp forms. 
Like Lisp mode except that Linefeed evals the Lisp expression 
 before dot, and prints its value into the buffer, advancing dot. 
Commands: 
Delete converts tabs to spaces as it moves back. 
Tab indents for Lisp; with argument, shifts rest 
 of expression rigidly with the current line. 
Meta-Control-Q does Tab on each line starting within following expression. 
Meta-Control-X evaluates the largest Lisp expression around or after dot. 
Paragraphs are separated only by blank lines.  Semicolons start comments. 
 
 
_e_v_a_l-_p_r_i_n_t-_l_a_s_t-_s_e_x_p 
 
Evaluate sexp before point; print value into current buffer. 
 
 
_l_i_s_p-_i_n_d_e_n_t-_l_i_n_e 
 
Indent current line as Lisp code. 
With argument, indent any additional lines of the same expression 
rigidly along with this one. 
 
 
_c_a_l_c_u_l_a_t_e-_l_i_s_p-_i_n_d_e_n_t 
 
Return appropriate indentation for current line as Lisp code. 
In usual case returns an integer: the column to indent to. 
Can instead return a list, whose car is the column to indent to. 
This means that following lines at the same level of indentation 
should not necessarily be indented the same way. 
The second element of the list is the buffer position 
of the start of the containing expression. 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 92 - 
 
 
_i_n_d_e_n_t-_s_e_x_p 
 
Indent each line of the list starting just after dot. 
 
 
_i_n_d_e_n_t-_c_o_d_e-_r_i_g_i_d_l_y 
 
Indent all lines of code, starting in the region, sideways by ARG columns. 
Does not affect lines starting inside comments or strings, 
assuming that the start of the region is not inside them. 
Called from a program, takes three arguments, START, END and ARG. 
 
 
_t_e_x_t-_m_o_d_e 
 
Major mode for editing text intended for humans to read. 
Tab is tab-to-tab-stop.  (Set tab stops with edit-tab-stops.) 
Meta-s is center-line.  Meta-S is center-paragraph. 
 
 
_i_n_d_e_n_t_e_d-_t_e_x_t-_m_o_d_e 
 
Major mode for editing indented text intended for humans to read. 
Tab runs indent-relative, indent under previous line. 
Meta-s is center-line.  Meta-S is center-paragraph. 
 
 
_c_e_n_t_e_r-_p_a_r_a_g_r_a_p_h 
 
Center each line in the paragraph at or after dot. 
See center-line for more info. 
 
 
_c_e_n_t_e_r-_r_e_g_i_o_n 
 
Center each line starting in the region. 
See center-line for more info. 
 
 
_c_e_n_t_e_r-_l_i_n_e 
 
Center the line dot is on. 
This means adjusting its indentation to match 
the distance between the end of the text and fill-column. 
 
 
_s_e_t-_f_i_l_l-_p_r_e_f_i_x 
 
Set the fill-prefix to the current line up to dot. 
Filling expects lines to start with the fill prefix 
and reinserts the fill prefix in each resulting line. 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 93 - 
 
 
_f_i_l_l-_r_e_g_i_o_n-_a_s-_p_a_r_a_g_r_a_p_h 
 
Fill region as one paragraph: break lines to fit fill-column. 
Prefix arg means justify too. 
>From program, pass args FROM, TO and JUSTIFY-FLAG. 
 
 
_f_i_l_l-_p_a_r_a_g_r_a_p_h 
 
Fill paragraph at or after dot. 
Prefix arg means justify as well. 
 
 
_f_i_l_l-_r_e_g_i_o_n 
 
Fill each of the paragraphs in the region. 
Prefix arg (non-nil third arg, if called from program) 
means justify as well. 
 
 
_j_u_s_t_i_f_y-_c_u_r_r_e_n_t-_l_i_n_e 
 
Add spaces to line dot is in, so it ends at fill-column. 
 
 
_c-_m_o_d_e 
 
Major mode for editing C code. 
Expression and list commands understand all C brackets. 
Tab indents for C code. 
Meta-Control-Q indents all lines within following bracket-grouping. 
Comments are delimited with /* ... */. 
Paragraphs are separated by blank lines only. 
 
Meta-Control-H puts mark at end of C function and dot before it. 
Delete converts tabs to spaces as it moves back. 
 
Variables controlling indentation style: 
 c-auto-newline 
    Non-nil means automatically newline before and after braces, 
       and after colons and semicolons, inserted in C code. 
 c-indent-level 
    Number of columns for each nesting level in C code. 
 c-brace-offset 
    Offset of indentation of braces relative to containing nesting level. 
 c-argdecl-indent 
    Indentation level of declarations of C function arguments. 
 c-label-offset 
    Offset of C label lines and case statements relative to usual indentation. 
 
 
_e_l_e_c_t_r_i_c-_c-_b_r_a_c_e 
 
Insert character and correct line's indentation. 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 94 - 
 
 
_e_l_e_c_t_r_i_c-_c-_s_e_m_i 
 
Insert character and correct line's indentation. 
 
 
_e_l_e_c_t_r_i_c-_c-_t_e_r_m_i_n_a_t_o_r 
 
Insert character and correct line's indentation. 
 
 
_c-_i_n_d_e_n_t-_l_i_n_e 
 
Indent current line as C code. 
Argument means shift any additional lines of grouping 
rigidly with thls line. 
 
 
_c_a_l_c_u_l_a_t_e-_c-_i_n_d_e_n_t 
 
Return appropriate indentation for current line as C code. 
In usual case returns an integer: the column to indent to. 
Returns nil if line starts inside a string, t if in a comment. 
 
 
_m_a_r_k-_c-_f_u_n_c_t_i_o_n 
 
Put mark at end of C function, dot at beginning. 
 
 
_i_n_d_e_n_t-_c-_e_x_p 
 
Indent each line of the C grouping following dot. 
 
 
_k_e_e_p-_l_i_n_e_s 
 
Delete lines not containing matches for REGEXP. 
Applies to lines after dot. 
 
 
_f_l_u_s_h-_l_i_n_e_s 
 
Delete lines containing matches for REGEXP. 
Applies to lines after dot. 
 
 
_h_o_w-_m_a_n_y 
 
Print number of matches for REGEXP following dot. 
 
 
_o_c_c_u_r 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 95 - 
 
 
 
Show all lines containing of REGEXP following dot. 
Display each line with NLINES lines before and after. 
NLINES defaults to 0.  Interactively it is the prefix arg. 
 
 
_a_b_b_r_e_v-_m_o_d_e 
 
Toggle abbrev mode. 
With arg, turn abbrev mode on iff arg is positive. 
In abbrev mode, inserting an abbreviation causes it to expand 
and be replaced by its expansion. 
 
 
_k_i_l_l-_a_l_l-_a_b_b_r_e_v_s 
 
Undefine all defined abbrevs. 
 
 
_i_n_s_e_r_t-_a_b_b_r_e_v_s 
 
Insert after dot a description of all defined abbrevs. 
Mark is set after the inserted text. 
 
 
_l_i_s_t-_a_b_b_r_e_v_s 
 
Display a list of all defined abbrevs. 
 
 
_e_d_i_t-_a_b_b_r_e_v_s 
 
Alter abbrev definitions by editing a list of them. 
Selects a buffer containing a list of abbrev definitions. 
You can edit them and type C-X C-S to redefine abbrevs 
according to your editing. 
Buffer contains a header line for each abbrev table, 
 which is the abbrev table name in parentheses. 
This is followed by one line per abbrev in that table: 
NAME   USECOUNT   EXPANSION   HOOK 
where NAME and EXPANSION are strings with quotes, 
USECOUNT is an integer, and HOOK is any valid function 
or may be omitted (it is usually omitted). 
 
 
_e_d_i_t-_a_b_b_r_e_v_s-_r_e_d_e_f_i_n_e 
 
Redefine abbrevs according to current buffer contents 
 
 
_d_e_f_i_n_e-_a_b_b_r_e_v_s 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 96 - 
 
 
 
Define abbrevs according to current visible buffer contents. 
See documentation of edit-abbrevs for info on the format of the 
text you must have in the buffer. 
With argument, eliminate all abbrev definitions except 
the ones defined from the buffer now. 
 
 
_r_e_a_d-_a_b_b_r_e_v-_f_i_l_e 
 
Read abbrev definitions from file written with write-abbrev-file. 
 
 
_q_u_i_e_t_l_y-_r_e_a_d-_a_b_b_r_e_v-_f_i_l_e 
 
Read abbrev definitions from file written with write-abbrev-file. 
 
 
_w_r_i_t_e-_a_b_b_r_e_v-_f_i_l_e 
 
Write all abbrev definitions to file of Lisp code. 
The file can be loaded to define the same abbrevs. 
 
 
_a_d_d-_m_o_d_e-_a_b_b_r_e_v 
 
Define mode-specific abbrev for last word(s) before dot. 
Argument is how many words before dot form the expansion; 
or zero means the region is the expansion. 
Reads the abbreviation in the minibuffer. 
 
 
_a_d_d-_g_l_o_b_a_l-_a_b_b_r_e_v 
 
Define global (all modes) abbrev for last word(s) before dot. 
Argument is how many words before dot form the expansion; 
or zero means the region is the expansion. 
Reads the abbreviation in the minibuffer. 
 
 
_i_n_v_e_r_s_e-_a_d_d-_m_o_d_e-_a_b_b_r_e_v 
 
Define last word before dot as a mode-specific abbrev. 
With argument N, defines the Nth word before dot. 
Reads the expansion in the minibuffer. 
Expands the abbreviation after defining it. 
 
 
_i_n_v_e_r_s_e-_a_d_d-_g_l_o_b_a_l-_a_b_b_r_e_v 
 
Define last word before dot as a global (mode-independent) abbrev. 
With argument N, defines the Nth word before dot. 
Reads the expansion in the minibuffer. 
Expands the abbreviation after defining it. 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 97 - 
 
 
_a_b_b_r_e_v-_p_r_e_f_i_x-_m_a_r_k 
 
Mark current dot as the beginning of an abbrev. 
Abbrev to be expanded starts here rather than at 
beginning of word.  This way, you can expand an abbrev 
with a prefix: insert the prefix, use this command, 
then insert the abbrev. 
 
 
_e_x_p_a_n_d-_r_e_g_i_o_n-_a_b_b_r_e_v_s 
 
For abbrev occurrence in the region, offer to expand it. 
The user is asked to type y or n for each occurrence. 
 
 
_B_u_f_f_e_r-_m_e_n_u-_m_o_d_e 
 
Major mode for editing a list of buffers. 
Each line describes one of the buffers in Emacs. 
Letters do not insert themselves; instead, they are commands. 
m -- mark buffer to be displayed. 
q or C-Z -- select buffer of line dot is on. 
  Also show buffers marked with m in other windows. 
1 -- select that buffer in full-screen window. 
2 -- select that buffer in one window, 
  together with buffer selected before this one in another window. 
~ -- clear modified-flag on that buffer. 
s -- mark that buffer to be saved. 
d or k or C-D or C-K -- mark that buffer to be killed. 
x -- kill or save marked buffers. 
u -- remove all kinds of marks from current line. 
Delete -- back up a line and remove marks. 
 
 
_B_u_f_f_e_r-_m_e_n_u-_n_a_m_e 
 
Return name of buffer described by this line of buffer menu. 
 
 
_b_u_f_f_e_r-_m_e_n_u 
 
Make a menu of buffers so you can save, kill or select them. 
With argument, show only buffers that are visiting files. 
Type ? after invocation to get help on commands available within. 
 
 
_B_u_f_f_e_r-_m_e_n_u-_m_a_r_k 
 
Mark buffer on this line for being displayed by q command. 
 
 
_B_u_f_f_e_r-_m_e_n_u-_u_n_m_a_r_k 
 
Cancel all requested operations on buffer on this line. 
 
 
 
                        May 13, 1985 
 
 
 
 
 
                           - 98 - 
 
 
_B_u_f_f_e_r-_m_e_n_u-_b_a_c_k_u_p-_u_n_m_a_r_k 
 
Move up and cancel all requested operations on buffer on line above. 
 
 
_B_u_f_f_e_r-_m_e_n_u-_k_i_l_l 
 
Mark buffer on this line to be killed by x command. 
 
 
_B_u_f_f_e_r-_m_e_n_u-_s_a_v_e 
 
Mark buffer on this line to be saved by x command. 
 
 
_B_u_f_f_e_r-_m_e_n_u-_n_o_t-_m_o_d_i_f_i_e_d 
 
Mark buffer on this line as unmodified (no changes to save). 
 
 
_B_u_f_f_e_r-_m_e_n_u-_s_e_l_e_c_t 
 
Select this line's buffer; also display buffers marked with >. 
 
 
_e_m_a_c_s-_v_e_r_s_i_o_n 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                        May 13, 1985 
 
 
 
From bbanerje Tue May 14 10:12:19 1985 
Received: by sjuvax.UUCP (4.12/4.7) 
	id AA26247; Tue, 14 May 85 10:12:14 edt 
Date: Tue, 14 May 85 10:12:14 edt 
From: bbanerje (B. Banerjee) 
Message-Id: <8505141412.AA26247@sjuvax.UUCP> 
To: mendenha 
Subject: Emacs Key mappings 
Status: R 
 
Emacs command summary, Tue May 14. 
 
C-<sp>   set-mark-command		 C-q      quoted-insert 
C-a      beginning-of-line		 C-r      isearch-backward 
C-b      backward-char			 C-s      isearch-forward 
C-c      exit-recursive-edit		 C-t      transpose-chars 
C-d      delete-char			 C-u      universal-argument 
C-e      end-of-line			 C-v      scroll-up 
C-f      forward-char			 C-w      kill-region 
C-h      help-command			 C-x      Control-X-prefix 
C-i      indent-for-tab-command		 C-y      yank 
C-j      newline-and-indent		 C-z      suspend-emacs 
C-k      kill-line			 ESC      ESC-prefix 
C-l      recenter			 C-]      abort-recursive-edit 
C-m      newline			 C-_      undo 
C-n      next-line			   .. ~   self-insert-command 
C-o      open-line			 C-?      delete-backward-char 
C-p      previous-line 
 
C-x C-a  add-mode-abbrev		 C-x 4    ctl-x-4-prefix 
C-x C-b  list-buffers			 C-x 5    split-window-horizontally 
C-x C-c  save-buffers-kill-emacs	 C-x ;    set-comment-column 
C-x C-d  list-directory			 C-x <    scroll-left 
C-x C-e  eval-last-sexp			 C-x =    what-cursor-position 
C-x C-f  find-file			 C-x >    scroll-right 
C-x C-h  add-mode-abbrev		 C-x [    backward-page 
C-x C-i  indent-rigidly			 C-x ]    forward-page 
C-x C-l  downcase-region		 C-x ^    enlarge-window 
C-x C-n  set-goal-column		 C-x a    append-to-buffer 
C-x C-o  delete-blank-lines		 C-x b    switch-to-buffer 
C-x C-p  mark-page			 C-x d    dired 
C-x C-q  toggle-read-only		 C-x e    call-last-kbd-macro 
C-x C-r  find-file-read-only		 C-x f    set-fill-column 
C-x C-s  save-buffer			 C-x g    insert-register 
C-x C-t  transpose-lines		 C-x h    mark-whole-buffer 
C-x C-u  upcase-region			 C-x i    insert-file 
C-x C-v  find-alternate-file		 C-x j    register-to-dot 
C-x C-w  write-file			 C-x k    kill-buffer 
C-x C-x  exchange-dot-and-mark		 C-x l    count-lines-page 
C-x C-z  suspend-emacs			 C-x m    mail 
C-x ESC  repeat-complex-command		 C-x n    narrow-to-region 
C-x $    set-selective-display		 C-x o    other-window 
C-x (    start-kbd-macro		 C-x p    narrow-to-page 
C-x )    end-kbd-macro			 C-x r    copy-rectangle-to-register 
C-x +    add-global-abbrev		 C-x s    save-some-buffers 
C-x -    add-global-abbrev		 C-x u    undo 
C-x .    set-fill-prefix		 C-x w    widen 
C-x /    dot-to-register		 C-x x    copy-to-register 
C-x 0    delete-window			 C-x {    shrink-window-horizontally 
C-x 1    delete-other-windows		 C-x }    enlarge-window-horizontally 
C-x 2    split-window-vertically	 C-x C-?  backward-kill-sentence 
 
ESC C-@  mark-sexp			 ESC =    count-lines-region 
ESC C-a  beginning-of-defun		 ESC >    end-of-buffer 
ESC C-b  backward-sexp			 ESC <sp> mark-word 
ESC C-c  exit-recursive-edit		 ESC [    backward-paragraph 
ESC C-d  down-list			 ESC \    delete-horizontal-space 
ESC C-e  end-of-defun			 ESC ]    forward-paragraph 
ESC C-f  forward-sexp			 ESC ^    delete-indentation 
ESC C-h  mark-defun			 ESC a    backward-sentence 
ESC C-j  indent-new-comment-line	 ESC b    backward-word 
ESC C-k  kill-sexp			 ESC c    capitalize-word 
ESC C-n  forward-list			 ESC d    kill-word 
ESC C-o  split-line			 ESC e    forward-sentence 
ESC C-p  backward-list			 ESC f    forward-word 
ESC C-s  isearch-forward-regexp		 ESC g    fill-region 
ESC C-t  transpose-sexps		 ESC h    mark-paragraph 
ESC C-u  backward-up-list		 ESC j    indent-new-comment-line 
ESC C-v  scroll-other-window		 ESC k    kill-sentence 
ESC C-w  append-next-kill		 ESC l    downcase-word 
ESC ESC  eval-expression		 ESC m    back-to-indentation 
ESC C-\  indent-region			 ESC q    fill-paragraph 
ESC      just-one-space			 ESC r    move-to-screen-line 
ESC !    shell-command			 ESC t    transpose-words 
ESC %    query-replace			 ESC u    upcase-word 
ESC '    abbrev-prefix-mark		 ESC v    scroll-down 
ESC (    insert-parentheses		 ESC w    kill-ring-save 
ESC )    move-past-close-and-reindent	 ESC x    execute-extended-command 
ESC ,    tags-loop-continue		 ESC y    yank-pop 
ESC -    negative-argument		 ESC z    zap-to-char 
ESC .    find-tag			 ESC |    shell-command-on-region 
ESC 0 .. ESC 9  digit-argument		 ESC ~    not-modified 
ESC ;    indent-for-comment		 ESC C-?  backward-kill-word 
ESC <    beginning-of-buffer 
 
C-x 4 C-f       find-file-other-window	 C-x 4 d  dired-other-window 
C-x 4 .  find-tag-other-window		 C-x 4 f  find-file-other-window 
C-x 4 b  pop-to-buffer			 C-x 4 m  mail-other-window 
 
Local Bindings for Lisp Interaction Mode: 
 
C-i      lisp-indent-line		 C-j      eval-print-last-sexp 
C-?      backward-delete-char-untabify	 ESC      ?? 
 
ESC C-q  indent-sexp			 ESC C-x  eval-defun 
 
From bbanerje Thu Apr 25 16:24:26 1985 
Received: by sjuvax.UUCP (4.12/4.7) 
	id AA08928; Thu, 25 Apr 85 16:24:02 est 
Date: Thu, 25 Apr 85 16:24:02 est 
From: bbanerje (B. Banerjee) 
Message-Id: <8504252124.AA08928@sjuvax.UUCP> 
To: mendenha 
Subject: Emacs & Lisp 
Status: R 
 
From: neves@uwai.UUCP 
Newsgroups: net.emacs,net.lang.lisp 
Subject: Lisp and GNU Emacs 
 
 
	      **  Interacting with Lisp in GNU Emacs. ** 
			 bugs to David Neves 
 
GNU Emacs has a complete Lisp interpreter embedded in it.  You can 
play with it by typing an s-expression in the *scratch* buffer 
and then hitting a linefeed (ctrl-j). 
 
However it will often be the case some other Lisp is needed (for 
example Franz Lisp).  This note is to illustrate one way of debugging 
Lisp code by quickly going between the code in an Emacs buffer and 
the Lisp interpreter.  (There is also Ledit mode but I do not know 
how to use it.) 
 
Preliminaries. 
 
1.  Enter Emacs 
2.  Start up a shell buffer by doing 
    Meta-X shell <return> 
    (to see the things you can do in a shell buffer type ctrl-h m) 
3.  When you see the unix prompt (%) type lisp to enter Franz. 
4.  load your lisp file into Franz. (load "foo.l") 
5.  load your lisp file into Emacs (with ctrl-x ctrl-f foo.l <return>) 
 
To send a function from Emacs to Franz. 
 
1.  Mark the Lisp function (by executing Meta-Ctrl-d, ie. <escape> <ctrl-d>). 
2.  Send the region to the lisp process by doing  
	Meta-X send-region <return> 
	shell <return> 
3.  To go back to the shell (Lisp) buffer do a ctrl-x b<return> 
 
That's it.  One could write two functions to automate steps 1, 2, and 3. 
   
  (defun mark-send nil 
    "mark the current defun and send it to the shell buffer" 
    (interactive) 
    (save-excursion 
      (mark-defun) 
      (exchange-dot-and-mark)   ;send a carriage return 
      (beginning-of-line)       ;after the  
      (next-line 1)             ;defun for Franz 
      (send-region "shell" (mark) (dot)))) 
 
  (defun mark-send-go nil 
    "mark the current defun, send it to shell buffer, goto shell buffer" 
    (interactive) 
    (mark-send) 
    (switch-to-buffer "*shell*")) 
 
It is possible to put these functions on a key (or several keys). 
For example, let us put mark-send on Meta-Ctrl-x and mark-send-go on 
Meta-Ctrl-z so that we can call them when in Lisp-Mode.  After doing 
this we send a defun to lisp by moving the cursor to it and 
hitting Meta-Ctrl-x.  If we wanted to go back to the shell 
buffer we would hit Meta-Ctrl-z. 
 
 (define-key lisp-mode-map "\e\^x" 'mark-send) 
 (define-key lisp-mode-map "\e\^z" 'mark-send-go) 
 
If using these functions quite often you might want to place the 
functions and the define-keys in your .emacs file (which is loaded 
automatically when emacs is called).  You can also execute functions 
directly: e.g. by typing  Meta-<esc> (mark-send-go) <return>. 
 
--  
David Neves 
Computer Sciences Department 
University of Wisconsin-Madison 
 
Usenet:  {allegra,heurikon,ihnp4,seismo,uwm-evax}!uwvax!neves 
Arpanet: neves@uwvax 
 
 
 
