/[gcl]/gcl/ansi-tests/macroexpand.lsp
ViewVC logotype

Diff of /gcl/ansi-tests/macroexpand.lsp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by pfdietz, Sat Jun 4 17:36:38 2005 UTC revision 1.3 by pfdietz, Sun Jun 26 14:52:06 2005 UTC
# Line 16  Line 16 
16  ;;; Non-error tests  ;;; Non-error tests
17    
18  (deftest macroexpand.1  (deftest macroexpand.1
19    (let (vals)    (check-predicate
20      (loop for x in *universe*     #'(lambda (x)
21            unless (or (symbolp x)         (or (symbolp x) (consp x)
22                       (consp x)             (let ((vals (multiple-value-list (macroexpand x))))
23                       (progn               (and (= (length vals) 2)
24                         (setq vals (multiple-value-list (macroexpand x)))                    (eql (car vals) x)
25                         (and (= (length vals) 2)                    (null (cadr vals)))))))
                             (eql (car vals) x)  
                             (null (cadr vals)))))  
           collect (cons x vals)))  
26    nil)    nil)
27    
28  (deftest macroexpand.2  (deftest macroexpand.2
29    (let (vals)    (check-predicate
30      (loop for x in *universe*     #'(lambda (x)
31            unless (or (symbolp x)         (or (symbolp x) (consp x)
32                       (consp x)             (let ((vals (multiple-value-list (macroexpand x nil))))
33                       (progn               (and (= (length vals) 2)
34                         (setq vals (multiple-value-list (macroexpand x nil)))                    (eql (car vals) x)
35                         (and (= (length vals) 2)                    (null (cadr vals)))))))
                             (eql (car vals) x)  
                             (null (cadr vals)))))  
           collect (cons x vals)))  
36    nil)    nil)
37    
38  (deftest macroexpand.3  (deftest macroexpand.3
39    (macrolet    (macrolet
40        ((%m (&environment env)        ((%m (&environment env)
41             `(quote             `(quote
42               ,(let (vals)               ,(check-predicate
43                  (loop for x in *universe*                 #'(lambda (x) (or (symbolp x) (consp x)
44                        unless (or (symbolp x)                                   (let ((vals (multiple-value-list (macroexpand x env))))
                                  (consp x)  
                                  (progn  
                                    (setq vals (multiple-value-list (macroexpand x env)))  
45                                     (and (= (length vals) 2)                                     (and (= (length vals) 2)
46                                          (eql (car vals) x)                                          (eql (car vals) x)
47                                          (null (cadr vals)))))                                          (null (cadr vals))))))))))
                       collect (cons x vals))))))  
48      (%m))      (%m))
49    nil)    nil)
50    
   
51  (deftest macroexpand.4  (deftest macroexpand.4
52    (macrolet ((%m () ''foo))    (macrolet ((%m () ''foo))
53      (macrolet ((%m2 (&environment env)      (macrolet ((%m2 (&environment env)

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26