[Cairo] Cairo API change: cairo_get_* -> cairo_current_*

Carl Worth cworth at east.isi.edu
Thu Sep 4 16:37:35 PDT 2003


On Sep 4, Keith Packard wrote:
 > > I might suggest simply breaking stuff and letting people fix.
 > > Cairo isn't mature enough yet to clutter the source code with
 > > fancy ways of doing deprecation, IMHO.

Owen, you got me thinking and I realized my initial approach was
exactly backwards with its priorities. Here's what I think now:

There is never any benefit to breaking binary compatibility if easily
avoided.

There is a definite advantage to breaking source-level compatibility
to steer new development away from the deprecated APIs.

So I've changed the DEPRECATED macros to do exactly that. So using the
old APIs will now give a link error on all platforms. But, to ease
things, the error will provide both the old and new function names,
ala:

	cairo_get_status_DEPRECATED_BY_cairo_status

And, of course, the cairo-api-update script will also solve things.

 > I'd suggest that the 1.0 release be accompanied by an elimination of the 
 > deprecated functions so that we start clean at that point.

Absolutely. And we can follow a similar pattern in the future with the
development "releases" prior to a release that breaks backward
compatibility.

-Carl




More information about the cairo mailing list