From: Jeff H. <je...@ac...> - 2012-09-25 23:04:56
|
Hi Kevin, First off, thanks for the effort on this. My short $.02 is an ambivalent -1 on keeping any carbon-based support going forward. People can refer to 8.5.11 and preceding versions if they want to try and make it work. Jeff On 25/09/2012 3:12 PM, Kevin Walzer wrote: > Hi all, > > After extensive discussion on the Tcl-Core mailing list, we've done a > full merge of the Tk-Cocoa backport into the main branch of Tk 8.5, so > that it will more closely track development in 8.6 and not require the > complexity of maintaining a separate branch. Going forward, Tk 8.5 as > well as Tk 8.6 will be based on Cocoa. > > As a result of this, the question of what to do with the older Carbon > version of Tk--in both 8.5 and 8.6--has arisen. > > When Tk-Cocoa was first merged into Tk 8.6/trunk a few years ago, it was > decided to set up a separate "Carbon" subdirectory in the Tk source > tree, which someone could build using an "--enable-carbon" switch during > the configure phase. It probably would not be too hard to set up > something similar for 8.5. > > However, I'm not aware of any Tk 8.6-based projects that make a point of > using Carbon, nor am I aware of any in 8.5; ActiveState switched > ActiveTcl to the Cocoa-based version a couple of years ago, and the > version of Tk that Apple ships with OS X has been Cocoa-based since > 10.6. Most projects simply go with Cocoa because that is now the most > widely-supported version; if a project is using Carbon, it is likely by > happenstance (an older build of Tk, for instance). > > Adding to these observations is the fact that that the Carbon version is > increasingly hard to build on recent versions of OS X, especially in a > 64-bit environment. I've heard reports that it won't build at all on > 10.8 (can't confirm that myself as I'm still on Lion); Apple has moved > from deprecating to actively removing some part of the Carbon framework > from OS X. No significant work has been done on the Carbon version of Tk > for about five years, since Daniel Steffen began working on the Cocoa port. > > Based on all this, from my perspective it makes little sense to continue > supporting the Carbon version of Tk. It seems at this point just to take > up space in the Tk source tree, but is not used anywhere that I can see. > My vote would be to remove it from both 8.5 and 8.6, set the line of > demarcation on Carbon at Tk 8.5.12, and move forward. > > However, I think it make sense to discuss this issue more before > proceeding with such a change. In the Tcl chatroom I volunteered today > to start a conversation on this issue on the Tcl-Mac list, and based on > the feedback here, will also discuss the issue on Tcl-Core. > > I will also fully acknowledge that the Cocoa port is not perfect, > specifically with regard to performance and integration between the Tk > and Cocoa event loops; the Carbon version is superior in this respect, > and a few years ago a couple of people mentioned on this list that they > prefer the Carbon version for that reason. Until Daniel Steffen or > someone else with more expertise than me has time to dive into the > event-loop integration questions, the Cocoa port will continue to have > this issue. Nonetheless, these factors in my view do not outweigh the > facts that the Carbon port is now obsolete, cannot build in a 64-bit > environment, and is unsupported in every major binary distribution of Tk > on the Mac. I believe that Tk would not suffer by removing that code > from the source tree in both 8.5 and 8.6. > > Comments are not only welcome but invited. If there is a clear > constituency for keeping the Carbon port around, we need to be aware of > that. > > Thanks, > Kevin > > |