summaryrefslogtreecommitdiff
path: root/src/editfns.c
diff options
context:
space:
mode:
authorDmitry Antipov <dmantipov@yandex.ru>2012-08-28 10:20:08 +0400
committerDmitry Antipov <dmantipov@yandex.ru>2012-08-28 10:20:08 +0400
commit66322887059e1f2711e07def5eff661281cee855 (patch)
treeedf1ef336402c53b08c69f2b0d92c2391a2549d5 /src/editfns.c
parenta3d794a153425b09a0185c660926c241d13e0f2c (diff)
downloademacs-66322887059e1f2711e07def5eff661281cee855.tar.gz
emacs-66322887059e1f2711e07def5eff661281cee855.tar.bz2
emacs-66322887059e1f2711e07def5eff661281cee855.zip
Always use set_buffer_if_live to restore original buffer at unwind.
* buffer.h (record_unwind_current_buffer): New function. * bytecode.c, dispnew.c, editfns.c, fileio.c, fns.c, insdel.c: * keyboard.c, keymap.c, minibuf.c, print.c, process.c, textprop.c: * undo.c, window.c: Adjust users. * buffer.c (set_buffer_if_live): Fix comment.
Diffstat (limited to 'src/editfns.c')
-rw-r--r--src/editfns.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/editfns.c b/src/editfns.c
index 0bd632d14b7..7b451e4e443 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -946,13 +946,10 @@ BODY is executed just like `progn'.
usage: (save-current-buffer &rest BODY) */)
(Lisp_Object args)
{
- Lisp_Object val;
ptrdiff_t count = SPECPDL_INDEX ();
- record_unwind_protect (set_buffer_if_live, Fcurrent_buffer ());
-
- val = Fprogn (args);
- return unbind_to (count, val);
+ record_unwind_current_buffer ();
+ return unbind_to (count, Fprogn (args));
}
DEFUN ("buffer-size", Fbufsize, Sbufsize, 0, 1, 0,