[comp.sys.m6809] More on Window Select Bug

knudsen@ihwpt.ATT.COM (mike knudsen) (04/22/87)

I've learned a little more about the disappearing windows
bug since yesterday's posting:

1. The fundamental bug is that a process can create a
window, open a path to it, send a SELECT (1B 21) code
sequence to it and write/draw in it.
But when the process tries to get its original
(interactive shell) window back by sending the
SELECT sequence to stdout, that doesn't work.
The process is left in limbo.
PS: I've tried sending the actual bytes from BASIC09
and not trusting GFX2().  Still no workee.

2. Everything else makes legal sense (maybe).
The original window is still de-selected by its shell,
which (I guess) takes it off the CLEAR-key list.
I can still CLEAR to the temporary window as long
as I don't hit BREAK while viewing it (figure
that one out -- I think that causes its shell to
close BASIC09's paths, so the window evaporates if
not INIZ'ed.  The original stays deselected.

3. You CAN recover the original window, if you know
which of the BASIC09 PROCs is the lost one.
Just KILL it from another window.  Then you can
usually get the window back with the CLEAR key,
certainly if you start another Shell on it.

BTW, it's not impossible to direct output to a window
that has a shell on it.  The output just doesn't go thru
until you get in that window and type something there
that stimulates some output.  Then the other stuff shows up.

-- 
Mike J Knudsen    ...ihnp4!ihwpt!knudsen  Bell Labs(AT&T)
    Delphi: RAGTIMER    CIS: <memory failure, too many digits>
	" ~E(x):[is_lunch(x) && cost(x)==0] "