I applied it and the assert fail went away. So I un-applied it and it
is still gone. BTW, is this patch correct in the case that an error
occurs? The XSETFRAME will have taken place, whereas previously it
hadn't?
Anyway, is anyone else seeing the incorrect minibuffer-only frame
creation the second time ediff-buffers is run after xemacs -q?
xemacs -q ; b36
C-x C-f ~/.tcshrc
C-x 2
C-x o
C-x C-f ~/.aliases
C-x o
M-x ediff-buffers
<return> ; accept default buffers
<return>
q
y
M-x ediff-buffers
<return> ; accept default buffers
<return>
You now have a new minibuffer-only frame created, which is a bug.
It does not appear to be an ediff problem as b27 is OK running the
same package path. Now, if you do:
q
y
it signals:
Signaling: (error "Can't expand minibuffer to full frame")
delete-other-windows()
ediff-cleanup-mess()
run-hooks(ediff-cleanup-mess)
ediff-really-quit(nil)
ediff-quit(nil)
call-interactively(ediff-quit)
>>>> "kkm" == Kirill M Katsnelson
<kkm(a)kis.ru> writes:
kkm>
kkm> Some time ago, Greg Klanderman wrote...
kkm> |+
kkm> |
kkm> | I see the same backtrace on the second and subsequent times I run
kkm> | ediff-buffers in b36, when I have my focus-follows-mouse fixes (which
kkm> | don't quite work yet) applied. Backing them out avoids the assert
kkm> | fail, but I still get the odd behavior that on the second and
kkm> | subsequent runs of ediff-buffers, a floating minibuffer-only frame is
kkm> | created. Any ideas what's up with that? This is with -q, btw.
kkm> |-
kkm>
kkm> Greg,
kkm>
kkm> If you have steady reproduction, please try this. There is
kkm> a GC problem which is fixed by this patch; I only wanted to be
kkm> sure that all Karl's crashes are really caused by this. I was
kkm> not able to reproduce it by normal means.
kkm>
kkm> Kirill
kkm>
kkm> 1998-04-24 Kirill M. Katsnelson <kkm(a)kis.ru>
kkm>
kkm> * frame.c (Fmake_frame): GC-protect new frame immediately upon
kkm> creation.
kkm>
kkm> Index: src/frame.c
kkm> ===================================================================
kkm> RCS file: /var/cvsroot/ntxemacs/src/frame.c,v
kkm> retrieving revision 1.4
kkm> diff --unified=2 -r1.4 frame.c
kkm> --- src/frame.c 1998/04/05 13:16:54 1.4
kkm> +++ src/frame.c 1998/04/23 21:57:46
kkm> @@ -417,4 +417,5 @@
kkm>
kkm> f = allocate_frame_core (device);
kkm> + XSETFRAME (frame, f);
kkm>
kkm> specbind (Qframe_being_created, name);
kkm> @@ -446,5 +447,4 @@
kkm> signal_simple_error ("Invalid value for `minibuffer'",
minibuf);
kkm>
kkm> - XSETFRAME (frame, f);
kkm> update_frame_window_mirror (f);