From: Jan M. <sc...@us...> - 2015-03-01 03:39:40
|
The branch "master" has been updated in SBCL: via e2c4780d376f8a89e9a8718d82e22eaec5fcf86b (commit) from 307d72de43717e632abaad96f18a163f283cd17c (commit) - Log ----------------------------------------------------------------- commit e2c4780d376f8a89e9a8718d82e22eaec5fcf86b Author: Jan Moringen <jmo...@te...> Date: Wed Oct 29 02:50:28 2014 +0100 Move deprecation pipeline along * Moved some entries: :early -> :late and :late -> :final * Updated dates of planned next steps and removals --- NEWS | 13 +++++++++ contrib/sb-introspect/introspect.lisp | 4 +- doc/manual/deprecated.texinfo | 34 +++++++++++------------- src/code/cold-init.lisp | 2 +- src/code/debug.lisp | 2 +- src/code/early-extensions.lisp | 46 ++++++++++++++++---------------- src/code/fd-stream.lisp | 9 +++--- src/code/target-thread.lisp | 6 ++-- src/code/thread.lisp | 18 ++++++------ src/code/unix.lisp | 2 +- src/compiler/policy.lisp | 4 +- tests/threads.impure.lisp | 2 +- 12 files changed, 76 insertions(+), 66 deletions(-) diff --git a/NEWS b/NEWS index 6b29971..2822d7f 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,17 @@ ;;;; -*- coding: utf-8; fill-column: 78 -*- +changes relative to sbcl-1.2.9: + * incompatible change: the following functions have been moved to the FINAL + deprecation state: SB-SYS:OUTPUT-RAW-BYTES, + SB-C::STACK-ALLOCATE-{DYNAMIC-EXTENT,VECTOR,VALUE-CELLS}, + SB-INTROSPECT:FUNCTION-ARGLIST, + SB-THREAD:{JOIN-THREAD-ERROR-THREAD,INTERRUPT-THREAD-ERROR-THREAD} + * incompatible change: the following things have been moved to the LATE + deprecation state: + SB-THREAD::{GET-MUTEX,SPINLOCK,MAKE-SPINLOCK,WITH-SPINLOCK, + WITH-RECURSIVE-SPINLOCK,GET-SPINLOCK,RELEASE-SPINLOCK,SPINLOCK-VALUE, + SPINLOCK-NAME,SETF SPINLOCK-NAME},SB-C::MERGE-TAIL-CALLS + (policy),SB-EXT:QUIT,SB-UNIX:UNIX-EXIT,SB-DEBUG:*SHOW-ENTRY-POINT-DETAILS* + changes in sbcl-1.2.9 relative to sbcl-1.2.8: * minor incompatible change and bug fix: unboxed numeric constants on x86oids are arranged in memory differently, and the disassembler diff --git a/contrib/sb-introspect/introspect.lisp b/contrib/sb-introspect/introspect.lisp index 9ac875a..0ecd8d7 100644 --- a/contrib/sb-introspect/introspect.lisp +++ b/contrib/sb-introspect/introspect.lisp @@ -426,8 +426,8 @@ If an unsupported TYPE is requested, the function will return NIL. :plist (sb-c:definition-source-location-plist location)) (make-definition-source))) -(sb-int:define-deprecated-function :late "1.0.24.5" function-arglist function-lambda-list - (function) +(sb-int:define-deprecated-function :final "1.2.10" function-arglist + function-lambda-list (function) (function-lambda-list function)) (defun function-lambda-list (function) diff --git a/doc/manual/deprecated.texinfo b/doc/manual/deprecated.texinfo index daf9761..7487c47 100644 --- a/doc/manual/deprecated.texinfo +++ b/doc/manual/deprecated.texinfo @@ -126,12 +126,16 @@ After final deprecation the interface is deleted entirely. @subsection Early Deprecation +No interfaces are currently in early deprecation. + +@subsection Late Deprecation + @itemize @item @strong{SB-EXT:QUIT} Deprecated in favor of @code{sb-ext:exit} as of 1.0.56.55 in May 2012. -Expected to move into late deprecation in May 2013. +Expected to move into final deprecation in August 2015. The design of @code{sb-ext:quit} proved too broken to fix in a backwards-compatible manner, so it had to be deprecated and replaced. @@ -182,8 +186,8 @@ legacy SBCLs using the following conditionalization: @sp 1 @item @strong{SB-UNIX:UNIX-EXIT} -Deprecated as of 1.0.56.55 in May 2012. Expected to move into late -deprecation in May 2013. +Deprecated as of 1.0.56.55 in May 2012. Expected to move into final +deprecation in August 2015. When the SBCL process termination was refactored as part of changes that led to @code{sb-ext:quit} being deprecated, @code{sb-unix:unix-exit} @@ -213,7 +217,7 @@ appropriate arguments. @item @strong{SB-C::MERGE-TAIL-CALLS Compiler Policy} Deprecated as of 1.0.53.74 in November 2011. Expected to move into -late deprecation in November 2012. +final deprecation in August 2015. This compiler policy was never functional: SBCL has always merged tail calls when it could, regardless of this policy setting. (It was also @@ -229,8 +233,8 @@ structure the code to avoid the tail position instead. @sp 1 @item @strong{Spinlock API} -Deprecated as of 1.0.53.11 in August 2011. Expected to move into late -deprecation in August 2012. +Deprecated as of 1.0.53.11 in August 2011. Expected to move into final +deprecation in August 2015. Spinlocks were an internal interface, but had a number of external users and were hence deprecated instead of being simply deleted. @@ -249,15 +253,14 @@ on top of @code{sb-ext:compare-and-swap}, @end itemize -@subsection Late Deprecation +@subsection Final Deprecation @itemize @item @strong{SB-THREAD:JOIN-THREAD-ERROR-THREAD and SB-THREAD:INTERRUPT-THREAD-ERROR-THREAD} Deprecated in favor of @code{sb-thread:thread-error-thread} as of -1.0.29.17 in June 2009. Expected to move into final deprecation in -June 2012. +1.0.29.17 in June 2009. Expected to be removed in April 2015. @strong{Remedy} @@ -283,8 +286,7 @@ For code that needs to support legacy SBCLs, use e.g.: @item @strong{SB-INTROSPECT:FUNCTION-ARGLIST} Deprecated in favor of @code{sb-introspect:function-lambda-list} as of -1.0.24.5 in January 2009. Expected to move into final deprecation in -January 2012. +1.0.24.5 in January 2009. Expected to be removed in April 2015. Renamed for consistency and aesthetics. Functions have lambda-lists, not arglists. @@ -310,7 +312,7 @@ For code that needs to support legacy SBCLs, use e.g.: Deprecated in favor of @code{sb-ext:*stack-allocate-dynamic-extent*} as of 1.0.19.7 in August 2008, and are expected to be removed in -August 2012. +April 2015. Affected symbols: @code{sb-c::stack-allocate-dynamic-extent}, @code{sb-c::stack-allocate-vector}, and @@ -340,8 +342,8 @@ control in modern SBCLs. @sp 1 @item @strong{SB-SYS:OUTPUT-RAW-BYTES} -Deprecated as of 1.0.8.16 in June 2007. Expected to move into final -deprecation in June 2012. +Deprecated as of 1.0.8.16 in June 2007. Expected to be removed in April +2015. Internal interface with some external users. Never officially supported, deemed unnecessary in presence of @code{write-sequence} and @@ -355,10 +357,6 @@ character IO -- in conjunction with @code{write-sequence}. @end itemize -@subsection Final Deprecation - -No interfaces are currently in final deprecation. - @section Historical Interfaces The following is a partial list of interfaces present in historical diff --git a/src/code/cold-init.lisp b/src/code/cold-init.lisp index e0774c7..accf570 100644 --- a/src/code/cold-init.lisp +++ b/src/code/cold-init.lisp @@ -320,7 +320,7 @@ (toplevel-init) (critically-unreachable "after TOPLEVEL-INIT"))) -(define-deprecated-function :early "1.0.56.55" quit (exit sb!thread:abort-thread) +(define-deprecated-function :late "1.2.10" quit (exit sb!thread:abort-thread) (&key recklessly-p (unix-status 0)) (if (or recklessly-p (sb!thread:main-thread-p)) (exit :code unix-status :abort recklessly-p) diff --git a/src/code/debug.lisp b/src/code/debug.lisp index 1befb88..8e655d9 100644 --- a/src/code/debug.lisp +++ b/src/code/debug.lisp @@ -213,7 +213,7 @@ backtraces. Possible values are :MINIMAL, :NORMAL, and :FULL. In the this case arguments may include values internal to SBCL's method dispatch machinery.") -(define-deprecated-variable :early "1.1.4.9" *show-entry-point-details* +(define-deprecated-variable :late "1.2.10" *show-entry-point-details* :value nil) (defun backtrace (&optional (count *backtrace-frame-count*) (stream *debug-io*)) diff --git a/src/code/early-extensions.lisp b/src/code/early-extensions.lisp index 9e079b7..1e621cd 100644 --- a/src/code/early-extensions.lisp +++ b/src/code/early-extensions.lisp @@ -1168,31 +1168,31 @@ ;;; deprecated.texinfo. ;;; ;;; EARLY: -;;; - SB-THREAD::GET-MUTEX, since 1.0.37.33 (04/2010) -> Late: 01/2013 -;;; ^- initially deprecated without compile-time warning, hence the schedule -;;; - SB-THREAD::SPINLOCK (type), since 1.0.53.11 (08/2011) -> Late: 08/2012 -;;; - SB-THREAD::MAKE-SPINLOCK, since 1.0.53.11 (08/2011) -> Late: 08/2012 -;;; - SB-THREAD::WITH-SPINLOCK, since 1.0.53.11 (08/2011) -> Late: 08/2012 -;;; - SB-THREAD::WITH-RECURSIVE-SPINLOCK, since 1.0.53.11 (08/2011) -> Late: 08/2012 -;;; - SB-THREAD::GET-SPINLOCK, since 1.0.53.11 (08/2011) -> Late: 08/2012 -;;; - SB-THREAD::RELEASE-SPINLOCK, since 1.0.53.11 (08/2011) -> Late: 08/2012 -;;; - SB-THREAD::SPINLOCK-VALUE, since 1.0.53.11 (08/2011) -> Late: 08/2012 -;;; - SB-THREAD::SPINLOCK-NAME, since 1.0.53.11 (08/2011) -> Late: 08/2012 -;;; - SETF SB-THREAD::SPINLOCK-NAME, since 1.0.53.11 (08/2011) -> Late: 08/2012 -;;; - SB-C::MERGE-TAIL-CALLS (policy), since 1.0.53.74 (11/2011) -> Late: 11/2012 -;;; - SB-EXT:QUIT, since 1.0.56.55 (05/2012) -> Late: 05/2013 -;;; - SB-UNIX:UNIX-EXIT, since 1.0.56.55 (05/2012) -> Late: 05/2013 -;;; - SB-DEBUG:*SHOW-ENTRY-POINT-DETAILS*, since 1.1.4.9 (02/2013) -> Late: 02/2014 ;;; ;;; LATE: -;;; - SB-SYS:OUTPUT-RAW-BYTES, since 1.0.8.16 (06/2007) -> Final: anytime -;;; Note: make sure CLX doesn't use it anymore! -;;; - SB-C::STACK-ALLOCATE-DYNAMIC-EXTENT (policy), since 1.0.19.7 -> Final: anytime -;;; - SB-C::STACK-ALLOCATE-VECTOR (policy), since 1.0.19.7 -> Final: anytime -;;; - SB-C::STACK-ALLOCATE-VALUE-CELLS (policy), since 1.0.19.7 -> Final: anytime -;;; - SB-INTROSPECT:FUNCTION-ARGLIST, since 1.0.24.5 (01/2009) -> Final: anytime -;;; - SB-THREAD:JOIN-THREAD-ERROR-THREAD, since 1.0.29.17 (06/2009) -> Final: 09/2012 -;;; - SB-THREAD:INTERRUPT-THREAD-ERROR-THREAD since 1.0.29.17 (06/2009) -> Final: 06/2012 +;;; - SB-THREAD::GET-MUTEX, since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SB-THREAD::SPINLOCK (type), since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SB-THREAD::MAKE-SPINLOCK, since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SB-THREAD::WITH-SPINLOCK, since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SB-THREAD::WITH-RECURSIVE-SPINLOCK, since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SB-THREAD::GET-SPINLOCK, since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SB-THREAD::RELEASE-SPINLOCK, since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SB-THREAD::SPINLOCK-VALUE, since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SB-THREAD::SPINLOCK-NAME, since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SETF SB-THREAD::SPINLOCK-NAME, since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SB-C::MERGE-TAIL-CALLS (policy), since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SB-EXT:QUIT, since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SB-UNIX:UNIX-EXIT, since 1.2.10 (02/2015) -> Final: 08/2015 +;;; - SB-DEBUG:*SHOW-ENTRY-POINT-DETAILS*, since 1.2.10 (02/2015) -> Final: 08/2015 +;;; +;;; FINAL: +;;; - SB-SYS:OUTPUT-RAW-BYTES, since 1.2.10 (02/2015) -> Remove: 04/2015 +;;; - SB-C::STACK-ALLOCATE-DYNAMIC-EXTENT (policy), since 1.2.10 (02/2015) -> Remove: 04/2015 +;;; - SB-C::STACK-ALLOCATE-VECTOR (policy), since 1.2.10 (02/2015) -> Remove: 04/2015 +;;; - SB-C::STACK-ALLOCATE-VALUE-CELLS (policy), since 1.2.10 (02/2015) -> Remove: 04/2015 +;;; - SB-INTROSPECT:FUNCTION-ARGLIST, since 1.2.10 (02/2015 -> Remove: 04/2015 +;;; - SB-THREAD:JOIN-THREAD-ERROR-THREAD, since 1.2.10 (02/2015) -> Remove: 04/2015 +;;; - SB-THREAD:INTERRUPT-THREAD-ERROR-THREAD since 1.2.10 (02/2015) -> Remove: 04/2015 (deftype deprecation-state () '(member :early :late :final)) diff --git a/src/code/fd-stream.lisp b/src/code/fd-stream.lisp index 4b97c7d..211a13b 100644 --- a/src/code/fd-stream.lisp +++ b/src/code/fd-stream.lisp @@ -399,12 +399,11 @@ (buffer-output stream thing start end) (simple-stream-perror "couldn't write to ~s" stream errno))))))))) -;;; Deprecated -- can go away after 1.1 or so. Deprecated because -;;; this is not something we want to export. Nikodemus thinks the -;;; right thing is to support a low-level non-stream like IO layer, -;;; akin to java.nio. +;;; Deprecated because this is not something we want to +;;; export. Nikodemus thinks the right thing is to support a low-level +;;; non-stream like IO layer, akin to java.nio. (declaim (inline output-raw-bytes)) -(define-deprecated-function :late "1.0.8.16" output-raw-bytes write-sequence +(define-deprecated-function :final "1.2.10" output-raw-bytes write-sequence (stream thing &optional start end) (write-or-buffer-output stream thing (or start 0) (or end (length thing)))) diff --git a/src/code/target-thread.lisp b/src/code/target-thread.lisp index c99cd54..672dcda 100644 --- a/src/code/target-thread.lisp +++ b/src/code/target-thread.lisp @@ -137,7 +137,7 @@ offending thread using THREAD-ERROR-THREAD.")) to be joined. The offending thread can be accessed using THREAD-ERROR-THREAD.")) -(define-deprecated-function :late "1.0.29.17" join-thread-error-thread thread-error-thread +(define-deprecated-function :final "1.2.10" join-thread-error-thread thread-error-thread (condition) (thread-error-thread condition)) @@ -150,7 +150,7 @@ THREAD-ERROR-THREAD.")) "Signalled when interrupting a thread fails because the thread has already exited. The offending thread can be accessed using THREAD-ERROR-THREAD.")) -(define-deprecated-function :late "1.0.29.17" interrupt-thread-error-thread thread-error-thread +(define-deprecated-function :final "1.2.10" interrupt-thread-error-thread thread-error-thread (condition) (thread-error-thread condition)) @@ -642,7 +642,7 @@ HOLDING-MUTEX-P." (decode-timeout timeout)) (go :again))))))) -(define-deprecated-function :early "1.0.37.33" get-mutex (grab-mutex) +(define-deprecated-function :late "1.2.10" get-mutex (grab-mutex) (mutex &optional new-owner (waitp t) (timeout nil)) (declare (ignorable waitp timeout)) (let ((new-owner (or new-owner *current-thread*))) diff --git a/src/code/thread.lisp b/src/code/thread.lisp index ddc2f5e..891978c 100644 --- a/src/code/thread.lisp +++ b/src/code/thread.lisp @@ -92,34 +92,34 @@ stale value, use MUTEX-OWNER instead." (deftype spinlock () #!+sb-doc "Spinlock type." - (deprecation-warning :early "1.0.53.11" 'spinlock 'mutex) + (deprecation-warning :late "1.2.10" 'spinlock 'mutex) 'mutex) -(define-deprecated-function :early "1.0.53.11" make-spinlock make-mutex (&key name) +(define-deprecated-function :late "1.2.10" make-spinlock make-mutex (&key name) (make-mutex :name name)) -(define-deprecated-function :early "1.0.53.11" spinlock-name mutex-name (lock) +(define-deprecated-function :late "1.2.10" spinlock-name mutex-name (lock) (mutex-name lock)) -(define-deprecated-function :early "1.0.53.11" (setf spinlock-name) (setf mutex-name) (name lock) +(define-deprecated-function :late "1.2.10" (setf spinlock-name) (setf mutex-name) (name lock) (setf (mutex-name lock) name)) -(define-deprecated-function :early "1.0.53.11" spinlock-value mutex-owner (lock) +(define-deprecated-function :late "1.2.10" spinlock-value mutex-owner (lock) (mutex-owner lock)) -(define-deprecated-function :early "1.0.53.11" get-spinlock grab-mutex (lock) +(define-deprecated-function :late "1.2.10" get-spinlock grab-mutex (lock) (grab-mutex lock)) -(define-deprecated-function :early "1.0.53.11" release-spinlock release-mutex (lock) +(define-deprecated-function :late "1.2.10" release-spinlock release-mutex (lock) (release-mutex lock)) (sb!xc:defmacro with-recursive-spinlock ((lock) &body body) - (deprecation-warning :early "1.0.53.11" 'with-recursive-spinlock 'with-recursive-lock) + (deprecation-warning :late "1.2.10" 'with-recursive-spinlock 'with-recursive-lock) `(with-recursive-lock (,lock) ,@body)) (sb!xc:defmacro with-spinlock ((lock) &body body) - (deprecation-warning :early "1.0.53.11" 'with-spinlock 'with-mutex) + (deprecation-warning :late "1.2.10" 'with-spinlock 'with-mutex) `(with-mutex (,lock) ,@body)) diff --git a/src/code/unix.lisp b/src/code/unix.lisp index 29518b0..bf516e2 100644 --- a/src/code/unix.lisp +++ b/src/code/unix.lisp @@ -435,7 +435,7 @@ avoiding atexit(3) hooks, etc. Otherwise exit(2) is called." (void-syscall ("_exit" int) code) (void-syscall ("exit" int) code))) -(define-deprecated-function :early "1.0.56.55" unix-exit os-exit (code) +(define-deprecated-function :late "1.2.10" unix-exit os-exit (code) (os-exit code)) ;;; Return the process id of the current process. diff --git a/src/compiler/policy.lisp b/src/compiler/policy.lisp index d8a836e..d54900e 100644 --- a/src/compiler/policy.lisp +++ b/src/compiler/policy.lisp @@ -78,11 +78,11 @@ EXPERIMENTAL INTERFACE: Subject to change." (defun policy-quality-deprecation-warning (quality) (case quality ((stack-allocate-dynamic-extent stack-allocate-vector stack-allocate-value-cells) - (deprecation-warning :late "1.0.19.7" quality '*stack-allocate-dynamic-extent* + (deprecation-warning :final "1.2.10" quality '*stack-allocate-dynamic-extent* :runtime-error nil) t) ((merge-tail-calls) - (deprecation-warning :early "1.0.53.74" quality nil :runtime-error nil) + (deprecation-warning :late "1.2.10" quality nil :runtime-error nil) t) (otherwise nil))) diff --git a/tests/threads.impure.lisp b/tests/threads.impure.lisp index c72a4da..86151aa 100644 --- a/tests/threads.impure.lisp +++ b/tests/threads.impure.lisp @@ -1483,7 +1483,7 @@ (with-test (:name :spinlock-api) (let* ((warned 0) (funs - (handler-bind ((sb-int:early-deprecation-warning (lambda (_) + (handler-bind ((sb-int:late-deprecation-warning (lambda (_) (declare (ignore _)) (incf warned)))) (list (compile nil `(lambda (lock) ----------------------------------------------------------------------- hooks/post-receive -- SBCL |