@node Garbage Collection
@appendixsec Garbage Collection
-@cindex garbage collector
+@cindex garbage collection
@cindex memory allocation
When a program creates a list or the user defines a new function (such
defined with @code{DEFVAR_BOOL} are automatically added to the list
@code{byte-boolean-vars} used by the byte compiler.
-@cindex @code{staticpro}, protect file-scope variables from GC
+@cindex @code{staticpro}, protection from GC
If you define a file-scope C variable of type @code{Lisp_Object},
you must protect it from garbage-collection by calling @code{staticpro}
in @code{syms_of_@var{filename}}, like this:
@section Characters and Bytes
@cindex bytes and characters
-@cindex introduction sequence
+@cindex introduction sequence (of character)
@cindex dimension (of character set)
In multibyte representation, each character occupies one or more
bytes. Each character set has an @dfn{introduction sequence}, which is
@node Splitting Characters
@section Splitting Characters
-@cindex split character
+@cindex character as bytes
The functions in this section convert between characters and the byte
values used to represent them. For most purposes, there is no need to
@code{iso-latin-2} and decode the result with the same coding system,
you'll get Latin-2 characters.
-@cindex end of line conversion
+@cindex EOL conversion
+@cindex end-of-line conversion
+@cindex line end conversion
@dfn{End of line conversion} handles three different conventions used
on various systems for representing end of line in files. The Unix
convention is to use the linefeed character (also called newline). The
Otherwise it signals an error with condition @code{coding-system-error}.
@end defun
-@cindex EOL conversion
-@cindex end-of-line conversion
-@cindex line end conversion
@defun coding-system-eol-type coding-system
This function returns the type of end-of-line (a.k.a.@: @dfn{eol})
conversion used by @var{coding-system}. If @var{coding-system}
@node Explicit Encoding
@subsection Explicit Encoding and Decoding
-@cindex encoding text
-@cindex decoding text
+@cindex encoding in coding systems
+@cindex decoding in coding systems
All the operations that transfer text in and out of Emacs have the
ability to use a coding system to encode or decode the text.
@cindex @samp{\a}
@cindex backspace
@cindex @samp{\b}
-@cindex tab
+@cindex tab (ASCII character)
@cindex @samp{\t}
@cindex vertical tab
@cindex @samp{\v}
@cindex @samp{\f}
@cindex newline
@cindex @samp{\n}
-@cindex return
+@cindex return (ASCII character)
@cindex @samp{\r}
-@cindex escape
+@cindex escape (ASCII character)
@cindex @samp{\e}
-@cindex space
+@cindex space (ASCII character)
@cindex @samp{\s}
You can express the characters control-g, backspace, tab, newline,
vertical tab, formfeed, space, return, del, and escape as @samp{?\a},
cells are used as part of lists, the phrase @dfn{list structure} has
come to refer to any structure made out of cons cells.
-@cindex atom
+@cindex atoms
Because cons cells are so central to Lisp, we also have a word for
``an object which is not a cons cell.'' These objects are called
@dfn{atoms}.
@end group
@end smallexample
-@cindex @code{nil} in lists
+@cindex @code{nil} as a list
@cindex empty list
A list with no elements in it is the @dfn{empty list}; it is identical
to the symbol @code{nil}. In other words, @code{nil} is both a symbol
@node Window Configuration Type
@subsection Window Configuration Type
-@cindex screen layout
+@cindex window layout in a frame
A @dfn{window configuration} stores information about the positions,
sizes, and contents of the windows in a frame, so you can recreate the
@node Frame Configuration Type
@subsection Frame Configuration Type
@cindex screen layout
+@cindex window layout, all frames
A @dfn{frame configuration} stores information about the positions,
sizes, and contents of the windows in all frames. It is actually
@end group
@end example
-@cindex equality of strings
Comparison of strings is case-sensitive, but does not take account of
text properties---it compares only the characters in the strings. For
technical reasons, a unibyte string and a multibyte string are
@node Shell Arguments
@section Shell Arguments
-@cindex pass arguments to shell commands
+@cindex arguments for shell commands
+@cindex shell command arguments
Lisp programs sometimes need to run a shell and give it a command
that contains file names that were specified by the user. These
@node Sentinels
@section Sentinels: Detecting Process Status Changes
@cindex process sentinel
-@cindex sentinel
+@cindex sentinel (of process)
A @dfn{process sentinel} is a function that is called whenever the
associated process changes status for any reason, including signals
@setfilename ../info/syntax
@node Syntax Tables, Abbrevs, Searching and Matching, Top
@chapter Syntax Tables
-@cindex parsing
+@cindex parsing buffer text
@cindex syntax table
@cindex text parsing
@node Syntax Descriptors
@section Syntax Descriptors
-@cindex syntax classes
+@cindex syntax class
This section describes the syntax classes and flags that denote the
syntax of a character, and how they are represented as a @dfn{syntax
other characters in the quotation.
@end deffn
-@deffn {Syntax class} @w{escape}
+@deffn {Syntax class} @w{escape-syntax character}
An @dfn{escape character} (designated by @samp{\}) starts an escape
sequence such as is used in C string and character constants. The
character @samp{\} belongs to this class in both C and Lisp. (In C, it
(@samp{;}) starts a comment and a newline or formfeed ends one.
@end deffn
-@deffn {Syntax class} @w{inherit}
+@deffn {Syntax class} @w{inherit standard syntax}
This syntax class does not specify a particular syntax. It says to look
in the standard syntax table to find the syntax of this character. The
designator for this syntax class is @samp{@@}.
@setfilename ../info/tips
@node Tips, GNU Emacs Internals, GPL, Top
@appendix Tips and Conventions
-@cindex tips
+@cindex tips for writing Lisp
@cindex standards of coding style
@cindex coding standards
follow the naming conventions for hooks. @xref{Hooks}.
@item
-@cindex unloading packages
+@cindex unloading packages, preparing for
If loading the file adds functions to hooks, define a function
@code{@var{feature}-unload-hook}, where @var{feature} is the name of
the feature the package provides, and make it undo any such changes.
@node Comment Tips
@section Tips on Writing Comments
-@cindex comments, convention for
+@cindex comments, Lisp convention for
We recommend these conventions for where to put comments and how to
indent them:
@node Selecting Windows
@section Selecting Windows
-@cindex selecting windows
+@cindex selecting a window
When a window is selected, the buffer in the window becomes the current
buffer, and the cursor will appear in it.
@node Vertical Scrolling
@section Vertical Fractional Scrolling
-@cindex Vertical Fractional Scrolling
+@cindex vertical fractional scrolling
@dfn{Vertical fractional scrolling} means shifting the image in the
window up or down by a specified multiple or fraction of a line.