Number: 1848

Date: 15-Aug-84 14':43':15

Submitter: Sannella.PA

Source: JonL.pa

Subject: YATWs squashed': WFROMDS has new arg DONTCREATE; calls CREATEW w/ NOOPENFLG=T

Lisp Version: 

Description: '
Date': 30 Jul 84 03':01 PDT'
From': JonL.pa'
Subject': Lafite': YATW pops up on retry of sending a message'
To': LafiteSupport.pa'
cc': JonL.pa'
'
Lafite System Date': 23-Jul-84 16':53':24'
Lisp System Date': 27-Jul-84 21':52':40'
Machine': Dorado (DaVinci)'
Microcode version': 24,4'
Memory size': 10000'
Frequency': Always'
Impact':  Annoying'
'
Address a message to some invalid recipient, and bug Deliver.  See the error message in the promptwindow; note that the tty.process has been switched to the EXEC (or something other than the messagesender). Now bug the messagesender window in order to correct the invalid recipient name, and a modest sized YATW pops up just below center, in the middle of the screen.'
'
-- JonL --'
'
-----'
'
Date': 30 Jul 84 14':12 PDT'
From': vanMelle.pa'
Subject': Re': Lafite': YATW pops up on retry of sending a message'
In-reply-to': JonL.pa''s message of 30 Jul 84 03':01 PDT'
To': TEditSupport, Burton'
cc': LafiteSupport.pa, JonL.pa'
'
Well, this is fascinating.'
'
First of all, when you start up a tedit, it creates, but does not open, a window entitled "TTY window for TEdit", and calls TTYDISPLAYSTREAM on it.  That is fascinating in itself.  Then when you bug Deliver, Lafite quits the Tedit, goes to deliver the message, finds it can''t, and starts up TEdit again.  That strange window the first tedit created has since been dropped, but its displaystream lingers on as the ttydisplaystream of the Lafite message sending process.  So now when Tedit yet again creates its "TTY window for TEdit" and calls TTYDISPLAYSTREAM, somebody inside TTYDISPLAYSTREAM calls WFROMDS on the old ds, causing a window to be created for it, and same popped up on screen.'
'
Several suggestions come to mind':'
'
1.  WFROMDS should take a DONTCREATE argument, and TTYDISPLAYSTREAM should use it.'
'
2.  The CREATEW in WFROMDS might want to have NOOPENFLG = T, just like \CREATE.TTYDISPLAYSTREAM does.  This means that places that inadvertantly call WFROMDS on a dropped window''s ds, just like places that call (\GETSTREAM T) when there is no tty, will run slow, but at least not ugly.'
'
3.  Tedit probably wants to restore the TTYDISPLAYSTREAM on exit.  But I''m curious as to why it goes to the bother of creating one in the first place.'
'
	Bill'
'
-----'
'
Date': 30 Jul 84 15':26 PDT'
From': JonL.pa'
Subject': Re': Lafite': YATW pops up on retry of sending a message'
In-reply-to': vanMelle.pa''s message of 30 Jul 84 14':12 PDT'
To': vanMelle.pa'
cc': TEditSupport.pa, Burton.pa, LafiteSupport.pa, JonL.pa'
'
I ran into this problem with ttywindows for the EVALSERVER -- ostensibly one wants to keep only one handle on the ttywindow, but Richard convinced me to cache the window pointer in a globalvar (rather than the STREAM) so that the STREAM didn''t have to have a POINTER link to the window.  I dunno if this is still the recommended practice, but it can''t hurt to "hang onto" a window which is to be given to TTYDISPLAYSTREM.'
'
-- JonL --'
'
-----'
'
Date': 30 Jul 84 15':35 PDT'
From': Sybalsky.pa'
Subject': Re': Lafite': YATW pops up on retry of sending a message'
In-reply-to': vanMelle.pa''s message of 30 Jul 84 14':12 PDT'
To': vanMelle.pa'
cc': TEditSupport.pa, Burton.pa, LafiteSupport.pa, JonL.pa'
'
It''s a long story.  Everyone wants TEdit to support the copy-selection interface that exists in the IMAGEOBJ proposal.  That means putting a function on the TTY window for the TEdit process that catches the copied objects and hands them to TEdit.  So there has to be a window associated with the TTYDISPLAYSTREAM for each TEdit process, and TEdit has to have a handle on it.'
'
The obvious candidate is the TEdit editing window itself.  But then ↑T, errors, etc will all print stuff into the TEdit window, garbaging it....'
'
Oy!  Well, I suppose the copy stuff could be supported by process props instead of windowprops, but then you have to actively worry about having shift-selected text follow the caret properly, instead of having it happen automatically.'
'
Suggestions most welcome.'
'
	--John'
'
-----'
'
Date': 30 Jul 84 17':41 PDT'
From': vanMelle.pa'
Subject': Re': Lafite': YATW pops up on retry of sending a message'
In-reply-to': Sybalsky.pa''s message of 30 Jul 84 15':35 PDT'
To': Sybalsky.pa'
cc': vanMelle.pa, TEditSupport.pa, Burton.pa, LafiteSupport.pa, JonL.pa'
'
I see your dilemma.  No clever solutions come right to mind.'
'
Meanwhile, I followed my suggestions 1 and 2 by editing WFROMDS and TTYDISPLAYSTREAM.  This quashes the YATW JonL and others have reported, and I suspect stomps out some other random YATW''s.  The extra arg to WFROMDS should probably be documented; I seem to recall wanting it myself for some other purpose.'
'
	Bill'
'
-----'
'
Date': 30 Jul 84 19':46 PDT'
From': JonL.pa'
Subject': Re': Lafite': YATW pops up on retry of sending a message'
In-reply-to': Sybalsky.pa''s message of 30 Jul 84 15':35 PDT'
To': Sybalsky.pa'
cc': vanMelle.pa, TEditSupport.pa, Burton.pa, LafiteSupport.pa, JonL.pa'
'
So what''s wrong with stashing the TEdit ttywindow on some random process property right after its initial creation?  and then not directly calling TTYDISPLAYSTREAM on anything but that window?   As long as the process is around, the window wouldn''t get "dropped".'
'
I guess also that when TEdit starts up, it would first have to look at the aforementioned random process property to see if that process had already created a ttywindow for TEdit.'
'
-- JonL --'
'


Workaround: 

Test Case: 

Edit-By: Sannella.PA

Edit-Date: 16-Aug-84 12':51':52

Attn: 

Assigned To: vanMelle

In/By: Harmony

Disposition: 

System: Windows and Graphics

Subsystem: Window System

Machine: 

Disk: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Difficulty: 

Frequency: 

Impact: 

Priority: Perhaps

Status: Closed

Problem Type: 

Source Files: