"INT"
"LOAD-1-FOREIGN" "LOAD-FOREIGN" "LOAD-SHARED-OBJECT" "LONG" "LONG-LONG"
"MAKE-ALIEN"
+ "MAKE-ALIEN-STRING"
"NULL-ALIEN"
"SAP-ALIEN" "SHORT" "SIGNED" "SLOT" "STRUCT"
"UNDEFINED-ALIEN-ERROR"
"DEFINE-STORAGE-CLASS" "DEFINE-VOP"
"DEFKNOWN" "DEFOPTIMIZER"
"DEFTRANSFORM" "DERIVE-TYPE"
+ "EMIT-BLOCK-HEADER"
"ENTRY-NODE-INFO-NLX-TAG" "ENTRY-NODE-INFO-ST-TOP"
"PHYSENV-DEBUG-LIVE-TN" "PHYSENV-LIVE-TN"
"FAST-SYMBOL-VALUE"
:name "SB!EXT"
:doc "public: miscellaneous supported extensions to the ANSI Lisp spec"
:use ("CL" "SB!ALIEN" "SB!INT" "SB!SYS" "SB!GRAY")
- :export ( ;; Information about how the program was invoked is
+ :export (;; Information about how the program was invoked is
;; nonstandard but very useful.
"*POSIX-ARGV*" "*CORE-PATHNAME*" "*RUNTIME-PATHNAME*"
"POSIX-GETENV" "POSIX-ENVIRON"
+ ;; Customizing initfile locations
+ "*USERINIT-PATHNAME-FUNCTION*"
+ "*SYSINIT-PATHNAME-FUNCTION*"
+
;; Atomic operations and types related to them
"COMPARE-AND-SWAP"
"ATOMIC-INCF"
"GENERATION-MINIMUM-AGE-BEFORE-GC"
"GENERATION-NUMBER-OF-GCS"
"GENERATION-NUMBER-OF-GCS-BEFORE-PROMOTION"
+ "GC-LOGFILE"
;; Stack allocation control
"*STACK-ALLOCATE-DYNAMIC-EXTENT*"
;; Stack allocation without any questions asked
"TRULY-DYNAMIC-EXTENT"
+ ;; Like WITH-LOCKED-HASH-TABLE, but disabled interrupts
+ "WITH-LOCKED-SYSTEM-TABLE"
+
;; generic set implementation
"ADD-TO-XSET"
"ALLOC-XSET"
;; hash mixing operations
"MIX" "MIXF"
+ ;; Macroexpansion that doesn't touch special forms
+ "%MACROEXPAND"
+ "%MACROEXPAND-1"
+
;; 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
"DEFINE-HASH-CACHE"
"DEFUN-CACHED"
"DEFINE-CACHED-SYNONYM"
+ "DROP-ALL-HASH-CACHES"
;; time
"FORMAT-DECODED-TIME"
"DEBUG-NAMIFY"
"FORCE" "DELAY" "PROMISE-READY-P"
"FIND-RESTART-OR-CONTROL-ERROR"
+ "LOAD-AS-SOURCE"
;; These could be moved back into SB!EXT if someone has
;; compelling reasons, but hopefully we can get by
"UPDATE-OBJECT-LAYOUT-OR-INVALID"
"VALUE-CELL-REF" "VALUE-CELL-SET" "VALUES-SPECIFIER-TYPE"
"VALUES-SPECIFIER-TYPE-CACHE-CLEAR" "VALUES-SUBTYPEP"
- "VALUES-TYPE" "VALUES-TYPE-ERROR" "VALUES-TYPE-IN"
+ "VALUES-TYPE" "VALUES-TYPE-IN"
"VALUES-TYPE-INTERSECTION"
"VALUES-TYPE-MIN-VALUE-COUNT" "VALUES-TYPE-MAX-VALUE-COUNT"
"VALUES-TYPE-MAY-BE-SINGLE-VALUE-P" "VALUES-TYPE-OPTIONAL"
"!FOREIGN-COLD-INIT" "!FUNCTION-NAMES-COLD-INIT"
"!TYPE-CLASS-COLD-INIT" "!TYPEDEFS-COLD-INIT"
"!ALIEN-TYPE-COLD-INIT" "!CLASSES-COLD-INIT"
+ "!DEADLINE-COLD-INIT"
"!EARLY-TYPE-COLD-INIT" "!LATE-TYPE-COLD-INIT"
"!FIXUP-TYPE-COLD-INIT" "!TARGET-TYPE-COLD-INIT"
"!RANDOM-COLD-INIT" "!READER-COLD-INIT"
"SYMBOL-VALUE-IN-THREAD-ERROR"
"TERMINATE-THREAD"
"THREAD"
+ "THREAD-DEADLOCK"
+ "THREAD-DEADLOCK-CYCLE"
"THREAD-ERROR"
"THREAD-ERROR-THREAD"
"THREAD-ALIVE-P"
"USER-HOMEDIR"
"WITH-RESTARTED-SYSCALL"
"SB-MKSTEMP"
+ "FD-TYPE"
;; stuff with a one-to-one mapping to Unix constructs
"D-INO" "D-NAME" "D-NAMLEN" "D-OFF" "D-RECLEN" "DEV-T" "DIRECT"