From: Per P. <per...@ma...> - 2004-03-26 15:42:19
|
On 2004-03-26, at 14.09, Hans-Bernhard Broeker wrote: > On Fri, 26 Mar 2004, Per Persson wrote: > >> I'd say that the most important that aquaterm.trm no longer relies on >> the AppKit framework which would cause a crash if a Quartz >> window-server wasn't running for the logged in user (e.g. running >> gnuplot remotely). > > Hmm... all put together, this feels like the aquaterm.trm is > essentially > a rewrite from scratch, right? Yes. > > I guess we'll have to leave this decision up to you, then. The crucial > issues to keep in mind would be: maturity of the new driver, and > responsibility for possible bugs found in whatever driver we end up > having > in the gnuplot source tree. OK, then I'd say go for the new driver. That way I could retire the old driver sooner than expected. > As nobody on the gnuplot development team seems to have access to a > MacOS > box for testing, we'll have to rely on external experience for this. > At > the moment, that external experience would appear to have to be you. > > So here's my proposal: you become a member of the gnuplot project team > at > SourceForge.net, and take over responsibility for the aquaterm.trm No problem, I'd have to do that anyhow. > and all other MacOS X related issues. This is the scary part... I don't recall the exact release plan for gnuplot 4.0, but IIRC it is more or less right away, no? I'm really busy until mid April, but if someone whos is familiar with gnuplot could bootstrap things and get the necessary changes(*) into CVS, then I could find time to test them on OS X _before_ the next release candidate. From the end of April, I can commit more time to these things so, if these reservations are OK with you, then I accept. > > E.g. something like this: > > in command.c: > > /* This whole chunk may better go to syscfg.h... */ > #ifdef __ObjC__ /* or whatever... */ > # include "gp_objc.h" > #endif > #ifndef GP_OBJC_INIT_MEMPOOL > # define GP_OBJC_INIT_MEMPOOL /* nothing */ > #endif > #ifndef GP_OBJC_FREE_MEMPOOL > # define GP_OBJC_FREE_MEMPOOL /* nothing */ > #endif > > command() > { > GP_OBJC_INIT_MEMPOOL; > > /* body of function */ > > GP_OBJC_FREE_MEMPOOL; > } > > gp_objc.h would then contain the #import statement, and #define the two > macros to whatever they have to do on ObjC. I like this. The __ObjC__ should probably be __HAVE_LIBAQUATERM__ since this stuff is for the aquaterm driver, not OS X/ObjC in general. I'll whip up the above solution, test it and come back with a patch. /Per * The necessary changes is to test for Mac OS X in configure (as is done now) and then check for libaquaterm and only then set (if it is found) LIBS="$LIBS -laquaterm -framework Foundation" CFLAGS="$CFLAGS -ObjC" and set a #define to be used in command.c and term.h |