Subject: Re: CVS commit: basesrc
To: None <tech-userlevel@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-userlevel
Date: 08/13/2002 12:18:39
> Perhaps a more useful mechanism would be to have a _NETBSD_SOURCE
> macro, defining which says that you don't want anything introduced
> after a given date visible.  So having determined that your code
> worked today, you could #define _NETBSD_SOURCE 20020812, and you
> wouldn't get any nasty surprises from compiling against newer
> headers.

That actually is the only suggestion I've seen which I think is
actually a decent resolution from the coder's point of view.

Unfortunately it means the include files are harder to maintain,
because you have to insert an #if with every new addition.  I suppose
it depends on whether you'd rather make things easy on coders at the
expense of people adding stuff to libc, or conversely.  I think it's
pretty obvious which side I come down on...not that I've added anything
to libc in a while (if ever), but even if I did, I think it'd be worth
it; I'd use new additions much more often than I'd add them.

What I really _want_, of course, is to get useful new stuff that
doesn't clash, and to avoid stuff that does clash.  Unfortunately it's
not possible for NetBSD to achieve that in general, as it has no way of
knowing what names I've used for my own purposes (heck, *I* couldn't
tell you, without throwing automated tools at all my existing source) -
and trying to do it for everyone is bound to be a hopeless task; *any*
name chosen to go in libc probably exists in private-use form somewhere
out there already.

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B