Commit 892abefe authored by Robert Goldman's avatar Robert Goldman
Browse files

Merge branch '152-on-allegro-11-test-deferred-warnings-fails' into 'master'

Draft: Resolve "On Allegro 11 test-deferred-warnings fails"

Closes #152

See merge request asdf/asdf!228
parents 6fb46c57 78581afd
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -2,9 +2,6 @@

(in-package :asdf-test)

#+(and allegro-version>= (version>= 11))
(uiop:quit 0)

(enable-deferred-warnings-check)

(def-test-system :unintern-foo
+25 −4
Original line number Diff line number Diff line
@@ -387,7 +387,16 @@ Simple means made of symbols, numbers, characters, simple-strings, pathnames, co
using READ within a WITH-SAFE-IO-SYNTAX, that represents the warnings currently deferred by
WITH-COMPILATION-UNIT. One of three functions required for deferred-warnings support in ASDF."
    #+allegro
    (list :functions-defined excl::.functions-defined.
    (list :functions-defined
          #+(and allegro-version>= (version>= 11))
          (let (functions-defined)
            (maphash #'(lambda (k v)
                         (declare (ignore v))
                         (push k functions-defined))
                     excl::.functions-defined.)
            functions-defined)
          #+(and allegro-version>= (not (version>= 11)))
          excl::.functions-defined.
          :functions-called excl::.functions-called.)
    #+clozure
    (mapcar 'reify-deferred-warning
@@ -431,10 +440,18 @@ One of three functions required for deferred-warnings support in ASDF."
    #+allegro
    (destructuring-bind (&key functions-defined functions-called)
        reified-deferred-warnings
      (setf excl::.functions-defined.
      (setf #+(and allegro-version>= (not (version>= 11)))
            excl::.functions-defined.
            #+(and allegro-version>= (not (version>= 11)))
            (append functions-defined excl::.functions-defined.)
            excl::.functions-called.
            (append functions-called excl::.functions-called.)))
            (append functions-called excl::.functions-called.))
      #+(and allegro-version>= (version>= 11))
      ;; in ACL >= 11, instead of adding defined functions to a list,
      ;; we insert them into a no-values hash-table.
      (mapc #'(lambda (fn)
                (excl:puthash-key fn excl::.functions-defined.))
            functions-defined))
    #+clozure
    (let ((dw (or ccl::*outstanding-deferred-warnings*
                  (setf ccl::*outstanding-deferred-warnings* (ccl::%defer-warnings t)))))
@@ -497,7 +514,11 @@ One of three functions required for deferred-warnings support in ASDF."
    "Reset the set of deferred warnings to be handled at the end of the current WITH-COMPILATION-UNIT.
One of three functions required for deferred-warnings support in ASDF."
    #+allegro
    (setf excl::.functions-defined. nil
    (setf excl::.functions-defined.
          #+(and allegro-version>= (not (version>= 11)))
          nil
          #+(and allegro-version>= (version>= 11))
          (make-hash-table :test #'equal :values nil)
          excl::.functions-called. nil)
    #+clozure
    (if-let (dw ccl::*outstanding-deferred-warnings*)