Commit a40d4712 authored by Phillip Rulon's avatar Phillip Rulon
Browse files

*** empty log message ***

parent 46fe917b
......@@ -168,14 +168,15 @@ definition that is generated in order to run the advice (@pxref{Combined
Definition}). Therefore, the advice expressions can use the argument
variables in this list to access argument values.
This argument list must be compatible with the argument list of the
original function, so that it can handle the ways the function is
actually called. If more than one piece of advice specifies an argument
list, then the first one (the one with the smallest position) found in
the list of all classes of advice is used.
The argument list used in advice need not be the same as the argument
list used in the original function, but must be compatible with it, so
that it can handle the ways the function is actually called. If two
pieces of advice for a function both specify an argument list, they must
specify the same argument list.
@xref{Argument Access in Advice}, for more information about argument
lists and advice.
lists and advice, and a more flexible way for advice to access the
arguments.
The remaining elements, @var{flags}, are symbols that specify further
information about how to use this piece of advice. Here are the valid
......
......@@ -104,6 +104,12 @@ The functions @code{color-values}, @code{color-defined-p} and
Windows cannot be made fixed-width or fixed-height;
Emacs will adjust the size of all windows when it needs to.
@item
The string used as the value of the @code{before-string} or
@code{after-string} property must contain only characters that display
as a single column---control characters, including tabs and newlines,
will give strange results.
@item
The minibuffer prompt does not actually appear in content of the
minibuffer; it is displayed specially in the minibuffer window.
......
......@@ -73,7 +73,7 @@ is @code{nil} (see below).
The following example shows how to change the @code{make-backup-files}
variable only in the Rmail buffers and not elsewhere. Setting it
@code{nil} stops Emacs from making backups of these files, which may
save disk space. (You would put this code in your @file{.emacs} file.)
save disk space. (You would put this code in your init file.)
@smallexample
@group
......
......@@ -30,7 +30,7 @@ diary suit your personal tastes.
@code{t}, calling up the calendar automatically displays the diary
entries for the current date as well. The diary dates appear only if
the current date is visible. If you add both of the following lines to
your @file{.emacs} file:@refill
your init file:@refill
@example
(setq view-diary-entries-initially t)
......
......@@ -2573,15 +2573,15 @@ the commands by accident.
The low-level mechanism for disabling a command is to put a
non-@code{nil} @code{disabled} property on the Lisp symbol for the
command. These properties are normally set up by the user's
@file{.emacs} file with Lisp expressions such as this:
init file (@pxref{Init File}) with Lisp expressions such as this:
@example
(put 'upcase-region 'disabled t)
@end example
@noindent
For a few commands, these properties are present by default and may be
removed by the @file{.emacs} file.
For a few commands, these properties are present by default (you can
remove them in your init file if you wish).
If the value of the @code{disabled} property is a string, the message
saying the command is disabled includes that string. For example:
......@@ -2598,13 +2598,13 @@ programs.
@deffn Command enable-command command
Allow @var{command} to be executed without special confirmation from now
on, and (if the user confirms) alter the user's @file{.emacs} file so
that this will apply to future sessions.
on, and (if the user confirms) alter the user's init file (@pxref{Init
File}) so that this will apply to future sessions.
@end deffn
@deffn Command disable-command command
Require special confirmation to execute @var{command} from now on, and
(if the user confirms) alter the user's @file{.emacs} file so that this
(if the user confirms) alter the user's init file so that this
will apply to future sessions.
@end deffn
......
......@@ -137,16 +137,16 @@ enter the debugger.
@code{debug-on-error} is @code{nil}.
@end defopt
To debug an error that happens during loading of the @file{.emacs}
file, use the option @samp{--debug-init}, which binds
@code{debug-on-error} to @code{t} while loading @file{.emacs}, and
To debug an error that happens during loading of the init
file, use the option @samp{--debug-init}. This binds
@code{debug-on-error} to @code{t} while loading the init file., and
bypasses the @code{condition-case} which normally catches errors in the
init file.
If your @file{.emacs} file sets @code{debug-on-error}, the effect may
not last past the end of loading @file{.emacs}. (This is an undesirable
If your init file sets @code{debug-on-error}, the effect may
not last past the end of loading the init file. (This is an undesirable
byproduct of the code that implements the @samp{--debug-init} command
line option.) The best way to make @file{.emacs} set
line option.) The best way to make the init file set
@code{debug-on-error} permanently is with @code{after-init-hook}, like
this:
......
This diff is collapsed.
......@@ -72,7 +72,7 @@ instead of in the original English.
@titlepage
@title GNU Emacs Lisp Reference Manual
@subtitle For Emacs Version 20.4
@subtitle For Emacs Version 21
@c The edition number appears in several places in this file
@c and also in the file intro.texi.
@subtitle Revision 2.6, September 1999
......@@ -179,8 +179,7 @@ Reference Manual, corresponding to GNU Emacs version 21.1.
* Processes:: Running and communicating with subprocesses.
* System Interface:: Getting the user id, system type, environment
variables, and other such things.
* Display:: Parameters controlling screen usage.
The bell. Waiting for input.
* Display:: Features for controlling the screen display.
* Calendar:: Customizing the calendar and diary.
Appendices
......@@ -197,7 +196,7 @@ Appendices
* Index:: Index including concepts, functions, variables,
and other terms.
* New Symbols:: New functions and variables in Emacs 20.
* New Symbols:: New functions and variables in Emacs 21.
--- The Detailed Node Listing ---
......@@ -248,7 +247,7 @@ Programming Types
* Integer Type:: Numbers without fractional parts.
* Floating Point Type:: Numbers with fractional parts and with a large range.
* Character Type:: The representation of letters, numbers and
control characters.
control characters.
* Sequence Type:: Both lists and arrays are classified as sequences.
* Cons Cell Type:: Cons cells, and lists (which are made from cons cells).
* Array Type:: Arrays include strings and vectors.
......@@ -262,7 +261,7 @@ Programming Types
* Primitive Function Type:: A function written in C, callable from Lisp.
* Byte-Code Type:: A function written in Lisp, then compiled.
* Autoload Type:: A type used for automatically loading seldom-used
functions.
functions.
List Type
......@@ -554,7 +553,7 @@ Keymaps
or for use from the terminal.
* Active Keymaps:: Each buffer has a local keymap
to override the standard (global) bindings.
Each minor mode can also override them.
Each minor mode can also override them.
* Key Lookup:: How extracting elements from keymaps works.
* Functions for Key Lookup:: How to request key lookup.
* Changing Key Bindings:: Redefining a key in a keymap.
......@@ -964,6 +963,7 @@ Object Internals
@c REMOVE this: include non-hacker.texi
@include anti.texi
@include tips.texi
@include internals.texi
@include errors.texi
......
......@@ -217,7 +217,7 @@ doesn't change.
@subsection Initial Frame Parameters
You can specify the parameters for the initial startup frame
by setting @code{initial-frame-alist} in your @file{.emacs} file.
by setting @code{initial-frame-alist} in your init file (@pxref{Init File}).
@defvar initial-frame-alist
This variable's value is an alist of parameter values used when creating
......@@ -229,7 +229,7 @@ Each element has the form:
(@var{parameter} . @var{value})
@end example
Emacs creates the initial frame before it reads your @file{~/.emacs}
Emacs creates the initial frame before it reads your init
file. After reading that file, Emacs checks @code{initial-frame-alist},
and applies the parameter settings in the altered value to the already
created initial frame.
......
......@@ -99,7 +99,9 @@ referenced anywhere else); if a particular value does get collected, the
corresponding association is removed from the hash table.
The default for @var{weak} is @code{nil}, so that all keys and values
referenced in the hash table are preserved from garbage collection.
referenced in the hash table are preserved from garbage collection. If
@var{weak} is @code{t}, neither keys nor values are protected (that is,
both are weak).
@item :size @var{size}
This specifies a hint for how many associations you plan to store in the
......@@ -115,10 +117,11 @@ When you add an association to a hash table and the table is ``full,''
it grows automatically. This value specifies how to make the hash table
larger, at that time.
If @var{rehash-size} is an integer, it had better be positive, and the
hash table grows by adding that much to the size. If @var{rehash-size}
is a floating point number, it had better be greater than 1, and the
hash table grows by multiplying the old size by that number.
If @var{rehash-size} is an integer, it should be positive, and the hash
table grows by adding that much to the nominal size. If
@var{rehash-size} is a floating point number, it had better be greater
than 1, and the hash table grows by multiplying the old size by that
number.
The default value is 1.5.
......@@ -278,7 +281,8 @@ This function returns the actual number of entries in @var{table}.
@tindex hash-table-rehash-test
@defun hash-table-rehash-test table
This returns the test @var{table} uses to hash and compare keys---see
This returns the @var{test} value that was given when @var{table} was
created, to specify how to hash and compare keys. See
@code{make-hash-table} (@pxref{Creating Hash}).
@end defun
......
......@@ -458,8 +458,8 @@ or experiment to learn something not covered in the manual, then perhaps
the manual should be fixed. Please let us know.
@iftex
As you use the manual, we ask that you mark pages with corrections so
you can later look them up and send them in. If you think of a simple,
As you use this manual, we ask that you mark pages with corrections so
you can later look them up and send them to us. If you think of a simple,
real-life example for a function or group of functions, please make an
effort to write it up and send it in. Please reference any comments to
the chapter name, section name, and function name, as appropriate, since
......@@ -474,7 +474,7 @@ find them. If you think of a simple, real life example for a function
or group of functions, please make an effort to write it up and send it
in. Please reference any comments to the node name and function or
variable name, as appropriate. Also state the number of the edition
which you are criticizing.
you are criticizing.
@end ifinfo
Please mail comments and corrections to
......@@ -924,7 +924,7 @@ Richard M. Stallman and Chris Welty, the volunteers of the GNU manual
group, in an effort extending over several years. Robert J. Chassell
helped to review and edit the manual, with the support of the Defense
Advanced Research Projects Agency, ARPA Order 6082, arranged by Warren
A. Hunt, Jr. of Computational Logic, Inc.
A. Hunt, Jr.@: of Computational Logic, Inc.
Corrections were supplied by Karl Berry, Jim Blandy, Bard Bloom,
Stephane Boucher, David Boyes, Alan Carroll, Richard Davis, Lawrence
......@@ -935,6 +935,6 @@ Ida, Dan Jacobson, Jak Kirman, Bob Knighten, Frederick M. Korz, Joe
Lammens, Glenn M. Lewis, K. Richard Magill, Brian Marick, Roland
McGrath, Skip Montanaro, John Gardiner Myers, Thomas A. Peterson,
Francesco Potorti, Friedrich Pukelsheim, Arnold D. Robbins, Raul
Rockwell, Per Starback, Shinichirou Sugou, Kimmo Suominen, Edward Tharp,
Rockwell, Per Starb@"ack, Shinichirou Sugou, Kimmo Suominen, Edward Tharp,
Bill Trost, Rickard Westman, Jean White, Matthew Wilding, Carl Witty,
Dale Worley, Rusty Wright, and David D. Zuhn.
......@@ -620,9 +620,9 @@ enables or disables a minor mode. @xref{Keymaps and Minor Modes}.
Note that elements of @code{minor-mode-map-alist} do not have the same
structure as elements of @code{minor-mode-alist}. The map must be the
@sc{cdr} of the element; a list with the map as the @sc{cadr} will not
do. The @sc{cadr} can be either a keymap (a list) or a symbol
whose function definition is a keymap.
@sc{cdr} of the element; a list with the map as the second element will
not do. The @sc{cdr} can be either a keymap (a list) or a symbol whose
function definition is a keymap.
When more than one minor mode keymap is active, their order of priority
is the order of @code{minor-mode-map-alist}. But you should design
......@@ -1224,8 +1224,8 @@ Dired mode is set up:
This section describes some convenient interactive interfaces for
changing key bindings. They work by calling @code{define-key}.
People often use @code{global-set-key} in their @file{.emacs} file for
simple customization. For example,
People often use @code{global-set-key} in their init files
(@pxref{Init File}) for simple customization. For example,
@smallexample
(global-set-key "\C-x\C-\\" 'next-line)
......@@ -1658,7 +1658,7 @@ currently used by Emacs).
@item :button (@var{type} . @var{selected})
This property provides a way to define radio buttons and toggle buttons.
The @sc{car}, @var{type}, says which: is should be @code{:toggle} or
The @sc{car}, @var{type}, says which: it should be @code{:toggle} or
@code{:radio}. The @sc{cdr}, @var{selected}, should be a form; the
result of evaluating it says whether this button is currently selected.
......
......@@ -192,8 +192,9 @@ export EMACSLOADPATH
EMACSLOADPATH=.:/user/bil/emacs:/usr/local/share/emacs/20.3/lisp
@end smallexample
Here is an example of code you can place in a @file{.emacs} file to add
several directories to the front of your default @code{load-path}:
Here is an example of code you can place in your init file (@pxref{Init
File}) to add several directories to the front of your default
@code{load-path}:
@smallexample
@group
......
This diff is collapsed.
......@@ -85,9 +85,10 @@ It loads the library @file{site-start}, unless the option
@cindex @file{site-start.el}
@item
It loads the file @file{~/.emacs}, unless @samp{-q} or @samp{-batch} was
specified on the command line. The @samp{-u} option can specify another
user whose home directory should be used instead of @file{~}.
It loads your init file (usually @file{~/.emacs}), unless @samp{-q} or
@samp{-batch} was specified on the command line. The @samp{-u} option
can specify another user whose home directory should be used instead of
@file{~}.
@item
It loads the library @file{default}, unless @code{inhibit-default-init}
......@@ -147,36 +148,45 @@ the information they are supposed to see.
@defopt inhibit-startup-echo-area-message
This variable controls the display of the startup echo area message.
You can suppress the startup echo area message by adding text with this
form to your @file{.emacs} file:
form to your init file:
@example
(setq inhibit-startup-echo-area-message
"@var{your-login-name}")
@end example
Emacs explicitly checks for an expression as shown above in your
@file{.emacs} file; your login name must appear in the expression as a
Lisp string constant. Other methods of setting
Emacs explicitly checks for an expression as shown above in your init
file; your login name must appear in the expression as a Lisp string
constant. Other methods of setting
@code{inhibit-startup-echo-area-message} to the same value do not
inhibit the startup message.
This way, you can easily inhibit the message for yourself if you wish,
but thoughtless copying of your @file{.emacs} file will not inhibit the
message for someone else.
but thoughtless copying of your init file will not inhibit the message
for someone else.
@end defopt
@node Init File
@subsection The Init File: @file{.emacs}
@subsection The Init File, @file{.emacs}
@cindex init file
@cindex @file{.emacs}
When you start Emacs, it normally attempts to load the file
@file{.emacs} from your home directory. This file is called your
@dfn{init file}. If it exists, it must contain Lisp code. The
command-line switches @samp{-q} and @samp{-u} affect the use of the init
file; @samp{-q} says not to load an init file, and @samp{-u} says to
load a specified user's init file instead of yours. @xref{Entering
Emacs,,, emacs, The GNU Emacs Manual}.
When you start Emacs, it normally attempts to load your @dfn{init
file}, a file in your home directory. Its normal name is @file{.emacs},
but you can alternatively call it @file{.emacs.el}, which enables you to
byte-compile it (@pxref{Byte Compilation}); then the actual file loaded
will be @file{.emacs.elc}.
The command-line switches @samp{-q} and @samp{-u} control whether and
where to find the init file; @samp{-q} says not to load an init file,
and @samp{-u @var{user}} says to load @var{user}'s init file instead of
yours. @xref{Entering Emacs,,, emacs, The GNU Emacs Manual}. If
neither option is specified, Emacs uses the @code{LOGNAME} environment
variable, or the @code{USER} (most systems) or @code{USERNAME} (MS
systems) variable, to find your home directory and thus your init file;
this way, even if you have su'd, Emacs still loads your own init file.
If those environment variables are absent, though, Emacs uses your
user-id to find your home directory.
@cindex default init file
A site may have a @dfn{default init file}, which is the library named
......@@ -200,10 +210,6 @@ way you can change it with real effect is to do so before dumping
Emacs.
@end defvar
If there is a great deal of code in your @file{.emacs} file, you
can make it load faster by renaming it to @file{.emacs.el}
and then byte-compiling it (@pxref{Byte Compilation}).
@xref{Init File Examples,,, emacs, The GNU Emacs Manual}, for
examples of how to make various commonly desired customizations in your
@file{.emacs} file.
......@@ -253,7 +259,7 @@ the @file{term/aaa} library. If necessary, the library can evaluate
@code{(getenv "TERM")} to find the full name of the terminal
type.@refill
Your @file{.emacs} file can prevent the loading of the
Your init file can prevent the loading of the
terminal-specific library by setting the variable
@code{term-file-prefix} to @code{nil}. This feature is useful when
experimenting with your own peculiar customizations.
......@@ -262,7 +268,7 @@ experimenting with your own peculiar customizations.
terminal-specific library by setting the variable
@code{term-setup-hook}. This is a normal hook which Emacs runs using
@code{run-hooks} at the end of Emacs initialization, after loading both
your @file{.emacs} file and any terminal-specific libraries. You can
your init file and any terminal-specific libraries. You can
use this variable to define initializations for terminals that do not
have their own libraries. @xref{Hooks}.
......@@ -277,9 +283,9 @@ a terminal-specific initialization file as follows:
@noindent
You may set the @code{term-file-prefix} variable to @code{nil} in your
@file{.emacs} file if you do not wish to load the
init file if you do not wish to load the
terminal-initialization file. To do this, put the following in
your @file{.emacs} file: @code{(setq term-file-prefix nil)}.
your init file: @code{(setq term-file-prefix nil)}.
On MS-DOS, if the environment variable @code{TERM} is not set, Emacs
uses @samp{internal} as the terminal type.
......@@ -287,7 +293,7 @@ uses @samp{internal} as the terminal type.
@defvar term-setup-hook
This variable is a normal hook that Emacs runs after loading your
@file{.emacs} file, the default initialization file (if any) and the
init file, the default initialization file (if any) and the
terminal-specific Lisp file.
You can use @code{term-setup-hook} to override the definitions made by a
......@@ -327,7 +333,7 @@ kill the Emacs until you are about to log out.)
@defun command-line
This function parses the command line that Emacs was called with,
processes it, loads the user's @file{.emacs} file and displays the
processes it, loads the user's init file and displays the
startup messages.
@end defun
......@@ -811,7 +817,7 @@ files or user profile.
This holds the nominal email address of the user who is using Emacs.
Emacs normally sets this variable to a default value after reading your
init files, but not if you have already set it. So you can set the
variable to some other value in your @file{~/.emacs} file if you do not
variable to some other value in your init file if you do not
want to use the default value.
@end defvar
......@@ -1788,7 +1794,7 @@ for them using @code{keyboard-translate-table} (@pxref{Translating Input}).
@end deffn
You can use the function @code{enable-flow-control-on} in your
@file{.emacs} file to enable flow control automatically on certain
init file to enable flow control automatically on certain
terminal types.
@defun enable-flow-control-on &rest termtypes
......
......@@ -52,8 +52,8 @@ returns the symbol @code{foo}. Printing a list whose elements are
text produces a list (but not the same list) with elements @code{a}
and @code{b}.
However, these two operations are not precisely inverses. There are
three kinds of exceptions:
However, these two operations are not precisely inverse to each other.
There are three kinds of exceptions:
@itemize @bullet
@item
......@@ -783,31 +783,3 @@ If non-@code{nil}, this variable enables detection of uninterned symbols
uninterned symbols print with the prefix @samp{#:}, which tells the Lisp
reader to produce an uninterned symbol.
@end defvar
@tindex print-continuous-numbering
@defvar print-continuous-numbering
To print several objects with shared structure in common, you should
bind @code{print-continuous-numbering} to @code{t} around them all.
That tells @code{print} not to reinitialize @code{print-number-table}
each time.
@end defvar
@tindex print-number-table
@defvar print-number-table
This variable holds the table used as the basis of outputting
@samp{#@var{n}=} and @samp{#@var{n}#} constructs for circular and shared
structure. When you want to print several objects with shared structure
in common, you should bind @code{print-number-table} to @code{nil}
around them all.
@end defvar
Here is an example of printing two objects with a common
set of shared substructure:
@example
(let ((print-circle t)
(print-continuous-numbering t)
print-number-table)
(print1 x)
(print1 y))
@end example
......@@ -424,6 +424,10 @@ syntax. (@xref{Abbrevs}, and @ref{Syntax Class Table}.)
This is also responsible for calling @code{blink-paren-function} when
the inserted character has close parenthesis syntax (@pxref{Blinking}).
Do not try substituting your own definition of
@code{self-insert-command} for the standard one. The editor command
loop handles this function specially.
@end deffn
@deffn Command newline &optional number-of-newlines
......@@ -2398,6 +2402,41 @@ from the specified range of text. Here's an example:
@example
(set-text-properties @var{start} @var{end} nil)
@end example
@end defun
The easiest way to make a string with text properties
is with @code{propertize}:
@defun propertize string &rest properties
@tindex propertize
This function returns a copy of @var{string} which has the text
properties @var{properties}. These properties apply to all the
characters in the string that is returned. Here is an example that
constructs a string with a @code{face} property and a @code{mouse-face}
property:
@smallexample
(propertize "foo" 'face 'italic
'mouse-face 'bold-italic)
@result{} #("foo" 0 3 (mouse-face bold-italic face italic))
@end smallexample
To put different properties on various parts of a string, you can
construct each part with @code{propertize} and then combine them with
@code{concat}:
@smallexample
(concat
(propertize "foo" 'face 'italic
'mouse-face 'bold-italic)
" and "
(propertize "bar" 'face 'italic
'mouse-face 'bold-italic))
@result{} #("foo and bar"
0 3 (face italic mouse-face bold-italic)
3 8 nil
8 11 (face italic mouse-face bold-italic))
@end smallexample
@end defun
See also the function @code{buffer-substring-no-properties}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment