Tk Source Code

View Ticket
Login
Ticket UUID: 9ba9729ef1b5ef6ead755f2d72656743bbb26832
Title: Limitation of [send] on macOS is not reflected in documentation and tests
Type: Bug Version: 9.1a0
Submitter: erikleunissen Created on: 2025-08-16 05:39:24
Subsystem: 99. Other Assigned To: nobody
Priority: 5 Medium Severity: Important
Status: Closed Last Modified: 2025-08-18 22:28:51
Resolution: Fixed Closed By: erikleunissen
    Closed on: 2025-08-18 22:28:51
Description:
On macOS, communicating with other interpreters using the send command is
limited to interpreters within the same process. This limitation is not mentioned
in the manual page for "send".

Also, some tests in the test file "send.test" involve interpreters in other
processes. Some of these tests are skipped for aqua, but not all, notably
send-8.18 and send-8.19.

See also the post to the TCLCORE mailing list on 15-aug-2025 with subject
"Advice requested regarding [send] on macOS".
User Comments: erikleunissen added on 2025-08-18 22:28:51:
The errors at Github CI are now gone. All OK there.
I merged the bugfix branch into trunk and core-9-0-branch.
Closing the ticket now.

erikleunissen added on 2025-08-17 13:28:03:
I decided to abandon the idea to add more tests regarding "winfo interps" to winfo.test.
I also decided also not to touch the docs for "winfo interps". 

The reason is that the situation regarding "winfo interps" on macOS and its testing
appears to be too messed up to take it along with the present ticket. I reverted
all changes in the bug fix branch regarding "winfo interps", and filed a separate
ticket for the multiple issues here: [ff2ca8b34c].

So that the present ticket can proceed with applying the new constraints for tests
in send.test.

erikleunissen added on 2025-08-16 10:45:40:
The changes that I intended with this ticket are done.
I'm welcoming review of the development branch bug-9ba9729ef1.

erikleunissen added on 2025-08-16 10:13:20:
Tests in winfo.test with multiple interpreters (in the same process and in
different processes) have been added. See commit [c8bf1bce91].

erikleunissen added on 2025-08-16 10:10:41:
Tests in send.test targetting interpreters in another process have now been
constrained with "notAqua". See commits [1f3dbb47af] and [95d7944f15].

erikleunissen added on 2025-08-16 08:00:39:
New text proposals for man winfo (winfo interps) and man send
-------------------------------------------------------------

Man winfo, current text "winfo interps"
--
Returns a list whose members are the names of all Tcl interpreters (e.g. all Tk-based
applications) currently registered for a particular display. If the -displayof option
is given then the return value refers to the display of window; otherwise it refers
to the display of the application's main window.
--

Proposed new text
--
Returns a list whose members are the names of all Tcl interpreters (e.g. all Tk-based
applications) currently registered for a particular display. If the -displayof option
is given then the return value refers to the display of window; otherwise it refers
to the display of the application's main window.

Under macOS/aqua, the command returns only the interpreters that exist in the same process
as the current interpreter.
--


Man send, proposal to add a section "LIMITATIONS"
-------------------------------------------------

Proposed text for section LIMITATIONS:
--
Under macOS/aqua, the send command works only with interpreters that exist in
the same process (these are returned by "winfo interps"). Invocations that
target an interpreter that exists in another process return an empty string
without accomplishing anything; no error is returned.
--

The proposed changes have been committed in bug-fix branch bug-9ba9729ef1,
commit [731a5957cc].