Why remove NeXT support code?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Why remove NeXT support code?

Daniel J Sebald
I noticed that the subdirectory for the NeXT code has been removed.  I
wouldn't classify NeXT computers as obsolete.  There is still a bit of
activity surrounding them:

http://www.nextcomputers.org/
http://www.nextcomputers.org/forums/

Plus, NeXT is a classic.

I can understand not wanting to have bits of "ifdef NEXT" in the main
code, though.  Looking at what was removed, I see there is this
init_terminal() routine that has me wondering why there are so many
pre-process conditionals.  For example:

#ifdef X11
#ifdef QTTERM
#ifdef WXWIDGETS

are not operating systems, they are basically terminals.  Can't these
bits of code be placed in the associated terminal files?  All it would
take is to change the name of of init_terminal() to
init_terminal_common() and then each of the terminals would have

init_terminal()
{
     if (term_name == (char *) NULL)
         term_name = "qt";

     init_terminal_common();
}

or something similar.  That's the same as an inheritance OOP concept.

Dan

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
gnuplot-beta mailing list
[hidden email]
Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-beta
Reply | Threaded
Open this post in threaded view
|

Re: Why remove NeXT support code?

sfeam
On Sunday, 10 January 2016 02:56:46 PM Daniel J Sebald wrote:
> I noticed that the subdirectory for the NeXT code has been removed.  I
> wouldn't classify NeXT computers as obsolete.  There is still a bit of
> activity surrounding them:
>
> http://www.nextcomputers.org/
> http://www.nextcomputers.org/forums/
>
> Plus, NeXT is a classic.

Sure.  And MSDOS was a classic.  And Version 7 unix was a classic.
And Atari and Amiga were classics.   But it's a good bet that no one is
running the CVS development version of gnuplot on them.

> I can understand not wanting to have bits of "ifdef NEXT" in the main
> code, though.  

The NeXT conditionals in the core code were work-arounds for NeXT
compiler (gcc 3.2) and library deficiencies at that time.   From the comments,
I bet they were already unneeded by 2003 (gcc 3.3) at the very latest.  

> Looking at what was removed, I see there is this
> init_terminal() routine that has me wondering why there are so many
> pre-process conditionals.  
> For example:
>
> #ifdef X11
> #ifdef QTTERM
> #ifdef WXWIDGETS
> > are not operating systems, they are basically terminals.
> Can't these bits of code be placed in the associated terminal files?

Um, no.  This is the routine that determines the default terminal
when the program is first entered.  Obviously you can't call into that
terminal before you have figured out what it is.  And certainly you
cannot call into it if it wasn't configured into the current binary.

        Ethan



> All it would
> take is to change the name of of init_terminal() to
> init_terminal_common() and then each of the terminals would have
>
> init_terminal()
> {
>      if (term_name == (char *) NULL)
>          term_name = "qt";
>
>      init_terminal_common();
> }
>
> or something similar.  That's the same as an inheritance OOP concept.
>
> Dan


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
gnuplot-beta mailing list
[hidden email]
Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-beta
Reply | Threaded
Open this post in threaded view
|

Re: Why remove NeXT support code?

Daniel J Sebald
On 01/10/2016 07:56 PM, sfeam wrote:

> On Sunday, 10 January 2016 02:56:46 PM Daniel J Sebald wrote:
>> I noticed that the subdirectory for the NeXT code has been removed.  I
>> wouldn't classify NeXT computers as obsolete.  There is still a bit of
>> activity surrounding them:
>>
>> http://www.nextcomputers.org/
>> http://www.nextcomputers.org/forums/
>>
>> Plus, NeXT is a classic.
>
> Sure.  And MSDOS was a classic.  And Version 7 unix was a classic.
> And Atari and Amiga were classics.   But it's a good bet that no one is
> running the CVS development version of gnuplot on them.

Not in the sense NeXT was.  Has to be a bit of an overachiever.  NeXT
was a true operating system, with tons of tools like DisplayPostScript,
color wheels, DSP co-processor, laser-jet printer, networking
connections.  Save for a slow optical drive, it was the start of the
personal workstation, albeit pricey.  Some of the first WWW code was
written on a NeXT.


>> I can understand not wanting to have bits of "ifdef NEXT" in the main
>> code, though.
>
> The NeXT conditionals in the core code were work-arounds for NeXT
> compiler (gcc 3.2) and library deficiencies at that time.   From the comments,
> I bet they were already unneeded by 2003 (gcc 3.3) at the very latest.
>
>> Looking at what was removed, I see there is this
>> init_terminal() routine that has me wondering why there are so many
>> pre-process conditionals.
>> For example:
>>
>> #ifdef X11
>> #ifdef QTTERM
>> #ifdef WXWIDGETS
>>> are not operating systems, they are basically terminals.
>> Can't these bits of code be placed in the associated terminal files?
>
> Um, no.  This is the routine that determines the default terminal
> when the program is first entered.  Obviously you can't call into that
> terminal before you have figured out what it is.  And certainly you
> cannot call into it if it wasn't configured into the current binary.

OK, I see.

Dan

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
gnuplot-beta mailing list
[hidden email]
Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-beta