diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2009-04-04 01:51:58 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2009-04-04 01:51:58 +0000 |
commit | 9257072f4f5c49a06b7dd4ae2ab476340ae95de6 (patch) | |
tree | 0d93a7e8fd8272bff1485d6b3d0193b1bfa895d7 /doc/lispref/buffers.texi | |
parent | 8a0111611213a5baec88e60d9f6c52affd06f060 (diff) | |
download | emacs-9257072f4f5c49a06b7dd4ae2ab476340ae95de6.tar.gz |
* buffers.texi (Current Buffer): Note that the append-to-buffer
example is no longer in synch with the latest code. Tie the two
examples together.
Diffstat (limited to 'doc/lispref/buffers.texi')
-rw-r--r-- | doc/lispref/buffers.texi | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi index d55ffe43b65..4ce94f6e7cf 100644 --- a/doc/lispref/buffers.texi +++ b/doc/lispref/buffers.texi @@ -115,15 +115,13 @@ the subroutine does not change which buffer is current (unless, of course, that is the subroutine's purpose). Therefore, you should normally use @code{set-buffer} within a @code{save-current-buffer} or @code{save-excursion} (@pxref{Excursions}) form that will restore the -current buffer when your function is done. Here is an example, the -code for the command @code{append-to-buffer} (with the documentation -string abridged): +current buffer when your function is done. Here, as an example, is a +simplified version of the command @code{append-to-buffer}: @example @group (defun append-to-buffer (buffer start end) - "Append to specified buffer the text of the region. -@dots{}" + "Append to specified buffer the text of the region." (interactive "BAppend to buffer: \nr") (let ((oldbuf (current-buffer))) (save-current-buffer @@ -157,30 +155,21 @@ beginning is current again whenever the variable is unbound. Do not rely on using @code{set-buffer} to change the current buffer back, because that won't do the job if a quit happens while the wrong -buffer is current. Here is what @emph{not} to do: +buffer is current. For instance, in the previous example, it would +have been wrong to do this: @example @group -(let (buffer-read-only - (obuf (current-buffer))) - (set-buffer @dots{}) - @dots{} - (set-buffer obuf)) + (let ((oldbuf (current-buffer))) + (set-buffer (get-buffer-create buffer)) + (insert-buffer-substring oldbuf start end) + (set-buffer oldbuf)) @end group @end example @noindent -Using @code{save-current-buffer}, as shown here, handles quitting, -errors, and @code{throw}, as well as ordinary evaluation. - -@example -@group -(let (buffer-read-only) - (save-current-buffer - (set-buffer @dots{}) - @dots{})) -@end group -@end example +Using @code{save-current-buffer}, as we did, handles quitting, errors, +and @code{throw}, as well as ordinary evaluation. @defun current-buffer This function returns the current buffer. |