From 5fc1ec5b716d89f5018bc159a88f82cb2077b7e6 Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Tue, 12 Sep 2006 09:08:49 +0000 Subject: [PATCH] 0.9.16.25: build fix for CMUCL and older SBCLs * Not all lisps are happy about SETF-compiler macros: CMUCL 19 does not accept them at all, and older SBCL's give a full warning. --- src/compiler/globaldb.lisp | 44 +++++++++++++++++++++++--------------------- version.lisp-expr | 2 +- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/compiler/globaldb.lisp b/src/compiler/globaldb.lisp index 45e10d8..4aefaff 100644 --- a/src/compiler/globaldb.lisp +++ b/src/compiler/globaldb.lisp @@ -788,27 +788,29 @@ new-value))) new-value) #!-sb-fluid -(define-compiler-macro (setf info) (&whole whole - new-value - class - type - name - &optional (env-list nil env-list-p)) - ;; Constant CLASS and TYPE is an overwhelmingly common special case, - ;; and we can resolve it much more efficiently than the general - ;; case. - (if (and (keywordp class) (keywordp type)) - (let* ((info (type-info-or-lose class type)) - (tin (type-info-number info))) - (if env-list-p - `(set-info-value ,name - ,tin - ,new-value - (get-write-info-env ,env-list)) - `(set-info-value ,name - ,tin - ,new-value)))) - whole) +(progn + #-sb-xc-host + (define-compiler-macro (setf info) (&whole whole + new-value + class + type + name + &optional (env-list nil env-list-p)) + ;; Constant CLASS and TYPE is an overwhelmingly common special case, + ;; and we can resolve it much more efficiently than the general + ;; case. + (if (and (keywordp class) (keywordp type)) + (let* ((info (type-info-or-lose class type)) + (tin (type-info-number info))) + (if env-list-p + `(set-info-value ,name + ,tin + ,new-value + (get-write-info-env ,env-list)) + `(set-info-value ,name + ,tin + ,new-value)))) + whole)) ;;; the maximum density of the hashtable in a volatile env (in ;;; names/bucket) diff --git a/version.lisp-expr b/version.lisp-expr index 93cd629..a966c58 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.16.24" +"0.9.16.25" -- 1.7.10.4