diff options
author | Miles Bader <[email protected]> | 2007-07-15 02:05:20 +0000 |
---|---|---|
committer | Miles Bader <[email protected]> | 2007-07-15 02:05:20 +0000 |
commit | 7eb1e4534e88a32fe5e549e630fdabf3e062be2b (patch) | |
tree | 34fc72789f1cfbfeb067cf507f8871c322df300a /lispref | |
parent | 76d11d2cf9623e9f4c38e8239c4444ffc1fae485 (diff) | |
parent | 6f8a87c027ebd6f9cfdac5c0df97d651227bec62 (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/ChangeLog | 51 | ||||
-rw-r--r-- | lispref/control.texi | 49 | ||||
-rw-r--r-- | lispref/display.texi | 5 | ||||
-rw-r--r-- | lispref/elisp.texi | 12 | ||||
-rw-r--r-- | lispref/files.texi | 21 | ||||
-rw-r--r-- | lispref/keymaps.texi | 9 | ||||
-rw-r--r-- | lispref/nonascii.texi | 3 | ||||
-rw-r--r-- | lispref/processes.texi | 19 | ||||
-rw-r--r-- | lispref/text.texi | 21 | ||||
-rw-r--r-- | lispref/vol1.texi | 6 | ||||
-rw-r--r-- | lispref/vol2.texi | 6 |
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 |