summaryrefslogtreecommitdiff
path: root/src/minibuf.c
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2003-07-22 19:03:45 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2003-07-22 19:03:45 +0000
commit599ca9c27b8985b97ec54fe681735c11bf275b89 (patch)
tree0659967ff22c32e18c298852bfb78cdb49b95c8c /src/minibuf.c
parentae15c6c74bd84cdfe3566a837d4b6b15eef2c455 (diff)
downloademacs-599ca9c27b8985b97ec54fe681735c11bf275b89.tar.gz
(get_minibuffer): Use it.
Diffstat (limited to 'src/minibuf.c')
-rw-r--r--src/minibuf.c23
1 files changed, 4 insertions, 19 deletions
diff --git a/src/minibuf.c b/src/minibuf.c
index 89830b0391a..d265e8063f1 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -1,6 +1,6 @@
/* Minibuffer input and completion.
- Copyright (C) 1985, 1986, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1985,86,93,94,95,96,97,98,99,2000,01,03
+ Free Software Foundation, Inc.
This file is part of GNU Emacs.
@@ -777,27 +777,12 @@ get_minibuffer (depth)
else
{
int count = SPECPDL_INDEX ();
- Lisp_Object overlay;
- struct buffer *b = XBUFFER (buf);
-
/* `reset_buffer' blindly sets the list of overlays to NULL, so we
have to empty the list, otherwise we end up with overlays that
think they belong to this buffer while the buffer doesn't know about
them any more. */
- while (b->overlays_before)
- {
- XSETMISC (overlay, b->overlays_before);
- Fdelete_overlay (overlay);
- }
- while (b->overlays_after)
- {
- XSETMISC (overlay, b->overlays_after);
- Fdelete_overlay (overlay);
- }
- eassert (b->overlays_before == NULL);
- eassert (b->overlays_after == NULL);
-
- reset_buffer (b);
+ delete_all_overlays (XBUFFER (buf));
+ reset_buffer (XBUFFER (buf));
record_unwind_protect (Fset_buffer, Fcurrent_buffer ());
Fset_buffer (buf);
Fkill_all_local_variables ();