-
-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why does COPYINSERT go through PROCESS.TTY ? #1818
Comments
I don't think these questions can be answered easily. Does TTY.PROCESS always return a process that has a WINDOW processprop? When does COPYINSERT get called, by what? |
COPYINSERT gets called by various applications (TEDIT, Sketch, CLIPBOARD, SPY ,,,) to insert something (an image object or string) into the window that currently has the TTY. It has always caused an error if it can't get to a window.
… On Sep 1, 2024, at 12:16 PM, Larry Masinter ***@***.***> wrote:
Is there any reason not to make this change? Is there a better way of cleaning this up?
I don't think these questions can be answered easily. Does TTY.PROCESS always return a process that has a WINDOW processprop? When does COPYINSERT get called, by what?
—
Reply to this email directly, view it on GitHub <#1818 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AQSTUJOW5NJTXZNG5Z2RNZTZUNRX7AVCNFSM6AAAAABNGXMGP2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMRTGQ3DKNZTGM>.
You are receiving this because you authored the thread.
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I have been trying to debug the problem that @pamoroso reported in #1806 (\TEDIT.COPYINSERTFN doesn't exist).
There were several glitches and misunderstandings about the COPYINSERT protocols. But there is something in the definition of COPYINSERT that makes this difficult and doesn't make sense to me. Maybe somebody can explain...
COPYINSERT identifies the target window of the current TTY process by
(WFROMDS (PROCESS.TTY (TTY.PROCESS))).
WFROMDS has a special kludge for Tedit that actually doesn't do the right thing in this case. The reason is that PROCESS.TTY returns the backing display stream of the Tedit textstream instead of the textstream itself, WFROMDS doesn't see that that stream has an associated window, and so it creates one on the fly and tries to do the insertion there.
COPYINSERT works for Tedit if it is changed so that it gets the target window more directly by
(PROCESSPROP (TTY.PROCESS) 'WINDOW).
This avoids going down to any backing display stream for Tedit or anything else, stays at the level of the TTY process (in this case the Tedit process) and its window.
Is there any reason not to make this change? Is there a better way of cleaning this up?
The text was updated successfully, but these errors were encountered: