"COMPUTE-NATURALIZE-LAMBDA" "DEFINE-ALIEN-TYPE-CLASS"
"DEFINE-ALIEN-TYPE-METHOD" "DEFINE-ALIEN-TYPE-TRANSLATOR" "DEPORT"
"DEPOSIT-ALIEN-VALUE" "DISPOSE-LOCAL-ALIEN"
- "ENTER-ALIEN-CALLBACK"
+ "*ENTER-ALIEN-CALLBACK*" "ENTER-ALIEN-CALLBACK"
"EXTRACT-ALIEN-VALUE"
"HEAP-ALIEN-INFO" "HEAP-ALIEN-INFO-P" "HEAP-ALIEN-INFO-SAP-FORM"
"HEAP-ALIEN-INFO-TYPE" "INVOKE-ALIEN-TYPE-METHOD" "LOCAL-ALIEN"
"*SETF-ASSUMED-FBOUNDP*"
"*SUPPRESS-VALUES-DECLARATION*"
+ #!+x86 "SET-FPU-WORD-FOR-C"
+ #!+x86 "SET-FPU-WORD-FOR-LISP"
"ALLOC-ALIEN-STACK-SPACE" "ALLOC-NUMBER-STACK-SPACE"
"ALLOCATE-CODE-OBJECT" "ALLOCATE-FRAME"
"ALLOCATE-DYNAMIC-CODE-OBJECT" "ALLOCATE-FULL-CALL-FRAME"
:use ("CL" "SB!ALIEN" "SB!INT" "SB!SYS" "SB!GRAY")
:export ( ;; Information about how the program was invoked is
;; nonstandard but very useful.
- "*POSIX-ARGV*"
+ "*POSIX-ARGV*" "*CORE-PATHNAME*"
"POSIX-GETENV" "POSIX-ENVIRON"
;; People have various good reasons to mess with the GC.
"PROCESS-PID" "PROCESS-PLIST" "PROCESS-PTY" "PROCESS-STATUS"
"PROCESS-STATUS-HOOK" "PROCESS-WAIT"
+ ;; pathnames
+ "NATIVE-PATHNAME"
+ "PARSE-NATIVE-NAMESTRING"
+ "NATIVE-NAMESTRING"
+
;; external-format support
"OCTETS-TO-STRING" "STRING-TO-OCTETS"
:export (;; lambda list keyword extensions
"&MORE"
+ ;; communication between the runtime and Lisp
+ "*CORE-STRING*"
+
;; INFO stuff doesn't belong in a user-visible package, we
;; should be able to change it without apology.
"*INFO-ENVIRONMENT*"
"INFO"
"MAKE-INFO-ENVIRONMENT"
+ ;; Constant form evaluation
+ "CONSTANT-FORM-VALUE"
+ "CONSTANT-TYPEP"
+
;; stepping control
"*STEPPING*" "*STEP*"
"%CHECK-BOUND" "%CHECK-VECTOR-SEQUENCE-BOUNDS"
"%CLOSURE-FUN" "%CLOSURE-INDEX-REF" "%COS" "%COS-QUICK"
"%COSH" "%DATA-VECTOR-AND-INDEX" "%DEPOSIT-FIELD"
- "%DOUBLE-FLOAT" "%DPB" "%EXP" "%EXPM1" "%FIND-POSITION"
+ "%DOUBLE-FLOAT" "%DPB" "%EQL" "%EXP" "%EXPM1" "%FIND-POSITION"
"%FIND-POSITION-VECTOR-MACRO" "%FIND-POSITION-IF"
"%FIND-POSITION-IF-VECTOR-MACRO" "%FIND-POSITION-IF-NOT"
"%FIND-POSITION-IF-NOT-VECTOR-MACRO" "%FUN-DOC"
"INTEGER-DECODE-DOUBLE-FLOAT"
#!+long-float "INTEGER-DECODE-LONG-FLOAT"
"INTEGER-DECODE-SINGLE-FLOAT" "INTERNAL-ERROR"
+ #!+win32 "HANDLE-WIN32-EXCEPTION"
"INTERNAL-TIME" "INTERSECTION-TYPE" "INTERSECTION-TYPE-P"
"INTERSECTION-TYPE-TYPES" "INVALID-ARG-COUNT-ERROR"
"INVALID-ARRAY-INDEX-ERROR" "INVALID-UNWIND-ERROR"
"SCALE-SINGLE-FLOAT" "SEQUENCE-COUNT" "SEQUENCE-END"
"SEQUENCE-OF-CHECKED-LENGTH-GIVEN-TYPE"
"SET-ARRAY-HEADER" "SET-HEADER-DATA" "SHIFT-TOWARDS-END"
- "SHIFT-TOWARDS-START" "SHRINK-VECTOR"
+ "SHIFT-TOWARDS-START" "SHRINK-VECTOR" "%SHRINK-VECTOR"
;; FIXME: 32/64-bit issues
"SIGNED-BYTE-32-P" "SIGNED-BYTE-64-P"
"SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-P"
"!VM-TYPE-COLD-INIT" "!BACKQ-COLD-INIT"
"!SHARPM-COLD-INIT" "!EARLY-PROCLAIM-COLD-INIT"
"!LATE-PROCLAIM-COLD-INIT" "!CLASS-FINALIZE"
+ "!CONSTANTP-COLD-INIT"
"GC-REINIT"
"SIGNAL-COLD-INIT-OR-REINIT"
"SIMPLE-FUN-TYPE-SLOT"
"FUNCALLABLE-INSTANCE-LAYOUT-SLOT"
"FUNCALLABLE-INSTANCE-LEXENV-SLOT"
+ "GENCGC-PAGE-SIZE"
+ #!+ppc "PSEUDO-ATOMIC-INTERRUPTED-FLAG"
+ #!+ppc "PSEUDO-ATOMIC-FLAG"
"GENESIS" "HALT-TRAP" "IGNORE-ME-SC-NUMBER"
"IMMEDIATE-CHARACTER-SC-NUMBER" "IMMEDIATE-SAP-SC-NUMBER"
"IMMEDIATE-SC-NUMBER" "*INITIAL-DYNAMIC-SPACE-FREE-POINTER*"
"WEAK-POINTER-VALUE-SLOT"
"WORD" "N-WORD-BITS" "N-WORD-BYTES" "N-MACHINE-WORD-BITS"
"WORD-REG-SC-NUMBER" "WORD-SHIFT"
+ #!+win32 "CONTEXT-RESTORE-TRAP"
"ZERO-SC-NUMBER"))
#s(sb-cold:package-data
;; These were exported from the original PCL version of this
;; package, but aren't used in SBCL.
;;"NESTED-WALK-FORM" "MACROEXPAND-ALL"
- )))
+ ))
+
+ #!+win32
+ #s(sb-cold:package-data
+ :name "SB!WIN32"
+ :doc "private: a wrapper layer for Win32 functions needed by
+SBCL itself"
+ :use ("CL" "SB!ALIEN" "SB!EXT" "SB!INT" "SB!SYS")
+ :export ("BOOL"
+ "DWORD" "FD-CLEAR-INPUT" "FD-LISTEN"
+ "FLUSH-CONSOLE-INPUT-BUFFER" "FORMAT-MESSAGE"
+ "GET-LAST-ERROR" "GET-OSFHANDLE" "HANDLE"
+ "HANDLE-CLEAR-INPUT" "HANDLE-LISTEN" "INT-PTR"
+ "INVALID-HANDLE" "MILLISLEEP" "PEEK-CONSOLE-INPUT"
+ "PEEK-NAMED-PIPE" "READ-FILE" "WRITE-FILE")))