TCL/TK on MacOS-X: Jim Ingham works at APPLE!?

66 views
Skip to first unread message

Maurice Diamantini

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to

As I think the port of Tk to MacOS-X would be a great
news for tcl and Mac user community, so I ask the question
publicaly to Jim Ingham.


Hello Jim!

I just see that you have a new (?) email "jin...@apple.com" !

Does it meens that you are working at Apple to port
tcl/tk on MacOS-X :-)))

As Darwing (the core of MacOS-X mach/BSD based) is
Opens Source by APPLE, and as MacOS-X should be
release as a public beta this summer.
Can we have some state on the future of tcl/tk
on MacOS-X?

Also is there any work which the tkGS project
(from Frédéric BONNET)?


P.S.
I work on Macintosh with linuxppc waiting for a usable
MacOS-X with X11 serveur (or without if tk does work?)

--
Maurice.D...@ensta.fr - ENSTA/LMA
École Nationale Supérieure de Techniques Avancées
Laboratoire de Mathématiques Appliquées
http://www.ensta.fr/~diam

Jim Ingham

unread,
Jun 2, 2000, 3:00:00 AM6/2/00
to
Hi, Maurice...

>
> As I think the port of Tk to MacOS-X would be a great
> news for tcl and Mac user community, so I ask the question
> publicaly to Jim Ingham.
>
>
> Hello Jim!
>
> I just see that you have a new (?) email "jin...@apple.com" !
>
> Does it meens that you are working at Apple to port
> tcl/tk on MacOS-X :-)))

No: my day job for the past couple of years has been hacking on gdb - for
Cygnus and then Red Hat. As it turns out, gdb is the core debugger for
MacOS X, so I am now hacking on gdb at Apple... I did get full support from
my managers here to continue working on Tcl/Tk while at Apple, but Tcl/Tk
support for MacOS is still my evening playtime. Apple is working hard to
incorporate AppleScript throughout MacOS X - a VERY good thing, IMHO - so
that is where most of their "scripting" level efforts are focused. OTOH,
being able to get my hands on debugging builds of the OS should make
supporting Tk on the Mac somewhat easier :-)

>
> As Darwing (the core of MacOS-X mach/BSD based) is
> Opens Source by APPLE, and as MacOS-X should be
> release as a public beta this summer.
> Can we have some state on the future of tcl/tk
> on MacOS-X?

Tcl is already part of the core MacOS X distribution - the GNU compiler
tools (gcc & gdb & friends) use dejagnu, which is based on Expect, to run
their test suites, so you can't really have a GNU based system without a Tcl
port (an odd irony given RMS's statements on the matter...)

Wilfredo Sanchez added support to Tcl for the MacOS X dynamic linker, which
is somewhat different from the standard Unix variants, and this code has
made it back to the core distribution. There are some Makefile changes that
haven't made their way back yet. I will look at how to fix these up when I
get half a mo... But you can get Makefiles that work from the Darwin
distribution.

Tk for X is still a "to be done" (as, by the way, are the latest binaries
for Tcl/Tk for MacOS 9 - oops...) Part of the reason for this is that I
have been really busy - with finishing up all my duties at Red Hat, and
starting here. But also realistically, I have been facing the fact that if
I continue to put effort into the MacOS 9 code, my chances of ever getting a
MacOS X port done are very slim. I work on X every day, not on MacOS 9, and
I want a Tk I can use there (among other things there is NO good Man page
reader; I am dying for a version of TkMan...)

So, with apologies to all the MacOS 9 users who don't have snazzy new G3's
or G4's, my intention is to turn my efforts to MacOS X. If someone else
wants to take up building binaries for MacOS 9, and maintaining that code,
that would be REALLY great. I will be glad to answer questions, of course.

I am not going to try to keep the code base common between the MacOS 9 code,
and the MacOS X code. There are several reasons for this. One is that as
long as Tk relies on MacTCP for its MacOS 9 sockets code, you can't build a
carbonized version of it, so you can't work from a common code base.
Another is that there are some mismatches between the QuickDraw drawing
model and Tk's (look at the Arrowhead editing demo for an example) which are
trivially solved using the Quartz drawing. But this is NOT a part of
Carbon, and is only available on MacOS X. Also, I want a little more
freedom to experiment with a better event model than the one in the current
port, which is not altogether satisfactory. And in general, the MacTk port
is pretty crusty in places, and it will be better to make a clean start,
rather than trying to bend around all that old code to serve two fairly
different masters...

>
> Also is there any work which the tkGS project
> (from Frédéric BONNET)?

I haven't looked at this much; truth to tell I have only just started to
think about the MacOS X port. So I don't really know what the state of the
TkGS stuff is. The Quartz drawing model is VERY flexible & powerful, so we
should be able to do pretty much anything that TkGS needs with little
effort. But whether that is the way to go or not in the grand scale also
depends on how far along TkGS is, and whether the Ajuba folks really are
planning to incorporate it or not...

Hope this helps.

Jim

>
>
> P.S.
> I work on Macintosh with linuxppc waiting for a usable
> MacOS-X with X11 serveur (or without if tk does work?)

Sorry, you'll have to stay with linuxppc for a while. Tk doesn't work, as I
said above, and I also haven't seen an X11 server yet, though I imagine some
enterprising company will come through with this at some point. There are
versions for NeXTStep floating around, so...

Jim


Maurice Diamantini

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
On Fri, 02 Jun 2000 10:56:05 -0700, Jim Ingham <jin...@apple.com> wrote:

Thanks you for all these infos about the state of tcl/tk
on MacOS.

>> Does it meens that you are working at Apple to port
>> tcl/tk on MacOS-X :-)))
>
>No: my day job for the past couple of years has been hacking on gdb - for
>Cygnus and then Red Hat. As it turns out, gdb is the core debugger for
>MacOS X, so I am now hacking on gdb at Apple...

Ok :-(

>... I did get full support from
>my managers here to continue working on Tcl/Tk while at Apple, but Tcl/Tk
>support for MacOS is still my evening playtime.

but good news anyway :-)

>Tk for X is still a "to be done" (as, by the way, are the latest binaries
>for Tcl/Tk for MacOS 9 - oops...) Part of the reason for this is that I
>have been really busy - with finishing up all my duties at Red Hat, and
>starting here. But also realistically, I have been facing the fact that if
>I continue to put effort into the MacOS 9 code, my chances of ever getting a
>MacOS X port done are very slim. I work on X every day, not on MacOS 9, and
>I want a Tk I can use there (among other things there is NO good Man page
>reader; I am dying for a version of TkMan...)

But can't you use the current Mac tk port in the "classic" box (old mac
emulation box) of MacOS-X to run tkman ?


>So, with apologies to all the MacOS 9 users who don't have snazzy new G3's

>or G4's, my intention is to turn my efforts to MacOS X...

I agree!
You shouldn't waste any of your (too precious for tcl/Mac community :-)
time with tk port on MacOS-9: the future of Mac is MacOS-X (bsd based).


>I am not going to try to keep the code base common between the MacOS 9 code,
>and the MacOS X code.

Yes. Perhaps you (Ajuba ?) should considere MacOS-X as a new tcl/tk
port, probably easiest to maintain than the current MacOS port;
as it is unix based?
I meen a new subdirectory in the tk source distribution: "macos"
near to the current "mac" subdirectory.

>> Also is there any work which the tkGS project
>> (from Frédéric BONNET)?
>
>I haven't looked at this much; truth to tell I have only just started to
>think about the MacOS X port. So I don't really know what the state of the
>TkGS stuff is. The Quartz drawing model is VERY flexible & powerful, so we
>should be able to do pretty much anything that TkGS needs with little
>effort. But whether that is the way to go or not in the grand scale also
>depends on how far along TkGS is, and whether the Ajuba folks really are
>planning to incorporate it or not...

Yes,
so perhaps Frédéric Bonnet and/or Jeffrey Hobbs could confirm/infirm
the future of the use tkGS in tk
I undestood that the only interest of TkGS was the ability to
easiest port tk on new plateform (WAP?, ...)

<http://www.multimania.com/fbonnet/Tcl/TkGS/>


>> P.S.
>> I work on Macintosh with linuxppc waiting for a usable
>> MacOS-X with X11 serveur (or without if tk does work?)
>
>Sorry, you'll have to stay with linuxppc for a while. Tk doesn't work, as I
>said above, and I also haven't seen an X11 server yet, though I imagine some
>enterprising company will come through with this at some point. There are
>versions for NeXTStep floating around, so...

Not sure: there is Darwin which need a Graphic layer.
I read somewhere that a project is porting Xfree on Darwin
(therefore on MacOS-X).

<http://www.advogato.org/person/wsanchez/>

Jonathan Guyer

unread,
Jun 5, 2000, 3:00:00 AM6/5/00
to
In article <slrn8jmq0...@fab.ensta.fr>, di...@fab.ensta.fr
(Maurice Diamantini) wrote:

> But can't you use the current Mac tk port in the "classic" box (old mac
> emulation box) of MacOS-X to run tkman ?

TkMan doesn't appear to be able to run on "classic" MacOS. At least not
as I read the docs. I'm still beating my head against a wall to even get
rman to work, which nominally has been ported to Mac.

--
Jonathan E. Guyer

<http://www.his.com/jguyer/>

Mats Bengtsson

unread,
Jun 6, 2000, 3:00:00 AM6/6/00
to

Dear Jim,

Good news you are now with Apple, feels a bit more comfortable for us using
tcl on the Mac. With limited resources, I agree that those should be put on
a MacOS X port instead of maintaining the present one. However, I have just
moved from tcl 8.0-8.2 on MacOS 8.1 to tcl8.3 on MacOS 9, and this feels a
bit unstable. My old setting was pretty stable, although not bugfree, but
this new one is unfortunately not stable. Having to wait for at least 12-18
months for a MacOS X port, and living with an unstable version seems not a
desirable a situation.
Is there any hope for bugfixes on the present release 8.3.0, not the
difficult ones (server sockets for instance), but at least the ones that
crashes the mac? I am sure many would be grateful for this. For my own sake
this would be useful when building extensions (QuickTimeTcl) which should
be relatively easy to port to MacOS X when the tcl port is finished.

Mats Bengtsson

Frederic BONNET

unread,
Jun 6, 2000, 3:00:00 AM6/6/00
to
Hi all,

Maurice Diamantini wrote:
>
> Also is there any work which the tkGS project
> (from Frédéric BONNET)?

TkGS should support MacOS, both pre-X and X. I hope it will also support 68k
macs. The current development driver however doesn't include MacOS ports, but I
hope to get a Mac soon (in about 2 weeks) and give it a try, unless Jim or
someone else starts before. I myself hasn't much knowledge on MacOS toolbox
programming, but I intended to take some code from Tk as a starting point.

See you, Fred
--
Frédéric BONNET frederi...@ciril.fr
---------------------------------------------------------------
"Theory may inform, but Practice convinces"
George Bain

Jim Ingham

unread,
Jun 6, 2000, 3:00:00 AM6/6/00
to
in article jguyer-75DD97....@news.his.com, Jonathan Guyer at
jgu...@his.com wrote on 6/5/00 2:03 PM:

> In article <slrn8jmq0...@fab.ensta.fr>, di...@fab.ensta.fr
> (Maurice Diamantini) wrote:
>
>> But can't you use the current Mac tk port in the "classic" box (old mac
>> emulation box) of MacOS-X to run tkman ?
>
> TkMan doesn't appear to be able to run on "classic" MacOS. At least not
> as I read the docs. I'm still beating my head against a wall to even get
> rman to work, which nominally has been ported to Mac.

Yeah, this won't work, because TkMan tries to "exec" rman to process the man
pages. That ain't gonna fly on Classic...

Jim


Jim Ingham

unread,
Jun 6, 2000, 3:00:00 AM6/6/00
to
Mats,

The 8.3 version of Tcl had a few bugs that caused immediate crashes on some
systems. What is in 8.3.1, or the CVS repository, is better. I have sort
of been holding off making a new binary to see if someone else will get
sufficiently ticked and step up and fill this role... Any takers?

Otherwise I will get embarrassed and at least do a simple build.

I think that the MacTCP support is getting worse in MacOS 9 too. The socket
stuff seems less stable on 9 than it used to be. The async connection part
seems particularly bad. I tried to chase around in MacTCP a little to sort
this out, but that just made my head hurt, and MacTCP has no future, so I
didn't follow it up...

Other than these things Tcl/Tk 8.3.1 is not too bad all in all.

Jim

Jim Ingham

unread,
Jun 6, 2000, 3:00:00 AM6/6/00
to
Maurice,

> On Fri, 02 Jun 2000 10:56:05 -0700, Jim Ingham <jin...@apple.com> wrote:
>
> Thanks you for all these infos about the state of tcl/tk
> on MacOS.
>

No problem!

>
>>> Does it meens that you are working at Apple to port
>>> tcl/tk on MacOS-X :-)))
>>
>> No: my day job for the past couple of years has been hacking on gdb - for
>> Cygnus and then Red Hat. As it turns out, gdb is the core debugger for
>> MacOS X, so I am now hacking on gdb at Apple...
>
> Ok :-(

Well, hacking on gdb is also fun, though in a somewhat perverse way.

>
>> ... I did get full support from
>> my managers here to continue working on Tcl/Tk while at Apple, but Tcl/Tk
>> support for MacOS is still my evening playtime.
>
> but good news anyway :-)
>

Yes, I think so.

>
>> Tk for X is still a "to be done" (as, by the way, are the latest binaries
>> for Tcl/Tk for MacOS 9 - oops...) Part of the reason for this is that I
>> have been really busy - with finishing up all my duties at Red Hat, and
>> starting here. But also realistically, I have been facing the fact that if
>> I continue to put effort into the MacOS 9 code, my chances of ever getting a
>> MacOS X port done are very slim. I work on X every day, not on MacOS 9, and
>> I want a Tk I can use there (among other things there is NO good Man page
>> reader; I am dying for a version of TkMan...)
>

> But can't you use the current Mac tk port in the "classic" box (old mac
> emulation box) of MacOS-X to run tkman ?
>

No, sadly TkMan uses exec to get rman (it has another name now, I forget
what) to process the man pages. When you are running in Classic mode, you
are really on MacOS 9 - no Unix goodies for you!

>
>
>> So, with apologies to all the MacOS 9 users who don't have snazzy new G3's
>> or G4's, my intention is to turn my efforts to MacOS X...
>
> I agree!
> You shouldn't waste any of your (too precious for tcl/Mac community :-)
> time with tk port on MacOS-9: the future of Mac is MacOS-X (bsd based).
>

Good, though I imagine that there are others who disagree with us...

>
>> I am not going to try to keep the code base common between the MacOS 9 code,
>> and the MacOS X code.
>
> Yes. Perhaps you (Ajuba ?) should considere MacOS-X as a new tcl/tk
> port, probably easiest to maintain than the current MacOS port;
> as it is unix based?
> I meen a new subdirectory in the tk source distribution: "macos"
> near to the current "mac" subdirectory.
>

This is pretty much what I had intended, though I am still in the early
stages of investigation. On the Tcl side, there is not that much that is
needed above & beyond the standard Unix stuff. There are these "bundle"
dingi, which replace the Macintosh resource forks in some form or other. It
would be good to add a module to deal with them. There are also bona fide
resource files & files with resource forks around (at least on HFS+ systems)
so we need to use some variant of the MacOS "resource" command.

Tk will be quite different, however, and so a separate folder - though I
would call it macosx, not just macos, to be clear - would be appropriate.

>
>
>>> Also is there any work which the tkGS project
>>> (from Frédéric BONNET)?
>>

>> I haven't looked at this much; truth to tell I have only just started to
>> think about the MacOS X port. So I don't really know what the state of the
>> TkGS stuff is. The Quartz drawing model is VERY flexible & powerful, so we
>> should be able to do pretty much anything that TkGS needs with little
>> effort. But whether that is the way to go or not in the grand scale also
>> depends on how far along TkGS is, and whether the Ajuba folks really are
>> planning to incorporate it or not...
>
> Yes,
> so perhaps Frédéric Bonnet and/or Jeffrey Hobbs could confirm/infirm
> the future of the use tkGS in tk
> I undestood that the only interest of TkGS was the ability to
> easiest port tk on new plateform (WAP?, ...)
>
> <http://www.multimania.com/fbonnet/Tcl/TkGS/>
>

I will look at this some more.

>
>>> P.S.
>>> I work on Macintosh with linuxppc waiting for a usable
>>> MacOS-X with X11 serveur (or without if tk does work?)
>>
>> Sorry, you'll have to stay with linuxppc for a while. Tk doesn't work, as I
>> said above, and I also haven't seen an X11 server yet, though I imagine some
>> enterprising company will come through with this at some point. There are
>> versions for NeXTStep floating around, so...
>
> Not sure: there is Darwin which need a Graphic layer.
> I read somewhere that a project is porting Xfree on Darwin
> (therefore on MacOS-X).
>
> <http://www.advogato.org/person/wsanchez/>
>

Yes, suprisingly enough John Carmack - of id fame - did the original port.
But I think it is at best at the "proof of concept" stage right now.

MacOS X is way more interesting to me than X anyway, the graphics system is
much cooler...

Jim


Jonathan Guyer

unread,
Jun 6, 2000, 3:00:00 AM6/6/00
to
In article <B562BADD.C70%jin...@apple.com>, Jim Ingham
<jin...@apple.com> wrote:

> Yeah, this won't work, because TkMan tries to "exec" rman to process the
> man pages. That ain't gonna fly on Classic...

Yep, 'fraid not. I suppose one could conceivably make a one argument
[exec] do an 'odoc' event, or something, but it's probably not worth
trying. Mac apps just don't work the way [exec] expects them to.

So far, I haven't even been able to get rman to compile. After _much_
head scratching, Matthias told me the makefile didn't make sense because
it was dmake, not MPW make. Got GUSI installed properly (I think), but I
still get a slew of #include errors. I'm afraid I don't derive
sufficient enjoyment (like any) from MPW to spend much more time trying
to figure it out.

rhe...@my-deja.com

unread,
Jun 7, 2000, 3:00:00 AM6/7/00
to
In article <B55D4344.918%jin...@apple.com>,
Jim Ingham <jin...@apple.com> wrote:

> Tcl is already part of the core MacOS X distribution - the GNU
compiler
> tools (gcc & gdb & friends) use dejagnu, which is based on Expect, to
run
> their test suites, so you can't really have a GNU based system
without a Tcl
> port (an odd irony given RMS's statements on the matter...)

> So, with apologies to all the MacOS 9 users who don't have snazzy new


G3's
> or G4's, my intention is to turn my efforts to MacOS X

Jim,

I am REALLY glad you're over at Apple now. I'm a little unsure
about how MacOS X fits into the product line. As long as it works
on the PowerPCs I'll buy it to get a current version of Tcl. I'm
talking about an old 66MHz 603e here.....

I don't mind if we give up on the 68K binaries :-)

As you (and everyone else) know, my main concern with Tcl on
the Mac has been good serial support. Is this going to be on
the agenda for the MacOS X port?

Barring that, can you get Apple to supply you with an intern
to bludgeon the old 8.3.1 code for the MacOS8 and up into some
reasonable shape?

Please remind Apple that there are a LOT of older PPCs out there
in schools, and that it's a good idea to have a scripting
solution for these amchines too!

As a side note, what is going to be the standard compiler for the
MacOS X versions of TclTk. Is it gcc with gdb, (makes sense) or the
Metrowerks CodeWarrior package?

Best of luck in your new position and I hope that things go well.

Cheers, Ralph Hempel - P.Eng.


Sent via Deja.com http://www.deja.com/
Before you buy.

Jim Ingham

unread,
Jun 7, 2000, 3:00:00 AM6/7/00
to
Ralph,

> In article <B55D4344.918%jin...@apple.com>,
> Jim Ingham <jin...@apple.com> wrote:
>
>> Tcl is already part of the core MacOS X distribution - the GNU
> compiler
>> tools (gcc & gdb & friends) use dejagnu, which is based on Expect, to
> run
>> their test suites, so you can't really have a GNU based system
> without a Tcl
>> port (an odd irony given RMS's statements on the matter...)
>
>> So, with apologies to all the MacOS 9 users who don't have snazzy new
> G3's
>> or G4's, my intention is to turn my efforts to MacOS X
>
> Jim,
>
> I am REALLY glad you're over at Apple now. I'm a little unsure
> about how MacOS X fits into the product line. As long as it works
> on the PowerPCs I'll buy it to get a current version of Tcl. I'm
> talking about an old 66MHz 603e here.....

Thanks...

However, I have mostly bad news for you... My understanding is that MacOS X
will only be officially supported on the G3 & G4 machines. It can probably
run on things like the later 8600's and 9600's, but the graphics side is
pretty compute intensive (though on a modern G4 with the ATI 128 Rage Pro it
is right snappy...) A 66MHz 603e will be a VERY painful platform on which
to run MacOS X, however.

>
> I don't mind if we give up on the 68K binaries :-)
>
> As you (and everyone else) know, my main concern with Tcl on
> the Mac has been good serial support. Is this going to be on
> the agenda for the MacOS X port?

Well, G3's and G4's don't actually have serial ports... I haven't started
to poke at the USB & FireWire interfaces, however. If they are just Unix
devices, it should be pretty easy to use them, but I have no idea at
present. And I have NO IDEA how a serial->USB converter device looks to the
system...

>
> Barring that, can you get Apple to supply you with an intern
> to bludgeon the old 8.3.1 code for the MacOS8 and up into some
> reasonable shape?

Yeah, I haven't been here long enough to start feeling my way around this
sort of thing. Sounds like a good idea, however. When I am more solidly in
place, and shown myself to be a good & valuable kind of guy, I will start
agitating...

>
> Please remind Apple that there are a LOT of older PPCs out there
> in schools, and that it's a good idea to have a scripting
> solution for these amchines too!

Yes, I certainly agree. Apple will probably point out that Tcl shares this
space with Python & Perl & Frontier, as well as AppleScript which it has a
more parochial interest in, however. Which unfortunately is true.

>
> As a side note, what is going to be the standard compiler for the
> MacOS X versions of TclTk. Is it gcc with gdb, (makes sense) or the
> Metrowerks CodeWarrior package?

I am leaning strongly towards using gcc & gdb. I need more opportunities to
use gdb on something other than itself :-)

>
> Best of luck in your new position and I hope that things go well.
>

Thanks!

Jim


Uwe Koloska

unread,
Jun 14, 2000, 3:00:00 AM6/14/00
to
Im Artikel <B562BC78.C72%jin...@apple.com> schrieb Jim Ingham
<jin...@apple.com>:

> Mats,
>
> The 8.3 version of Tcl had a few bugs that caused immediate crashes on
> some systems. What is in 8.3.1, or the CVS repository, is better. I
> have sort of been holding off making a new binary to see if someone else
> will get sufficiently ticked and step up and fill this role... Any
> takers?
>
> Otherwise I will get embarrassed and at least do a simple build.
>

I would appreciate this very much, since I am waiting for some runnable port
of tcl8.3. And unfortunately I don't have CW that is necessary to make an
executable ...

Please, please, please hurry ;-)))

My app uses things that don't work in 8.[12] some friends with an iMac and
MacOS 9 are waiting for this port. On my old system with 8.5.1 and 8.6 it
works fine though.

And another plea for supporting classic MacOS for a while, cause we only have
a PPC 604 -- and therefore (until we earn enough money to get one of this
wonderful G4 machines ;-))

yours
Uwe

--
mailto:kol...@rcs.urz.tu-dresden.de
http://rcswww.urz.tu-dresden.de/~koloska/
-- --
right now the web page is in german only
but this will change as time goes by ;-)

Reply all
Reply to author
Forward
0 new messages