Commit 2411d116 authored by Robert Goldman's avatar Robert Goldman

Ignore spurious errors in SBCL compilation.

Ignore errors in sb-grovel-unknown-constant-condition-p.

An error is raised if `simple-condition-format-control` is a formatter
functionand is is passed to `string`. This now mirrors
`match-condition-p` which also ignores errors when comparing a simple
condition to a string.

Test added to test-utilities.script for this issue.

Thanks to Eric Timmons for the fix.
parent 295d09a0
...@@ -3,7 +3,9 @@ cl-asdf (2:3.3.5-1) unstable; urgency=low IN PROGRESS ...@@ -3,7 +3,9 @@ cl-asdf (2:3.3.5-1) unstable; urgency=low IN PROGRESS
* Add support for package local nicknames to UIOP:DEFINE-PACKAGE and * Add support for package local nicknames to UIOP:DEFINE-PACKAGE and
ASDF's package-inferred systems. Extend support for package local ASDF's package-inferred systems. Extend support for package local
nicknames to more lisp implementations. nicknames to more lisp implementations.
* A number of fixes for Lispworks compatibility. * A number of fixes for Lispworks compatibility (thanks to Martin
Simmons).
* Fixes for SBCL from Eric Timmons.
cl-asdf (2:3.3.4-1) unstable; urgency=low cl-asdf (2:3.3.4-1) unstable; urgency=low
Bug fix release: Bug fix release:
......
(in-package #:cl-user)
(defun this-should-be-after-the-defstruct (example)
(example-slot example))
(defstruct example
slot)
...@@ -519,3 +519,12 @@ ...@@ -519,3 +519,12 @@
(assert-equal #-modern-syntax '|THIS_SYMBOL| #+modern-syntax '|This_Symbol| (assert-equal #-modern-syntax '|THIS_SYMBOL| #+modern-syntax '|This_Symbol|
(find-standard-case-symbol "This_Symbol" "asdf-test")) (find-standard-case-symbol "This_Symbol" "asdf-test"))
#+sbcl
(DBG :test-sbcl-grovel-fail)
#+sbcl
;;; this yields an error before patching
(let ((uiop:*uninteresting-conditions* uiop:*usual-uninteresting-conditions*))
(unwind-protect
(uiop:compile-file* "sb-grovel-fail.lisp")
(uiop:delete-file-if-exists "sb-grovel-fail.fasl")))
...@@ -121,11 +121,12 @@ This can help you produce more deterministic output for FASLs.")) ...@@ -121,11 +121,12 @@ This can help you produce more deterministic output for FASLs."))
(progn (progn
(defun sb-grovel-unknown-constant-condition-p (c) (defun sb-grovel-unknown-constant-condition-p (c)
"Detect SB-GROVEL unknown-constant conditions on older versions of SBCL" "Detect SB-GROVEL unknown-constant conditions on older versions of SBCL"
(and (typep c 'sb-int:simple-style-warning) (ignore-errors
(string-enclosed-p (and (typep c 'sb-int:simple-style-warning)
"Couldn't grovel for " (string-enclosed-p
(simple-condition-format-control c) "Couldn't grovel for "
" (unknown to the C compiler)."))) (simple-condition-format-control c)
" (unknown to the C compiler)."))))
(deftype sb-grovel-unknown-constant-condition () (deftype sb-grovel-unknown-constant-condition ()
'(and style-warning (satisfies sb-grovel-unknown-constant-condition-p)))) '(and style-warning (satisfies sb-grovel-unknown-constant-condition-p))))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment