emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Uhm... weird frame behaviour


From: Óscar Fuentes
Subject: Re: Uhm... weird frame behaviour
Date: Mon, 12 Sep 2011 17:34:45 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

martin rudalics <address@hidden> writes:

>>> This would constitute a bug by itself.  Does it also happen when you do
>>> `delete-windows-on' for the only visible buffer?
>>
>> Yes, the frame is deleted.
>>
>> Setting window-auto-delete to nil or 'window does not help.
>>
>> Just tried again with emacs -Q --daemon : same problem.
>>
>>> What does `other-visible-frames-p' return when you're on "the only
>>> frame of your Emacs session"?
>>
>> t
>
> I don't understand that.  Is the daemon frame iconified?

AFAIK the daemon has no frame. The user must create one. I do that with
`emacsclient -c -n'.

> If nobody can
> tell, could you step through other_visible_frames to find out why there
> are two visible frames?

Indeed, the function is counting two visible frames:

Breakpoint 1, other_visible_frames (f=0xf43590) at 
/home/oscar/dev/emacs/emacs/src/frame.c:1120
1120    {
(gdb) n
1123      if (f == SELECTED_FRAME ())
(gdb) print f
$1 = (FRAME_PTR) 0xf43590
(gdb) n
1128          for (frames = Vframe_list;
(gdb) 
1134              this = XCAR (frames);
(gdb) 
1139              if (FRAME_WINDOW_P (XFRAME (this)))
(gdb) 
1141                  x_sync (XFRAME (this));
(gdb) 
1142                  FRAME_SAMPLE_VISIBILITY (XFRAME (this));
(gdb) 
1146              if (FRAME_VISIBLE_P (XFRAME (this))
(gdb) 
1151                count++;
(gdb) 
1130               frames = XCDR (frames))
(gdb) 
1128          for (frames = Vframe_list;
(gdb) 
1134              this = XCAR (frames);
(gdb) 
1139              if (FRAME_WINDOW_P (XFRAME (this)))
(gdb) 
1146              if (FRAME_VISIBLE_P (XFRAME (this))
(gdb) 
1151                count++;
(gdb) 
1130               frames = XCDR (frames))
(gdb) 
1128          for (frames = Vframe_list;
(gdb) 
1156    }
(gdb) 
Fother_visible_frames_p (frame=<value optimized out>)
    at /home/oscar/dev/emacs/emacs/src/frame.c:1167
1167    }
(gdb) c
Continuing.


Evaluating (frame-list) gives

(#<frame address@hidden 0xf43590> #<frame F1 0xb6e7d0>)

I have no idea what frame F1 is. The only displayed frame is
address@hidden', which is what `emacsclient -c -n' creates.

Just to reiterate, this is with `emacs -Q --daemon'.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]