From ef36750fb245e78d3fc36ff6f37e0a4037323a9e Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Sat, 1 Aug 2009 09:13:35 +0000 Subject: [PATCH] 1.0.30.30: make SB-CLTL2:VARIABLE-INFORMATION alien-aware. * Patch by Larry D'Anna. --- NEWS | 1 + contrib/sb-cltl2/env.lisp | 5 ++++- contrib/sb-cltl2/tests.lisp | 5 +++++ version.lisp-expr | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 8a6f780..7c536dc 100644 --- a/NEWS +++ b/NEWS @@ -30,6 +30,7 @@ changes relative to sbcl-1.0.30: ** AUGMENT-ENVIRONMENT and DEFINE-DECLARATION have been implemented. ** DECLARATION-INFORMATION now supports declaration name DECLARATION as well as user defined declaration names. + ** VARIABLE-INFORMATION is now aware of alien variables. * improvement: improved address space layout on OpenBSD (thanks to Josh Elsasser) * improvement: pretty-printing of various Lisp forms has been improved diff --git a/contrib/sb-cltl2/env.lisp b/contrib/sb-cltl2/env.lisp index 06e494b..52152d9 100644 --- a/contrib/sb-cltl2/env.lisp +++ b/contrib/sb-cltl2/env.lisp @@ -254,7 +254,7 @@ appear." (declaim (ftype (sfunction (symbol &optional (or null lexenv)) - (values (member nil :special :lexical :symbol-macro :constant :global) + (values (member nil :special :lexical :symbol-macro :constant :global :alien) boolean list)) variable-information)) @@ -284,6 +284,9 @@ binding: :GLOBAL NAME refers to a global variable. (SBCL specific extension.) + :ALIEN + NAME refers to an alien variable. (SBCL specific extension.) + The second value is true if NAME is bound locally. This is currently always NIL for special variables, although arguably it should be T when there is a lexically apparent binding for the special variable. diff --git a/contrib/sb-cltl2/tests.lisp b/contrib/sb-cltl2/tests.lisp index 3ae20d2..f813117 100644 --- a/contrib/sb-cltl2/tests.lisp +++ b/contrib/sb-cltl2/tests.lisp @@ -226,6 +226,11 @@ (var-info this-is-global-too) (:global nil ((always-bound . t)))) +(sb-alien:define-alien-variable "errno" sb-alien:int) +(deftest alien-variable + (var-info errno) + (:alien nil nil)) + ;;;; FUNCTION-INFORMATION (defmacro fun-info (var &environment env) diff --git a/version.lisp-expr b/version.lisp-expr index 49942fd..edc85ec 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".) -"1.0.30.29" +"1.0.30.30" -- 1.7.10.4