[armedbear-cvs] r14036 - trunk/abcl/src/org/armedbear/lisp

ehuelsmann at common-lisp.net ehuelsmann at common-lisp.net
Wed Aug 1 11:53:37 UTC 2012


Author: ehuelsmann
Date: Wed Aug  1 04:53:36 2012
New Revision: 14036

Log:
Re #226: Automatically generate autoloads.

This commit adds the auto generation code and infrastructure. Next steps
include clean up of autoloads.lisp, deciding how to handle symbols in
multiple files and SETF functions/expanders.

Added:
   trunk/abcl/src/org/armedbear/lisp/autoloads-gen.lisp
Modified:
   trunk/abcl/src/org/armedbear/lisp/boot.lisp
   trunk/abcl/src/org/armedbear/lisp/compile-system.lisp
   trunk/abcl/src/org/armedbear/lisp/setf.lisp

Added: trunk/abcl/src/org/armedbear/lisp/autoloads-gen.lisp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/abcl/src/org/armedbear/lisp/autoloads-gen.lisp	Wed Aug  1 04:53:36 2012	(r14036)
@@ -0,0 +1,62 @@
+
+;; This is a bootstrapping file
+;;   We need a file in place before starting compilation, because
+;;   'autoloads.lisp' only contains the manual additions.
+
+;; The content has been generated using the same code as the code which
+;; is used at build-time. However, this file has been tweaked to allow
+;; the ant target to load its files without problems.
+
+;; Generation of an file up-to-date file is part of the build process
+;; and that file is included in abcl.jar.
+
+(IN-PACKAGE :FORMAT)
+(DOLIST (SYSTEM::FS (QUOTE ((("format") %PRINT-FORMAT-ERROR MISSING-ARG MAKE-FORMAT-DIRECTIVE FORMAT-DIRECTIVE-P TOKENIZE-CONTROL-STRING PARSE-DIRECTIVE %FORMATTER EXPAND-CONTROL-STRING EXPAND-DIRECTIVE-LIST EXPAND-DIRECTIVE EXPAND-NEXT-ARG %SET-FORMAT-DIRECTIVE-EXPANDER %SET-FORMAT-DIRECTIVE-INTERPRETER FIND-DIRECTIVE A-FORMAT-DIRECTIVE-EXPANDER S-FORMAT-DIRECTIVE-EXPANDER C-FORMAT-DIRECTIVE-EXPANDER W-FORMAT-DIRECTIVE-EXPANDER EXPAND-FORMAT-INTEGER D-FORMAT-DIRECTIVE-EXPANDER B-FORMAT-DIRECTIVE-EXPANDER O-FORMAT-DIRECTIVE-EXPANDER X-FORMAT-DIRECTIVE-EXPANDER R-FORMAT-DIRECTIVE-EXPANDER P-FORMAT-DIRECTIVE-EXPANDER F-FORMAT-DIRECTIVE-EXPANDER E-FORMAT-DIRECTIVE-EXPANDER G-FORMAT-DIRECTIVE-EXPANDER $-FORMAT-DIRECTIVE-EXPANDER %-FORMAT-DIRECTIVE-EXPANDER &-FORMAT-DIRECTIVE-EXPANDER |\|-FORMAT-DIRECTIVE-EXPANDER| ~-FORMAT-DIRECTIVE-EXPANDER |Newline-FORMAT-DIRECTIVE-EXPANDER| T-FORMAT-DIRECTIVE-EXPANDER _-FORMAT-DIRECTIVE-EXPANDER I-FORMAT-DIRECTIVE-EXPANDER *-FORMAT-DIRECTIVE-EXPANDER ?-FORMAT-DIRECTIVE-EXPANDER |(-FORMAT-DIRECTIVE-EXPANDER| |)-FORMAT-DIRECTIVE-EXPANDER| [-FORMAT-DIRECTIVE-EXPANDER PARSE-CONDITIONAL-DIRECTIVE EXPAND-MAYBE-CONDITIONAL EXPAND-TRUE-FALSE-CONDITIONAL |;-FORMAT-DIRECTIVE-EXPANDER| ]-FORMAT-DIRECTIVE-EXPANDER ^-FORMAT-DIRECTIVE-EXPANDER {-FORMAT-DIRECTIVE-EXPANDER }-FORMAT-DIRECTIVE-EXPANDER ILLEGAL-INSIDE-JUSTIFICATION-P <-FORMAT-DIRECTIVE-EXPANDER >-FORMAT-DIRECTIVE-EXPANDER PARSE-FORMAT-LOGICAL-BLOCK ADD-FILL-STYLE-NEWLINES ADD-FILL-STYLE-NEWLINES-AUX PARSE-FORMAT-JUSTIFICATION EXPAND-FORMAT-LOGICAL-BLOCK EXPAND-FORMAT-JUSTIFICATION /-FORMAT-DIRECTIVE-EXPANDER EXTRACT-USER-FUN-NAME %COMPILER-WALK-FORMAT-STRING %FORMAT INTERPRET-DIRECTIVE-LIST FORMAT-WRITE-FIELD FORMAT-PRINC A-FORMAT-DIRECTIVE-INTERPRETER FORMAT-PRIN1 S-FORMAT-DIRECTIVE-INTERPRETER C-FORMAT-DIRECTIVE-INTERPRETER FORMAT-PRINT-NAMED-CHARACTER W-FORMAT-DIRECTIVE-INTERPRETER FORMAT-PRINT-INTEGER FORMAT-ADD-COMMAS D-FORMAT-DIRECTIVE-INTERPRETER B-FORMAT-DIRECTIVE-INTERPRETER O-FORMAT-DIRECTIVE-INTERPRETER X-FORMAT-DIRECTIVE-INTERPRETER R-FORMAT-DIRECTIVE-INTERPRETER FORMAT-PRINT-SMALL-CARDINAL FORMAT-PRINT-CARDINAL FORMAT-PRINT-CARDINAL-AUX FORMAT-PRINT-ORDINAL FORMAT-PRINT-OLD-ROMAN FORMAT-PRINT-ROMAN P-FORMAT-DIRECTIVE-INTERPRETER DECIMAL-STRING F-FORMAT-DIRECTIVE-INTERPRETER FORMAT-FIXED FORMAT-FIXED-AUX E-FORMAT-DIRECTIVE-INTERPRETER FORMAT-EXPONENTIAL FORMAT-EXPONENT-MARKER FORMAT-EXP-AUX G-FORMAT-DIRECTIVE-INTERPRETER FORMAT-GENERAL FORMAT-GENERAL-AUX $-FORMAT-DIRECTIVE-INTERPRETER FORMAT-DOLLARS %-FORMAT-DIRECTIVE-INTERPRETER &-FORMAT-DIRECTIVE-INTERPRETER |\|-FORMAT-DIRECTIVE-INTERPRETER| ~-FORMAT-DIRECTIVE-INTERPRETER |Newline-FORMAT-DIRECTIVE-INTERPRETER| T-FORMAT-DIRECTIVE-INTERPRETER OUTPUT-SPACES FORMAT-RELATIVE-TAB FORMAT-ABSOLUTE-TAB _-FORMAT-DIRECTIVE-INTERPRETER I-FORMAT-DIRECTIVE-INTERPRETER *-FORMAT-DIRECTIVE-INTERPRETER ?-FORMAT-DIRECTIVE-INTERPRETER |(-FORMAT-DIRECTIVE-INTERPRETER| |)-FORMAT-DIRECTIVE-INTERPRETER| [-FORMAT-DIRECTIVE-INTERPRETER |;-FORMAT-DIRECTIVE-INTERPRETER| ]-FORMAT-DIRECTIVE-INTERPRETER ^-FORMAT-DIRECTIVE-INTERPRETER {-FORMAT-DIRECTIVE-INTERPRETER }-FORMAT-DIRECTIVE-INTERPRETER <-FORMAT-DIRECTIVE-INTERPRETER INTERPRET-FORMAT-JUSTIFICATION FORMAT-JUSTIFICATION INTERPRET-FORMAT-LOGICAL-BLOCK /-FORMAT-DIRECTIVE-INTERPRETER)))) (FUNCALL (FUNCTION AUTOLOAD) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :FORMAT)
+(DOLIST (SYSTEM::FS (QUOTE ((("format") EXPANDER-NEXT-ARG EXPAND-BIND-DEFAULTS DEF-COMPLEX-FORMAT-DIRECTIVE DEF-FORMAT-DIRECTIVE EXPANDER-PPRINT-NEXT-ARG INTERPRET-FORMAT-INTEGER)))) (FUNCALL (FUNCTION AUTOLOAD-MACRO) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :SEQUENCE)
+(DOLIST (SYSTEM::FS (QUOTE ( ))) (FUNCALL (FUNCTION EXTENSIONS:AUTOLOAD) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :SEQUENCE)
+(DOLIST (SYSTEM::FS (QUOTE ( ))) (FUNCALL (FUNCTION EXTENSIONS:AUTOLOAD-MACRO) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :LOOP)
+(DOLIST (SYSTEM::FS (QUOTE ((("loop") MAKE-LOOP-MINIMAX-INTERNAL MAKE-LOOP-MINIMAX LOOP-NOTE-MINIMAX-OPERATION LOOP-TEQUAL LOOP-TASSOC LOOP-TMEMBER LOOP-LOOKUP-KEYWORD MAKE-LOOP-UNIVERSE MAKE-STANDARD-LOOP-UNIVERSE LOOP-MAKE-PSETQ LOOP-MAKE-DESETQ LOOP-CONSTANT-FOLD-IF-POSSIBLE LOOP-CONSTANTP LOOP-CODE-DUPLICATION-THRESHOLD DUPLICATABLE-CODE-P DESTRUCTURING-SIZE ESTIMATE-CODE-SIZE ESTIMATE-CODE-SIZE-1 LOOP-CONTEXT LOOP-ERROR LOOP-WARN LOOP-CHECK-DATA-TYPE SUBST-GENSYMS-FOR-NIL LOOP-BUILD-DESTRUCTURING-BINDINGS LOOP-TRANSLATE LOOP-ITERATION-DRIVER LOOP-POP-SOURCE LOOP-GET-FORM LOOP-GET-COMPOUND-FORM LOOP-GET-PROGN LOOP-CONSTRUCT-RETURN LOOP-PSEUDO-BODY LOOP-EMIT-BODY LOOP-EMIT-FINAL-VALUE LOOP-DISALLOW-CONDITIONAL LOOP-DISALLOW-ANONYMOUS-COLLECTORS LOOP-DISALLOW-AGGREGATE-BOOLEANS LOOP-TYPED-INIT LOOP-OPTIONAL-TYPE LOOP-BIND-BLOCK LOOP-VAR-P LOOP-MAKE-VAR LOOP-MAKE-ITERATION-VAR LOOP-DECLARE-VAR LOOP-MAYBE-BIND-FORM LOOP-DO-IF LOOP-DO-INITIALLY LOOP-DO-FINALLY LOOP-DO-DO LOOP-DO-NAMED LOOP-DO-RETURN MAKE-LOOP-COLLECTOR LOOP-GET-COLLECTION-INFO LOOP-LIST-COLLECTION LOOP-SUM-COLLECTION LOOP-MAXMIN-COLLECTION LOOP-DO-ALWAYS LOOP-DO-THEREIS LOOP-DO-WHILE LOOP-DO-REPEAT LOOP-DO-WITH LOOP-HACK-ITERATION LOOP-DO-FOR LOOP-WHEN-IT-VAR LOOP-ANSI-FOR-EQUALS LOOP-FOR-ACROSS LOOP-LIST-STEP LOOP-FOR-ON LOOP-FOR-IN MAKE-LOOP-PATH ADD-LOOP-PATH LOOP-FOR-BEING LOOP-NAMED-VAR LOOP-COLLECT-PREPOSITIONAL-PHRASES LOOP-SEQUENCER LOOP-FOR-ARITHMETIC LOOP-SEQUENCE-ELEMENTS-PATH LOOP-HASH-TABLE-ITERATION-PATH LOOP-PACKAGE-SYMBOLS-ITERATION-PATH MAKE-ANSI-LOOP-UNIVERSE LOOP-STANDARD-EXPANSION)))) (FUNCALL (FUNCTION EXTENSIONS:AUTOLOAD) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :LOOP)
+(DOLIST (SYSTEM::FS (QUOTE ((("loop") WITH-LOOP-LIST-COLLECTION-HEAD LOOP-COLLECT-RPLACD LOOP-COLLECT-ANSWER WITH-MINIMAX-VALUE LOOP-ACCUMULATE-MINIMAX-VALUE LOOP-STORE-TABLE-DATA LOOP-REALLY-DESETQ LOOP-BODY LOOP-DESTRUCTURING-BIND)))) (FUNCALL (FUNCTION EXTENSIONS:AUTOLOAD-MACRO) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :MOP)
+(DOLIST (SYSTEM::FS (QUOTE ((("clos") CLASS-SLOTS CLASS-DIRECT-SLOTS CLASS-LAYOUT CLASS-DIRECT-SUPERCLASSES CLASS-DIRECT-SUBCLASSES CLASS-DIRECT-METHODS CLASS-PRECEDENCE-LIST CLASS-FINALIZED-P CLASS-DEFAULT-INITARGS CLASS-DIRECT-DEFAULT-INITARGS ADD-DIRECT-SUBCLASS REMOVE-DIRECT-SUBCLASS FIXUP-STANDARD-CLASS-HIERARCHY MAP-DEPENDENTS MAPAPPEND MAPPLIST FUNCALLABLE-STANDARD-INSTANCE-ACCESS CANONICALIZE-DIRECT-SLOTS CANONICALIZE-DIRECT-SLOT MAYBE-NOTE-NAME-DEFINED CANONICALIZE-DEFCLASS-OPTIONS CANONICALIZE-DEFCLASS-OPTION MAKE-INITFUNCTION SLOT-DEFINITION-ALLOCATION SLOT-DEFINITION-INITARGS SLOT-DEFINITION-INITFORM SLOT-DEFINITION-INITFUNCTION SLOT-DEFINITION-NAME SLOT-DEFINITION-READERS SLOT-DEFINITION-WRITERS SLOT-DEFINITION-ALLOCATION-CLASS SLOT-DEFINITION-LOCATION SLOT-DEFINITION-TYPE SLOT-DEFINITION-DOCUMENTATION INIT-SLOT-DEFINITION DIRECT-SLOT-DEFINITION-CLASS MAKE-DIRECT-SLOT-DEFINITION EFFECTIVE-SLOT-DEFINITION-CLASS MAKE-EFFECTIVE-SLOT-DEFINITION COMPUTE-DEFAULT-INITARGS STD-COMPUTE-DEFAULT-INITARGS STD-FINALIZE-INHERITANCE FINALIZE-INHERITANCE STD-COMPUTE-CLASS-PRECEDENCE-LIST TOPOLOGICAL-SORT STD-TIE-BREAKER-RULE COLLECT-SUPERCLASSES* LOCAL-PRECEDENCE-ORDERING STD-COMPUTE-SLOTS STD-COMPUTE-EFFECTIVE-SLOT-DEFINITION FIND-SLOT-DEFINITION SLOT-LOCATION INSTANCE-SLOT-LOCATION %SET-SLOT-VALUE STD-SLOT-MAKUNBOUND STD-SLOT-EXISTS-P INSTANCE-SLOT-P STD-ALLOCATE-INSTANCE ALLOCATE-FUNCALLABLE-INSTANCE CLASS-PROTOTYPE MAYBE-FINALIZE-CLASS-SUBTREE MAKE-INSTANCE-STANDARD-CLASS STD-AFTER-INITIALIZATION-FOR-CLASSES EXPAND-LONG-DEFCOMBIN %MAKE-LONG-METHOD-COMBINATION METHOD-COMBINATION-NAME METHOD-COMBINATION-DOCUMENTATION SHORT-METHOD-COMBINATION-OPERATOR SHORT-METHOD-COMBINATION-IDENTITY-WITH-ONE-ARGUMENT LONG-METHOD-COMBINATION-LAMBDA-LIST LONG-METHOD-COMBINATION-METHOD-GROUP-SPECS LONG-METHOD-COMBINATION-ARGS-LAMBDA-LIST LONG-METHOD-COMBINATION-GENERIC-FUNCTION-SYMBOL LONG-METHOD-COMBINATION-FUNCTION LONG-METHOD-COMBINATION-ARGUMENTS LONG-METHOD-COMBINATION-DECLARATIONS LONG-METHOD-COMBINATION-FORMS EXPAND-SHORT-DEFCOMBIN METHOD-GROUP-P CHECK-VARIABLE-NAME CANONICALIZE-METHOD-GROUP-SPEC EXTRACT-REQUIRED-PART EXTRACT-SPECIFIED-PART EXTRACT-OPTIONAL-PART PARSE-DEFINE-METHOD-COMBINATION-ARGUMENTS-LAMBDA-LIST WRAP-WITH-CALL-METHOD-MACRO ASSERT-UNAMBIGUOUS-METHOD-SORTING METHOD-COMBINATION-TYPE-LAMBDA DECLARATIONP LONG-FORM-METHOD-COMBINATION-ARGS DEFINE-LONG-FORM-METHOD-COMBINATION STD-FIND-METHOD-COMBINATION FIND-METHOD-COMBINATION INTERN-EQL-SPECIALIZER EQL-SPECIALIZER-OBJECT STD-METHOD-FUNCTION STD-METHOD-GENERIC-FUNCTION STD-METHOD-SPECIALIZERS STD-METHOD-QUALIFIERS STD-ACCESSOR-METHOD-SLOT-DEFINITION STD-METHOD-FAST-FUNCTION STD-FUNCTION-KEYWORDS METHOD-GENERIC-FUNCTION METHOD-FUNCTION METHOD-SPECIALIZERS GENERIC-FUNCTION-NAME GENERIC-FUNCTION-LAMBDA-LIST GENERIC-FUNCTION-METHODS GENERIC-FUNCTION-METHOD-CLASS GENERIC-FUNCTION-METHOD-COMBINATION GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER CLASSES-TO-EMF-TABLE METHOD-DOCUMENTATION CANONICALIZE-DEFGENERIC-OPTIONS CANONICALIZE-DEFGENERIC-OPTION ARGUMENT-PRECEDENCE-ORDER-INDICES FIND-GENERIC-FUNCTION LAMBDA-LISTS-CONGRUENT-P COLLECT-EQL-SPECIALIZER-OBJECTS FINALIZE-STANDARD-GENERIC-FUNCTION MAKE-INSTANCE-STANDARD-GENERIC-FUNCTION CANONICALIZE-SPECIALIZERS CANONICALIZE-SPECIALIZER PARSE-DEFMETHOD REQUIRED-PORTION EXTRACT-LAMBDA-LIST EXTRACT-SPECIALIZER-NAMES GET-KEYWORD-FROM-ARG ANALYZE-LAMBDA-LIST CHECK-METHOD-LAMBDA-LIST CHECK-ARGUMENT-PRECEDENCE-ORDER ENSURE-METHOD MAKE-INSTANCE-STANDARD-METHOD ADD-DIRECT-METHOD REMOVE-DIRECT-METHOD STD-ADD-METHOD STD-REMOVE-METHOD %FIND-METHOD FAST-CALLABLE-P SLOW-READER-LOOKUP STD-COMPUTE-DISCRIMINATING-FUNCTION SORT-METHODS METHOD-APPLICABLE-P STD-COMPUTE-APPLICABLE-METHODS METHOD-APPLICABLE-USING-CLASSES-P CHECK-APPLICABLE-METHOD-KEYWORD-ARGS COMPUTE-APPLICABLE-KEYWORDS WRAP-EMFUN-FOR-KEYWORD-ARGS-CHECK SLOW-METHOD-LOOKUP SLOW-METHOD-LOOKUP-1 SUB-SPECIALIZER-P STD-METHOD-MORE-SPECIFIC-P PRIMARY-METHOD-P BEFORE-METHOD-P AFTER-METHOD-P AROUND-METHOD-P PROCESS-NEXT-METHOD-LIST STD-COMPUTE-EFFECTIVE-METHOD GENERATE-EMF-LAMBDA COMPUTE-PRIMARY-EMFUN WALK-FORM COMPUTE-METHOD-FUNCTION COMPUTE-METHOD-FAST-FUNCTION MAKE-METHOD-LAMBDA ALLOW-OTHER-KEYS MAKE-INSTANCE-STANDARD-ACCESSOR-METHOD ADD-READER-METHOD ADD-WRITER-METHOD CHECK-DUPLICATE-SLOTS CHECK-DUPLICATE-DEFAULT-INITARGS ENSURE-CLASS-USING-CLASS READER-METHOD-CLASS WRITER-METHOD-CLASS COMPUTE-APPLICABLE-METHODS-USING-CLASSES SLOT-VALUE-USING-CLASS SLOT-EXISTS-P-USING-CLASS SLOT-BOUNDP-USING-CLASS SLOT-MAKUNBOUND-USING-CLASS CALCULATE-ALLOWABLE-INITARGS CHECK-INITARGS MERGE-INITARGS-SETS EXTRACT-LAMBDA-LIST-KEYWORDS AUGMENT-INITARGS-WITH-DEFAULTS STD-SHARED-INITIALIZE COMPUTE-SLOTS COMPUTE-EFFECTIVE-SLOT-DEFINITION COMPUTE-DISCRIMINATING-FUNCTION METHOD-MORE-SPECIFIC-P COMPUTE-EFFECTIVE-METHOD SPECIALIZER-DIRECT-GENERIC-FUNCTIONS SPECIALIZER-DIRECT-METHODS ADD-DEPENDENT REMOVE-DEPENDENT UPDATE-DEPENDENT ENSURE-GENERIC-FUNCTION-USING-CLASS %METHOD-GENERIC-FUNCTION %METHOD-FUNCTION)))) (FUNCALL (FUNCTION AUTOLOAD) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :MOP)
+(DOLIST (SYSTEM::FS (QUOTE ((("clos") DEFINE-CLASS->%CLASS-FORWARDER PUSH-ON-END DEFINE-PRIMORDIAL-CLASS GETK WITH-ARGS-LAMBDA-LIST WITH-METHOD-GROUPS ATOMIC-DEFGENERIC REDEFINE-CLASS-FORWARDER SLOT-DEFINITION-DISPATCH)))) (FUNCALL (FUNCTION AUTOLOAD-MACRO) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :XP)
+(DOLIST (SYSTEM::FS (QUOTE ((("pprint-dispatch") MAKE-PPRINT-DISPATCH-TABLE PPRINT-DISPATCH-TABLE-P MAKE-ENTRY ENTRY-P SET-PPRINT-DISPATCH+ PRIORITY-> ADJUST-COUNTS GET-PRINTER FITS SPECIFIER-CATEGORY ALWAYS-TRUE SPECIFIER-FN CONVERT-BODY FUNCTION-CALL-P PPRINT-DISPATCH-PRINT) (("pprint") STRUCTURE-TYPE-P OUTPUT-WIDTH MAKE-XP-STRUCTURE XP-STRUCTURE-P PUSH-BLOCK-STACK POP-BLOCK-STACK PUSH-PREFIX-STACK POP-PREFIX-STACK ENQUEUE INITIALIZE-XP WRITE-CHAR+ WRITE-STRING+ WRITE-CHAR++ FORCE-SOME-OUTPUT WRITE-STRING++ WRITE-STRING+++ PPRINT-TAB+ PPRINT-NEWLINE+ START-BLOCK END-BLOCK PPRINT-INDENT+ ATTEMPT-TO-OUTPUT FLUSH OUTPUT-LINE SETUP-FOR-NEXT-LINE SET-INDENTATION-PREFIX SET-PREFIX SET-SUFFIX REVERSE-STRING-IN-PLACE MAYBE-INITIATE-XP-PRINTING XP-PRINT DO-XP-PRINTING WRITE+ NON-PRETTY-PRINT MAYBE-PRINT-FAST PRINT-FIXNUM PPRINT-POP-CHECK+ CHECK-BLOCK-ABBREVIATION PRETTY-ARRAY PRETTY-VECTOR PRETTY-NON-VECTOR ARRAY-READABLY-PRINTABLE-P FN-CALL ALTERNATIVE-FN-CALL BIND-LIST BLOCK-LIKE DEFUN-LIKE PRINT-FANCY-FN-CALL LET-PRINT COND-PRINT DMM-PRINT DEFSETF-PRINT DO-PRINT FLET-PRINT FUNCTION-PRINT MVB-PRINT MAYBELAB PROG-PRINT TAGBODY-PRINT SETQ-PRINT QUOTE-PRINT UP-PRINT TOKEN-TYPE PRETTY-LOOP OUTPUT-PRETTY-OBJECT)))) (FUNCALL (FUNCTION EXTENSIONS:AUTOLOAD) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :XP)
+(DOLIST (SYSTEM::FS (QUOTE ((("pprint") LP<-BP TP<-BP BP<-LP BP<-TP LP<-TP CHECK-SIZE SECTION-START PREFIX-PTR SUFFIX-PTR NON-BLANK-PREFIX-PTR INITIAL-PREFIX-PTR SECTION-START-LINE QTYPE QKIND QPOS QDEPTH QEND QOFFSET QARG QNEXT MAYBE-TOO-LARGE MISERING? PPRINT-LOGICAL-BLOCK+ PPRINT-POP+)))) (FUNCALL (FUNCTION EXTENSIONS:AUTOLOAD-MACRO) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :PRECOMPILER)
+(DOLIST (SYSTEM::FS (QUOTE ())) (FUNCALL (FUNCTION AUTOLOAD) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :PROFILER)
+(DOLIST (SYSTEM::FS (QUOTE ((("profiler") MAKE-PROFILE-INFO PROFILE-INFO-P LIST-CALLED-OBJECTS OBJECT-NAME OBJECT-COMPILED-FUNCTION-P SHOW-CALL-COUNT SHOW-HOT-COUNT SHOW-CALL-COUNTS SHOW-HOT-COUNTS START-PROFILER)))) (FUNCALL (FUNCTION AUTOLOAD) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :PROFILER)
+(DOLIST (SYSTEM::FS (QUOTE ((("profiler") WITH-PROFILING)))) (FUNCALL (FUNCTION AUTOLOAD-MACRO) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :JAVA)
+(DOLIST (SYSTEM::FS (QUOTE ((("java-collections") JLIST-ADD JLIST-SET JLIST-GET MAKE-JSEQUENCE-LIKE MAKE-JLIST-ITERATOR JSET-ADD) (("java") ADD-URL-TO-CLASSPATH ADD-URLS-TO-CLASSPATH ADD-TO-CLASSPATH JREGISTER-HANDLER JINTERFACE-IMPLEMENTATION JMAKE-INVOCATION-HANDLER JMAKE-PROXY CANONICALIZE-JPROXY-INTERFACES JEQUAL JOBJECT-CLASS JCLASS-SUPERCLASS JCLASS-INTERFACES JCLASS-INTERFACE-P JCLASS-SUPERCLASS-P JCLASS-ARRAY-P JARRAY-COMPONENT-TYPE JARRAY-LENGTH JNEW-ARRAY-FROM-ARRAY JNEW-ARRAY-FROM-LIST JARRAY-FROM-LIST LIST-FROM-JARRAY VECTOR-FROM-JARRAY LIST-FROM-JENUMERATION JCLASS-CONSTRUCTORS JCONSTRUCTOR-PARAMS JCLASS-FIELDS JCLASS-FIELD JFIELD-TYPE JFIELD-NAME JCLASS-METHODS JMETHOD-PARAMS JMETHOD-RETURN-TYPE JMETHOD-DECLARING-CLASS JMETHOD-NAME JINSTANCE-OF-P JMEMBER-STATIC-P JMEMBER-PUBLIC-P JMEMBER-PROTECTED-P JPROPERTY-VALUE JCLASS-ADDITIONAL-SUPERCLASSES ENSURE-JAVA-CLASS JINPUT-STREAM) (("runtime-class") JNEW-RUNTIME-CLASS %JNEW-RUNTIME-CLASS MAKE-ACCESSOR-NAME CANONICALIZE-JAVA-TYPE EMIT-UNBOX-AND-RETURN RUNTIME-CLASS-ADD-METHODS RUNTIME-CLASS-ADD-FIELDS)))) (FUNCALL (FUNCTION AUTOLOAD) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :JAVA)
+(DOLIST (SYSTEM::FS (QUOTE ((("java") CHAIN JMETHOD-LET) (("runtime-class") DEFINE-JAVA-CLASS)))) (FUNCALL (FUNCTION AUTOLOAD-MACRO) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :JVM)
+(DOLIST (SYSTEM::FS (QUOTE (  (("dump-class") READ-U1 READ-U2 READ-U4 LOOKUP-UTF8 READ-CONSTANT-POOL-ENTRY DUMP-CODE DUMP-CODE-ATTRIBUTE DUMP-EXCEPTIONS READ-ATTRIBUTE READ-INFO DUMP-CLASS) (("jvm-class-file") MAP-PRIMITIVE-TYPE %MAKE-JVM-CLASS-NAME JVM-CLASS-NAME-P MAKE-JVM-CLASS-NAME CLASS-ARRAY INTERNAL-FIELD-TYPE INTERNAL-FIELD-REF DESCRIPTOR DESCRIPTOR-STACK-EFFECT MAKE-POOL POOL-P MAKE-CONSTANT CONSTANT-P MAKE-CONSTANT-CLASS CONSTANT-CLASS-P %MAKE-CONSTANT-MEMBER-REF CONSTANT-MEMBER-REF-P MAKE-CONSTANT-FIELD-REF MAKE-CONSTANT-METHOD-REF MAKE-CONSTANT-INTERFACE-METHOD-REF MAKE-CONSTANT-STRING CONSTANT-STRING-P %MAKE-CONSTANT-FLOAT/INT CONSTANT-FLOAT/INT-P MAKE-CONSTANT-FLOAT MAKE-CONSTANT-INT %MAKE-CONSTANT-DOUBLE/LONG CONSTANT-DOUBLE/LONG-P MAKE-CONSTANT-DOUBLE MAKE-CONSTANT-LONG MAKE-CONSTANT-NAME/TYPE CONSTANT-NAME/TYPE-P MAKE-CONSTANT-UTF8 CONSTANT-UTF8-P POOL-ADD-CLASS POOL-ADD-FIELD-REF POOL-ADD-METHOD-REF POOL-ADD-INTERFACE-METHOD-REF POOL-ADD-STRING POOL-ADD-INT POOL-ADD-FLOAT POOL-ADD-LONG POOL-ADD-DOUBLE POOL-ADD-NAME/TYPE POOL-ADD-UTF8 MAKE-CLASS-FILE CLASS-FILE-P MAKE-CLASS-INTERFACE-FILE CLASS-ADD-FIELD CLASS-FIELD CLASS-ADD-METHOD CLASS-METHODS-BY-NAME CLASS-METHOD CLASS-ADD-ATTRIBUTE CLASS-ADD-SUPERINTERFACE CLASS-ATTRIBUTE FINALIZE-INTERFACES FINALIZE-CLASS-FILE WRITE-U1 WRITE-U2 WRITE-U4 WRITE-S4 WRITE-ASCII WRITE-UTF8 WRITE-CLASS-FILE WRITE-CONSTANTS PRINT-CONSTANT MAP-FLAGS %MAKE-FIELD FIELD-P MAKE-FIELD FIELD-ADD-ATTRIBUTE FIELD-ATTRIBUTE FINALIZE-FIELD WRITE-FIELD %MAKE-JVM-METHOD JVM-METHOD-P MAP-METHOD-NAME MAKE-JVM-METHOD METHOD-ADD-ATTRIBUTE METHOD-ADD-CODE METHOD-ENSURE-CODE METHOD-ATTRIBUTE FINALIZE-METHOD WRITE-METHOD MAKE-ATTRIBUTE ATTRIBUTE-P FINALIZE-ATTRIBUTES WRITE-ATTRIBUTES %MAKE-CODE-ATTRIBUTE CODE-ATTRIBUTE-P CODE-LABEL-OFFSET FINALIZE-CODE-ATTRIBUTE WRITE-CODE-ATTRIBUTE MAKE-CODE-ATTRIBUTE CODE-ADD-ATTRIBUTE CODE-ATTRIBUTE CODE-ADD-EXCEPTION-HANDLER MAKE-EXCEPTION EXCEPTION-P MAKE-CONSTANT-VALUE-ATTRIBUTE CONSTANT-VALUE-ATTRIBUTE-P MAKE-CHECKED-EXCEPTIONS-ATTRIBUTE CHECKED-EXCEPTIONS-ATTRIBUTE-P FINALIZE-CHECKED-EXCEPTIONS WRITE-CHECKED-EXCEPTIONS MAKE-DEPRECATED-ATTRIBUTE DEPRECATED-ATTRIBUTE-P SAVE-CODE-SPECIALS RESTORE-CODE-SPECIALS MAKE-SOURCE-FILE-ATTRIBUTE SOURCE-FILE-ATTRIBUTE-P FINALIZE-SOURCE-FILE WRITE-SOURCE-FILE MAKE-SYNTHETIC-ATTRIBUTE SYNTHETIC-ATTRIBUTE-P MAKE-LINE-NUMBERS-ATTRIBUTE LINE-NUMBERS-ATTRIBUTE-P MAKE-LINE-NUMBER LINE-NUMBER-P FINALIZE-LINE-NUMBERS WRITE-LINE-NUMBERS LINE-NUMBERS-ADD-LINE MAKE-LOCAL-VARIABLES-ATTRIBUTE LOCAL-VARIABLES-ATTRIBUTE-P MAKE-LOCAL-VARIABLE LOCAL-VARIABLE-P FINALIZE-LOCAL-VARIABLES WRITE-LOCAL-VARIABLES MAKE-ANNOTATIONS-ATTRIBUTE ANNOTATIONS-ATTRIBUTE-P MAKE-ANNOTATION ANNOTATION-P MAKE-ANNOTATION-ELEMENT ANNOTATION-ELEMENT-P MAKE-PRIMITIVE-OR-STRING-ANNOTATION-ELEMENT PRIMITIVE-OR-STRING-ANNOTATION-ELEMENT-P MAKE-ENUM-VALUE-ANNOTATION-ELEMENT ENUM-VALUE-ANNOTATION-ELEMENT-P MAKE-ANNOTATION-VALUE-ANNOTATION-ELEMENT ANNOTATION-VALUE-ANNOTATION-ELEMENT-P MAKE-ARRAY-ANNOTATION-ELEMENT ARRAY-ANNOTATION-ELEMENT-P MAKE-RUNTIME-VISIBLE-ANNOTATIONS-ATTRIBUTE RUNTIME-VISIBLE-ANNOTATIONS-ATTRIBUTE-P FINALIZE-ANNOTATIONS FINALIZE-ANNOTATION FINALIZE-ANNOTATION-ELEMENT WRITE-ANNOTATIONS WRITE-ANNOTATION WRITE-ANNOTATION-ELEMENT)   (("runtime-class") EMIT-INVOKESPECIAL PARSE-ANNOTATION PARSE-ANNOTATION-ELEMENT)))) (FUNCALL (FUNCTION AUTOLOAD) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :JVM)
+(DOLIST (SYSTEM::FS (QUOTE (  (("dump-class") OUT)  (("jvm") DEFINE-OPCODE EMIT DEFINE-RESOLVER) ))) (FUNCALL (FUNCTION AUTOLOAD-MACRO) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :EXTENSIONS)
+(DOLIST (SYSTEM::FS (QUOTE ((("collect") COLLECT-NORMAL-EXPANDER COLLECT-LIST-EXPANDER) (("compile-file") COMPILE-FILE-IF-NEEDED) (("compile-system") GROVEL-JAVA-DEFINITIONS COMPILE-SYSTEM) (("debug") SHOW-RESTARTS) (("describe-compiler-policy") DESCRIBE-COMPILER-POLICY) (("featurep") FEATUREP) (("gui") INIT-GUI MAKE-DIALOG-PROMPT-STREAM %MAKE-DIALOG-PROMPT-STREAM) (("pathnames") URL-PATHNAME-SCHEME SET-URL-PATHNAME-SCHEME URL-PATHNAME-AUTHORITY SET-URL-PATHNAME-AUTHORITY URL-PATHNAME-QUERY SET-URL-PATHNAME-QUERY URL-PATHNAME-FRAGMENT SET-URL-PATHNAME-FRAGMENT) (("pprint") CHARPOS)   (("run-program") RUN-PROGRAM PROCESS-P PROCESS-ALIVE-P PROCESS-WAIT PROCESS-EXIT-CODE PROCESS-KILL) (("run-shell-command") RUN-SHELL-COMMAND) (("search") SIMPLE-SEARCH) (("socket") GET-SOCKET-STREAM MAKE-SOCKET MAKE-SERVER-SOCKET SOCKET-ACCEPT SOCKET-CLOSE SERVER-SOCKET-CLOSE SOCKET-LOCAL-ADDRESS SOCKET-PEER-ADDRESS SOCKET-LOCAL-PORT SOCKET-PEER-PORT)))) (FUNCALL (FUNCTION AUTOLOAD) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :EXTENSIONS)
+(DOLIST (SYSTEM::FS (QUOTE ((("aver") AVER) (("collect") COLLECT) ))) (FUNCALL (FUNCTION AUTOLOAD-MACRO) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :THREADS)
+(DOLIST (SYSTEM::FS (QUOTE ((("threads") THREAD-FUNCTION-WRAPPER MAKE-MAILBOX MAILBOX-P MAILBOX-SEND MAILBOX-EMPTY-P MAILBOX-READ MAILBOX-PEEK MAKE-MUTEX MUTEX-P GET-MUTEX RELEASE-MUTEX MAKE-THREAD-LOCK)))) (FUNCALL (FUNCTION AUTOLOAD) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :THREADS)
+(DOLIST (SYSTEM::FS (QUOTE ((("threads") WITH-MUTEX WITH-THREAD-LOCK)))) (FUNCALL (FUNCTION AUTOLOAD-MACRO) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :SYSTEM)
+(DOLIST (FS (QUOTE ((("abcl-contrib") FIND-SYSTEM-JAR FIND-CONTRIB) (("assert") ASSERT-ERROR ASSERT-PROMPT) (("aver") %FAILED-AVER)  (("bit-array-ops") BIT-ARRAY-SAME-DIMENSIONS-P REQUIRE-SAME-DIMENSIONS PICK-RESULT-ARRAY) (("case") LIST-OF-LENGTH-AT-LEAST-P CASE-BODY-ERROR CASE-BODY-AUX CASE-BODY) (("check-type") CHECK-TYPE-ERROR) (("clos") %DEFGENERIC CANONICALIZE-DIRECT-SUPERCLASSES ENSURE-CLASS) (("coerce") COERCE-LIST-TO-VECTOR COPY-STRING COERCE-ERROR COERCE-OBJECT-TO-AND-TYPE) (("compile-file-pathname") CFP-OUTPUT-FILE-DEFAULT) (("compile-file") BASE-CLASSNAME FASL-LOADER-CLASSNAME COMPUTE-CLASSFILE-NAME SANITIZE-CLASS-NAME NEXT-CLASSFILE-NAME DUMMY VERIFY-LOAD NOTE-TOPLEVEL-FORM OUTPUT-FORM FINALIZE-FASL-OUTPUT SIMPLE-TOPLEVEL-FORM-P CONVERT-TOPLEVEL-FORM PROCESS-PROGN PRECOMPILE-TOPLEVEL-FORM PROCESS-TOPLEVEL-MACROLET PROCESS-TOPLEVEL-DEFCONSTANT PROCESS-TOPLEVEL-QUOTE PROCESS-TOPLEVEL-IMPORT PROCESS-TOPLEVEL-MOP.ENSURE-METHOD PROCESS-TOPLEVEL-DEFVAR/DEFPARAMETER PROCESS-TOPLEVEL-DEFPACKAGE/IN-PACKAGE PROCESS-TOPLEVEL-DECLARE PROCESS-TOPLEVEL-PROGN PROCESS-TOPLEVEL-DEFTYPE PROCESS-TOPLEVEL-EVAL-WHEN PROCESS-TOPLEVEL-DEFMETHOD/DEFGENERIC PROCESS-TOPLEVEL-LOCALLY PROCESS-TOPLEVEL-DEFMACRO PROCESS-TOPLEVEL-DEFUN INSTALL-TOPLEVEL-HANDLER PROCESS-TOPLEVEL-FORM POPULATE-ZIP-FASL WRITE-FASL-PROLOGUE) (("compile-system") CHECK-LISP-HOME GROVEL-JAVA-DEFINITIONS-IN-FILE PACKAGES-FROM-COMBOS REMOVE-MULTI-COMBO-SYMBOLS SET-EQUAL COMBOS-TO-SYMBOL-FILESETS COMBOS-TO-FILESET-SYMBOLS WRITE-AUTOLOADER WRITE-PACKAGE-FILESETS LOAD-COMBOS GENERATE-AUTOLOADS %COMPILE-SYSTEM CREATE-SYSTEM-LOGICAL-TRANSLATIONS) (("compiler-error") COMPILER-STYLE-WARN COMPILER-WARN COMPILER-ERROR INTERNAL-COMPILER-ERROR COMPILER-UNSUPPORTED) (("compiler-macro") COMPILER-MACROEXPAND-1 COMPILER-MACROEXPAND)  (("compiler-types") MAKE-CONSTANT-TYPE CONSTANT-TYPE-P %MAKE-INTEGER-TYPE INTEGER-TYPE-P MAKE-INTEGER-TYPE FIXNUM-TYPE-P FIXNUM-CONSTANT-VALUE INTEGER-CONSTANT-VALUE JAVA-LONG-TYPE-P MAKE-UNION-TYPE MAKE-COMPILER-TYPE INTEGER-TYPE-SUBTYPEP COMPILER-SUBTYPEP FUNCTION-RESULT-TYPE SET-FUNCTION-RESULT-TYPE %DEFKNOWN) (("concatenate") CONCATENATE-TO-STRING) (("debug") INTERNAL-DEBUG DEBUG-LOOP INVOKE-DEBUGGER-REPORT-CONDITION RUN-HOOK BACKTRACE-AS-LIST) (("define-symbol-macro") %DEFINE-SYMBOL-MACRO) (("defpackage") DESIGNATED-PACKAGE-NAME STRINGIFY-NAMES CHECK-DISJOINT) (("defsetf") %DEFSETF) (("defstruct") MAKE-DEFSTRUCT-DESCRIPTION MAKE-DEFSTRUCT-SLOT-DESCRIPTION KEYWORDIFY DEFINE-KEYWORD-CONSTRUCTOR FIND-DSD GET-SLOT DEFINE-BOA-CONSTRUCTOR DEFAULT-CONSTRUCTOR-NAME DEFINE-CONSTRUCTORS NAME-INDEX DEFINE-PREDICATE MAKE-LIST-READER MAKE-VECTOR-READER MAKE-STRUCTURE-READER DEFINE-READER MAKE-LIST-WRITER MAKE-VECTOR-WRITER MAKE-STRUCTURE-WRITER DEFINE-WRITER DEFINE-ACCESS-FUNCTIONS DEFINE-COPIER DEFINE-PRINT-FUNCTION PARSE-1-OPTION PARSE-NAME-AND-OPTIONS COMPILER-DEFSTRUCT DEFSTRUCT-DEFAULT-CONSTRUCTOR) (("deftype") EXPAND-DEFTYPE) (("delete-duplicates") LIST-DELETE-DUPLICATES* VECTOR-DELETE-DUPLICATES*) (("describe") DESCRIBE-ARGLIST %DESCRIBE-OBJECT) (("destructuring-bind") PARSE-BODY ARG-COUNT-ERROR PARSE-DEFMACRO DEFMACRO-ERROR VERIFY-KEYWORDS LOOKUP-KEYWORD KEYWORD-SUPPLIED-P PARSE-DEFMACRO-LAMBDA-LIST PUSH-SUB-LIST-BINDING PUSH-LET-BINDING PUSH-OPTIONAL-BINDING MAKE-EXPANDER-FOR-MACROLET) (("directory") PATHNAME-AS-FILE WILD-INFERIORS-P LIST-DIRECTORIES-WITH-WILDCARDS) (("do") DO-DO-BODY) (("dump-form") GET-INSTANCE-FORM DF-REGISTER-CIRCULARITY DF-CHECK-CONS DF-CHECK-VECTOR DF-CHECK-INSTANCE DF-CHECK-OBJECT DF-HANDLE-CIRCULARITY DUMP-CONS DUMP-VECTOR DUMP-INSTANCE DUMP-UNINTERNED-SYMBOL-INDEX DUMP-OBJECT DUMP-FORM)  (("ed") DEFAULT-ED-FUNCTION) (("enough-namestring") EQUAL-COMPONENTS-P)  (("fill") LIST-FILL VECTOR-FILL) (("find") LIST-POSITION* VECTOR-POSITION* LIST-FIND* VECTOR-FIND*) (("format") SYMBOLICATE PROPER-LIST-OF-LENGTH-P FLONUM-TO-STRING ROUND-UP SCALE-EXPONENT FLOAT-DENORMALIZED-P) (("inline") INLINE-EXPANSION SET-INLINE-EXPANSION) (("inspect") LEADER SAFE-LENGTH DISPLAY-OBJECT DISPLAY-CURRENT ISTEP) (("late-setf") MAKE-GENSYM-LIST) (("lcm") TWO-ARG-LCM) (("ldb") %LDB) (("load") LOAD-RETURNING-LAST-RESULT) (("make-sequence") SIZE-MISMATCH-ERROR) (("map1") MAP1) (("nsubstitute") NLIST-SUBSTITUTE* NVECTOR-SUBSTITUTE* NLIST-SUBSTITUTE-IF* NVECTOR-SUBSTITUTE-IF* NLIST-SUBSTITUTE-IF-NOT* NVECTOR-SUBSTITUTE-IF-NOT*) (("open") UPGRADED-ELEMENT-TYPE-BITS UPGRADED-ELEMENT-TYPE) (("parse-integer") PARSE-INTEGER-ERROR) (("parse-lambda-list") PARSE-LAMBDA-LIST-LIKE-THING PARSE-LAMBDA-LIST) (("pathnames") COMPONENT-MATCH-WILD-P COMPONENT-MATCH-P DIRECTORY-MATCH-COMPONENTS DIRECTORY-MATCH-P WILD-P CASIFY TRANSLATE-COMPONENT TRANSLATE-JAR-DEVICE TRANSLATE-DIRECTORY-COMPONENTS-AUX TRANSLATE-DIRECTORY-COMPONENTS TRANSLATE-DIRECTORY LOGICAL-HOST-P CANONICALIZE-LOGICAL-PATHNAME-TRANSLATIONS %SET-LOGICAL-PATHNAME-TRANSLATIONS)  (("print-unreadable-object") %PRINT-UNREADABLE-OBJECT) (("print") COMPOUND-OBJECT-P OUTPUT-INTEGER OUTPUT-LIST OUTPUT-TERSE-ARRAY ARRAY-READABLY-PRINTABLE-P OUTPUT-VECTOR OUTPUT-UGLY-OBJECT CHECK-FOR-CIRCULARITY HANDLE-CIRCULARITY PRINT-LABEL PRINT-REFERENCE UNIQUELY-IDENTIFIED-BY-PRINT-P %PRINT-OBJECT %CHECK-OBJECT OUTPUT-OBJECT) (("proclaim") DECLARATION-ERROR CHECK-DECLARATION-TYPE PROCLAIM-TYPE PROCLAIMED-TYPE PROCLAIM-FTYPE-1 PROCLAIM-FTYPE PROCLAIMED-FTYPE FTYPE-RESULT-TYPE) (("query") QUERY-READLINE) (("read-circle") CIRCLE-SUBST SHARP-EQUAL SHARP-SHARP) (("read-conditional") READ-FEATURE READ-CONDITIONAL) (("remove-duplicates") LIST-REMOVE-DUPLICATES VECTOR-REMOVE-DUPLICATES) (("replace") LIST-REPLACE-FROM-LIST* LIST-REPLACE-FROM-VECTOR* VECTOR-REPLACE-FROM-LIST* VECTOR-REPLACE-FROM-VECTOR*)   (("run-program") %MAKE-PROCESS MAKE-PROCESS %MAKE-PROCESS-BUILDER %PROCESS-BUILDER-ENVIRONMENT %PROCESS-BUILDER-ENV-PUT %PROCESS-BUILDER-ENV-CLEAR %PROCESS-BUILDER-START %MAKE-PROCESS-INPUT-STREAM %MAKE-PROCESS-OUTPUT-STREAM %MAKE-PROCESS-ERROR-STREAM %PROCESS-ALIVE-P %PROCESS-WAIT %PROCESS-EXIT-CODE %PROCESS-KILL) (("sequences") MAKE-SEQUENCE-OF-TYPE) (("setf") GET-SETF-METHOD-INVERSE EXPAND-OR-GET-SETF-INVERSE %SET-SUBSEQ %DEFINE-SETF-MACRO %SET-CAAR %SET-CADR %SET-CDAR %SET-CDDR %SET-CAAAR %SET-CADAR %SET-CDAAR %SET-CDDAR %SET-CAADR %SET-CADDR %SET-CDADR %SET-CDDDR %SET-CAAAAR %SET-CADAAR %SET-CDAAAR %SET-CDDAAR %SET-CAADAR %SET-CADDAR %SET-CDADAR %SET-CDDDAR %SET-CAAADR %SET-CADADR %SET-CDAADR %SET-CDDADR %SET-CAADDR %SET-CADDDR %SET-CDADDR %SET-CDDDDR %SET-FIFTH %SET-SIXTH %SET-SEVENTH %SET-EIGHTH %SET-NINTH %SET-TENTH) (("socket") %SOCKET-ADDRESS %SOCKET-PORT) (("sort") MERGE-SORT-VECTORS LAST-CONS-OF MERGE-LISTS MERGE-LISTS-NO-KEY SORT-LIST QUICKSORT QUICK-SORT) (("source-transform") SOURCE-TRANSFORM SET-SOURCE-TRANSFORM EXPAND-SOURCE-TRANSFORM-1 EXPAND-SOURCE-TRANSFORM) (("subst") %SUBST %SUBST-IF %SUBST-IF-NOT) (("subtypep") INITIALIZE-KNOWN-TYPES KNOWN-TYPE-P SUB-INTERVAL-P DIMENSION-SUBTYPEP SIMPLE-SUBTYPEP MAKE-CTYPE CTYPE-SUPER CTYPE-TYPE CTYPE CSUBTYPEP-ARRAY CSUBTYPEP-FUNCTION CSUBTYPEP-COMPLEX CSUBTYPEP %SUBTYPEP) (("time") PICK-OBVIOUS-YEAR LEAP-YEARS-BEFORE) (("trace") MAKE-TRACE-INFO TRACE-INFO-P LIST-TRACED-FUNCTIONS EXPAND-TRACE TRACE-1 TRACED-FUNCTION INDENT UNTRACE-ALL UNTRACE-1) (("tree-equal") TREE-EQUAL-TEST-NOT TREE-EQUAL-TEST) (("typep") SIMPLE-ARRAY-P IN-INTERVAL-P MATCH-DIMENSIONS %TYPEP) (("with-hash-table-iterator") HASH-TABLE-ITERATOR-FUNCTION) (("with-package-iterator") PACKAGE-ITERATOR-FUNCTION) (("with-standard-io-syntax") %WITH-STANDARD-IO-SYNTAX)))) (FUNCALL (FUNCTION AUTOLOAD) (CDR FS) (CAR (CAR FS))))
+(IN-PACKAGE :SYSTEM)
+(DOLIST (FS (QUOTE ((("assoc") ASSOC-GUTS) (("chars") EQUAL-CHAR-CODE) (("compile-file") REPORT-ERROR DIAG) (("compiler-types") DEFKNOWN) (("copy-seq") VECTOR-COPY-SEQ LIST-COPY-SEQ) (("define-modify-macro") INCF-COMPLEX DECF-COMPLEX) (("defstruct") DD-NAME DD-CONC-NAME DD-DEFAULT-CONSTRUCTOR DD-CONSTRUCTORS DD-COPIER DD-INCLUDE DD-TYPE DD-NAMED DD-INITIAL-OFFSET DD-PREDICATE DD-PRINT-FUNCTION DD-PRINT-OBJECT DD-DIRECT-SLOTS DD-SLOTS DD-INHERITED-ACCESSORS DSD-NAME DSD-INDEX DSD-READER DSD-INITFORM DSD-TYPE DSD-READ-ONLY) (("delete") MUMBLE-DELETE MUMBLE-DELETE-FROM-END NORMAL-MUMBLE-DELETE NORMAL-MUMBLE-DELETE-FROM-END LIST-DELETE LIST-DELETE-FROM-END NORMAL-LIST-DELETE NORMAL-LIST-DELETE-FROM-END IF-MUMBLE-DELETE IF-MUMBLE-DELETE-FROM-END IF-LIST-DELETE IF-LIST-DELETE-FROM-END IF-NOT-MUMBLE-DELETE IF-NOT-MUMBLE-DELETE-FROM-END IF-NOT-LIST-DELETE IF-NOT-LIST-DELETE-FROM-END) (("find") VECTOR-LOCATER-MACRO LOCATER-TEST-NOT VECTOR-LOCATER LOCATER-IF-TEST VECTOR-LOCATER-IF-MACRO VECTOR-LOCATER-IF VECTOR-LOCATER-IF-NOT LIST-LOCATER-MACRO LIST-LOCATER LIST-LOCATER-IF-MACRO LIST-LOCATER-IF LIST-LOCATER-IF-NOT VECTOR-POSITION LIST-POSITION VECTOR-POSITION-IF LIST-POSITION-IF VECTOR-POSITION-IF-NOT LIST-POSITION-IF-NOT VECTOR-FIND LIST-FIND VECTOR-FIND-IF LIST-FIND-IF VECTOR-FIND-IF-NOT LIST-FIND-IF-NOT) (("format") NAMED-LET ONCE-ONLY) (("list") APPLY-KEY)  (("print") PUNT-PRINT-IF-TOO-LONG) (("reduce") LIST-REDUCE LIST-REDUCE-FROM-END) (("remove") MUMBLE-REMOVE-MACRO MUMBLE-REMOVE MUMBLE-REMOVE-FROM-END NORMAL-MUMBLE-REMOVE NORMAL-MUMBLE-REMOVE-FROM-END IF-MUMBLE-REMOVE IF-MUMBLE-REMOVE-FROM-END IF-NOT-MUMBLE-REMOVE IF-NOT-MUMBLE-REMOVE-FROM-END LIST-REMOVE-MACRO LIST-REMOVE LIST-REMOVE-FROM-END NORMAL-LIST-REMOVE NORMAL-LIST-REMOVE-FROM-END IF-LIST-REMOVE IF-LIST-REMOVE-FROM-END IF-NOT-LIST-REMOVE IF-NOT-LIST-REMOVE-FROM-END)  (("sequences") TYPE-SPECIFIER-ATOM MAKE-SEQUENCE-LIKE) (("sets") WITH-SET-KEYS STEVE-SPLICE) (("sort") MERGE-VECTORS-BODY MERGE-SORT-BODY QUICKSORT-BODY) (("source-transform") DEFINE-SOURCE-TRANSFORM) (("subst") SATISFIES-THE-TEST)))) (FUNCALL (FUNCTION AUTOLOAD-MACRO) (CDR FS) (CAR (CAR FS))))
+(IN-PACKAGE :CL)
+(DOLIST (SYSTEM::FS (QUOTE ((("adjoin") ADJOIN) (("apropos") APROPOS-LIST APROPOS) (("arrays") MAKE-ARRAY ADJUST-ARRAY ARRAY-ROW-MAJOR-INDEX BIT SBIT) (("assoc") ASSOC ASSOC-IF ASSOC-IF-NOT RASSOC RASSOC-IF RASSOC-IF-NOT ACONS PAIRLIS COPY-ALIST) (("bit-array-ops") BIT-AND BIT-IOR BIT-XOR BIT-EQV BIT-NAND BIT-NOR BIT-ANDC1 BIT-ANDC2 BIT-ORC1 BIT-ORC2 BIT-NOT) (("boole") BOOLE) (("butlast") BUTLAST NBUTLAST) (("byte-io") WRITE-BYTE READ-BYTE) (("chars") CHAR/= CHAR> CHAR>= CHAR-NOT-EQUAL) (("clos") CLASS-NAME NO-APPLICABLE-METHOD FUNCTION-KEYWORDS SLOT-VALUE SLOT-BOUNDP SLOT-MAKUNBOUND SLOT-EXISTS-P METHOD-QUALIFIERS ENSURE-GENERIC-FUNCTION COMPUTE-APPLICABLE-METHODS DOCUMENTATION SLOT-MISSING SLOT-UNBOUND ALLOCATE-INSTANCE INITIALIZE-INSTANCE REINITIALIZE-INSTANCE CHANGE-CLASS UPDATE-INSTANCE-FOR-DIFFERENT-CLASS MAKE-INSTANCES-OBSOLETE UPDATE-INSTANCE-FOR-REDEFINED-CLASS MAKE-CONDITION INVALID-METHOD-ERROR METHOD-COMBINATION-ERROR FIND-METHOD ADD-METHOD REMOVE-METHOD NO-NEXT-METHOD) (("coerce") COERCE) (("compile-file-pathname") COMPILE-FILE-PATHNAME) (("compile-file") COMPILE-FILE) (("compiler-macro") COMPILER-MACRO-FUNCTION)  (("concatenate") CONCATENATE) (("copy-seq") COPY-SEQ) (("copy-symbol") COPY-SYMBOL) (("count") COUNT COUNT-IF COUNT-IF-NOT) (("debug") INVOKE-DEBUGGER BREAK) (("delete-duplicates") DELETE-DUPLICATES) (("delete") DELETE DELETE-IF DELETE-IF-NOT) (("deposit-field") DEPOSIT-FIELD) (("describe") DESCRIBE) (("directory") DIRECTORY) (("disassemble") DISASSEMBLE) (("dribble") DRIBBLE) (("ed") ED) (("enough-namestring") ENOUGH-NAMESTRING) (("ensure-directories-exist") ENSURE-DIRECTORIES-EXIST)   (("fill") FILL) (("find-all-symbols") FIND-ALL-SYMBOLS) (("find") POSITION POSITION-IF POSITION-IF-NOT FIND FIND-IF FIND-IF-NOT) (("format") FORMAT) (("gentemp") GENTEMP) (("inspect") INSPECT) (("lcm") LCM) (("ldb") BYTE BYTE-SIZE BYTE-POSITION LDB LDB-TEST DPB) (("ldiff") LDIFF) (("list-length") LIST-LENGTH) (("list") FIFTH SIXTH SEVENTH EIGHTH NINTH TENTH MAKE-LIST COMPLEMENT CONSTANTLY MEMBER) (("load") LOAD) (("make-hash-table") MAKE-HASH-TABLE) (("make-load-form-saving-slots") MAKE-LOAD-FORM-SAVING-SLOTS) (("make-sequence") MAKE-SEQUENCE) (("make-string-output-stream") MAKE-STRING-OUTPUT-STREAM) (("make-string") MAKE-STRING) (("map-into") MAP-INTO) (("map") MAP) (("map1") MAPCAN MAPL MAPLIST MAPCON) (("mask-field") MASK-FIELD) (("member-if") MEMBER-IF MEMBER-IF-NOT) (("mismatch") BAD-SEQ-LIMIT THE-END THE-START CALL-TEST TEST-ERROR MISMATCH) (("nsubstitute") NSUBSTITUTE NSUBSTITUTE-IF NSUBSTITUTE-IF-NOT) (("numbers") SIGNUM ROUND FFLOOR FCEILING FROUND RATIONALIZE GCD ISQRT FLOAT-PRECISION DECODE-FLOAT CONJUGATE PHASE) (("open") OPEN) (("package") MAKE-PACKAGE IMPORT DELETE-PACKAGE) (("parse-integer") PARSE-INTEGER) (("pathnames") PATHNAME-HOST PATHNAME-DEVICE PATHNAME-DIRECTORY PATHNAME-NAME PATHNAME-TYPE WILD-PATHNAME-P PATHNAME-MATCH-P TRANSLATE-PATHNAME LOGICAL-PATHNAME-TRANSLATIONS TRANSLATE-LOGICAL-PATHNAME LOAD-LOGICAL-PATHNAME-TRANSLATIONS LOGICAL-PATHNAME PARSE-NAMESTRING) (("pprint-dispatch") COPY-PPRINT-DISPATCH SET-PPRINT-DISPATCH PPRINT-DISPATCH) (("pprint") WRITE PRINT PRIN1 PRINC PPRINT WRITE-TO-STRING PRIN1-TO-STRING PRINC-TO-STRING WRITE-CHAR WRITE-STRING WRITE-LINE TERPRI FRESH-LINE FINISH-OUTPUT FORCE-OUTPUT CLEAR-OUTPUT PPRINT-NEWLINE PPRINT-INDENT PPRINT-TAB PPRINT-LINEAR PPRINT-FILL PPRINT-TABULAR) (("proclaim") PROCLAIM) (("query") Y-OR-N-P YES-OR-NO-P) (("read-from-string") READ-FROM-STRING) (("read-sequence") READ-SEQUENCE) (("reduce") REDUCE) (("remove-duplicates") REMOVE-DUPLICATES) (("remove") REMOVE REMOVE-IF REMOVE-IF-NOT) (("replace") REPLACE)   (("revappend") REVAPPEND) (("search") SEARCH) (("setf") GET-SETF-EXPANSION) (("sets") UNION NUNION INTERSECTION NINTERSECTION SET-DIFFERENCE NSET-DIFFERENCE SET-EXCLUSIVE-OR NSET-EXCLUSIVE-OR SUBSETP)  (("sort") MERGE SORT STABLE-SORT) (("strings") STRING-UPCASE STRING-DOWNCASE STRING-CAPITALIZE NSTRING-UPCASE NSTRING-DOWNCASE NSTRING-CAPITALIZE STRING= STRING/= STRING-EQUAL STRING-NOT-EQUAL STRING< STRING> STRING<= STRING>= STRING-LESSP STRING-GREATERP STRING-NOT-LESSP STRING-NOT-GREATERP STRING-LEFT-TRIM STRING-RIGHT-TRIM STRING-TRIM) (("sublis") SUBLIS NSUBLIS) (("subst") SUBST SUBST-IF SUBST-IF-NOT NSUBST NSUBST-IF NSUBST-IF-NOT) (("substitute") LIST-SUBSTITUTE* VECTOR-SUBSTITUTE* SUBSTITUTE SUBSTITUTE-IF SUBSTITUTE-IF-NOT) (("subtypep") SUBTYPEP) (("tailp") TAILP) (("time") DECODE-UNIVERSAL-TIME GET-DECODED-TIME ENCODE-UNIVERSAL-TIME) (("tree-equal") TREE-EQUAL) (("typep") TYPEP) (("upgraded-complex-part-type") UPGRADED-COMPLEX-PART-TYPE) (("write-sequence") WRITE-SEQUENCE)))) (FUNCALL (FUNCTION EXTENSIONS:AUTOLOAD) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))
+(IN-PACKAGE :CL)
+(DOLIST (SYSTEM::FS (QUOTE ((("and") AND) (("assert") ASSERT) (("case") CASE CCASE ECASE TYPECASE CTYPECASE ETYPECASE) (("check-type") CHECK-TYPE) (("clos") DEFINE-METHOD-COMBINATION DEFGENERIC DEFMETHOD DEFCLASS DEFINE-CONDITION) (("compiler-macro") DEFINE-COMPILER-MACRO)  (("cond") COND) (("count") VECTOR-COUNT-IF LIST-COUNT-IF) (("define-modify-macro") DEFINE-MODIFY-MACRO) (("define-symbol-macro") DEFINE-SYMBOL-MACRO) (("defmacro") DEFMACRO) (("defpackage") DEFPACKAGE) (("defstruct") DEFSTRUCT) (("deftype") DEFTYPE) (("destructuring-bind") DESTRUCTURING-BIND) (("do-all-symbols") DO-ALL-SYMBOLS) (("do-external-symbols") DO-EXTERNAL-SYMBOLS) (("do-symbols") DO-SYMBOLS) (("do") DO DO*) (("dolist") DOLIST) (("dotimes") DOTIMES) (("error") IGNORE-ERRORS) (("format") FORMATTER) (("late-setf") DEFINE-SETF-EXPANDER) (("loop") LOOP-FINISH)  (("mismatch") WITH-START-END) (("multiple-value-bind") MULTIPLE-VALUE-BIND) (("multiple-value-list") MULTIPLE-VALUE-LIST) (("multiple-value-setq") MULTIPLE-VALUE-SETQ) (("nth-value") NTH-VALUE) (("or") OR) (("pprint") PPRINT-LOGICAL-BLOCK)  (("print-unreadable-object") PRINT-UNREADABLE-OBJECT) (("proclaim") DECLAIM) (("prog") PROG PROG*) (("psetf") PSETF) (("remf") REMF)  (("rotatef") ROTATEF) (("setf") SETF) (("shiftf") SHIFTF)  (("step") STEP) (("sublis") NSUBLIS-MACRO) (("substitute") REAL-COUNT SUBST-DISPATCH) (("trace") TRACE UNTRACE) (("with-accessors") WITH-ACCESSORS) (("with-hash-table-iterator") WITH-HASH-TABLE-ITERATOR) (("with-input-from-string") WITH-INPUT-FROM-STRING) (("with-open-file") WITH-OPEN-FILE) (("with-output-to-string") WITH-OUTPUT-TO-STRING) (("with-package-iterator") WITH-PACKAGE-ITERATOR) (("with-slots") WITH-SLOTS) (("with-standard-io-syntax") WITH-STANDARD-IO-SYNTAX)))) (FUNCALL (FUNCTION EXTENSIONS:AUTOLOAD-MACRO) (CDR SYSTEM::FS) (CAR (CAR SYSTEM::FS))))

Modified: trunk/abcl/src/org/armedbear/lisp/boot.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/boot.lisp	Wed Aug  1 03:39:07 2012	(r14035)
+++ trunk/abcl/src/org/armedbear/lisp/boot.lisp	Wed Aug  1 04:53:36 2012	(r14036)
@@ -146,6 +146,7 @@
 (defun nreverse (sequence)
   (sys::%nreverse sequence))
 
+(load-system-file "autoloads-gen")
 (load-system-file "autoloads")
 (load-system-file "early-defuns")
 (load-system-file "backquote")

Modified: trunk/abcl/src/org/armedbear/lisp/compile-system.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/compile-system.lisp	Wed Aug  1 03:39:07 2012	(r14035)
+++ trunk/abcl/src/org/armedbear/lisp/compile-system.lisp	Wed Aug  1 04:53:36 2012	(r14036)
@@ -79,6 +79,140 @@
        (dolist (file files)
          (grovel-java-definitions-in-file file stream))))))
 
+
+;;
+;; Functions to generate autoloads.lisp
+;;
+
+(defun packages-from-combos (combos)
+  (remove-duplicates (mapcar #'symbol-package
+                             (mapcar #'sys:fdefinition-block-name
+                                     (mapcar #'second combos)))))
+
+(defun remove-multi-combo-symbols (combos)
+  (remove-if (lambda (x)
+               (< 1 (count x combos :key #'second)))
+             combos
+             :key #'second))
+
+(defun set-equal (set1 set2 &key test)
+  (or (eq set1 set2)
+      (equal set1 set2)
+      (and (subsetp set2 set1 :test test)
+           (subsetp set1 set2 :test test))))
+
+(defun combos-to-symbol-filesets (combos)
+  (let (filesets)
+    (dolist (combo combos)
+      (pushnew (list (second combo)) filesets :test #'equal :key #'first)
+      (pushnew (first combo)
+               (cdr (assoc (second combo) filesets :test #'equal))
+               :test #'string=))
+    filesets))
+
+(defun combos-to-fileset-symbols (combos)
+  (let (fileset-symbols)
+    (dolist (symbol-fileset (combos-to-symbol-filesets combos))
+      (pushnew (list (cdr symbol-fileset)) fileset-symbols
+               :test (lambda (x y) (set-equal x y :test #'string=))
+               :key #'first)
+      (pushnew (first symbol-fileset)
+               (cdr (assoc (cdr symbol-fileset) fileset-symbols
+                           :test (lambda (x y) (set-equal x y :test #'string=))))))
+    fileset-symbols))
+
+(defun write-autoloader (stream package type fileset-symbols)
+  (when fileset-symbols
+    (write `(in-package ,package) :stream stream)
+    (terpri stream)
+    (let ((*package* (find-package package)))
+      (write `(dolist (fs ',fileset-symbols)
+                (funcall #',type (cdr fs) (car (car fs)))) :stream stream)
+      (terpri stream))))
+
+(defun write-package-filesets (stream package type filesets-symbols)
+  (let* ((filter-package (find-package package))
+         (filtered-filesets
+         (remove-if (lambda (x)
+                      (null (cdr x)))
+                    (mapcar (lambda (x)
+                              (cons (car x)
+                                    (remove-if-not (lambda (x)
+                                                     ;;; ### TODO: Support SETF functions
+                                                     (and (symbolp x)
+                                                          (eq (symbol-package x)
+                                                              filter-package)))
+                                                   (cdr x))))
+                            filesets-symbols))))
+    (write-autoloader stream package type filtered-filesets)))
+
+(defun load-combos (path-spec)
+  (let (all-functions)
+    (dolist (functions-file (directory path-spec)
+             all-functions)
+      ;; every file has 1 form: the list of functions in it.
+      (let ((base-name (pathname-name functions-file)))
+        (unless (member base-name '("asdf" "gray-streams") :test #'string=)
+          ;; exclude ASDF and GRAY-STREAMS: they have external
+          ;; symbols we don't have until we load them, but we need
+          ;; those symbols to read the symbols files
+          (with-open-file (f functions-file
+                             :direction :input)
+            (dolist (function-name (read f))
+              (push (list base-name function-name) all-functions))))))))
+
+(defun generate-autoloads (symbol-files-pathspec)
+  (flet ((filter-combos (combos)
+           (remove-if (lambda (x)
+                        ;; exclude the symbols from the files
+                        ;; below: putting autoloaders on some of
+                        ;; the symbols conflicts with the bootstrapping
+                        ;; Primitives which have been defined Java-side
+                        (member x '( ;; function definitions to be excluded
+                                    "fdefinition" "early-defuns"
+                                    "require" "signal"
+                                    "extensible-sequences-base" "restart"
+                                    "extensible-sequences"
+                                    ;; macro definitions to be excluded
+                                    "macros" "backquote" "precompiler")
+                                :test #'string=))
+                      (remove-multi-combo-symbols combos)
+                      :key #'first))
+         (symbols-pathspec (filespec)
+           (merge-pathnames filespec symbol-files-pathspec)))
+    (let ((funcs (filter-combos (load-combos (symbols-pathspec "*.funcs"))))
+          (macs (filter-combos (load-combos (symbols-pathspec "*.macs")))))
+      (with-open-file (f (symbols-pathspec "autoloads-gen.lisp")
+                         :direction :output :if-does-not-exist :create
+                         :if-exists :supersede)
+        ;; Generate the lisp file. This file will be included after compilation,
+        ;; so any comments are just for debugging purposes.
+        (terpri f)
+        (write-line ";; ---- GENERATED CONTENT BELOW" f)
+        (terpri f)
+        (write '(identity T) :stream f)
+        (dolist (package '(:format :sequence :loop :mop :xp :precompiler
+                           :profiler :java :jvm :extensions :threads
+                           :toplevel :system :cl))
+          ;; Limit the set of packages:
+          ;;  During incremental compilation, the packages GRAY-STREAMS
+          ;;    and ASDF are not being created. Nor are these packages
+          ;;    vital to the correct operation of the base system.
+          (write-line ";; FUNCTIONS" f)
+          (terpri f)
+          (write-package-filesets f package 'ext:autoload
+                                  (combos-to-fileset-symbols funcs))
+          (write-line ";; MACROS" f)
+          (terpri f)
+          (write-package-filesets f package 'ext:autoload-macro
+                                  (combos-to-fileset-symbols macs)))))))
+
+
+;;
+;; --- End of autoloads.lisp
+;;
+
+
 (defun %compile-system (&key output-path)
   (let ((*default-pathname-defaults* (pathname *lisp-home*))
         (*warn-on-redefinition* nil)
@@ -138,11 +272,9 @@
                            "arrays.lisp"
                            "assert.lisp"
                            "assoc.lisp"
-                           "autoloads.lisp"
                            "aver.lisp"
                            "bit-array-ops.lisp"
                            "boole.lisp"
-                           ;;"boot.lisp"
                            "butlast.lisp"
                            "byte-io.lisp"
                            "case.lisp"
@@ -190,7 +322,6 @@
                            "gui.lisp"
                            "inline.lisp"
                            "inspect.lisp"
-                           ;;"j.lisp"
                            "java.lisp"
                            "java-collections.lisp"
                            "known-functions.lisp"
@@ -242,7 +373,6 @@
                            "restart.lisp"
                            "revappend.lisp"
                            "rotatef.lisp"
-                           ;;"run-benchmarks.lisp"
                            "run-program.lisp"
                            "run-shell-command.lisp"
                            "runtime-class.lisp"
@@ -272,7 +402,20 @@
                            "with-package-iterator.lisp"
                            "with-slots.lisp"
                            "with-standard-io-syntax.lisp"
-                           "write-sequence.lisp")))
+                           "write-sequence.lisp"))
+      ;; With all files compiled, we need to use the symbols collected
+      ;; to generate and compile autoloads.lisp
+
+      ;; Generate the autoloads-gen file in the build directory in order
+      ;; not to clobber the source file - that should keep the system
+      ;; buildable
+
+      (format t "; Generating autoloads...~%")
+      (generate-autoloads output-path)
+      ;; Compile the file in the build directory instead of the one in the
+      ;; sources directory - the latter being for bootstrapping only.
+      (do-compile (merge-pathnames #p"autoloads-gen.lisp" output-path))
+      (do-compile "autoloads.lisp"))
     t))
 
 (defun compile-system (&key quit (zip t) (cls-ext *compile-file-class-extension*) (abcl-ext *compile-file-type*) output-path)

Modified: trunk/abcl/src/org/armedbear/lisp/setf.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/setf.lisp	Wed Aug  1 03:39:07 2012	(r14035)
+++ trunk/abcl/src/org/armedbear/lisp/setf.lisp	Wed Aug  1 04:53:36 2012	(r14036)
@@ -58,9 +58,13 @@
                                  t))))
 
 (defun get-setf-expansion (form &optional environment)
-  (when (and (consp form)
-             (autoloadp (%car form)))
-    (resolve (%car form)))
+;  ### FIXME: resolving here causes functions to be loaded at
+;       Macro expansion time instead of upon their first call!
+;       Discussion to be had on the mailing list.
+;       EH 2012-08-01
+;  (when (and (consp form)
+;             (autoloadp (%car form)))
+;    (resolve (%car form)))
   (let (temp)
     (cond ((symbolp form)
            (multiple-value-bind (expansion expanded)
@@ -86,8 +90,12 @@
         (if (atom place)
             `(setq ,place ,value-form)
             (progn
-              (when (symbolp (%car place))
-                (resolve (%car place)))
+;              ### FIXME: resolving here causes functions to be loaded at
+;                   Macro expansion time instead of upon their first call!
+;                   Discussion to be had on the mailing list.
+;                   EH 2012-08-01
+;              (when (symbolp (%car place))
+;                (resolve (%car place)))
               (multiple-value-bind (dummies vals store-vars setter getter)
                   (get-setf-expansion place environment)
                 (let ((inverse (get (car place) 'setf-inverse)))




More information about the armedbear-cvs mailing list