Please sign in to comment.
22.214.171.124: 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.
- Loading branch information...
Showing with 134 additions and 54 deletions.
- +2 −6 contrib/sb-introspect/introspect.lisp
- +9 −1 package-data-list.lisp-expr
- +1 −2 src/code/coerce.lisp
- +54 −0 src/code/condition.lisp
- +48 −4 src/code/early-extensions.lisp
- +3 −7 src/code/fd-stream.lisp
- +4 −20 src/code/target-thread.lisp
- +4 −2 src/compiler/ir1tran-lambda.lisp
- +4 −6 src/compiler/policy.lisp
- +4 −5 src/compiler/proclaim.lisp
- +1 −1 version.lisp-expr