Mercurial > emacs
changeset 102836:a6980029e2a0
* 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.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 04 Apr 2009 01:51:58 +0000 |
parents | f4ed097d6958 |
children | 755512b49931 |
files | doc/lispref/ChangeLog doc/lispref/buffers.texi |
diffstat | 2 files changed, 15 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/lispref/ChangeLog Sat Apr 04 01:35:36 2009 +0000 +++ b/doc/lispref/ChangeLog Sat Apr 04 01:51:58 2009 +0000 @@ -1,5 +1,9 @@ 2009-04-04 Chong Yidong <cyd@stupidchicken.com> + * 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. + * files.texi (File Attributes): Move note about MS-DOS from Changing Files to File Attributes. (Create/Delete Dirs): Note that mkdir is an alias for this.
--- a/doc/lispref/buffers.texi Sat Apr 04 01:35:36 2009 +0000 +++ b/doc/lispref/buffers.texi Sat Apr 04 01:51:58 2009 +0000 @@ -115,15 +115,13 @@ 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 @@ 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.