#s(sb-cold:package-data
:name "SB!C"
:doc "private: implementation of the compiler"
+ ;; (It seems strange to have the compiler USE SB-ALIEN-INTERNALS,
+ ;; but the point seems to be to be able to express things like
+ ;; SB-C:DEFTRANSFORM SB-ALIEN-INTERNALS:MAKE-LOCAL-ALIEN without
+ ;; having to use a bunch of package prefixes, by putting them
+ ;; in the SB-C package. Maybe it'd be tidier to define an SB-ALIEN-COMP
+ ;; package for this? But it seems like a fairly low priority.)
+ ;; (Probably the same considerations also explain why BIGNUM is
+ ;;in the USE list.)
:use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!BIGNUM"
#!+sb-dyncount "SB-DYNCOUNT"
"SB!EXT" "SB!INT" "SB!KERNEL" "SB!ASSEM" "SB!SYS")
:doc "public: some types used with ALIENs"
:use ("CL" "SB!SYS" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!INT" "SB!EXT")
:reexport ("FLOAT" "CHAR")
- :export ("C-STRING" "DOUBLE" "INT" "LONG"
+ :export ("C-STRING" "DOUBLE" "GET-ERRNO" "INT" "LONG"
"SHORT" "UNSIGNED-CHAR" "UNSIGNED-INT"
"UNSIGNED-LONG" "UNSIGNED-SHORT" "VOID"))
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-CONDITION*"
+ :export ("*AUTO-EVAL-IN-FRAME*" "*DEBUG-BEGINNER-HELP-P*"
+ "*DEBUG-CONDITION*"
"*DEBUG-PRINT-LENGTH*" "*DEBUG-PRINT-LEVEL*"
"*DEBUG-READTABLE*" "*DEBUG-HELP-STRING*"
"*FLUSH-DEBUG-ERRORS*" "*IN-THE-DEBUGGER*"
"ONCE-ONLY"
"DEFENUM"
"DEFPRINTER"
- "AVER"
+ "AVER" "AVER-TYPE" "ENFORCE-TYPE"
;; ..and DEFTYPEs..
"INDEX"
;; used for FORMAT tilde paren
"MAKE-CASE-FROB-STREAM"
+ ;; helpers for C library calls
+ "STRERROR" "SIMPLE-PERROR"
+
;; debuggers' little helpers
#!+sb-show "*/SHOW*"
#!+sb-show "HEXSTR"
;; need it:
"*EOF-OBJECT*"
+ ;; alien interface utilities
+ "C-STRINGS->STRING-LIST"
+
;; misc. utilities used internally
"LEGAL-FUNCTION-NAME-P"
"FUNCTION-NAME-BLOCK-NAME"
+ "WHITESPACE-CHAR-P"
"LISTEN-SKIP-WHITESPACE"
"PACKAGE-INTERNAL-SYMBOL-COUNT" "PACKAGE-EXTERNAL-SYMBOL-COUNT"
"PROPER-LIST-OF-LENGTH-P"
"READ-SEQUENCE-OR-DIE"
"RENAME-KEY-ARGS"
"REQUIRED-ARGUMENT"
- "UNIX-NAMESTRING" ; FIXME: perhaps belongs in package %UNIX
+ "UNIX-NAMESTRING" ; FIXME: perhaps belongs in package SB!UNIX
"FEATUREP"
"FLUSH-STANDARD-OUTPUT-STREAMS"
"MAKE-GENSYM-LIST"
"%COERCE-CALLABLE-TO-FUNCTION"
"FUNCTION-SUBTYPE" "*MAXIMUM-ERROR-DEPTH*"
"%SET-SYMBOL-PLIST" "INFINITE-ERROR-PROTECT"
- "FIND-CALLER-NAME"
+ "FIND-CALLER-NAME-AND-FRAME"
"%SET-SYMBOL-VALUE" "%SET-SYMBOL-PACKAGE"
"OUTPUT-SYMBOL-NAME"
"FSET" "RAW-DEFINITION"
"MAKE-UNDEFINED-CLASS" "CLASS-DIRECT-SUPERCLASSES" "MAKE-LAYOUT"
"BYTE-FUNCTION-TYPE"
"REDEFINE-LAYOUT-WARNING" "SLOT-CLASS"
- "INSURED-FIND-CLASS" "CONDITION-FUNCTION-NAME"
+ "INSURED-FIND-CLASS"
;; symbols from former SB!CONDITIONS
"*HANDLER-CLUSTERS*" "*RESTART-CLUSTERS*"
"%SP-FIND-CHARACTER-WITH-ATTRIBUTE"
"%SP-REVERSE-FIND-CHARACTER-WITH-ATTRIBUTE"
"%STANDARD-CHAR-P"
- "*BEEP-FUNCTION*"
"*LONG-SITE-NAME*" "*SHORT-SITE-NAME*"
"*STDERR*" "*STDIN*"
"*STDOUT*" "*TASK-DATA*"
"ADD-FD-HANDLER" "ADD-PORT-DEATH-HANDLER"
"ADD-PORT-OBJECT"
"ALLOCATE-SYSTEM-MEMORY"
- "BEEP" "BITS" "STRUCTURE!OBJECT"
- "STRUCTURE!OBJECT-MAKE-LOAD-FORM"
+ "BEEP" "BITS"
"BYTES" "C-PROCEDURE" "CHECK<=" "CHECK="
"COMPILER-VERSION"
"DEALLOCATE-SYSTEM-MEMORY"
"SHORT-FLOAT-RADIX"
"SIGNED-SAP-REF-16" "SIGNED-SAP-REF-32"
"SIGNED-SAP-REF-64" "SIGNED-SAP-REF-8"
- "SINGLE-FLOAT-RADIX" "SYMBOL-MACRO-LET"
+ "SINGLE-FLOAT-RADIX"
+ ;; FIXME: STRUCTURE!OBJECT stuff probably belongs in SB!KERNEL.
+ "STRUCTURE!OBJECT" "STRUCTURE!OBJECT-MAKE-LOAD-FORM"
+ "SYMBOL-MACRO-LET"
"SYSTEM-AREA-POINTER" "SYSTEM-AREA-POINTER-P" "VECTOR-SAP"
"WAIT-UNTIL-FD-USABLE" "WITH-ENABLED-INTERRUPTS"
"WITH-FD-HANDLER"
"DADDR-T" "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"
- "F_OK" "GET-UNIX-ERROR-MSG" "GET-ERRNO" "GID-T"
+ "F_OK" "GET-UNIX-ERROR-MSG" "GID-T"
"INO-T" "UNIX-SETITIMER" "UNIX-GETITIMER"
"KBDCGET" "KBDCRESET" "KBDCRST" "KBDCSET"
"KBDCSSTD" "KBDGCLICK" "KBDSCLICK" "KBDSGET" "L_INCR" "L_SET"