Tcl Source Code

View Ticket
Login
Ticket UUID: 3124683
Title: platform specific stuff in (tcl|tk)Main.c
Type: Patch Version: None
Submitter: nijtmans Created on: 2010-12-01 16:18:27
Subsystem: 50. Embedding Support Assigned To: dgp
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2011-03-31 23:20:03
Resolution: Fixed Closed By: sf-robot
    Closed on: 2011-03-31 16:20:03
Description:
Don Porter wrote to me:
> I suspect there may be another way, and you may be overlooking some
> encoding support routines that can keep platform specific stuff out
> of the generic/*.c files.  But I could also be wrong about that.

Here is my attempt to move as most as possible platform-dependant
stuff out of (tcl|tk)Main.c.

- Implemented a static NewNativeObj() function, so we no longer have to
  Tcl_SetStartupScript using native encoding, en then later read it again
  and convert it to UTF-8. Now every native-to-obj conversions can be
  done in one step.
- 

And for tkMain.c, there are some additional
improvements:

- converted ThreadSpecificData in InteractiveState (just as
already done in tclMain.c), wich an additional 'gotPartial'
field. This makes Tk_MainEx thread-safe. Moved the
inChannel and tty variables there too.
- Use the InteractiveState as clientData in
  Tcl_CreateChannelHandler, so we still can unregister
  when stdin becomes invalid.
- use Tcl_GetStdChannel(TCL_STDOUT) in stead of
  Tcl_GetChannel(interp, "stdout", NULL), as in tclMain.c

Regards,
         Jan Nijtmans
User Comments: sf-robot added on 2011-03-31 23:20:03:

allow_comments - 1

This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).

nijtmans added on 2011-03-17 23:19:58:
Fixed in HEAD now (Both for Tcl and Tk)

OK?

nijtmans added on 2010-12-01 23:20:36:

File Deleted - 394950:

nijtmans added on 2010-12-01 23:19:48:

File Added - 394950: tkMain.patch

nijtmans added on 2010-12-01 23:19:44:

File Added - 394949: tkMain.patch

nijtmans added on 2010-12-01 23:19:12:

File Added - 394948: tclMain.patch

Attachments: