From 6535ee98644b8fd1cea3581adb25d4d8bf7c1110 Mon Sep 17 00:00:00 2001 From: Alexey Dejneka Date: Mon, 20 Jun 2005 18:36:12 +0000 Subject: [PATCH] 0.9.1.64: * A slightly modified patch by Nikodemus Siivola: compiler consistency checking did not work with delayed optional entries. --- src/compiler/debug.lisp | 8 ++++++-- version.lisp-expr | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/compiler/debug.lisp b/src/compiler/debug.lisp index ae59919..872144a 100644 --- a/src/compiler/debug.lisp +++ b/src/compiler/debug.lisp @@ -195,7 +195,10 @@ (barf ":OPTIONAL ~S has an ENTRY-FUN." functional)) (let ((ef (lambda-optional-dispatch functional))) (check-fun-reached ef functional) - (unless (or (member functional (optional-dispatch-entry-points ef)) + (unless (or (member functional (optional-dispatch-entry-points ef) + :key (lambda (ep) + (when (promise-ready-p ep) + (force ep)))) (eq functional (optional-dispatch-more-entry ef)) (eq functional (optional-dispatch-main-entry ef))) (barf ":OPTIONAL ~S is not an e-p for its OPTIONAL-DISPATCH ~S." @@ -238,7 +241,8 @@ (barf "HOME in ~S should be ~S." var functional)))) (optional-dispatch (dolist (ep (optional-dispatch-entry-points functional)) - (check-fun-reached ep functional)) + (when (promise-ready-p ep) + (check-fun-reached (force ep) functional))) (let ((more (optional-dispatch-more-entry functional))) (when more (check-fun-reached more functional))) (check-fun-reached (optional-dispatch-main-entry functional) diff --git a/version.lisp-expr b/version.lisp-expr index 47c0bf4..3ee9c06 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.9.1.63" +"0.9.1.64" -- 1.7.10.4