mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-08 10:13:36 -08:00
314 lines
7.1 KiB
Common Lisp
314 lines
7.1 KiB
Common Lisp
;;; based on 1.2 -*- mode: lisp -*-
|
|
(in-package :cl-user)
|
|
|
|
(check-for-bug :lambda-legacy-4
|
|
(makunbound 'b) b)
|
|
|
|
(check-for-bug :lambda-legacy-7
|
|
(makunbound 'e) e)
|
|
|
|
(check-for-bug :lambda-legacy-10
|
|
(setq z 2) 2)
|
|
|
|
(check-for-bug :lambda-legacy-13
|
|
((lambda (z) (declare (special z)) (list z (symbol-value 'z))) 3)
|
|
(3 3))
|
|
|
|
(check-for-bug :lambda-legacy-17
|
|
(makunbound 'z) z)
|
|
|
|
(check-for-bug :lambda-legacy-20
|
|
((lambda (a b) (+ a (* b 3))) 4 5)
|
|
19)
|
|
|
|
(check-for-bug :lambda-legacy-24
|
|
((lambda (a &optional (b 2)) (+ a (* b 3))) 4 5)
|
|
19)
|
|
|
|
(check-for-bug :lambda-legacy-28
|
|
((lambda (a &optional (b 2)) (+ a (* b 3))) 4)
|
|
10)
|
|
|
|
(check-for-bug :lambda-legacy-32
|
|
((lambda (&optional (a 2 b) (c 3 d) &rest x) (list a b c d x)))
|
|
(2 nil 3 nil nil))
|
|
|
|
(check-for-bug :lambda-legacy-36
|
|
((lambda (&optional (a 2 b) (c 3 d) &rest x) (list a b c d x)) 6)
|
|
(6 t 3 nil nil))
|
|
|
|
(check-for-bug :lambda-legacy-40
|
|
((lambda (&optional (a 2 b) (c 3 d) &rest x) (list a b c d x)) 6 3)
|
|
(6 t 3 t nil))
|
|
|
|
(check-for-bug :lambda-legacy-44
|
|
((lambda (&optional (a 2 b) (c 3 d) &rest x) (list a b c d x)) 6 3
|
|
8)
|
|
(6 t 3 t (8)))
|
|
|
|
(check-for-bug :lambda-legacy-49
|
|
((lambda (&optional (a 2 b) (c 3 d) &rest x) (list a b c d x)) 6 3
|
|
8 9 10 11)
|
|
(6 t 3 t (8 9 10 11)))
|
|
|
|
(check-for-bug :lambda-legacy-54
|
|
((lambda (a b &key c d) (list a b c d)) 1 2)
|
|
(1 2 nil nil))
|
|
|
|
(check-for-bug :lambda-legacy-58
|
|
((lambda (a b &key c d) (list a b c d)) 1 2 :c 6)
|
|
(1 2 6 nil))
|
|
|
|
(check-for-bug :lambda-legacy-62
|
|
((lambda (a b &key c d) (list a b c d)) 1 2 :d 8)
|
|
(1 2 nil 8))
|
|
|
|
(check-for-bug :lambda-legacy-66
|
|
((lambda (a b &key c d) (list a b c d)) 1 2 :c 6 :d 8)
|
|
(1 2 6 8))
|
|
|
|
(check-for-bug :lambda-legacy-70
|
|
((lambda (a b &key c d) (list a b c d)) 1 2 :d 8 :c 6)
|
|
(1 2 6 8))
|
|
|
|
(check-for-bug :lambda-legacy-74
|
|
((lambda (a b &key c d) (list a b c d)) :a 1 :d 8 :c 6)
|
|
(:a 1 6 8))
|
|
|
|
(check-for-bug :lambda-legacy-78
|
|
((lambda (a b &key c d) (list a b c d)) :a :b :c :d)
|
|
(:a :b :d nil))
|
|
|
|
(check-for-bug :lambda-legacy-82
|
|
((lambda (a &optional (b 3) &rest x &key c (d a)) (list a b c d x))
|
|
1)
|
|
(1 3 nil 1 nil))
|
|
|
|
(check-for-bug :lambda-legacy-87
|
|
((lambda (a &optional (b 3) &rest x &key c (d a)) (list a b c d x))
|
|
1 2)
|
|
(1 2 nil 1 nil))
|
|
|
|
(check-for-bug :lambda-legacy-92
|
|
((lambda (a &optional (b 3) &rest x &key c (d a)) (list a b c d x))
|
|
:c 7)
|
|
(:c 7 nil :c nil))
|
|
|
|
(check-for-bug :lambda-legacy-97
|
|
((lambda (a &optional (b 3) &rest x &key c (d a)) (list a b c d x))
|
|
1 6 :c 7)
|
|
(1 6 7 1 (:c 7)))
|
|
|
|
(check-for-bug :lambda-legacy-102
|
|
((lambda (a &optional (b 3) &rest x &key c (d a)) (list a b c d x))
|
|
1 6 :d 8)
|
|
(1 6 nil 8 (:d 8)))
|
|
|
|
(check-for-bug :lambda-legacy-107
|
|
((lambda (a &optional (b 3) &rest x &key c (d a)) (list a b c d x))
|
|
1 6 :d 8 :c
|
|
9 :d 10)
|
|
(1 6 9 8 (:d 8 :c 9 :d 10)))
|
|
|
|
(check-for-bug :lambda-legacy-113
|
|
((lambda (x &aux (a 3) (b 4)) (+ x (* a b))) 2)
|
|
14)
|
|
|
|
(check-for-bug :lambda-legacy-117
|
|
((lambda (x y &optional a b &rest z &key c (d y) &aux (u 3) (v 4))
|
|
(+ x y a (* b (car z)) c (* d u) v))
|
|
3 4 5 2 7 :c 6 :d 8)
|
|
program-error)
|
|
|
|
(check-for-bug :lambda-legacy-123
|
|
((lambda (x y &optional a b &rest z &key c (d y) &aux (u 3) (v 4))
|
|
(+ x y a (* b (car z)) c (* d u) v))
|
|
3 4 5 2 7 :c 6)
|
|
program-error)
|
|
|
|
(check-for-bug :lambda-legacy-129
|
|
((lambda (x &aux c) (cons x c)) (quote a))
|
|
(a))
|
|
|
|
(check-for-bug :lambda-legacy-133
|
|
((lambda (x &rest y z) (list x y z)) 1 2 3)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-137
|
|
((lambda (5 a b) (list a b)) 1 2)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-141
|
|
((lambda ((length (quote (a b))) c) (list c)) 1)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-145
|
|
((lamda (x &key :y :z) (list x y z)) 1 :y 2 :z 3)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-149
|
|
((lambda (x y) (list x y z)) 1 2)
|
|
unbound-variable)
|
|
|
|
(check-for-bug :lambda-legacy-153
|
|
((lambda (x y) (list x y z)) 1 2 3)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-157
|
|
((lambda (&optional) (list a b c)) 1)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-161
|
|
((lambda (&optional (a)) (list a)) 1)
|
|
(1))
|
|
|
|
(check-for-bug :lambda-legacy-165
|
|
((lambda (&optional (a b)) (list a b)) 1)
|
|
unbound-variable)
|
|
|
|
(check-for-bug :lambda-legacy-169
|
|
((lambda (&optional (a 3 b)) (list a b)) 1)
|
|
(1 t))
|
|
|
|
(check-for-bug :lambda-legacy-173
|
|
((lambda (&optional (a 3)) (list a)) 1)
|
|
(1))
|
|
|
|
(check-for-bug :lambda-legacy-177
|
|
((lambda (&optional (a 3 b 4)) (list a b)) 1)
|
|
#+xcl (1 t)
|
|
#-xcl error)
|
|
|
|
(check-for-bug :lambda-legacy-182
|
|
((lambda (x) (list x y)) 1 2)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-186
|
|
((lambda (x) (list x)) 1 2)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-190
|
|
((lambda (#\a) (list a)) 1)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-194
|
|
((lambda (#*10) (list 1 2 3)))
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-198
|
|
((lambda (x y) ((lambda (a b) (list a b)) (quote u) (quote v))) 5 6)
|
|
(u v))
|
|
|
|
(check-for-bug :lambda-legacy-202
|
|
((lambda (x y) (list x y)) 1)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-206
|
|
((lambda (x &rest y &optional (z 5)) (list x y z)) 1 3)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-210
|
|
((lambda (x &x) (list x)) 7)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-214
|
|
((lambda (x &aux) (list x)) 6)
|
|
(6))
|
|
|
|
(check-for-bug :lambda-legacy-218
|
|
((lambda (x &aux y) (list x y)) 6)
|
|
(6 nil))
|
|
|
|
(check-for-bug :lambda-legacy-222
|
|
((lambda (x &aux (y)) (list x y)) 6)
|
|
(6 nil))
|
|
|
|
(check-for-bug :lambda-legacy-226
|
|
((lambda (x &rest) (list x)) 2)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-230
|
|
((lambda (x &key) (list x)) 3)
|
|
(3))
|
|
|
|
(check-for-bug :lambda-legacy-234
|
|
((lambda (x &key y) (list x)) 3)
|
|
(3))
|
|
|
|
(check-for-bug :lambda-legacy-238
|
|
((lambda (x &key y) (list x)) 3 :y)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-242
|
|
((lambda (x &key y) (list x)) :\3)
|
|
(:\3))
|
|
|
|
(check-for-bug :lambda-legacy-246
|
|
((lambda nil (list 1 2 3)))
|
|
(1 2 3))
|
|
|
|
(check-for-bug :lambda-legacy-250
|
|
((lambda nil (list 1 2 3)) 4 5)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-254
|
|
((lambda (list 1 2 3)))
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-258
|
|
((lambda (x)))
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-262
|
|
((lambda (&aux &key &rest &optional)))
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-266
|
|
((lambda (a b &key c d &allow-other-keys) (list a b c d e f)) 1 2 :c
|
|
6 :d 8 :e 5
|
|
:f 7)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-272
|
|
((lambda (x &allow-other-keys) (list x y)) 2 :y 3)
|
|
error)
|
|
|
|
(check-for-bug :lambda-legacy-276
|
|
((lambda))
|
|
error)
|
|
|
|
;; CLHS 3.4.1.4.1.1
|
|
|
|
(check-for-bug :lambda-added-1
|
|
((lambda (&key x) x) :x 1 :y 2 :allow-other-keys t)
|
|
1)
|
|
|
|
(check-for-bug :lambda-added-2
|
|
((lambda (&key x) x) :x 1 :y 2 :allow-other-keys t :allow-other-keys nil)
|
|
1)
|
|
|
|
(check-for-bug :lambda-added-3
|
|
((lambda (&key x) x) :x 1 :y 2 :allow-other-keys nil :allow-other-keys t)
|
|
error)
|
|
|
|
(check-for-bug :lambda-added-4
|
|
((lambda (&key x &allow-other-keys) x) :x 1 :y 2)
|
|
1)
|
|
|
|
(check-for-bug :lambda-added-5
|
|
((lambda (&key x &allow-other-keys) x) :x 1 :y 2 :allow-other-keys t :allow-other-keys nil)
|
|
1)
|
|
|
|
(check-for-bug :lambda-added-6
|
|
((lambda (&key x &allow-other-keys) x) :x 1 :y 2 :allow-other-keys nil :allow-other-keys t)
|
|
1)
|
|
|
|
(check-for-bug :lambda-added-7
|
|
((lambda (&key x) x) :x 1 :allow-other-keys nil)
|
|
1)
|
|
|
|
(check-for-bug :lambda-added-8
|
|
((lambda (&key x) x) :x 1 :allow-other-keys nil :allow-other-keys nil)
|
|
1)
|
|
|
|
|