aboutsummaryrefslogtreecommitdiffstats
path: root/lispref
diff options
context:
space:
mode:
authorMiles Bader <[email protected]>2007-07-15 02:05:20 +0000
committerMiles Bader <[email protected]>2007-07-15 02:05:20 +0000
commit7eb1e4534e88a32fe5e549e630fdabf3e062be2b (patch)
tree34fc72789f1cfbfeb067cf507f8871c322df300a /lispref
parent76d11d2cf9623e9f4c38e8239c4444ffc1fae485 (diff)
parent6f8a87c027ebd6f9cfdac5c0df97d651227bec62 (diff)
Merge from emacs--devo--0
Patches applied: * emacs--devo--0 (patch 803-813) - Update from CVS - Merge from emacs--rel--22 * emacs--rel--22 (patch 51-58) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 233-236) - Merge from emacs--devo--0 - Update from CVS Revision: [email protected]/emacs--multi-tty--0--patch-25
Diffstat (limited to 'lispref')
-rw-r--r--lispref/ChangeLog51
-rw-r--r--lispref/control.texi49
-rw-r--r--lispref/display.texi5
-rw-r--r--lispref/elisp.texi12
-rw-r--r--lispref/files.texi21
-rw-r--r--lispref/keymaps.texi9
-rw-r--r--lispref/nonascii.texi3
-rw-r--r--lispref/processes.texi19
-rw-r--r--lispref/text.texi21
-rw-r--r--lispref/vol1.texi6
-rw-r--r--lispref/vol2.texi6
11 files changed, 146 insertions, 56 deletions
diff --git a/lispref/ChangeLog b/lispref/ChangeLog
index 20006d9eea..5102e72356 100644
--- a/lispref/ChangeLog
+++ b/lispref/ChangeLog
@@ -1,3 +1,54 @@
+2007-07-14 Richard Stallman <[email protected]>
+
+ * control.texi (Handling Errors): Document `debug' in handler list.
+
+2007-07-10 Richard Stallman <[email protected]>
+
+ * display.texi (Defining Faces): Explain C-M-x feature for defface.
+
+2007-07-09 Richard Stallman <[email protected]>
+
+ * files.texi (Magic File Names): Rewrite previous change.
+
+2007-07-08 Michael Albinus <[email protected]>
+
+ * files.texi (Magic File Names): Introduce optional parameter
+ CONNECTED for `file-remote-p'.
+
+2007-07-07 Michael Albinus <[email protected]>
+
+ * processes.texi (Asynchronous Processes):
+ * files.texi (Magic File Names): Add `start-file-process'.
+
+2007-06-27 Richard Stallman <[email protected]>
+
+ * files.texi (Format Conversion Piecemeal): Clarify
+ `after-insert-file-functions' calling convention.
+
+2007-06-27 Michael Albinus <[email protected]>
+
+ * files.texi (Magic File Names): Remove `dired-call-process'. Add
+ `process-file'.
+
+2007-06-27 Kenichi Handa <[email protected]>
+
+ * text.texi (Special Properties): Fix description about
+ `compostion' property.
+
+2007-06-26 Kenichi Handa <[email protected]>
+
+ * nonascii.texi (Default Coding Systems): Document about the
+ return value `undecided'.
+
+2007-06-25 David Kastrup <[email protected]>
+
+ * keymaps.texi (Active Keymaps): Document new POSITION argument of
+ `current-active-maps'.
+
+2007-06-24 Karl Berry <[email protected]>
+
+ * elisp.texi, vol1.texi, vol2.texi: new Back-Cover Text.
+
2007-06-15 Juanma Barranquero <[email protected]>
* display.texi (Overlay Arrow): Doc fix.
diff --git a/lispref/control.texi b/lispref/control.texi
index 4c469a1036..e99a6329f3 100644
--- a/lispref/control.texi
+++ b/lispref/control.texi
@@ -893,6 +893,12 @@ establishing an error handler, with the special form
This deletes the file named @var{filename}, catching any error and
returning @code{nil} if an error occurs.
+ The @code{condition-case} construct is often used to trap errors that
+are predictable, such as failure to open a file in a call to
+@code{insert-file-contents}. It is also used to trap errors that are
+totally unpredictable, such as when the program evaluates an expression
+read from the user.
+
The second argument of @code{condition-case} is called the
@dfn{protected form}. (In the example above, the protected form is a
call to @code{delete-file}.) The error handlers go into effect when
@@ -920,15 +926,33 @@ the two gets to handle it.
If an error is handled by some @code{condition-case} form, this
ordinarily prevents the debugger from being run, even if
@code{debug-on-error} says this error should invoke the debugger.
-@xref{Error Debugging}. If you want to be able to debug errors that are
-caught by a @code{condition-case}, set the variable
-@code{debug-on-signal} to a non-@code{nil} value.
- When an error is handled, control returns to the handler. Before this
-happens, Emacs unbinds all variable bindings made by binding constructs
-that are being exited and executes the cleanups of all
-@code{unwind-protect} forms that are exited. Once control arrives at
-the handler, the body of the handler is executed.
+ If you want to be able to debug errors that are caught by a
+@code{condition-case}, set the variable @code{debug-on-signal} to a
+non-@code{nil} value. You can also specify that a particular handler
+should let the debugger run first, by writing @code{debug} among the
+conditions, like this:
+
+@example
+@group
+(condition-case nil
+ (delete-file filename)
+ ((debug error) nil))
+@end group
+@end example
+
+@noindent
+The effect of @code{debug} here is only to prevent
+@code{condition-case} from suppressing the call to the debugger. Any
+given error will invoke the debugger only if @code{debug-on-error} and
+the other usual filtering mechanisms say it should. @xref{Error Debugging}.
+
+ Once Emacs decides that a certain handler handles the error, it
+returns control to that handler. To do so, Emacs unbinds all variable
+bindings made by binding constructs that are being exited, and
+executes the cleanups of all @code{unwind-protect} forms that are
+being exited. Once control arrives at the handler, the body of the
+handler executes normally.
After execution of the handler body, execution returns from the
@code{condition-case} form. Because the protected form is exited
@@ -937,12 +961,6 @@ execution at the point of the error, nor can it examine variable
bindings that were made within the protected form. All it can do is
clean up and proceed.
- The @code{condition-case} construct is often used to trap errors that
-are predictable, such as failure to open a file in a call to
-@code{insert-file-contents}. It is also used to trap errors that are
-totally unpredictable, such as when the program evaluates an expression
-read from the user.
-
Error signaling and handling have some resemblance to @code{throw} and
@code{catch} (@pxref{Catch and Throw}), but they are entirely separate
facilities. An error cannot be caught by a @code{catch}, and a
@@ -960,7 +978,8 @@ error occurs during @var{protected-form}.
Each of the @var{handlers} is a list of the form @code{(@var{conditions}
@var{body}@dots{})}. Here @var{conditions} is an error condition name
-to be handled, or a list of condition names; @var{body} is one or more
+to be handled, or a list of condition names (which can include @code{debug}
+to allow the debugger to run before the handler); @var{body} is one or more
Lisp expressions to be executed when this handler handles an error.
Here are examples of handlers:
diff --git a/lispref/display.texi b/lispref/display.texi
index 664ad1d2c1..f4d7a5dbcd 100644
--- a/lispref/display.texi
+++ b/lispref/display.texi
@@ -1760,6 +1760,11 @@ When @code{defface} executes, it defines the face according to
@var{spec}, then uses any customizations that were read from the
init file (@pxref{Init File}) to override that specification.
+When you evaluate a @code{defcustom} form with @kbd{C-M-x} in Emacs
+Lisp mode (@code{eval-defun}), a special feature of @code{eval-defun}
+overrides any customizations of the face. This way, the face reflects
+exactly what the @code{defcustom} says.
+
The purpose of @var{spec} is to specify how the face should appear on
different kinds of terminals. It should be an alist whose elements
have the form @code{(@var{display} @var{atts})}. Each element's
diff --git a/lispref/elisp.texi b/lispref/elisp.texi
index accfe05c27..7b57b8a61a 100644
--- a/lispref/elisp.texi
+++ b/lispref/elisp.texi
@@ -15,7 +15,7 @@
@end direntry
@c in general, keep the following line commented out, unless doing a
-@c copy of this manual that will be published. the manual should go
+@c copy of this manual that will be published. The manual should go
@c onto the distribution in the full, 8.5 x 11" size.
@c set smallbook
@@ -29,13 +29,11 @@
@tex
@ifset smallbook
@fonttextsize 10
-@set EMACSVER 22
+@set EMACSVER 22.1
\global\let\urlcolor=\Black % don't print links in grayscale
\global\let\linkcolor=\Black
@end ifset
\global\hbadness=6666 % don't worry about not-too-underfull boxes
-\global\let\urlcolor=\Black % don't print links in grayscale
-\global\let\linkcolor=\Black
@end tex
@c Combine indices.
@@ -63,9 +61,9 @@ Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover
Texts as in (a) below. A copy of the license is included in the
section entitled ``GNU Free Documentation License.''
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software. Copies published by the Free
-Software Foundation raise funds for GNU development.''
+(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
+this GNU Manual. Buying copies from GNU Press supports the FSF in
+developing GNU and promoting software freedom.''
@end quotation
@end copying
diff --git a/lispref/files.texi b/lispref/files.texi
index 19bacb142e..343a6bc5e3 100644
--- a/lispref/files.texi
+++ b/lispref/files.texi
@@ -2587,7 +2587,6 @@ first, before handlers for jobs such as remote file access.
@code{directory-file-name},
@code{directory-files},
@code{directory-files-and-attributes},
-@code{dired-call-process},
@code{dired-compress-file}, @code{dired-uncache},@*
@code{expand-file-name},
@code{file-accessible-directory-p},
@@ -2614,8 +2613,10 @@ first, before handlers for jobs such as remote file access.
@code{make-directory},
@code{make-directory-internal},
@code{make-symbolic-link},@*
+@code{process-file},
@code{rename-file}, @code{set-file-modes}, @code{set-file-times},
@code{set-visited-file-modtime}, @code{shell-command},
+@code{start-file-process},
@code{substitute-in-file-name},@*
@code{unhandled-file-name-directory},
@code{vc-registered},
@@ -2633,7 +2634,6 @@ first, before handlers for jobs such as remote file access.
@code{directory-file-name},
@code{directory-files},
@code{directory-files-and-at@discretionary{}{}{}tributes},
-@code{dired-call-process},
@code{dired-compress-file}, @code{dired-uncache},
@code{expand-file-name},
@code{file-accessible-direc@discretionary{}{}{}tory-p},
@@ -2658,8 +2658,10 @@ first, before handlers for jobs such as remote file access.
@code{load}, @code{make-direc@discretionary{}{}{}tory},
@code{make-direc@discretionary{}{}{}tory-internal},
@code{make-symbolic-link},
+@code{process-file},
@code{rename-file}, @code{set-file-modes},
@code{set-visited-file-modtime}, @code{shell-command},
+@code{start-file-process},
@code{substitute-in-file-name},
@code{unhandled-file-name-directory},
@code{vc-regis@discretionary{}{}{}tered},
@@ -2766,7 +2768,7 @@ nothing and returns @code{nil}. Otherwise it returns the file name
of the local copy file.
@end defun
-@defun file-remote-p filename
+@defun file-remote-p filename &optional connected
This function tests whether @var{filename} is a remote file. If
@var{filename} is local (not remote), the return value is @code{nil}.
If @var{filename} is indeed remote, the return value is a string that
@@ -2775,7 +2777,7 @@ identifies the remote system.
This identifier string can include a host name and a user name, as
well as characters designating the method used to access the remote
system. For example, the remote identifier string for the filename
-@code{/ssh:user@@host:/some/file} is @code{/ssh:user@@host:}.
+@code{/sudo::/some/file} is @code{/sudo:root@@localhost:}.
If @code{file-remote-p} returns the same identifier for two different
filenames, that means they are stored on the same file system and can
@@ -2783,6 +2785,11 @@ be accessed locally with respect to each other. This means, for
example, that it is possible to start a remote process accessing both
files at the same time. Implementors of file handlers need to ensure
this principle is valid.
+
+If @var{connected} is non-@code{nil}, this function returns @code{nil}
+even if @var{filename} is remote, if Emacs has no network connection
+to its host. This is useful when you want to avoid the delay of
+making connections when they don't exist.
@end defun
@defun unhandled-file-name-directory filename
@@ -3071,8 +3078,10 @@ have been dealt with by this function.
@defvar after-insert-file-functions
Each function in this list is called by @code{insert-file-contents}
-with one argument, the number of characters inserted, and should
-return the new character count, leaving point the same.
+with one argument, the number of characters inserted, and with point
+at the beginning of the inserted text. Each function should leave
+point unchanged, and return the new character count describing the
+inserted text as modified by the function.
@c ??? The docstring mentions a handler from `file-name-handler-alist'
@c "intercepting" `insert-file-contents'. Hmmm. --ttn
@end defvar
diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi
index 400a2c3824..bf20680dd8 100644
--- a/lispref/keymaps.texi
+++ b/lispref/keymaps.texi
@@ -655,12 +655,15 @@ events within @code{read-key-sequence}. @xref{Translation Keymaps}.
@xref{Standard Keymaps}, for a list of standard keymaps.
-@defun current-active-maps &optional olp
+@defun current-active-maps &optional olp position
This returns the list of active keymaps that would be used by the
command loop in the current circumstances to look up a key sequence.
Normally it ignores @code{overriding-local-map} and
-@code{overriding-terminal-local-map}, but if @var{olp} is
-non-@code{nil} then it pays attention to them.
+@code{overriding-terminal-local-map}, but if @var{olp} is non-@code{nil}
+then it pays attention to them. @var{position} can optionally be either
+an event position as returned by @code{event-start} or a buffer
+position, and may change the keymaps as described for
+@code{key-binding}.
@end defun
@defun key-binding key &optional accept-defaults no-remap position
diff --git a/lispref/nonascii.texi b/lispref/nonascii.texi
index dd0f15c817..a8f45e9dd2 100644
--- a/lispref/nonascii.texi
+++ b/lispref/nonascii.texi
@@ -1031,6 +1031,9 @@ argument, a list of all arguments passed to
@code{find-operation-coding-system}. It must return a coding system
or a cons cell containing two coding systems. This value has the same
meaning as described above.
+
+If @var{coding} (or what returned by the above function) is
+@code{undecided}, the normal code-detection is performed.
@end defvar
@defvar process-coding-system-alist
diff --git a/lispref/processes.texi b/lispref/processes.texi
index 81cac3e504..5e74d0e247 100644
--- a/lispref/processes.texi
+++ b/lispref/processes.texi
@@ -495,6 +495,23 @@ Process my-process finished
@end smallexample
@end defun
+@defun start-file-process name buffer-or-name program &rest args
+Like @code{start-process}, this function starts a new asynchronous
+subprocess running @var{program} in it. The corresponding process
+object is returned.
+
+If @code{default-directory} corresponds to a file handler, that
+handler is invoked. @var{program} runs then on a remote host which is
+identified by @code{default-directory}. The local part of
+@code{default-directory} is the working directory of the subprocess.
+
+@var{program} and @var{program-args} might be file names. They are not
+objects of file handler invocation.
+
+Some file handlers may not support @code{start-file-process} (for
+example @code{ange-ftp-hook-function}). It returns then @code{nil}.
+@end defun
+
@defun start-process-shell-command name buffer-or-name command &rest command-args
This function is like @code{start-process} except that it uses a shell
to execute the specified command. The argument @var{command} is a shell
@@ -1309,7 +1326,7 @@ latter specifies one measured in milliseconds. The two time periods
thus specified are added together, and @code{accept-process-output}
returns after that much time, whether or not there has been any
subprocess output.
-
+
The argument @var{millisec} is semi-obsolete nowadays because
@var{seconds} can be a floating point number to specify waiting a
fractional number of seconds. If @var{seconds} is 0, the function
diff --git a/lispref/text.texi b/lispref/text.texi
index f05a0cd696..b3cd6cb4a9 100644
--- a/lispref/text.texi
+++ b/lispref/text.texi
@@ -3256,25 +3256,10 @@ Manual}) provides an example.
@item composition
@kindex composition @r{(text property)}
This text property is used to display a sequence of characters as a
-single glyph composed from components. For instance, in Thai a base
-consonant is composed with the following combining vowel as a single
-glyph. The value should be a character or a sequence (vector, list,
-or string) of integers.
+single glyph composed from components. But the value of the property
+itself is completely internal to Emacs and should not be manipulated
+directly by, for instance, @code{put-text-property}.
-@itemize @bullet
-@item
-If it is a character, it means to display that character instead of
-the text in the region.
-
-@item
-If it is a string, it means to display that string's contents instead
-of the text in the region.
-
-@item
-If it is a vector or list, the elements are characters interleaved
-with internal codes specifying how to compose the following character
-with the previous one.
-@end itemize
@end table
@node Format Properties
diff --git a/lispref/vol1.texi b/lispref/vol1.texi
index 5dff4f076b..d0989f6c58 100644
--- a/lispref/vol1.texi
+++ b/lispref/vol1.texi
@@ -80,9 +80,9 @@ Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover
Texts as in (a) below. A copy of the license is included in the
section entitled ``GNU Free Documentation License.''
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software. Copies published by the Free
-Software Foundation raise funds for GNU development.''
+(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
+this GNU Manual. Buying copies from GNU Press supports the FSF in
+developing GNU and promoting software freedom.''
@end quotation
@end copying
diff --git a/lispref/vol2.texi b/lispref/vol2.texi
index 2ccbaefca9..35ffa0e88b 100644
--- a/lispref/vol2.texi
+++ b/lispref/vol2.texi
@@ -80,9 +80,9 @@ Front-Cover texts being ``A GNU Manual,'' and with the Back-Cover
Texts as in (a) below. A copy of the license is included in the
section entitled ``GNU Free Documentation License.''
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software. Copies published by the Free
-Software Foundation raise funds for GNU development.''
+(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
+this GNU Manual. Buying copies from GNU Press supports the FSF in
+developing GNU and promoting software freedom.''
@end quotation
@end copying