1.0.44.26: more nuanced deprecation framework
authorNikodemus Siivola <nikodemus@random-state.net>
Tue, 16 Nov 2010 18:18:03 +0000 (18:18 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Tue, 16 Nov 2010 18:18:03 +0000 (18:18 +0000)
commit4fa1c71c7dfa5c6d361304321cc67069a6410694
treed9c66ab269a71d7d61a8e103ee88f63918560878
parentea6c9e2eb0f0a270d83e8c94c0daa934d1058f0f
1.0.44.26: more nuanced deprecation framework

 DEFINE-DEPRECATED-FUNCTION is the new one-stop shop for the "common"
 case of deprecating a function in favor of another one.

 ...in cases where it is not sufficient, call DEPRECATION-WARNING or
 DEPRECATION-ERROR directly from the compiler or other place.

 Three stages: :EARLY signals a compile-time style-warning, :LATE
 signals a compile-time full warning, :FINAL a compile-time full
 warning and a run-time error.

 (This is based on the assumption that this is both a sufficient and
 desirably nuanced taxonomy -- if more or less is wanted, changing
 this later is easy enough.)

 SB-EXT:DEPRECATION-CONDITION is the base class of all deprecation
 warnings and errors, but it isn't yet documented: once we have a
 concensus of sorts on a deprecation protocol/schedule, I will write
 the appropriate bits in the manual.

 Everything that previously had a deprecation warning is now in :LATE
 stage, except for INSTANCE-LAMBDA which is now in :FINAL stage.
contrib/sb-introspect/introspect.lisp
package-data-list.lisp-expr
src/code/coerce.lisp
src/code/condition.lisp
src/code/early-extensions.lisp
src/code/fd-stream.lisp
src/code/target-thread.lisp
src/compiler/ir1tran-lambda.lisp
src/compiler/policy.lisp
src/compiler/proclaim.lisp
version.lisp-expr