On Mon, Nov 23, 2009 at 02:19:14AM +0100, Florent hivert wrote: > 1 - Add an option called ``version`` do deprecation where you can put the > information on since which version of sage this thing was deprecated: > > sage: def bar(): > ... sage.misc.misc.deprecation("The function bar is removed.", > ... 'Sage Version 4.2, Release Date: 2009-10-24') > sage: bar() > doctest:...: DeprecationWarning: (Since Sage Version 4.2, Release > Date: 2009-10-24) The function bar is removed. > > Note: This does noting than gluing the two strings, but this prompt the writer > of the function to insert this information at the right place. For backward > compatibility, This is only optional.
Thanks! I would even make the call shorter: sage.misc.misc.deprecation("The function bar is removed.", version = "4.2") This will help ensure consistency in the output, and makes it trivial for deprecation to parse the version info (say to make a date lookup after, as was suggested elsewhere). > 2 - When renaming a function or method, you can use deprecated_function_alias > or deprecated_method_alias to keep the function under the old name: > > sage: from sage.misc.misc import deprecated_method_alias > sage: class cls(object): > ... def new_meth(self): return 42 > ... old_meth = deprecated_method_alias(new_meth, > ... 'Sage Version 42.132, Release Date: 5123-04-01') > sage: cls().old_meth() > doctest:...: DeprecationWarning: (Since Sage Version 42.132, Release > Date: 5123-04-01) old_meth is deprecated. Please use new_meth instead. > 42 Great! Of course, same version="4.2" suggestion. This opens the door for instrumenting deprecated_*_aliases, in order to automatically build a list of deprecated functions, etc. Cheers, Nicolas -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org