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

Diff of /gcl/ansi-tests/macroexpand-1.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.1  (deftest macroexpand-1.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-1 x))))
23                       (progn               (and (= (length vals) 2)
24                         (setq vals (multiple-value-list (macroexpand-1 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-1.2  (deftest macroexpand-1.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-1 x nil))))
33                       (progn               (and (= (length vals) 2)
34                         (setq vals (multiple-value-list (macroexpand-1 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-1.3  (deftest macroexpand-1.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)
44                        unless (or (symbolp x)                     (or (symbolp x) (consp x)
45                                   (consp x)                         (let ((vals (multiple-value-list (macroexpand-1 x env))))
46                                   (progn                           (and (= (length vals) 2)
47                                     (setq vals (multiple-value-list (macroexpand-1 x env)))                                (eql (car vals) x)
48                                     (and (= (length vals) 2)                                (null (cadr vals))))))))))
                                         (eql (car vals) x)  
                                         (null (cadr vals)))))  
                       collect (cons x vals))))))  
49      (%m))      (%m))
50    nil)    nil)
51    
   
52  (deftest macroexpand-1.4  (deftest macroexpand-1.4
53    (macrolet ((%m () ''foo))    (macrolet ((%m () ''foo))
54      (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