diff options
| author | Miles Bader | 2007-08-21 04:55:30 +0000 |
|---|---|---|
| committer | Miles Bader | 2007-08-21 04:55:30 +0000 |
| commit | 1fb072d1dff954c21d4805196df62c8eeead301c (patch) | |
| tree | da374db1a51e2a355b46f26a1c99e1ac5db5dca4 /lispref | |
| parent | aaf34461ff5804e5cebe163b31e535da72e81d87 (diff) | |
| parent | bdaf8a62d53cf8d5a0dc4f0dc530ecd6fc1f44fe (diff) | |
| download | emacs-1fb072d1dff954c21d4805196df62c8eeead301c.tar.gz emacs-1fb072d1dff954c21d4805196df62c8eeead301c.zip | |
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 852-856)
- Update from CVS
- Merge from emacs--rel--22
* emacs--rel--22 (patch 93-96)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 245)
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--multi-tty--0--patch-32
Diffstat (limited to 'lispref')
| -rw-r--r-- | lispref/ChangeLog | 5 | ||||
| -rw-r--r-- | lispref/processes.texi | 20 | ||||
| -rw-r--r-- | lispref/text.texi | 36 |
3 files changed, 23 insertions, 38 deletions
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index 75d40dbd19c..ea3e18da52b 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2007-08-16 Richard Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * processes.texi (Asynchronous Processes): Clarify | ||
| 4 | doc of start-file-process. | ||
| 5 | |||
| 1 | 2007-08-08 Martin Rudalics <rudalics@gmx.at> | 6 | 2007-08-08 Martin Rudalics <rudalics@gmx.at> |
| 2 | 7 | ||
| 3 | * modes.texi (Example Major Modes): Fix typo. | 8 | * modes.texi (Example Major Modes): Fix typo. |
diff --git a/lispref/processes.texi b/lispref/processes.texi index 535c8c3f256..f7be990b85e 100644 --- a/lispref/processes.texi +++ b/lispref/processes.texi | |||
| @@ -503,23 +503,25 @@ Process my-process finished | |||
| 503 | 503 | ||
| 504 | @defun start-file-process name buffer-or-name program &rest args | 504 | @defun start-file-process name buffer-or-name program &rest args |
| 505 | Like @code{start-process}, this function starts a new asynchronous | 505 | Like @code{start-process}, this function starts a new asynchronous |
| 506 | subprocess running @var{program} in it. The corresponding process | 506 | subprocess running @var{program} in it, and returns its process |
| 507 | object is returned. | 507 | object---when @code{default-directory} is not a magic file name. |
| 508 | 508 | ||
| 509 | If @code{default-directory} corresponds to a file handler, that | 509 | If @code{default-directory} is magic, the function invokes its file |
| 510 | handler is invoked. @var{program} runs then on a remote host which is | 510 | handler instead. This handler ought to run @var{program}, perhaps on |
| 511 | identified by @code{default-directory}. The local part of | 511 | the local host, perhaps on a remote host that corresponds to |
| 512 | @code{default-directory} is the working directory of the subprocess. | 512 | @code{default-directory}. In the latter case, the local part of |
| 513 | @code{default-directory} becomes the working directory of the process. | ||
| 513 | 514 | ||
| 514 | @var{program} and @var{program-args} might be file names. They are not | 515 | This function does not try to invoke file name handlers for |
| 515 | objects of file handler invocation. | 516 | @var{program} or for the @var{program-args}. |
| 516 | 517 | ||
| 517 | Depending on the implementation of the file handler, it might not be | 518 | Depending on the implementation of the file handler, it might not be |
| 518 | possible to apply @code{process-filter} or @code{process-sentinel} to | 519 | possible to apply @code{process-filter} or @code{process-sentinel} to |
| 519 | the resulting process object (@pxref{Filter Functions}, @pxref{Sentinels}). | 520 | the resulting process object (@pxref{Filter Functions}, @pxref{Sentinels}). |
| 520 | 521 | ||
| 521 | Some file handlers may not support @code{start-file-process} (for | 522 | Some file handlers may not support @code{start-file-process} (for |
| 522 | example @code{ange-ftp-hook-function}). It returns then @code{nil}. | 523 | example @code{ange-ftp-hook-function}). In such cases, the function |
| 524 | does nothing and returns @code{nil}. | ||
| 523 | @end defun | 525 | @end defun |
| 524 | 526 | ||
| 525 | @defun start-process-shell-command name buffer-or-name command &rest command-args | 527 | @defun start-process-shell-command name buffer-or-name command &rest command-args |
diff --git a/lispref/text.texi b/lispref/text.texi index b3cd6cb4a92..430c48133ee 100644 --- a/lispref/text.texi +++ b/lispref/text.texi | |||
| @@ -4278,35 +4278,6 @@ because it may lead to inefficient behavior for some change hook | |||
| 4278 | functions. | 4278 | functions. |
| 4279 | @end defmac | 4279 | @end defmac |
| 4280 | 4280 | ||
| 4281 | The two variables above are temporarily bound to @code{nil} during the | ||
| 4282 | time that any of these functions is running. This means that if one of | ||
| 4283 | these functions changes the buffer, that change won't run these | ||
| 4284 | functions. If you do want a hook function to make changes that run | ||
| 4285 | these functions, make it bind these variables back to their usual | ||
| 4286 | values. | ||
| 4287 | |||
| 4288 | One inconvenient result of this protective feature is that you cannot | ||
| 4289 | have a function in @code{after-change-functions} or | ||
| 4290 | @code{before-change-functions} which changes the value of that variable. | ||
| 4291 | But that's not a real limitation. If you want those functions to change | ||
| 4292 | the list of functions to run, simply add one fixed function to the hook, | ||
| 4293 | and code that function to look in another variable for other functions | ||
| 4294 | to call. Here is an example: | ||
| 4295 | |||
| 4296 | @example | ||
| 4297 | (setq my-own-after-change-functions nil) | ||
| 4298 | (defun indirect-after-change-function (beg end len) | ||
| 4299 | (let ((list my-own-after-change-functions)) | ||
| 4300 | (while list | ||
| 4301 | (funcall (car list) beg end len) | ||
| 4302 | (setq list (cdr list))))) | ||
| 4303 | |||
| 4304 | @group | ||
| 4305 | (add-hooks 'after-change-functions | ||
| 4306 | 'indirect-after-change-function) | ||
| 4307 | @end group | ||
| 4308 | @end example | ||
| 4309 | |||
| 4310 | @defvar first-change-hook | 4281 | @defvar first-change-hook |
| 4311 | This variable is a normal hook that is run whenever a buffer is changed | 4282 | This variable is a normal hook that is run whenever a buffer is changed |
| 4312 | that was previously in the unmodified state. | 4283 | that was previously in the unmodified state. |
| @@ -4318,6 +4289,13 @@ disabled; none of them run. This affects all the hook variables | |||
| 4318 | described above in this section, as well as the hooks attached to | 4289 | described above in this section, as well as the hooks attached to |
| 4319 | certain special text properties (@pxref{Special Properties}) and overlay | 4290 | certain special text properties (@pxref{Special Properties}) and overlay |
| 4320 | properties (@pxref{Overlay Properties}). | 4291 | properties (@pxref{Overlay Properties}). |
| 4292 | |||
| 4293 | Also, this variable is bound to non-@code{nil} while running those | ||
| 4294 | same hook variables, so that by default modifying the buffer from | ||
| 4295 | a modification hook does not cause other modification hooks to be run. | ||
| 4296 | If you do want modification hooks to be run in a particular piece of | ||
| 4297 | code that is itself run from a modification hook, then rebind locally | ||
| 4298 | @code{inhibit-modification-hooks} to @code{nil}. | ||
| 4321 | @end defvar | 4299 | @end defvar |
| 4322 | 4300 | ||
| 4323 | @ignore | 4301 | @ignore |