(@pxref{Backup Names}) is responsible for determining which backup
versions to delete, but does not delete them itself.
-@tindex delete-old-versions
@defopt delete-old-versions
If this variable is @code{t}, then saving a file deletes excess
backup versions silently. If it is @code{nil}, that means
@end defun
@defspec save-current-buffer body...
-@tindex save-current-buffer
The @code{save-current-buffer} macro saves the identity of the current
buffer, evaluates the @var{body} forms, and finally restores that buffer
as current. The return value is the value of the last form in
@end defspec
@defmac with-current-buffer buffer body...
-@tindex with-current-buffer
The @code{with-current-buffer} macro saves the identity of the current
buffer, makes @var{buffer} current, evaluates the @var{body} forms, and
finally restores the buffer. The return value is the value of the last
@end defmac
@defmac with-temp-buffer body...
-@tindex with-temp-buffer
The @code{with-temp-buffer} macro evaluates the @var{body} forms
with a temporary buffer as the current buffer. It saves the identity of
the current buffer, creates a temporary buffer and makes it current,
buffer-local. @xref{Multiple Displays}.
@end defvar
-@tindex real-last-command
@defvar real-last-command
This variable is set up by Emacs just like @code{last-command},
but never altered by Lisp programs.
@end defvar
@defvar num-nonmacro-input-events
-@tindex num-nonmacro-input-events
This variable holds the total number of input events received so far
from the terminal---not counting those generated by keyboard macros.
@end defvar
this variable.
@end defvar
-@tindex last-prefix-arg
@defvar last-prefix-arg
The raw prefix argument value used by the previous command.
@end defvar
@end defspec
@defmac when condition then-forms@dots{}
-@tindex when
This is a variant of @code{if} where there are no @var{else-forms},
and possibly several @var{then-forms}. In particular,
@end defmac
@defmac unless condition forms@dots{}
-@tindex condition
This is a variant of @code{if} where there is no @var{then-form}:
@example
The way to declare new customization groups is with @code{defgroup}.
@defmac defgroup group members doc [keyword value]...
-@tindex defgroup
Declare @var{group} as a customization group containing @var{members}.
Do not quote the symbol @var{group}. The argument @var{doc} specifies
the documentation string for the group. It should not start with a
Use @code{defcustom} to declare user-editable variables.
@defmac defcustom option default doc [keyword value]...
-@tindex defcustom
Declare @var{option} as a customizable user option variable. Do not
quote @var{option}. The argument @var{doc} specifies the documentation
string for the variable; it should normally start with a @samp{*}. This
@end defun
@defun current-message
-@tindex current-message
This function returns the message currently being displayed in the
echo area, or @code{nil} if there is none.
@end defun
@end defvar
@defvar echo-area-clear-hook
-@tindex echo-area-clear-hook
This normal hook is run whenever the echo area is cleared---either by
@code{(message nil)} or for any other reason.
@end defvar
@code{buffer-invisibility-spec} and removing elements from it.
@defun add-to-invisibility-spec element
-@tindex add-to-invisibility-spec
Add the element @var{element} to @code{buffer-invisibility-spec}
(if it is not already present in that list).
@end defun
@defun remove-from-invisibility-spec element
-@tindex remove-from-invisibility-spec
Remove the element @var{element} from @code{buffer-invisibility-spec}.
This does nothing if @var{element} is not in the list.
@end defun
@end defun
@defun overlays-in beg end
-@tindex overlays-in
This function returns a list of the overlays that overlap the region
@var{beg} through @var{end}. ``Overlap'' means that at least one
character is contained within the overlay and also contained within the
@ref{Screen Lines}, for related functions.
@defun char-width char
-@tindex char-width
This function returns the width in columns of the character @var{char},
if it were displayed in the current buffer and the selected window.
@end defun
@defun string-width string
-@tindex string-width
This function returns the width in columns of the string @var{string},
if it were displayed in the current buffer and the selected window.
@end defun
@defun truncate-string-to-width string width &optional start-column padding
-@tindex truncate-string-to-width
This function returns the part of @var{string} that fits within
@var{width} columns, as a new string.
emacs, The GNU Emacs Manual}).
@defmac defface face spec doc [keyword value]...
-@tindex defface
This declares @var{face} as a customizable face that defaults according
to @var{spec}. You should not quote the symbol @var{face}. The
argument @var{doc} specifies the face documentation. The keywords you
with the customization buffer, and @code{face-documentation} for the
documentation string.
-@tindex frame-background-mode
@defopt frame-background-mode
This option, if non-@code{nil}, specifies the background type to use for
interpreting face definitions. If it is @code{dark}, then Emacs treats
@end defun
@defun set-face-bold-p face bold-p &optional frame
-@tindex set-face-bold-p
This function specifies whether @var{face} should be bold. If
@var{bold-p} is non-@code{nil}, that means yes; @code{nil} means no.
@end defun
@defun set-face-italic-p face italic-p &optional frame
-@tindex set-face-italic-p
This function specifies whether @var{face} should be italic. If
@var{italic-p} is non-@code{nil}, that means yes; @code{nil} means no.
@end defun
@defun face-bold-p face &optional frame
-@tindex face-bold-p
This function returns @code{t} if @var{face} is bold---that is, if it is
bolder than normal. It returns @code{nil} otherwise.
@end defun
@defun face-italic-p face &optional frame
-@tindex face-italic-p
This function returns @code{t} if @var{face} is italic or oblique,
@code{nil} otherwise.
@end defun
@end defun
@defun face-documentation face
-@tindex face-documentation
This function returns the documentation string of face @var{face}, or
@code{nil} if none was specified for it.
@end defun
@end example
@defun display-table-slot display-table slot
-@tindex display-table-slot
This function returns the value of the extra slot @var{slot} of
@var{display-table}. The argument @var{slot} may be a number from 0 to
5 inclusive, or a slot name (symbol). Valid symbols are
@end defun
@defun set-display-table-slot display-table slot value
-@tindex set-display-table-slot
This function stores @var{value} in the extra slot @var{slot} of
@var{display-table}. The argument @var{slot} may be a number from 0 to
5 inclusive, or a slot name (symbol). Valid symbols are
@end defopt
@defvar ring-bell-function
-@tindex ring-bell-function
If this is non-@code{nil}, it specifies how Emacs should ``ring the
bell.'' Its value should be a function of no arguments. If this is
non-@code{nil}, it takes precedence over the @code{visible-bell}
@end defun
@defun insert-file-contents-literally filename &optional visit beg end replace
-@tindex insert-file-contents-literally
This function works like @code{insert-file-contents} except that it does
not do format decoding (@pxref{Format Conversion}), does not do
character code conversion (@pxref{Coding Systems}), does not run
@end deffn
@defmac with-temp-file file body...
-@tindex with-temp-file
The @code{with-temp-file} macro evaluates the @var{body} forms with a
temporary buffer as the current buffer; then, at the end, it writes the
buffer contents into file @var{file}. It kills the temporary buffer
@end defun
@defun access-file filename string
-@tindex access-file
This function opens file @var{filename} for reading, then closes it and
returns @code{nil}. However, if the open fails, it signals an error
using @var{string} as the error message text.
@end defun
@defvar before-make-frame-hook
-@tindex before-make-frame-hook
A normal hook run by @code{make-frame} before it actually creates the
frame.
@end defvar
@end defun
@defopt focus-follows-mouse
-@tindex focus-follows-mouse
This option is how you inform Emacs whether the window manager transfers
focus when the user moves the mouse. Non-@code{nil} says that it does.
When this is so, the command @code{other-frame} moves the mouse to a
@end defun
@defvar selection-coding-system
-@tindex selection-coding-system
This variable specifies the coding system to use when reading and
writing selections, the clipboard, or a cut buffer. @xref{Coding
Systems}. The default is @code{compound-text}, which converts to
@end table
@defun functionp object
-@tindex functionp
This function returns @code{t} if @var{object} is any kind of function,
or a special form or macro.
@end defun
@end defvar
@defvar help-event-list
-@tindex help-event-list
The value of this variable is a list of event types that serve as
alternative ``help characters.'' These events are handled just like the
event specified by @code{help-char}.
@end defvar
@defvar minor-mode-overriding-map-alist
-@tindex minor-mode-overriding-map-alist
This variable allows major modes to override the key bindings for
particular minor modes. The elements of this alist look like the
elements of @code{minor-mode-map-alist}: @code{(@var{variable}
@end defun
@defun safe-length list
-@tindex safe-length
This function returns the length of @var{list}, with no risk
of either an error or an infinite loop.
Functions}.
@defun caar cons-cell
-@tindex caar
This is the same as @code{(car (car @var{cons-cell}))}.
@end defun
@defun cadr cons-cell
-@tindex cadr
This is the same as @code{(car (cdr @var{cons-cell}))}
or @code{(nth 1 @var{cons-cell})}.
@end defun
@defun cdar cons-cell
-@tindex cdar
This is the same as @code{(cdr (car @var{cons-cell}))}.
@end defun
@defun cddr cons-cell
-@tindex cddr
This is the same as @code{(cdr (cdr @var{cons-cell}))}
or @code{(nthcdr 2 @var{cons-cell})}.
@end defun
@end smallexample
@end defun
-@tindex assoc-default
@defun assoc-default key alist test default
This function searches @var{alist} for a match for @var{key}. For each
element of @var{alist}, it compares the element (if it is an atom) or
See the source for the function @code{symbol-file}, for an example of
code that loads this file to find functions in preloaded libraries.
-@tindex loadhist-special-hooks
@defvar loadhist-special-hooks
This variable holds a list of hooks to be scanned before unloading a
library, to remove functions defined in the library.
The keymap which displays the Help menu in the menu bar.
@item menu-bar-mule-menu
-@tindex menu-bar-mule-menu
@vindex menu-bar-mule-menu
The keymap which displays the Mule menu in the menu bar.
relocating a marker to point after the inserted text.
@defun set-marker-insertion-type marker type
-@tindex set-marker-insertion-type
This function sets the insertion type of marker @var{marker} to
@var{type}. If @var{type} is @code{t}, @var{marker} will advance when
text is inserted at its position. If @var{type} is @code{nil},
@end defun
@defun marker-insertion-type marker
-@tindex marker-insertion-type
This function reports the current insertion type of @var{marker}.
@end defun
@end defvar
@defvar buffer-name-history
-@tindex buffer-name-history
A history list for buffer-name arguments.
@end defvar
To read a password to pass to another program, you can use the
function @code{read-passwd}.
-@tindex read-passwd
@defun read-passwd prompt &optional confirm default
This function reads a password, prompting with @var{prompt}. It does
not echo the password as the user types it; instead, it echoes @samp{.}
@code{mode-line-format} were changed to use them.
@defvar mode-line-mule-info
-@tindex mode-line-mule-info
This variable holds the value of the mode-line construct that displays
information about the language environment, buffer coding system, and
current input method. @xref{Non-ASCII Characters}.
@end defvar
@defvar mode-line-frame-identification
-@tindex mode-line-frame-identification
This variable identifies the current frame. The default value is
@code{" "} if you are using a window system which can show multiple
frames, or @code{"-%F "} on an ordinary terminal which shows only one
when the string is constructed.
@defvar enable-multibyte-characters
-@tindex enable-multibyte-characters
This variable specifies the current buffer's text representation.
If it is non-@code{nil}, the buffer contains multibyte text; otherwise,
it contains unibyte text.
@end defvar
@defvar default-enable-multibyte-characters
-@tindex default-enable-multibyte-characters
This variable's value is entirely equivalent to @code{(default-value
'enable-multibyte-characters)}, and setting this variable changes that
default value. Setting the local binding of
@end defun
@defun multibyte-string-p string
-@tindex multibyte-string-p
Return @code{t} if @var{string} is a multibyte string.
@end defun
text.
@defvar nonascii-insert-offset
-@tindex nonascii-insert-offset
This variable specifies the amount to add to a non-@sc{ascii} character
when converting unibyte text to multibyte. It also applies when
@code{self-insert-command} inserts a character in the unibyte
@end defvar
@defvar nonascii-translation-table
-@tindex nonascii-translation-table
This variable provides a more general alternative to
@code{nonascii-insert-offset}. You can use it to specify independently
how to translate each code in the range of 128 through 255 into a
@end defvar
@defun string-make-unibyte string
-@tindex string-make-unibyte
This function converts the text of @var{string} to unibyte
representation, if it isn't already, and returns the result. If
@var{string} is a unibyte string, it is returned unchanged.
@end defun
@defun string-make-multibyte string
-@tindex string-make-multibyte
This function converts the text of @var{string} to multibyte
representation, if it isn't already, and returns the result. If
@var{string} is a multibyte string, it is returned unchanged.
multibyte when it was unibyte, or vice versa.
@defun set-buffer-multibyte multibyte
-@tindex set-buffer-multibyte
Set the representation type of the current buffer. If @var{multibyte}
is non-@code{nil}, the buffer becomes multibyte. If @var{multibyte}
is @code{nil}, the buffer becomes unibyte.
@end defun
@defun string-as-unibyte string
-@tindex string-as-unibyte
This function returns a string with the same bytes as @var{string} but
treating each byte as a character. This means that the value may have
more characters than @var{string} has.
@end defun
@defun string-as-multibyte string
-@tindex string-as-multibyte
This function returns a string with the same bytes as @var{string} but
treating each multibyte sequence as one character. This means that the
value may have fewer characters than @var{string} has.
character sets, @code{chinese-big5-1} and @code{chinese-big5-2}.
@defun charsetp object
-@tindex charsetp
Returns @code{t} if @var{object} is a symbol that names a character set,
@code{nil} otherwise.
@end defun
@defun charset-list
-@tindex charset-list
This function returns a list of all defined character set names.
@end defun
@defun char-charset character
-@tindex char-charset
This function returns the name of the character set that @var{character}
belongs to.
@end defun
bytes is called the @dfn{dimension} of the character set.
@defun charset-dimension charset
-@tindex charset-dimension
This function returns the dimension of @var{charset}; at present, the
dimension is always 1 or 2.
@end defun
because Emacs translates automatically when necessary.
@defun split-char character
-@tindex split-char
Return a list containing the name of the character set of
@var{character}, followed by one or two byte values (integers) which
identify @var{character} within that character set. The number of byte
@end defun
@defun make-char charset &rest byte-values
-@tindex make-char
This function returns the character in character set @var{charset}
identified by @var{byte-values}. This is roughly the inverse of
@code{split-char}. Normally, you should specify either one or two
of the text in question.
@defun find-charset-region beg end &optional translation
-@tindex find-charset-region
This function returns a list of the character sets that appear in the
current buffer between positions @var{beg} and @var{end}.
@end defun
@defun find-charset-string string &optional translation
-@tindex find-charset-string
This function returns a list of the character sets that appear in the
string @var{string}. It is just like @code{find-charset-region}, except
that it applies to the contents of @var{string} instead of part of the
that the result is multibyte data.
@defun coding-system-get coding-system property
-@tindex coding-system-get
This function returns the specified property of the coding system
@var{coding-system}. Most coding system properties exist for internal
purposes, but one that you might find useful is @code{mime-charset}.
you will want to find out afterwards which coding system was chosen.
@defvar buffer-file-coding-system
-@tindex buffer-file-coding-system
This variable records the coding system that was used for visiting the
current buffer. It is used for saving the buffer, and for writing part
of the buffer with @code{write-region}. When those operations ask the
@end defvar
@defvar save-buffer-coding-system
-@tindex save-buffer-coding-system
This variable specifies the coding system for saving the buffer---but it
is not used for @code{write-region}.
@end defvar
@defvar last-coding-system-used
-@tindex last-coding-system-used
I/O operations for files and subprocesses set this variable to the
coding system name that was used. The explicit encoding and decoding
functions (@pxref{Explicit Encoding}) set it too.
Here are the Lisp facilities for working with coding systems:
@defun coding-system-list &optional base-only
-@tindex coding-system-list
This function returns a list of all coding system names (symbols). If
@var{base-only} is non-@code{nil}, the value includes only the
base coding systems. Otherwise, it includes variant coding systems as well.
@end defun
@defun coding-system-p object
-@tindex coding-system-p
This function returns @code{t} if @var{object} is a coding system
name.
@end defun
@defun check-coding-system coding-system
-@tindex check-coding-system
This function checks the validity of @var{coding-system}.
If that is valid, it returns @var{coding-system}.
Otherwise it signals an error with condition @code{coding-system-error}.
@end defun
@defun coding-system-change-eol-conversion coding-system eol-type
-@tindex coding-system-change-eol-conversion
This function returns a coding system which is like @var{coding-system}
except for its eol conversion, which is specified by @code{eol-type}.
@var{eol-type} should be @code{unix}, @code{dos}, @code{mac}, or
@end defun
@defun coding-system-change-text-conversion eol-coding text-coding
-@tindex coding-system-change-text-conversion
This function returns a coding system which uses the end-of-line
conversion of @var{eol-coding}, and the text conversion of
@var{text-coding}. If @var{text-coding} is @code{nil}, it returns
@end defun
@defun find-coding-systems-region from to
-@tindex find-coding-systems-region
This function returns a list of coding systems that could be used to
encode a text between @var{from} and @var{to}. All coding systems in
the list can safely encode any multibyte characters in that portion of
@end defun
@defun find-coding-systems-string string
-@tindex find-coding-systems-string
This function returns a list of coding systems that could be used to
encode the text of @var{string}. All coding systems in the list can
safely encode any multibyte characters in @var{string}. If the text
@end defun
@defun find-coding-systems-for-charsets charsets
-@tindex find-coding-systems-for-charsets
This function returns a list of coding systems that could be used to
encode all the character sets in the list @var{charsets}.
@end defun
@defun detect-coding-region start end &optional highest
-@tindex detect-coding-region
This function chooses a plausible coding system for decoding the text
from @var{start} to @var{end}. This text should be ``raw bytes''
(@pxref{Explicit Encoding}).
@end defun
@defun detect-coding-string string highest
-@tindex detect-coding-string
This function is like @code{detect-coding-region} except that it
operates on the contents of @var{string} instead of bytes in the buffer.
@end defun
@node User-Chosen Coding Systems
@subsection User-Chosen Coding Systems
-@tindex select-safe-coding-system
@defun select-safe-coding-system from to &optional preferred-coding-system
This function selects a coding system for encoding the text between
@var{from} and @var{to}, asking the user to choose if necessary.
system, with completion. @xref{Completion}.
@defun read-coding-system prompt &optional default
-@tindex read-coding-system
This function reads a coding system using the minibuffer, prompting with
string @var{prompt}, and returns the coding system name as a symbol. If
the user enters null input, @var{default} specifies which coding system
@end defun
@defun read-non-nil-coding-system prompt
-@tindex read-non-nil-coding-system
This function reads a coding system using the minibuffer, prompting with
string @var{prompt}, and returns the coding system name as a symbol. If
the user tries to enter null input, it asks the user to try again.
(@pxref{Specifying Coding Systems}).
@defvar file-coding-system-alist
-@tindex file-coding-system-alist
This variable is an alist that specifies the coding systems to use for
reading and writing particular files. Each element has the form
@code{(@var{pattern} . @var{coding})}, where @var{pattern} is a regular
@end defvar
@defvar process-coding-system-alist
-@tindex process-coding-system-alist
This variable is an alist specifying which coding systems to use for a
subprocess, depending on which program is running in the subprocess. It
works like @code{file-coding-system-alist}, except that @var{pattern} is
rather than @code{undecided} or @code{latin-1}.
@defvar network-coding-system-alist
-@tindex network-coding-system-alist
This variable is an alist that specifies the coding system to use for
network streams. It works much like @code{file-coding-system-alist},
with the difference that the @var{pattern} in an element may be either a
@end defvar
@defvar default-process-coding-system
-@tindex default-process-coding-system
This variable specifies the coding systems to use for subprocess (and
network stream) input and output, when nothing else specifies what to
do.
@end defvar
@defun find-operation-coding-system operation &rest arguments
-@tindex find-operation-coding-system
This function returns the coding system to use (by default) for
performing @var{operation} with @var{arguments}. The value has this
form:
@code{coding-system-for-write}.
@defvar coding-system-for-read
-@tindex coding-system-for-read
If this variable is non-@code{nil}, it specifies the coding system to
use for reading a file, or for input from a synchronous subprocess.
@end defvar
@defvar coding-system-for-write
-@tindex coding-system-for-write
This works much like @code{coding-system-for-read}, except that it
applies to output rather than input. It affects writing to files,
as well as sending output to subprocesses and net connections.
@end defvar
@defvar inhibit-eol-conversion
-@tindex inhibit-eol-conversion
When this variable is non-@code{nil}, no end-of-line conversion is done,
no matter which coding system is specified. This applies to all the
Emacs I/O and subprocess primitives, and to the explicit encoding and
properties.
@defun encode-coding-region start end coding-system
-@tindex encode-coding-region
This function encodes the text from @var{start} to @var{end} according
to coding system @var{coding-system}. The encoded text replaces the
original text in the buffer. The result of encoding is ``raw bytes,''
@end defun
@defun encode-coding-string string coding-system
-@tindex encode-coding-string
This function encodes the text in @var{string} according to coding
system @var{coding-system}. It returns a new string containing the
encoded text. The result of encoding is a unibyte string of ``raw bytes.''
@end defun
@defun decode-coding-region start end coding-system
-@tindex decode-coding-region
This function decodes the text from @var{start} to @var{end} according
to coding system @var{coding-system}. The decoded text replaces the
original text in the buffer. To make explicit decoding useful, the text
@end defun
@defun decode-coding-string string coding-system
-@tindex decode-coding-string
This function decodes the text in @var{string} according to coding
system @var{coding-system}. It returns a new string containing the
decoded text. To make explicit decoding useful, the contents of
terminal.
@defun keyboard-coding-system
-@tindex keyboard-coding-system
This function returns the coding system that is in use for decoding
keyboard input---or @code{nil} if no coding system is to be used.
@end defun
@defun set-keyboard-coding-system coding-system
-@tindex set-keyboard-coding-system
This function specifies @var{coding-system} as the coding system to
use for decoding keyboard input. If @var{coding-system} is @code{nil},
that means do not decode keyboard input.
@end defun
@defun terminal-coding-system
-@tindex terminal-coding-system
This function returns the coding system that is in use for encoding
terminal output---or @code{nil} for no encoding.
@end defun
@defun set-terminal-coding-system coding-system
-@tindex set-terminal-coding-system
This function specifies @var{coding-system} as the coding system to use
for encoding terminal output. If @var{coding-system} is @code{nil},
that means do not encode terminal output.
Each input method has a name, which is currently a string;
in the future, symbols may also be usable as input method names.
-@tindex current-input-method
@defvar current-input-method
This variable holds the name of the input method now active in the
current buffer. (It automatically becomes local in each buffer when set
buffer now.
@end defvar
-@tindex default-input-method
@defvar default-input-method
This variable holds the default input method for commands that choose an
input method. Unlike @code{current-input-method}, this variable is
normally global.
@end defvar
-@tindex set-input-method
@defun set-input-method input-method
This function activates input method @var{input-method} for the current
buffer. It also sets @code{default-input-method} to @var{input-method}.
method for the current buffer.
@end defun
-@tindex read-input-method-name
@defun read-input-method-name prompt &optional default inhibit-null
This function reads an input method name with the minibuffer, prompting
with @var{prompt}. If @var{default} is non-@code{nil}, that is returned
The returned value is a string.
@end defun
-@tindex input-method-alist
@defvar input-method-alist
This variable defines all the supported input methods.
Each element defines one input method, and should have the form:
@end defun
@defvar tty-erase-char
-@tindex tty-erase-char
This variable holds the erase character that was selected
in the system's terminal driver, before Emacs was started.
@end defvar
@end defun
@defun shell-command-to-string command
-@tindex shell-command-to-string
This function executes @var{command} (a string) as a shell command,
then returns the command's output as a string.
@end defun
@end defun
@defun process-contact process
-@tindex process-contact
This function returns @code{t} for an ordinary child process, and
@code{(@var{hostname} @var{service})} for a net connection
(@pxref{Network}).
@end defun
@defun process-coding-system process
-@tindex process-coding-system
This function returns a cons cell describing the coding systems in use
for decoding output from @var{process} and for encoding input to
@var{process} (@pxref{Coding Systems}). The value has this form:
@end defun
@defun set-process-coding-system process decoding-system encoding-system
-@tindex set-process-coding-system
This function specifies the coding systems to use for subsequent output
from and input to @var{process}. It will use @var{decoding-system} to
decode subprocess output, and @var{encoding-system} to encode subprocess
@end defun
@defun regexp-opt strings &optional paren
-@tindex regexp-opt
This function returns an efficient regular expression that will match
any of the strings @var{strings}. This is useful when you need to make
matching or searching as fast as possible---for example, for Font Lock
@end defun
@defun regexp-opt-depth regexp
-@tindex regexp-opt-depth
This function returns the total number of grouping constructs
(parenthesized expressions) in @var{regexp}.
@end defun
whenever the char-table does not specify any other non-@code{nil} value.
@defun make-char-table subtype &optional init
-@tindex make-char-table
Return a newly created char-table, with subtype @var{subtype}. Each
element is initialized to @var{init}, which defaults to @code{nil}. You
cannot alter the subtype of a char-table after the char-table is
@end defun
@defun char-table-p object
-@tindex char-table-p
This function returns @code{t} if @var{object} is a char-table,
otherwise @code{nil}.
@end defun
@defun char-table-subtype char-table
-@tindex char-table-subtype
This function returns the subtype symbol of @var{char-table}.
@end defun
@defun set-char-table-default char-table new-default
-@tindex set-char-table-default
This function sets the default value of @var{char-table} to
@var{new-default}.
@end defun
@defun char-table-parent char-table
-@tindex char-table-parent
This function returns the parent of @var{char-table}. The parent is
always either @code{nil} or another char-table.
@end defun
@defun set-char-table-parent char-table new-parent
-@tindex set-char-table-parent
This function sets the parent of @var{char-table} to @var{new-parent}.
@end defun
@defun char-table-extra-slot char-table n
-@tindex char-table-extra-slot
This function returns the contents of extra slot @var{n} of
@var{char-table}. The number of extra slots in a char-table is
determined by its subtype.
@end defun
@defun set-char-table-extra-slot char-table n value
-@tindex set-char-table-extra-slot
This function stores @var{value} in extra slot @var{n} of
@var{char-table}.
@end defun
it can also specify a value for an entire character set.
@defun char-table-range char-table range
-@tindex char-table-range
This returns the value specified in @var{char-table} for a range of
characters @var{range}. Here are the possibilities for @var{range}:
@end defun
@defun set-char-table-range char-table range value
-@tindex set-char-table-range
This function sets the value in @var{char-table} for a range of
characters @var{range}. Here are the possibilities for @var{range}:
@end defun
@defun map-char-table function char-table
-@tindex map-char-table
This function calls @var{function} for each element of @var{char-table}.
@var{function} is called with two arguments, a key and a value. The key
is a possible @var{range} argument for @code{char-table-range}---either
of arrays.
@defun make-bool-vector length initial
-@tindex make-bool-vector
Return a new book-vector of @var{length} elements,
each one initialized to @var{initial}.
@end defun
@defun bool-vector-p object
-@tindex bool-vector-p
This returns @code{t} if @var{object} is a bool-vector,
and @code{nil} otherwise.
@end defun
@end defun
@defmac with-output-to-string body...
-@tindex with-output-to-string
This macro executes the @var{body} forms with @code{standard-output} set
up to feed output into a string. Then it returns that string.
@code{prin1}, but not during the printing of the result.
@end defvar
-@tindex print-escape-nonascii
@defvar print-escape-nonascii
If this variable is non-@code{nil}, then unibyte non-@sc{ascii}
characters in strings are unconditionally printed as backslash sequences
stream is a multibyte buffer or a marker pointing into one.
@end defvar
-@tindex print-escape-multibyte
@defvar print-escape-multibyte
If this variable is non-@code{nil}, then multibyte non-@sc{ascii}
characters in strings are unconditionally printed as backslash sequences
@end defun
@defun string &rest characters
-@tindex string
This returns a string containing the characters @var{characters}.
@example
@end defun
@defun split-string string separators
-@tindex split-string
This function splits @var{string} into substrings at matches for the regular
expression @var{separators}. Each match for @var{separators} defines a
splitting point; the substrings between the splitting points are made
A more powerful function is @code{store-substring}:
@defun store-substring string idx obj
-@tindex store-substring
This function alters part of the contents of the string @var{string}, by
storing @var{obj} starting at index @var{idx}. The argument @var{obj}
may be either a character or a (smaller) string.
@end defun
@defun compare-strings string1 start1 end1 string2 start2 end2 &optional ignore-case
-@tindex compare-strings
This function compares the specified part of @var{string1} with the
specified part of @var{string2}. The specified part of @var{string1}
runs from index @var{start1} up to index @var{end1} (@code{nil} means
@end defun
@defun assoc-ignore-case key alist
-@tindex assoc-ignore-case
This function works like @code{assoc}, except that @var{key} must be a
string, and comparison is done using @code{compare-strings}.
Case differences are ignored in this comparison.
@end defun
@defun assoc-ignore-representation key alist
-@tindex assoc-ignore-representation
This function works like @code{assoc}, except that @var{key} must be a
string, and comparison is done using @code{compare-strings}.
Case differences are significant.
@end table
@defvar parse-sexp-lookup-properties
-@tindex parse-sexp-lookup-properties
If this is non-@code{nil}, the syntax scanning functions pay attention
to syntax text properties. Otherwise they use only the current syntax
table.
@end deffn
@defopt backward-delete-char-untabify-method
-@tindex backward-delete-char-untabify-method
This option specifies how @code{backward-delete-char-untabify} should
deal with whitespace. Possible values include @code{untabify}, the
default, meaning convert a tab to many spaces and delete one;
@end defvar
@defvar fill-nobreak-predicate
-@tindex fill-nobreak-predicate
This variable gives major modes a way to specify not to break a line at
certain places. Its value should be a function. This function is
called during filling, with no arguments and with point located at the
@end defun
@defun next-char-property-change position &optional limit
-@tindex next-char-property-change
This is like @code{next-property-change} except that it considers
overlay properties as well as text properties. There is no @var{object}
operand because this function operates only on the current buffer. It
@end defun
@defun previous-char-property-change position &optional limit
-@tindex previous-char-property-change
This is like @code{next-char-property-change}, but scans back from
@var{position} instead of forward.
@end defun
@end defvar
@defmac combine-after-change-calls body...
-@tindex combine-after-change-calls
The macro executes @var{body} normally, but arranges to call the
after-change functions just once for a series of several changes---if
that seems safe.
@node Documentation Tips
@section Tips for Documentation Strings
-@tindex checkdoc-minor-mode
@findex checkdoc-minor-mode
Here are some tips and conventions for the writing of documentation
strings. You can check many of these conventions by running the command
@end example
@defvar keyword-symbols-constant-flag
-@tindex keyword-symbols-constant-flag
If this variable is @code{nil}, you are allowed to set and bind symbols
whose names start with @samp{:} however you wish. This is to make it
possible to run old Lisp programs which do that.
@end defun
@defvar buffer-display-time
-@tindex buffer-display-time
This variable records the time at which a buffer was last made visible
in a window. It is always local in each buffer; each time
@code{set-window-buffer} is called, it sets this variable to
which buffer to scroll.
@end defvar
-@tindex scroll-margin
@defopt scroll-margin
This option specifies the size of the scroll margin---a minimum number
of lines between point and the top or bottom of a window. Whenever
margin, closer to the center of the window.
@end defopt
-@tindex scroll-conservatively
@defopt scroll-conservatively
This variable controls how scrolling is done automatically when point
moves off the screen (or into the scroll margin). If the value is zero,
does not work with @code{scroll-margin}. The default value is zero.
@end defopt
-@tindex scroll-preserve-screen-position
@defopt scroll-preserve-screen-position
If this option is non-@code{nil}, the scroll functions move point so
that the vertical position of the cursor is unchanged, when that is
@end defvar
@defvar redisplay-end-trigger-functions
-@tindex redisplay-end-trigger-functions
This abnormal hook is run whenever redisplay in a window uses text that
extends past a specified end trigger position. You set the end trigger
position with the function @code{set-window-redisplay-end-trigger}. The
@end defvar
@defun set-window-redisplay-end-trigger window position
-@tindex set-window-redisplay-end-trigger
This function sets @var{window}'s end trigger position at
@var{position}.
@end defun
@defun window-redisplay-end-trigger &optional window
-@tindex window-redisplay-end-trigger
This function returns @var{window}'s current end trigger position.
@end defun
@defvar window-configuration-change-hook
-@tindex window-configuration-change-hook
A normal hook that is run every time you change the window configuration
of an existing frame. This includes splitting or deleting windows,
changing the sizes of windows, or displaying a different buffer in a