7 |
(declaim (optimize (safety 3))) |
(declaim (optimize (safety 3))) |
8 |
|
|
9 |
(deftest do-symbols-1 |
(deftest do-symbols-1 |
10 |
(equal |
(equalt |
11 |
(sort-symbols (let ((all nil)) |
(remove-duplicates |
12 |
(do-symbols (x "B" all) (push x all)))) |
(sort-symbols (let ((all nil)) |
13 |
|
(do-symbols (x "B" all) (push x all))))) |
14 |
(list (find-symbol "BAR" "B") |
(list (find-symbol "BAR" "B") |
15 |
(find-symbol "FOO" "A"))) |
(find-symbol "FOO" "A"))) |
16 |
t) |
t) |
20 |
;; |
;; |
21 |
|
|
22 |
(defun collect-symbols (pkg) |
(defun collect-symbols (pkg) |
23 |
(sort-symbols |
(remove-duplicates |
24 |
(let ((all nil)) |
(sort-symbols |
25 |
(do-symbols (x pkg all) (push x all))))) |
(let ((all nil)) |
26 |
|
(do-symbols (x pkg all) (push x all)))))) |
27 |
|
|
28 |
(defun collect-external-symbols (pkg) |
(defun collect-external-symbols (pkg) |
29 |
(sort-symbols |
(remove-duplicates |
30 |
(let ((all nil)) |
(sort-symbols |
31 |
(do-external-symbols (x pkg all) (push x all))))) |
(let ((all nil)) |
32 |
|
(do-external-symbols (x pkg all) (push x all)))))) |
33 |
|
|
34 |
(deftest do-symbols-2 |
(deftest do-symbols-2 |
35 |
(collect-symbols "DS1") |
(collect-symbols "DS1") |
69 |
()) |
()) |
70 |
|
|
71 |
(deftest do-external-symbols-5 |
(deftest do-external-symbols-5 |
72 |
(not (equal (collect-external-symbols "KEYWORD") |
(equalt (collect-external-symbols "KEYWORD") |
73 |
(collect-symbols "KEYWORD"))) |
(collect-symbols "KEYWORD")) |
74 |
nil) |
t) |
75 |
|
|
76 |
;; Test that do-symbols, do-external-symbols work without |
;; Test that do-symbols, do-external-symbols work without |
77 |
;; a return value (and that the default return value is nil) |
;; a return value (and that the default return value is nil) |
114 |
(list |
(list |
115 |
(do-symbols |
(do-symbols |
116 |
(s "DS1") |
(s "DS1") |
117 |
(when (equal (symbol-name s) "C") (go bar)) |
(when (equalt (symbol-name s) "C") (go bar)) |
118 |
(push s x) |
(push s x) |
119 |
(go foo) |
(go foo) |
120 |
bar |
bar |
130 |
(list |
(list |
131 |
(do-external-symbols |
(do-external-symbols |
132 |
(s "DS1") |
(s "DS1") |
133 |
(when (equal (symbol-name s) "A") (go bar)) |
(when (equalt (symbol-name s) "A") (go bar)) |
134 |
(push s x) |
(push s x) |
135 |
(go foo) |
(go foo) |
136 |
bar |
bar |