;; ..and variables to control compiler policy
"*INLINE-EXPANSION-LIMIT*"
"*USE-IMPLEMENTATION-TYPES*"
- "*BYTE-COMPILE-TOPLEVEL*"
- "*BYTE-COMPILE-DEFAULT*"
"*DERIVE-FUNCTION-TYPES*"
;; a special form for breaking out of our "declarations
#s(sb-cold:package-data
:name "SB!INT"
:doc
-"private: miscellaneous unsupported extensions to the ANSI spec. Most of
+"private: miscellaneous unsupported extensions to the ANSI spec. Much of
the stuff in here originated in CMU CL's EXTENSIONS package and is
retained, possibly temporariliy, because it might be used internally."
:use ("CL" "SB!ALIEN" "SB!C-CALL" "SB!GRAY" "SB!FASL" "SB!SYS")
:export ("*AFTER-SAVE-INITIALIZATIONS*" "*BEFORE-SAVE-INITIALIZATIONS*"
- "*ALL-MODIFIER-NAMES*"
- "*BACKUP-EXTENSION*"
-
;; lambda list keyword extensions
"&MORE"
;; hash mixing operations
"MIX" "MIXF"
- ;; optimization idioms
- "*OPTIMIZE-BYTE-COMPILATION*"
- "*OPTIMIZE-EXTERNAL-DESPITE-BYTE-COMPILATION*"
-
- ;; Arguably there's no one right value for the system
- ;; prompt. But Common Lisp makes it easy for you to write
- ;; your own REPL if you really care, so I'm not convinced we
- ;; need this as a supported extension.
- "*PROMPT*"
-
;; I'm not convinced that FDEFINITIONs are the ideal
;; solution, so exposing ways to peek into the system
;; seems undesirable, since it makes it harder to get
;; in the cross-compiler's environment
"DEF!MACRO" "DEF!METHOD" "DEF!STRUCT" "DEF!TYPE"
+ ;; stuff for hinting to the compiler
+ "NAMED-LAMBDA"
+
;; other variations on DEFFOO stuff useful for bootstrapping
;; and cross-compiling
"DEFMACRO-MUNDANELY"
"ONCE-ONLY"
"DEFENUM"
"DEFPRINTER"
- "AVER" "AVER-TYPE" "ENFORCE-TYPE"
+ "AVER" "ENFORCE-TYPE"
;; ..and DEFTYPEs..
"INDEX"
;; encapsulation
"ARGUMENT-LIST"
"BASIC-DEFINITION"
- "ENCAPSULATE" "ENCAPSULATED-DEFINITION" "ENCAPSULATED-P"
+ "ENCAPSULATE" "ENCAPSULATED-P"
"UNENCAPSULATE"
;; various CHAR-CODEs
;; time
"FORMAT-DECODED-TIME"
"FORMAT-UNIVERSAL-TIME"
- "PARSE-TIME"
;; indenting
"MAKE-INDENTING-STREAM"
"COLD-FSET"
"!DEFUN-FROM-COLLECTED-COLD-INIT-FORMS"))
- #s(sb-cold:package-data
- :name "SB!ITERATE"
- :doc "private: an iteration facility used to implement PCL"
- :use ("CL" "SB!WALKER" "SB!INT" "SB!EXT")
- :export ("ITERATE" "ITERATE*" "GATHERING" "GATHER"
- "WITH-GATHERING" "INTERVAL" "ELEMENTS"
- "LIST-ELEMENTS" "LIST-TAILS" "PLIST-ELEMENTS"
- "EACHTIME" "WHILE" "UNTIL" "COLLECTING" "JOINING"
- "MAXIMIZING" "MINIMIZING" "SUMMING"
- "*ITERATE-WARNINGS*"))
-
;; FIXME: This package is awfully huge. It'd probably be good to
;; split it. There's at least one natural way to split it: the
;; implementation of the Lisp type system (e.g. TYPE-INTERSECTION and
"VECTOR-TO-BIT-VECTOR*" "VECTOR-TO-SIMPLE-BIT-VECTOR*"
"VECTOR-OF-CHECKED-LENGTH-GIVEN-LENGTH"
"WITH-ARRAY-DATA"
- "WITH-CIRCULARITY-DETECTION" "WITH-TYPE-CACHES"
"WRONG-NUMBER-OF-INDICES-ERROR"
"FDEFN" "MAKE-FDEFN" "FDEFN-P"
;; this until the duplicate SB-PCL:CLASS/CL:CLASS hierarchy kludge
;; is unscrewed, since until it is there are too many things which
;; conflict between the two packages.
- :use ("CL" "SB!ITERATE" "SB!WALKER" "SB!INT" "SB!EXT")
+ :use ("CL" "SB!INT" "SB!EXT" "SB!WALKER")
:import-from (("SB!KERNEL" "FUNCALLABLE-INSTANCE-P" "%FUN-DOC"
"PACKAGE-DOC-STRING"
"PACKAGE-HASHTABLE-SIZE" "PACKAGE-HASHTABLE-FREE"
needed by the current implementation of SBCL, and makes
no guarantees of interface stability."
:use ("CL" "SB!ALIEN" "SB!C-CALL" "SB!EXT" "SB!INT" "SB!SYS")
- :export ("D-INO" "D-NAME" "D-NAMLEN" "D-OFF" "D-RECLEN"
+ :export (;; wrappers around Unix stuff to give just what Lisp needs
+ "UID-USERNAME"
+
+ ;; stuff with a one-to-one mapping to Unix constructs
+ "D-INO" "D-NAME" "D-NAMLEN" "D-OFF" "D-RECLEN"
"DEV-T" "DIRECT" "EXECGRP" "EXECOTH" "EXECOWN" "F-DUPFD"
"F-GETFD" "F-GETFL" "F-GETOWN" "F-SETFD" "F-SETFL" "F-SETOWN"
"FAPPEND" "FASYNC" "FCREAT" "FEXCL" "FIONREAD" "FNDELAY" "FTRUNC"