diff --git a/sources/LLPACKAGE b/sources/LLPACKAGE index e8ff841da..e70311404 100644 --- a/sources/LLPACKAGE +++ b/sources/LLPACKAGE @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "LISP" READTABLE "XCL" BASE 10) -(IL:FILECREATED " 5-Sep-2024 17:42:20" IL:|{DSK}matt>Interlisp>medley>sources>LLPACKAGE.;3| 87515 +(IL:FILECREATED " 2-Nov-2025 19:49:02" IL:|{DSK}matt>Interlisp>medley>sources>LLPACKAGE.;2| 92970 :EDIT-BY "mth" :CHANGES-TO (IL:FNS XCL:DEFPACKAGE) - :PREVIOUS-DATE " 4-Sep-2024 13:17:23" IL:|{DSK}matt>Interlisp>medley>sources>LLPACKAGE.;2| + :PREVIOUS-DATE "30-Oct-2025 14:25:43" IL:|{DSK}matt>Interlisp>medley>sources>LLPACKAGE.;1| ) @@ -524,7 +524,9 @@ (IL:DEFINEQ (XCL:DEFPACKAGE - (IL:NLAMBDA IL:ARGS (IL:* IL:\; "Edited 4-Sep-2024 13:17 by mth") + (IL:NLAMBDA IL:ARGS (IL:* IL:\; "Edited 2-Nov-2025 19:48 by mth") + (IL:* IL:\; "Edited 30-Oct-2025 11:34 by mth") + (IL:* IL:\; "Edited 4-Sep-2024 13:17 by mth") (IL:* IL:\; "Edited 2-Dec-87 10:39 by raf") (IL:SETQ IL:ARGS (XCL:REMOVE-COMMENTS IL:ARGS)) (LET @@ -571,6 +573,30 @@ IL:SYMBOL))) PACKAGE)) (:IMPORT (IMPORT VALUES PACKAGE)) + (:IMPORT-FROM (LET* ((PACKAGE-NAME (POP VALUES)) + (XCL::PACKAGE-FROM (FIND-PACKAGE PACKAGE-NAME))) + (IMPORT (IL:MAPCAR VALUES + (IL:FUNCTION (IL:LAMBDA (XCL::SN) + (COND + ((IL:LITATOM XCL::SN) + (SETQ XCL::SN + (SYMBOL-NAME + XCL::SN)))) + (COND + ((IL:STRINGP XCL::SN) + (OR (FIND-SYMBOL + XCL::SN + XCL::PACKAGE-FROM + ) + (ERROR + "Symbol ~S not found in package ~S in :import-from option of defpackage" + XCL::SN + PACKAGE-NAME + ))) + (T (IL:ERROR + "Bad object in :import-from option of defpackage " + XCL::SN)))))) + PACKAGE))) ((:SHADOW :SHADOWING-IMPORT) (LET ((IL:SYMBOLS-TO-SHADOW (IL:MAPCONC VALUES @@ -620,7 +646,8 @@ ((:PREFIX-NAME :INTERNAL-SYMBOLS :EXTERNAL-SYMBOLS :EXTERNAL-ONLY) (LIST IL:KEY (CAR VALUES))) - ((:SHADOW :EXPORT :IMPORT :SHADOWING-IMPORT) + ((:SHADOW :EXPORT :IMPORT :IMPORT-FROM + :SHADOWING-IMPORT) (IL:SETQ IL:POST-MAKE-FORMS (CONS (CONS IL:KEY VALUES) IL:POST-MAKE-FORMS)) @@ -648,6 +675,37 @@ PACKAGE)) (:IMPORT (IMPORT (CDR IL:FORM) PACKAGE)) + (:IMPORT-FROM (LET* ((PACKAGE-NAME (CADR IL:FORM)) + (XCL::PACKAGE-FROM (FIND-PACKAGE PACKAGE-NAME))) + (IMPORT (IL:MAPCAR (CDDR IL:FORM) + (IL:FUNCTION (IL:LAMBDA (XCL::SN) + (COND + ((IL:LITATOM + XCL::SN) + (SETQ + XCL::SN + (SYMBOL-NAME + XCL::SN)))) + (COND + ((IL:STRINGP + XCL::SN) + (OR + (FIND-SYMBOL + XCL::SN + XCL::PACKAGE-FROM + ) + (ERROR + "Symbol ~S not found in package ~S in :import-from option of defpackage" + XCL::SN + + PACKAGE-NAME + ))) + (T (IL:ERROR + + "Bad object in :import-from option of defpackage " + XCL::SN))))) + ) + PACKAGE))) (:SHADOWING-IMPORT (SHADOWING-IMPORT (CDR IL:FORM) PACKAGE)) @@ -1663,7 +1721,7 @@ (IL:* IL:|;;| "Proper compiler, readtable and package environment") -(IL:PUTPROPS IL:LLPACKAGE IL:FILETYPE COMPILE-FILE) +(IL:PUTPROPS IL:LLPACKAGE IL:FILETYPE :FAKE-COMPILE-FILE) (IL:PUTPROPS IL:LLPACKAGE IL:MAKEFILE-ENVIRONMENT (:READTABLE "XCL" :PACKAGE "LISP")) (IL:DECLARE\: IL:DONTEVAL@LOAD IL:DOEVAL@COMPILE IL:DONTCOPY IL:COMPILERVARS @@ -1691,23 +1749,23 @@ IL:\\PKG-FIND-FREE-PACKAGE-INDEX 17838 . 18248)) (18305 18451 (IL:SETF-SYMBOL-PA IL:ENTRY-HASH 20528 . 20919)) (20968 21314 (IL:COUNT-PACKAGE-HASHTABLE 20968 . 21314)) (21316 21488 ( IL:INTERNAL-SYMBOL-COUNT 21316 . 21488)) (21490 21608 (IL:EXTERNAL-SYMBOL-COUNT 21490 . 21608)) (21610 22766 (IL:ENTER-NEW-NICKNAMES 21610 . 22766)) (22768 23194 (IL:MAKE-PRIME-HASHTABLE-SIZE 22768 . -23194)) (23196 24845 (MAKE-PACKAGE 23196 . 24845)) (24846 34317 (XCL:DEFPACKAGE 24859 . 34315)) (34366 - 34588 (FIND-PACKAGE 34366 . 34588)) (34590 37951 (USE-PACKAGE 34590 . 37951)) (37953 38433 ( -IN-PACKAGE 37953 . 38433)) (38435 38709 (XCL:PKG-GOTO 38435 . 38709)) (38711 39811 (RENAME-PACKAGE -38711 . 39811)) (39813 41264 (XCL:DELETE-PACKAGE 39813 . 41264)) (41266 44212 (EXPORT 41266 . 44212)) -(44214 45457 (UNEXPORT 44214 . 45457)) (45459 47103 (IMPORT 45459 . 47103)) (47105 48385 ( -SHADOWING-IMPORT 47105 . 48385)) (48387 49441 (SHADOW 48387 . 49441)) (49443 50098 (UNUSE-PACKAGE -49443 . 50098)) (50162 50468 (LIST-ALL-PACKAGES 50162 . 50468)) (50525 54208 (IL:ADD-SYMBOL 50525 . -54208)) (54210 58263 (IL:WITH-SYMBOL 54210 . 58263)) (58265 59568 (IL:INTERN* 58265 . 59568)) (59570 -65402 (IL:FIND-SYMBOL* 59570 . 65402)) (65404 66855 (INTERN 65404 . 66855)) (66857 67435 (FIND-SYMBOL -66857 . 67435)) (67493 68389 (IL:NUKE-SYMBOL 67493 . 68389)) (68391 70505 (UNINTERN 68391 . 70505)) ( -70507 71650 (IL:MOBY-UNINTERN 70507 . 71650)) (71709 71781 (IL:\\INDEXATOMPNAME 71709 . 71781)) (71893 - 72040 (IL:MAKE-DO-SYMBOLS-VARS 71893 . 72040)) (72042 73497 (IL:MAKE-DO-SYMBOLS-CODE 72042 . 73497)) -(73501 74279 (DO-EXTERNAL-SYMBOLS 73501 . 74279)) (74281 75627 (XCL:DO-LOCAL-SYMBOLS 74281 . 75627)) ( -75629 76745 (XCL:DO-INTERNAL-SYMBOLS 75629 . 76745)) (76747 79045 (DO-SYMBOLS 76747 . 79045)) (79047 -80729 (DO-ALL-SYMBOLS 79047 . 80729)) (80797 81322 (FIND-ALL-SYMBOLS 80797 . 81322)) (81324 81603 ( -IL:BRIEFLY-DESCRIBE-SYMBOL 81324 . 81603)) (81605 83119 (APROPOS 81605 . 83119)) (83121 84688 ( -APROPOS-LIST 83121 . 84688)) (84792 86319 (IL:FIND-EXTERNAL-SYMBOL 84792 . 86319)) (86321 86841 ( -IL:FIND-EXACT-SYMBOL 86321 . 86841)) (86843 86923 (IL:PACKAGE-NAME-AS-SYMBOL 86843 . 86923)) (86925 -87074 (IL:\\FIND.PACKAGE.INTERNAL 86925 . 87074))))) +23194)) (23196 24845 (MAKE-PACKAGE 23196 . 24845)) (24846 39766 (XCL:DEFPACKAGE 24859 . 39764)) (39815 + 40037 (FIND-PACKAGE 39815 . 40037)) (40039 43400 (USE-PACKAGE 40039 . 43400)) (43402 43882 ( +IN-PACKAGE 43402 . 43882)) (43884 44158 (XCL:PKG-GOTO 43884 . 44158)) (44160 45260 (RENAME-PACKAGE +44160 . 45260)) (45262 46713 (XCL:DELETE-PACKAGE 45262 . 46713)) (46715 49661 (EXPORT 46715 . 49661)) +(49663 50906 (UNEXPORT 49663 . 50906)) (50908 52552 (IMPORT 50908 . 52552)) (52554 53834 ( +SHADOWING-IMPORT 52554 . 53834)) (53836 54890 (SHADOW 53836 . 54890)) (54892 55547 (UNUSE-PACKAGE +54892 . 55547)) (55611 55917 (LIST-ALL-PACKAGES 55611 . 55917)) (55974 59657 (IL:ADD-SYMBOL 55974 . +59657)) (59659 63712 (IL:WITH-SYMBOL 59659 . 63712)) (63714 65017 (IL:INTERN* 63714 . 65017)) (65019 +70851 (IL:FIND-SYMBOL* 65019 . 70851)) (70853 72304 (INTERN 70853 . 72304)) (72306 72884 (FIND-SYMBOL +72306 . 72884)) (72942 73838 (IL:NUKE-SYMBOL 72942 . 73838)) (73840 75954 (UNINTERN 73840 . 75954)) ( +75956 77099 (IL:MOBY-UNINTERN 75956 . 77099)) (77158 77230 (IL:\\INDEXATOMPNAME 77158 . 77230)) (77342 + 77489 (IL:MAKE-DO-SYMBOLS-VARS 77342 . 77489)) (77491 78946 (IL:MAKE-DO-SYMBOLS-CODE 77491 . 78946)) +(78950 79728 (DO-EXTERNAL-SYMBOLS 78950 . 79728)) (79730 81076 (XCL:DO-LOCAL-SYMBOLS 79730 . 81076)) ( +81078 82194 (XCL:DO-INTERNAL-SYMBOLS 81078 . 82194)) (82196 84494 (DO-SYMBOLS 82196 . 84494)) (84496 +86178 (DO-ALL-SYMBOLS 84496 . 86178)) (86246 86771 (FIND-ALL-SYMBOLS 86246 . 86771)) (86773 87052 ( +IL:BRIEFLY-DESCRIBE-SYMBOL 86773 . 87052)) (87054 88568 (APROPOS 87054 . 88568)) (88570 90137 ( +APROPOS-LIST 88570 . 90137)) (90241 91768 (IL:FIND-EXTERNAL-SYMBOL 90241 . 91768)) (91770 92290 ( +IL:FIND-EXACT-SYMBOL 91770 . 92290)) (92292 92372 (IL:PACKAGE-NAME-AS-SYMBOL 92292 . 92372)) (92374 +92523 (IL:\\FIND.PACKAGE.INTERNAL 92374 . 92523))))) IL:STOP diff --git a/sources/LLPACKAGE.LCOM b/sources/LLPACKAGE.LCOM index aab75ccfb..f0f9a44b5 100644 Binary files a/sources/LLPACKAGE.LCOM and b/sources/LLPACKAGE.LCOM differ