Yoshiaki Kasahara <kasahara(a)nc.kyushu-u.ac.jp> writes:
Yes. After your patch was applied, (delete-windows-on
"test") on a
tty frame deleted the "test" window on the tty frame, and
(delete-windows-on "test" nil 'all) deleted all the windows including
both X and tty frames.
Thanks for confirmation.
Well, I noticed that the behavior of (delete-windows-on
"test" t) is
slightly changed, though. Before the patch, it deleted a "test"
window only on the tty frame, but now it also deletes a window on one
of X frames (not both). When I do it on a X frame, a tty window is
deleted, too.
Every device has its own selected-frame. I thought it would
be better to delete every selected-frame but it breaks
backward compatibility. Here's the patch to preserve old
behavior. Please apply this on top of my previous patch.
Probably I'll apply my two patches tomorrow to the CVS
repository.
--- window.c.patched Wed Dec 20 17:23:24 2000
+++ window.c Wed Dec 20 17:28:40 2000
@@ -2790,6 +2790,7 @@
{
Lisp_Object frame_list, the_window;
Lisp_Object device, tail;
+ struct frame * the_selected_frame = selected_frame ();
device = XCAR (devcons);
frame_list = DEVICE_FRAME_LIST (XDEVICE (device));
@@ -2797,7 +2798,7 @@
LIST_LOOP (tail, frame_list)
{
if ((NILP (frame_spec)
- && !EQ (XCAR (tail), DEVICE_SELECTED_FRAME (XDEVICE (device))))
+ && XFRAME (XCAR (tail)) != the_selected_frame)
|| (EQ (frame_spec, Qvisible)
&& !FRAME_VISIBLE_P (XFRAME (XCAR (tail))))
|| (FRAMEP (frame_spec)
--
Yoshiki Hayashi