1 ;;;; This file is for macroexpander tests which have side effects
3 ;;;; This software is part of the SBCL system. See the README file for
6 ;;;; While most of SBCL is derived from the CMU CL system, the test
7 ;;;; files (like this one) were written from scratch after the fork
10 ;;;; This software is in the public domain and is provided with
11 ;;;; absolutely no warranty. See the COPYING and CREDITS files for
12 ;;;; more information.
14 ;;; From Matthew Swank on cll 2005-10-06
16 (defmacro defglobal
(name &optional value
)
17 (let ((internal (gensym)))
19 (defparameter ,internal
,value
)
20 (define-symbol-macro ,name
,internal
))))
24 (assert (= (let ((glob 4)) glob
)))
26 (assert (equal (let ((glob nil
)) (setf glob
(cons 'foo glob
)) glob
) '(foo)))
28 (assert (equal (let ((glob nil
)) (push 'foo glob
) glob
) '(foo)))