aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.c
diff options
context:
space:
mode:
authorStefan Monnier2011-02-19 00:10:33 -0500
committerStefan Monnier2011-02-19 00:10:33 -0500
commite0f57e65692ed73a86926f737388b60faec92767 (patch)
treecd119f7a6f2a04673f304fbf8cfaf8fc7c0896f2 /src/window.c
parent9a05edc4fcf1eff8966ac327e479bb8f9ca219a9 (diff)
downloademacs-e0f57e65692ed73a86926f737388b60faec92767.tar.gz
emacs-e0f57e65692ed73a86926f737388b60faec92767.zip
* lisp/subr.el (save-window-excursion): New macro, moved from C.
* lisp/emacs-lisp/lisp-mode.el (save-window-excursion): Don't touch. * lisp/emacs-lisp/cconv.el (cconv-closure-convert-rec, cconv-analyse-form): Don't handle save-window-excursion any more. * lisp/emacs-lisp/bytecomp.el (interactive-p, save-window-excursion): Don't use the byte-code any more. (byte-compile-form): Check macro expansion was done. (byte-compile-save-window-excursion): Remove. * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Ignore save-window-excursion. Don't macroepand any more. * src/window.c (Fsave_window_excursion): Remove. Moved to Lisp. (syms_of_window): Don't defsubr it. * src/window.h (Fsave_window_excursion): Don't declare it. * src/bytecode.c (exec_byte_code): Inline Fsave_window_excursion.
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c23
1 files changed, 0 insertions, 23 deletions
diff --git a/src/window.c b/src/window.c
index abf01758c3f..c90cc268a92 100644
--- a/src/window.c
+++ b/src/window.c
@@ -6400,28 +6400,6 @@ redirection (see `redirect-frame-focus'). */)
6400 return (tem); 6400 return (tem);
6401} 6401}
6402 6402
6403DEFUN ("save-window-excursion", Fsave_window_excursion, Ssave_window_excursion,
6404 0, UNEVALLED, 0,
6405 doc: /* Execute BODY, preserving window sizes and contents.
6406Return the value of the last form in BODY.
6407Restore which buffer appears in which window, where display starts,
6408and the value of point and mark for each window.
6409Also restore the choice of selected window.
6410Also restore which buffer is current.
6411Does not restore the value of point in current buffer.
6412usage: (save-window-excursion BODY...) */)
6413 (Lisp_Object args)
6414{
6415 register Lisp_Object val;
6416 register int count = SPECPDL_INDEX ();
6417
6418 record_unwind_protect (Fset_window_configuration,
6419 Fcurrent_window_configuration (Qnil));
6420 val = Fprogn (args);
6421 return unbind_to (count, val);
6422}
6423
6424
6425 6403
6426/*********************************************************************** 6404/***********************************************************************
6427 Window Split Tree 6405 Window Split Tree
@@ -7195,7 +7173,6 @@ frame to be redrawn only if it is a tty frame. */);
7195 defsubr (&Swindow_configuration_frame); 7173 defsubr (&Swindow_configuration_frame);
7196 defsubr (&Sset_window_configuration); 7174 defsubr (&Sset_window_configuration);
7197 defsubr (&Scurrent_window_configuration); 7175 defsubr (&Scurrent_window_configuration);
7198 defsubr (&Ssave_window_excursion);
7199 defsubr (&Swindow_tree); 7176 defsubr (&Swindow_tree);
7200 defsubr (&Sset_window_margins); 7177 defsubr (&Sset_window_margins);
7201 defsubr (&Swindow_margins); 7178 defsubr (&Swindow_margins);