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

Reply via email to