1;; -*- Lisp -*- vim:filetype=lisp 2;; packages-test 3;; ------------- 4 5;;test file for chapter 11 6 7(packagep *package*) 8T 9 10;; `list-all-packages' and type test 11(every #'packagep (list-all-packages)) 12T 13 14;;11.6 obligate Paketnamen u. deren Abkuerzungen 15 16;;vorhandensein der standardpakete und find-package dafuer 17 18(and (find-package 'lisp) t) 19T 20(and (find-package 'user) t) 21T 22(and (find-package 'keyword) t) 23T 24(and (find-package 'system) t) 25T 26(and (find-package 'sys) t) 27T 28(and (find-package "sys") t) 29NIL 30(and (find-package "sys") t) 31NIL 32(and (find-package "system") t) 33NIL 34(and (find-package "SYSTEM") t) 35T 36(and (find-package "SYS") t) 37T 38 39(eq (find-package (find-package "CL")) (find-package "CL")) 40t 41 42(defparameter cl-user::*saved-package* *package*) cl-user::*saved-package* 43 44;nicknames 45(find "SYS" (package-nicknames 'sys) :test #'string=) 46"SYS" 47 48;package-name 49(package-name 'sys) 50"SYSTEM" 51(package-name 'system) 52"SYSTEM" 53(package-name "COMMON-LISP-USER") 54"COMMON-LISP-USER" 55(package-name "SYS") 56"SYSTEM" 57 58(let ((p (make-package #\p))) 59 (prog1 (eq p (find-package #\p)) 60 (delete-package p))) 61t 62 63(progn (make-package #\p) (delete-package #\p)) 64T 65 66;;; 11.7 anlegen von paketen, export import ... 67 68 ;package-funktionen mit nutzerdefinierten paketen 69 70;; make-package 71(package-name (make-package 'pack11-p1 :nicknames '(t1 tst1))) 72"PACK11-P1" 73 74(package-name (rename-package (find-package "PACK11-P1") 75 (find-package "PACK11-P1"))) 76"PACK11-P1" 77 78;package-use-list 79;(package-use-list (find-package 'test1)) 80;("LISP") 81 82 83(and (in-package "PACK11-P1") T) 84T 85 86 87(export '(pack11-p1::test1-y pack11-p1::test1-z) 88 (find-package '"PACK11-P1")) 89T 90 91(export '(pack11-p1::test1-a pack11-p1::test1-b pack11-p1::test1-c) 92 (find-package 'pack11-p1)) 93T 94 95(setf test1-a -2 96 test1-b -1 97 test1-c 0 98 test1-x 1 99 test1-y 2 100 test1-z 3) 1013 102 103(package-name (defpackage pack11-p2 104 (:nicknames "PACK11-T2" "PACK11-TST2") 105 (:use pack11-p1))) 106"PACK11-P2" 107 108(progn (in-package "PACK11-P2") t) 109LISP:T 110 111(cl:package-name (cl:find-package 'pack11-p2)) 112"PACK11-P2" 113 114(cl:package-name cl:*package*) 115"PACK11-P2" 116 117(cl:import '(cl:error) (cl:find-package 'pack11-p2)) 118CL:T 119 120(cl:and (cl:boundp 'test1-x) test1-x) 121CL:NIL 122 123(cl:unintern 'test1-x) 124CL:T 125 126(eval (read-from-string 127 "(cl:and (cl:boundp 'pack11-p1:test1-x) pack11-p1:test1-x)")) 128#+XCL 1 #-XCL ERROR 129 130(cl:and (cl:boundp 'pack11-p1::test1-x) pack11-p1::test1-x) 1311 132 133(cl:and (cl:boundp 'test1-y) test1-y) 134#+XCL CL:NIL #-XCL 2 135 136(cl:unintern 'test1-y) 137#+XCL CL:T #-XCL CL:NIL 138 139(cl:and (cl:boundp 'pack11-p1:test1-y) pack11-p1:test1-y) 140#+XCL ERROR #-XCL 2 141 142(cl:and (cl:boundp 'pack11-p1::test1-y) pack11-p1::test1-y) 1432 144 145(cl:import '(pack11-p1::test1-x pack11-p1::test1-y) 146 (cl:find-package 'pack11-p2)) 147CL:T 148 149(cl:and (cl:boundp 'test1-x) test1-x) 1501 151 152(eval (read-from-string 153 "(cl:and (cl:boundp 'pack11-p1:test1-x) pack11-p1:test1-x)")) 154#+XCL 1 #-XCL ERROR 155 156(cl:and (cl:boundp 'pack11-p1::test1-x) pack11-p1::test1-x) 1571 158 159(cl:and (cl:boundp 'test1-z) test1-z) 160#+XCL CL:NIL #-XCL 3 161 162(cl:unintern 'test1-z (cl:find-package 'pack11-p2)) 163#+XCL CL:T #-XCL CL:NIL 164 165(cl:and (cl:boundp 'pack11-p1:test1-z) pack11-p1:test1-z) 166#+XCL ERROR #-XCL 3 167 168pack11-p1::test1-z 1693 170 171(cl:unexport '(pack11-p1::test1-x pack11-p1::test1-y) 172 (cl:find-package 'pack11-p1)) 173CL:T 174 175(cl:and (cl:boundp 'test1-x) test1-x) 1761 177 178(cl:and (cl:boundp 'test1-y) test1-y) 179#+XCL CL:NIL #-XCL 2 180 181(cl:unintern 'test1-x (cl:find-package 'pack11-p2)) 182CL:T 183 184(eval (read-from-string "pack11-p1:test1-x")) 185ERROR 186 187pack11-p1::test1-x 1881 189 190test1-z 1913 192 193(cl:unintern 'test1-z (cl:find-package 'pack11-p2)) 194#+XCL CL:T #-XCL CL:NIL 195 196pack11-p1:test1-z 1973 198 199pack11-p1::test1-z 2003 201 202(cl:import 'pack11-p1::test1-z (cl:find-package 'pack11-p2)) 203CL:T 204 205test1-z 2063 207 208pack11-p1:test1-z 2093 210 211pack11-p1::test1-z 2123 213 214test1-c 215#+XCL ERROR #-XCL 0 216 217(cl:unintern 'test-c (cl:find-package 'pack11-p2)) 218CL:T 219 220pack11-p1:test1-c 2210 222 223pack11-p1::test1-c 2240 225 226(cl:import '(pack11-p1::test1-a pack11-p1::test1-b pack11-p1::test1-c) 227 (cl:find-package 'pack11-p2)) 228CL:T 229 230test1-c 2310 232 233pack11-p1:test1-c 2340 235 236pack11-p1::test1-c 2370 238 239(cl:eq 'test1-c 'pack11-p1::test1-c) 240CL:T 241 242 ;Ende nutzerdefinierte Pakete 243 244;; test in standardmaessig vorgegebenen paketen 245 246; export | import | unintern 247 248(cl:packagep (cl:make-package "PACK11")) cl:T 249 250(cl:and (cl:in-package "PACK11") cl:T) 251CL:T 252 253(setf x 1 y 2 z 3) 2543 255 256(and (defpackage "PACK11-EDITOR") T) 257T 258 259(and (in-package "PACK11-EDITOR") T) 260T 261 262(unintern 'x) 263T 264 265(unintern 'y) 266T 267 268(unintern 'z) 269T 270 271pack11::x 2721 273 274(eval (read-from-string "pack11:x")) 275ERROR 276 277x 278error 279 280(eq 'x 'pack11::x) 281NIL 282 283(unintern 'x) 284T 285 286(export '(pack11::x pack11::y) (find-package 'pack11)) 287T 288 289pack11::x 2901 291 292pack11:x 2931 294 295x 296error 297 298(unintern 'x) 299T 300 301(import 'pack11:x (find-package 'pack11-editor)) 302T 303 304x 3051 306 307(eq 'x 'pack11::x) 308t 309 310(eq 'x 'pack11:x) 311t 312 313(eq 'pack11-editor::x 'pack11::x) 314t 315 316;; unexport 317 318(and (in-package "PACK11") T) 319T 320 321(unexport 'y) 322T 323 324(and (in-package "PACK11-EDITOR") T) 325T 326 327y 328ERROR 329 330(eval (read-from-string "pack11:y")) 331ERROR 332 333pack11::y 3342 335 336(and (in-package "PACK11") (package-name *package*)) "PACK11" 337 338(ext:appease-cerrors 339 (let ((*package* "not a package - just a string")) 340 (multiple-value-list (read-from-string "READ-FROM-STRING")))) 341(READ-FROM-STRING 16) 342 343;; http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/Issues/iss194-writeup.html 344(let ((tmp-sym (make-symbol "FOO")) 345 (old-sym (find-symbol "FOO" "PACK11"))) 346 (when old-sym (unintern old-sym "PACK11")) 347 (list (import tmp-sym "PACK11") 348 (package-name (symbol-package tmp-sym)) 349 (unintern tmp-sym "PACK11") 350 (find-symbol "FOO" "PACK11"))) 351(T "PACK11" T NIL) 352 353;; shadowing-import -- zunaechst ohne geerbte symbole!! 354 355(setf d 4 e 5 f 6 y 111 x 222) 356222 357 358(export '(pack11::a pack11::b pack11::c pack11::y pack11::x) 359 (find-package 'pack11)) 360T 361 362(import '(pack11::a pack11::b pack11::c pack11::y) 363 (find-package 'pack11-editor)) 364ERROR 365 366(and (make-package 'pack11-shadow) (in-package "PACK11-SHADOW") t) 367T 368 369(setf x 'pack11-shadow) 370pack11-shadow 371 372(shadowing-import '(pack11::d pack11::e pack11::f pack11::x) 373 (find-package 'pack11-shadow)) 374T 375 376x 377222 378 379(eq pack11::x x) 380T 381 382; shadow 383 384(shadow '(e #\F) (find-package 'pack11-shadow)) 385t 386 387(setf e 'pack11-shadow-e) 388pack11-shadow-e 389 390(eq 'e 'pack11::e) 391#+XCL nil #-XCL t 392 393e 394pack11-shadow-e 395 396(eval (read-from-string "pack11:e")) 397error 398 399pack11::e 400#+XCL 5 #-XCL pack11-shadow-e 401 402;; unintern a shadowing symbol 403(progn 404 (setq pg3 (make-package "PACK11-G3") 405 pg1 (make-package "PACK11-G1" :use (list pg3)) 406 pg2 (make-package "PACK11-G2" :use (list pg3)) 407 ph (make-package "PACK11-H" :use (list pg1 pg2))) 408 (shadow "FOO" ph)) 409t 410 411(setq gsym (intern "FOO" pg3)) pack11-g3::foo 412 413(export gsym pg3) t 414(export gsym pg1) t 415(export gsym pg2) t 416 417(multiple-value-list (setf (values sym access) (find-symbol "FOO" ph))) 418(pack11-h::foo :internal) 419 420(package-shadowing-symbols ph) (pack11-h::foo) 421(eq sym gsym) nil 422(equal (symbol-package sym) ph) t 423 424(unintern sym ph) t 425 426#+CLISP (setf (ext:package-lock ph) t) #+CLISP t 427 428#+CLISP (symbol-name (ext:muffle-cerrors (read-from-string "PACK11-H::QUUX"))) 429#+CLISP "QUUX" 430 431#+CLISP (setf (ext:package-lock ph) nil) #+CLISP nil 432 433(delete-package ph) t 434(delete-package pg1) t 435(delete-package pg2) t 436(delete-package pg3) t 437(delete-package "PACK11-P2") t 438(delete-package "PACK11-P1") t 439 440; use-package | unuse-package 441 442(and (make-package 'pack11-use) (in-package "PACK11-USE") t) 443t 444 445(use-package '(pack11)) 446T 447 448pack11::d 4494 450 451(eval (read-from-string "pack11:d")) 452#+XCL 4 #-XCL ERROR 453 454d 455ERROR 456 457(unuse-package 'pack11) 458T 459 460pack11::d 4614 462 463(eval (read-from-string "pack11:d")) 464ERROR 465 466d 467ERROR 468 469;make-package mit beutzung eines paketes, dass geerbte symbole enthaelt 470 471(and (make-package 'pack11-inherit :nicknames '(inh i)) 472 (in-package "PACK11-INHERIT") T) 473T 474 475(setf a 'inherita b 'inheritb) 476inheritb 477 478(export '(a b) (find-package 'pack11-inherit)) 479T 480 481(and (make-package 'pack11-inherit1 :use '(pack11-inherit)) 482 (in-package "PACK11-INHERIT1") T) 483T 484 485a 486pack11-inherit::inherita 487 488b 489pack11-inherit::inheritb 490 491(cl:setf c 'inherit1c) 492inherit1c 493 494(cl:and (cl:make-package 'pack11-inherit2 :use '(pack11-inherit1)) 495 (cl:in-package "PACK11-INHERIT2") cl:T) 496CL:T 497 498a 499#+XCL inherita #-XCL CL:ERROR 500 501b 502#+XCL inheritb #-XCL CL:ERROR 503 504c 505#+XCL inherit1c #-XCL CL:ERROR 506 507(eval (read-from-string "(cl:eq 'c 'pack11-inherit1:c)")) 508#+XCL CL:T #-XCL CL:ERROR 509 510(eval (read-from-string "(cl:eq 'a 'pack11-inherit:a)")) 511#+XCL CL:T #-XCL CL:ERROR 512 513(eval (read-from-string "(cl:eq 'b 'pack11-inherit:b)")) 514#+XCL CL:T #-XCL CL:ERROR 515 516(cl:eq 'c 'pack11-inherit1::c) 517#+XCL CL:T #-XCL CL:NIL 518 519(cl:eq 'a 'pack11-inherit::a) 520#+XCL CL:T #-XCL CL:NIL 521 522(cl:eq 'b 'pack11-inherit::b) 523#+XCL CL:T #-XCL CL:NIL 524 525;find-all-symbols 526 527(cl:and (cl:in-package "PACK11") cl:T) 528CL:T 529 530(delete-package "PACK11-EDITOR") T 531(delete-package "PACK11-SHADOW") T 532(delete-package "PACK11-USE") T 533(delete-package "PACK11-INHERIT2") T 534(delete-package "PACK11-INHERIT1") T 535(delete-package "PACK11-INHERIT") T 536 537; find-all-symbols fehlerhaft 538(and (member 'pack11::x (setf s (find-all-symbols 'x)))T) 539T 540 541(eval (read-from-string "(and (member 'pack11-editor:x s) t)")) 542#+XCL T #-XCL ERROR 543 544(and (member 'pack11::x (setf s1 (find-all-symbols 'x)))T) 545T 546 547(set-difference s s1) 548nil ;Ende Kommentar 549 550;do-symbols | do-external-symbols | do-all-symbols 551 552(setf sym nil 553 esym nil 554 asym nil 555) 556nil 557 558(do-symbols (s (find-package 'pack11)) 559 (push (symbol-name s) sym)) 560nil 561 562(do-external-symbols (s (find-package 'pack11)) 563 (push (symbol-name s) esym)) 564nil 565 566(do-all-symbols (s)(push (symbol-name s) asym)) 567nil 568 569(find "ESYM" sym :test #'string=) 570"ESYM" 571 572(find "ESYM" esym :test #'string=) 573nil 574 575(find "LAMBDA-LIST-KEYWORDS" esym :test #'string=) 576#+XCL "LAMBDA-LIST-KEYWORDS" #-XCL NIL 577 578;(count "LAMBDA-LIST-KEYWORDS" asym :test #'string=) 579;T ;viel zu lang 580 581; modules | provide | (require nicht getestet !) 582 583(and *modules* T) 584#+(or XCL ECL LISPWORKS) T 585;; boot linking set contains only "clisp"; base and full - more 586#+CLISP #.(not (equal (ext:module-info) '("clisp"))) 587#-(or XCL CLISP ECL LISPWORKS) UNKNOWN 588 589(let ((*modules* *modules*)) 590 (provide 'provide-test) 591 (find "PROVIDE-TEST" *modules* :test #'string=)) 592"PROVIDE-TEST" 593 594;; from ansi-tests 595(unless (member "z" *modules* :test #'string=) 596 (let ((*modules* *modules*)) (provide "z") (require #\z) nil)) 597NIL 598 599(let ((*modules* *modules*)) 600 (provide :ABAZONK) 601 (not (member :ABAZONK *modules* :test #'string=))) 602NIL 603 604;; <HS>/Body/mac_with-package-iterator.html 605(defun test-package-iterator (package) 606 (unless (packagep package) 607 (setq package (find-package package))) 608 (let ((all-entries '()) 609 (generated-entries '())) 610 (do-symbols (x package) 611 (multiple-value-bind (symbol accessibility) 612 (find-symbol (symbol-name x) package) 613 (push (list symbol accessibility) all-entries))) 614 (with-package-iterator (generator-fn package 615 :internal :external :inherited) 616 (loop 617 (multiple-value-bind (more? symbol accessibility pkg) 618 (generator-fn) 619 (declare (ignore pkg)) 620 (unless more? (return)) 621 (let ((l (multiple-value-list (find-symbol (symbol-name symbol) 622 package)))) 623 (unless (equal l (list symbol accessibility)) 624 (error "Symbol ~S not found as ~S in package ~A [~S]" 625 symbol accessibility (package-name package) l)) 626 (push l generated-entries))))) 627 (unless (and (subsetp all-entries generated-entries :test #'equal) 628 (subsetp generated-entries all-entries :test #'equal)) 629 (error "Generated entries and Do-Symbols entries do not correspond")) 630 t)) 631test-package-iterator 632 633(compile 'test-package-iterator) test-package-iterator 634 635(test-package-iterator :common-lisp-user) t 636 637(test-package-iterator :common-lisp) t 638 639(progn ; from gcl/ansi-test 640(defconstant +fail-count-limit+ 20) 641(defmacro test-with-package-iterator (package-list-expr &rest symbol-types) 642 "Build an expression that tests the with-package-iterator form." 643 (let ((name (gensym)) 644 (cht-var (gensym)) 645 (pkg-list-var (gensym))) 646 `(let ((,cht-var (make-hash-table)) 647 (,pkg-list-var ,package-list-expr) 648 (fail-count 0)) 649 (with-package-iterator (,name ,pkg-list-var 650 ,@(copy-list symbol-types)) 651 ;; For each symbol, check that name is returning appropriate things 652 (loop 653 (block fail 654 (multiple-value-bind (more sym access pkg) 655 (,name) 656 (unless more (return nil)) 657 (setf (gethash sym ,cht-var) t) ;; note presence of symbol 658 ;; Check that its access status is in the list, 659 ;; that pkg is a package, 660 ;; that the symbol is in the package, 661 ;; and that (in the package) it has the correct access type 662 (unless (member access (quote ,(copy-list symbol-types))) 663 (unless (> fail-count +fail-count-limit+) 664 (format t "Bad access type: ~S ==> ~A~%" sym access)) 665 (when (= fail-count +fail-count-limit+) 666 (format t "Further messages suppressed~%")) 667 (incf fail-count) 668 (return-from fail nil)) 669 670 (unless (packagep pkg) 671 (unless (> fail-count +fail-count-limit+) 672 (format t "Not a package: ~S ==> ~S~%" sym pkg)) 673 (when (= fail-count +fail-count-limit+) 674 (format t "Further messages suppressed~%")) 675 (incf fail-count) 676 (return-from fail nil)) 677 (multiple-value-bind (sym2 access2) 678 (find-symbol (symbol-name sym) pkg) 679 (unless (or (eq sym sym2) 680 (member sym2 (package-shadowing-symbols pkg))) 681 (unless (> fail-count +fail-count-limit+) 682 (format t "Not same symbol: ~S ~S~%" sym sym2)) 683 (when (= fail-count +fail-count-limit+) 684 (format t "Further messages suppressed~%")) 685 (incf fail-count) 686 (return-from fail nil)) 687 (unless (eq access access2) 688 (unless (> fail-count +fail-count-limit+) 689 (format t "Not same access type: ~S ~S ~S~%" 690 sym access access2)) 691 (when (= fail-count +fail-count-limit+) 692 (format t "Further messages suppressed~%")) 693 (incf fail-count) 694 (return-from fail nil))))))) 695 ;; now, check that each symbol in each package has 696 ;; been properly found 697 (loop 698 for p in ,pkg-list-var do 699 (block fail 700 (do-symbols (sym p) 701 (multiple-value-bind (sym2 access) 702 (find-symbol (symbol-name sym) p) 703 (unless (eq sym sym2) 704 (unless (> fail-count +fail-count-limit+) 705 (format t "Not same symbol (2): ~S ~S~%" 706 sym sym2)) 707 (when (= fail-count +fail-count-limit+) 708 (format t "Further messages suppressed~%")) 709 (incf fail-count) 710 (return-from fail nil)) 711 (unless (or (not (member access 712 (quote ,(copy-list symbol-types)))) 713 (gethash sym ,cht-var)) 714 (format t "Symbol not found: ~S~%" sym) 715 (incf fail-count) 716 (return-from fail nil)))))) 717 (or (zerop fail-count) fail-count)))) 718(defun with-package-iterator-internal (packages) 719 (test-with-package-iterator packages :internal)) 720(compile 'with-package-iterator-internal) 721(defun with-package-iterator-external (packages) 722 (test-with-package-iterator packages :external)) 723(compile 'with-package-iterator-external) 724(defun with-package-iterator-inherited (packages) 725 (test-with-package-iterator packages :inherited)) 726(compile 'with-package-iterator-inherited) 727(defun with-package-iterator-all (packages) 728 (test-with-package-iterator packages :internal :external :inherited)) 729(compile 'with-package-iterator-all) 730t) 731T 732 733(with-package-iterator-internal (list (find-package "COMMON-LISP-USER"))) t 734(with-package-iterator-external (list (find-package "COMMON-LISP-USER"))) t 735(with-package-iterator-inherited (list (find-package "COMMON-LISP-USER"))) t 736(with-package-iterator-all (list (find-package "COMMON-LISP-USER"))) t 737 738(with-package-iterator-internal (list (find-package "COMMON-LISP"))) t 739(with-package-iterator-external (list (find-package "COMMON-LISP"))) t 740(with-package-iterator-inherited (list (find-package "COMMON-LISP"))) t 741(with-package-iterator-all (list (find-package "COMMON-LISP"))) t 742 743(with-package-iterator-internal 744 (list (find-package "COMMON-LISP-USER") (find-package "COMMON-LISP"))) t 745(with-package-iterator-external 746 (list (find-package "COMMON-LISP-USER") (find-package "COMMON-LISP"))) t 747(with-package-iterator-inherited 748 (list (find-package "COMMON-LISP-USER") (find-package "COMMON-LISP"))) t 749(with-package-iterator-all 750 (list (find-package "COMMON-LISP-USER") (find-package "COMMON-LISP"))) t 751 752(map nil #'print (list-all-packages)) 753nil 754 755#+CLISP 756(ext:appease-cerrors 757 (let (SYSTEM::*COUTPUT-STREAM*) 758 (setq SYSTEM::*COUTPUT-STREAM* 123))) 759#+CLISP 123 760 761#+CLISP 762(ext:package-case-sensitive-p 763 (make-package "PACK11-PACKAGE-CASE" :case-sensitive t :case-inverted t)) 764#+CLISP 765T 766 767#+CLISP 768(ext:package-case-inverted-p 769 (defpackage "PACK11-PACKAGE-CASE" (:case-sensitive nil) (:case-inverted nil))) 770#+CLISP 771NIL 772 773#+CLISP 774(setf (ext:package-case-inverted-p "PACK11-PACKAGE-CASE") t 775 (ext:package-case-sensitive-p "PACK11-PACKAGE-CASE") t) 776#+CLISP 777T 778 779#+CLISP 780(let ((*break-on-signals* 'warning)) 781 (ext:package-case-sensitive-p 782 (defpackage "PACK11-PACKAGE-CASE" (:case-inverted t) (:case-sensitive t)))) 783#+CLISP 784T 785 786#+CLISP 787(delete-package "PACK11-PACKAGE-CASE") 788#+CLISP 789T 790 791(progn (setq *package* cl-user::*saved-package*) (delete-package "PACK11")) 792T 793 794;; https://sourceforge.net/p/clisp/bugs/389/ 795(let ((f "pack11-tst.lisp")) 796 (unwind-protect 797 (progn 798 (with-open-file (out f :direction :output) 799 (princ ";; test non-top-level defpackage compilation 800\(defmacro my-defpackage (name use) 801 `(eval-when (:compile-toplevel :load-toplevel :execute) 802 (let ((pkg (defpackage ,name (:use)))) 803 (use-package '(,use) pkg) 804 pkg))) 805\(my-defpackage #:pack11-bar #:cl) 806\(in-package #:pack11-bar) 807\(defun baz (x) x) 808" out)) 809 (list (cdr (multiple-value-list (compile-file f))) 810 (equal (package-use-list '#:pack11-bar) 811 (list (find-package '#:cl))))) 812 (delete-package '#:pack11-bar) 813 (post-compile-file-cleanup f))) 814((NIL NIL) T) 815 816; Clean up. 817(symbol-cleanup 'cl-user::*saved-package*) 818NIL 819