-;;;; the specifications of SBCL-specific packages, except..
+;;;; -*- Lisp -*-
+
+;;;; the specifications of target packages, except for a few things
+;;;; which are handled elsewhere by other mechanisms:
;;;; * the creation of the trivial SB-SLOT-ACCESSOR-NAME package
;;;; * any SHADOWing hackery
-;;;; The standard, non-SBCL-specific packages COMMON-LISP,
-;;;; COMMON-LISP-USER, and KEYWORD are also handled through other
-;;;; mechanisms.
+;;;; * the standard, non-SBCL-specific packages COMMON-LISP,
+;;;; COMMON-LISP-USER, and KEYWORD
+;;;;
+;;;; The packages are named SB!FOO here and elsewhere in
+;;;; cross-compilation, in order to avoid collision with corresponding
+;;;; SB-FOO packages in the cross-compilation host. They're renamed to
+;;;; SB-FOO later, after the danger of collision has passed.
;;;; This software is part of the SBCL system. See the README file for
;;;; more information.
:reexport ("ARRAY" "BOOLEAN" "DOUBLE-FLOAT" "LONG-FLOAT" "FUNCTION"
"INTEGER" "SINGLE-FLOAT" "UNION" "SYSTEM-AREA-POINTER"
"VALUES" "*")
- :export ("ADDR" "ALIEN" "ALIEN-FUNCALL" "ALIEN-SAP"
- "ALIEN-SIZE" "ALIEN-BOOLEAN" "CAST" "DEF-ALIEN-ROUTINE"
- "DEF-ALIEN-TYPE" "DEF-ALIEN-VARIABLE" "DEF-BUILTIN-ALIEN-TYPE"
- "DEREF" "ENUM" "EXTERN-ALIEN"
+ :export ("ADDR" "ALIEN" "ALIEN-FUNCALL" "ALIEN-SAP" "ALIEN-SIZE"
+ "CAST"
+ "DEF-ALIEN-ROUTINE" "DEF-ALIEN-TYPE"
+ "DEF-ALIEN-VARIABLE" "DEF-BUILTIN-ALIEN-TYPE"
+ "DEREF"
+ "ENUM" "EXTERN-ALIEN"
+ "FREE-ALIEN"
+ "LOAD-FOREIGN" "LOAD-1-FOREIGN"
+ "MAKE-ALIEN"
+ "NULL-ALIEN"
"SAP-ALIEN" "SIGNED" "SLOT" "STRUCT"
- "UNSIGNED" "WITH-ALIEN" "FREE-ALIEN" "NULL-ALIEN"
- "MAKE-ALIEN"
- "LOAD-FOREIGN" "LOAD-1-FOREIGN"))
+ "UNSIGNED"
+ "WITH-ALIEN"))
#s(sb-cold:package-data
:name "SB!ALIEN-INTERNALS"
"%UNWIND-PROTECT-BREAKUP"
"*BACKEND-BYTE-ORDER*" "*BACKEND-DISASSEM-PARAMS*"
- "*BACKEND-INFO-ENVIRONMENT*"
"*BACKEND-INSTRUCTION-FLAVORS*" "*BACKEND-INSTRUCTION-FORMATS*"
"*BACKEND-INTERNAL-ERRORS*" "*BACKEND-PAGE-SIZE*"
"*BACKEND-REGISTER-SAVE-PENALTY*"
"*BACKEND-T-PRIMITIVE-TYPE*"
"*CODE-SEGMENT*"
- "*CONVERTING-FOR-INTERPRETER*"
"*COUNT-VOP-USAGES*" "*ELSEWHERE*"
"*SETF-ASSUMED-FBOUNDP*"
"*SUPPRESS-VALUES-DECLARATION*"
"CHECK-SIGNED-BYTE-32" "CHECK-SYMBOL" "CHECK-UNSIGNED-BYTE-32"
"CLOSURE-INIT" "CLOSURE-REF"
"CODE-CONSTANT-REF" "CODE-CONSTANT-SET"
- "COMPILE-FOR-EVAL" "COMPILER-ERROR"
+ "COMPILER-ERROR"
"COMPONENT" "COMPONENT-HEADER-LENGTH"
"COMPONENT-INFO" "COMPONENT-LIVE-TN" "COMPUTE-FUNCTION"
"COMPUTE-OLD-NFP" "COPY-MORE-ARG"
"HALT" "IF-EQ" "INSTANCE-REF" "INSTANCE-SET"
"IR2-COMPONENT-CONSTANTS" "IR2-CONVERT"
"IR2-ENVIRONMENT-NUMBER-STACK-P" "KNOWN-CALL-LOCAL"
- "KNOWN-RETURN" "LAMBDA-EVAL-INFO-ARGS-PASSED"
- "LAMBDA-EVAL-INFO-ENTRIES" "LAMBDA-EVAL-INFO-FRAME-SIZE"
- "LAMBDA-EVAL-INFO-FUNCTION" "LOCATION=" "LTN-ANNOTATE"
+ "KNOWN-RETURN" "LOCATION=" "LTN-ANNOTATE"
"MAKE-ALIAS-TN" "MAKE-CATCH-BLOCK"
"MAKE-CLOSURE" "MAKE-CONSTANT-TN" "MAKE-FIXNUM"
"MAKE-LOAD-TIME-CONSTANT-TN" "MAKE-N-TNS" "MAKE-NORMAL-TN"
"SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS")
:export ("*ASSEMBLER-ROUTINES*"
"+BACKEND-FASL-FILE-IMPLEMENTATION+"
- "*BACKEND-FASL-FILE-TYPE*"
+ "*FASL-FILE-TYPE*"
"CLOSE-FASL-OUTPUT"
"DUMP-ASSEMBLER-ROUTINES"
"DUMP-OBJECT"
debugger interface mixed with various low-level implementation stuff
like *STACK-TOP-HINT*"
:use ("CL" "SB!EXT" "SB!INT" "SB!SYS")
- :export ("*AUTO-EVAL-IN-FRAME*" "*DEBUG-BEGINNER-HELP-P*"
+ :export ("*DEBUG-BEGINNER-HELP-P*"
"*DEBUG-CONDITION*"
"*DEBUG-PRINT-LENGTH*" "*DEBUG-PRINT-LEVEL*"
"*DEBUG-READTABLE*" "*DEBUG-HELP-STRING*"
"DEBUG-SOURCE-CREATED" "DEBUG-SOURCE-COMPILED"
"DEBUG-SOURCE-START-POSITIONS" "DEBUG-SOURCE"
"DEBUG-SOURCE-P")
- :export ("*DEBUGGING-INTERPRETER*" "ACTIVATE-BREAKPOINT"
+ :export ("ACTIVATE-BREAKPOINT"
"AMBIGUOUS-DEBUG-VARS" "AMBIGUOUS-VARIABLE-NAME" "BREAKPOINT"
"BREAKPOINT-ACTIVE-P" "BREAKPOINT-HOOK-FUNCTION" "BREAKPOINT-INFO"
"BREAKPOINT-KIND" "BREAKPOINT-P" "BREAKPOINT-WHAT" "CODE-LOCATION"
"DEBUG-VAR-VALIDITY" "DEBUG-VAR-VALUE"
"DELETE-BREAKPOINT" "DO-BLOCKS"
"DO-DEBUG-BLOCK-LOCATIONS" "DO-DEBUG-FUNCTION-BLOCKS"
- "DO-DEBUG-FUNCTION-VARIABLES" "EVAL-IN-FRAME"
+ "DO-DEBUG-FUNCTION-VARIABLES"
"FORM-NUMBER-TRANSLATIONS" "FRAME" "FRAME-CATCHES"
"FRAME-CODE-LOCATION" "FRAME-DEBUG-FUNCTION" "FRAME-DOWN"
"FRAME-FUNCTION-MISMATCH" "FRAME-NUMBER" "FRAME-P" "FRAME-UP"
"DSTATE-CUR-ADDR" "DSTATE-NEXT-ADDR"))
#s(sb-cold:package-data
- :name "SB!EVAL"
- :doc "private: originally the implementation of the IR1 interpreter,
-and now that the IR1 interpreter is gone, home to some stuff which is still
-used by the bytecode interpreter"
- :use ("CL" "SB!KERNEL" "SB!INT")
- :export #!-sb-interpreter
- ("INTERNAL-EVAL")
- #!+sb-interpreter
- ("INTERNAL-EVAL"
- #!+sb-show "*EVAL-STACK-TRACE*"
- #!+sb-show "*INTERNAL-APPLY-NODE-TRACE*"
- "FLUSH-INTERPRETED-FUNCTION-CACHE"
- "INTERPRETED-FUNCTION"
- "INTERPRETED-FUNCTION-ARGLIST"
- "INTERPRETED-FUNCTION-CLOSURE"
- "INTERPRETED-FUNCTION-LAMBDA-EXPRESSION"
- "INTERPRETED-FUNCTION-NAME"
- "INTERPRETED-FUNCTION-P"
- "INTERPRETED-FUNCTION-TYPE"
- "MAKE-INTERPRETED-FUNCTION"
- "PRINT-INTERPRETED-FUNCTION-OBJECT"))
+ :name "SB!BYTECODE"
+ :doc "private: stuff related to the bytecode interpreter"
+ :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
+ :export ())
#s(sb-cold:package-data
:name "SB!EXT"
;; are assertions" default
"TRULY-THE"
- ;; This is something which must exist inside any Common Lisp
- ;; implementation, and which someone writing a customized toplevel
- ;; might well want. It seems perverse to hide it from
- ;; them..
+ ;; This is something which must exist inside any Common
+ ;; Lisp implementation, and which someone writing a
+ ;; customized toplevel might well want. It seems perverse
+ ;; to hide it from them..
"INTERACTIVE-EVAL"
;; weak pointers and finalization
;; symbol-hacking idioms
"KEYWORDICATE" "SYMBOLICATE"
- ;; search lists (FIXME: should go away)
- "ENUMERATE-SEARCH-LIST"
- "CLEAR-SEARCH-LIST"
- "SEARCH-LIST"
- "SEARCH-LIST-DEFINED-P"
-
;; certainly doesn't belong in public extensions
;; FIXME: maybe belongs in %KERNEL with other typesystem stuff?
"CONSTANT-ARGUMENT"
"%WITH-ARRAY-DATA" "%WITH-ARRAY-DATA-MACRO"
"*ALREADY-MAYBE-GCING*"
"*CURRENT-LEVEL*" "*EMPTY-TYPE*"
- "*EVAL-STACK-TOP*" "*GC-INHIBIT*"
+ "*EVAL-STACK*" "*EVAL-STACK-TOP*" "*GC-INHIBIT*"
"*NEED-TO-COLLECT-GARBAGE*"
"*PRETTY-PRINTER*" "*UNIVERSAL-TYPE*"
"*UNIVERSAL-FUNCTION-TYPE*"
"STRING-TO-SIMPLE-STRING"
"SYSTEM-AREA-CLEAR"
"SYSTEM-AREA-COPY" "TWO-ARG-*"
- "TRY-TO-RENAME-INTERPRETED-FUNCTION-AS-MACRO"
"TWO-ARG-+" "TWO-ARG--"
"TWO-ARG-/" "TWO-ARG-/=" "TWO-ARG-<"
"TWO-ARG-<=" "TWO-ARG-="
"%RANDOM-DOUBLE-FLOAT" "%RANDOM-LONG-FLOAT"
"%RANDOM-SINGLE-FLOAT"
"RANDOM-PCL-CLASS" "BASIC-STRUCTURE-CLASS-PRINT-FUNCTION"
- "%FUNCALLABLE-INSTANCE-INFO" "*EVAL-STACK*" "RANDOM-CHUNK"
+ "%FUNCALLABLE-INSTANCE-INFO" "RANDOM-CHUNK"
"MAKE-FUNCALLABLE-STRUCTURE-CLASS" "LAYOUT-CLOS-HASH-MAX"
"CLASS-CELL-NAME" "BUILT-IN-CLASS-DIRECT-SUPERCLASSES"
"INITIALIZE-BYTE-COMPILED-FUNCTION"
necessary for system interfacing\" (said cmu-user.tex at the time
of the SBCL code fork). That probably was and is a good idea, but in
practice, the distinctions between this package and SB-KERNEL
-and even SB-VM seem to have become somewhat blurred over the years."
+and even SB-VM seem to have become somewhat blurred over the years.
+Some anomalies (e.g. FIND-IF-IN-CLOSURE being in SB-SYS instead of
+SB-KERNEL) have been undone, but probably more remain."
:use ("CL" "SB!EXT" "SB!INT")
:export ("%ASSEMBLER-CODE-TYPE" "%BIND-ALIGNED-SAP"
;; FIXME: %PRIMITIVE shouldn't be here. (I now know that %SYS
"DO-DO-BODY" "DOUBLE-FLOAT-RADIX"
"ENABLE-INTERRUPT" "ENUMERATION"
"FD-STREAM" "FD-STREAM-FD"
- "FD-STREAM-P" "FIND-IF-IN-CLOSURE"
+ "FD-STREAM-P"
"FOREIGN-SYMBOL-ADDRESS" "FOREIGN-SYMBOL-ADDRESS-AS-INTEGER"
"GET-PAGE-SIZE" "GET-SYSTEM-INFO"
"IGNORE-INTERRUPT"
"WS-YPIXEL" "W_OK" "X_OK" "SIGSYS" "TCSETPGRP" "FD-ZERO"
"SIGQUIT" "SIGCHLD" "SIGSEGV" "FD-CLR" "SIGUSR2"
"EALREADY" "SIGPIPE" "CHECK" "SIGXCPU" "EOPNOTSUPP"
- "SIGFPE" "SIGHUP" "ENOTSOCK" "SIGMASK" "EINTR"
+ "SIGFPE" "SIGHUP" "ENOTSOCK" "EINTR"
"SIGCONT" "UNIX-RESOLVE-LINKS" "SIGKILL" "EMSGSIZE" "ERANGE"
"EPROTOTYPE" "UNIX-SIGNAL-NUMBER" "EPFNOSUPPORT" "SIGILL"
- "EDOM" "UNIX-SIGPAUSE" "EDQUOT" "FD-SETSIZE" "SIGTSTP"
+ "EDOM" "EDQUOT" "FD-SETSIZE" "SIGTSTP"
"EAFNOSUPPORT" "TCGETPGRP" "EMFILE" "ECONNRESET"
"EADDRNOTAVAIL" "SIGALRM" "ENETDOWN" "EVICEOP"
"UNIX-FAST-GETRUSAGE" "EPERM" "SIGINT" "EXDEV" "EDEADLK"
"EUSERS" "SIGVTALRM" "ENOTCONN" "ESUCCESS" "EPIPE"
"UNIX-SIMPLIFY-PATHNAME" "EISCONN" "FD-ISSET"
"ESHUTDOWN" "EBUSY" "SIGTERM" "ENAMETOOLONG" "EMLINK"
- "EADDRINUSE" "SIGBUS" "ERESTART" "TTY-PROCESS-GROUP"
+ "EADDRINUSE" "SIGBUS" "ERESTART"
"UNIX-SIGNAL-NAME" "ETIMEDOUT" "ECHILD" "EFBIG" "SIGTRAP"
"UNIX-KILLPG" "ENOTBLK" "SIGIOT" "SIGUSR1" "ECONNABORTED"
"EHOSTUNREACH" "EBADF" "EINVAL" "FD-SET" "EISDIR"
"SIGTTIN" "UNIX-KILL" "EHOSTDOWN" "E2BIG" "ESPIPE"
"UNIX-FAST-SELECT" "ENXIO" "ENOTTY" "ELOOP" "LTCHARS"
"SIGXFSZ" "EINPROGRESS" "ENOENT"
- "EPROTONOSUPPORT" "UNIX-SIGBLOCK" "SIGIO" "ENOMEM" "SIGEMT"
+ "EPROTONOSUPPORT" "SIGIO" "ENOMEM" "SIGEMT"
"EFAULT" "ENODEV" "EIO" "EVICEERR" "ETXTBSY" "EWOULDBLOCK"
"EAGAIN" "EDESTADDRREQ" "ENOEXEC" "ENETUNREACH" "ENOTEMPTY"
"ENFILE"