X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fgenesis.lisp;h=ce9e73f003b78a0223d6537bf8cca4a0a51dbda5;hb=7c07a6f965c51828d8f452b47e0620d8e6cf2959;hp=55c58b2df3b925f6a7c787272cdaee9be7396fdb;hpb=6cbe4d8ba6d7bc469d03a72514c789b1f3944878;p=sbcl.git diff --git a/src/compiler/generic/genesis.lisp b/src/compiler/generic/genesis.lisp index 55c58b2..ce9e73f 100644 --- a/src/compiler/generic/genesis.lisp +++ b/src/compiler/generic/genesis.lisp @@ -1137,18 +1137,16 @@ ;; the function values for these things?? I.e. why do we need this ;; section at all? Is it because all the FDEFINITION stuff gets in ;; the way of reading function values and is too hairy to rely on at - ;; cold boot? FIXME: 5/6 of these are in *STATIC-SYMBOLS* in + ;; cold boot? FIXME: Most of these are in *STATIC-SYMBOLS* in ;; parms.lisp, but %HANDLE-FUNCTION-END-BREAKPOINT is not. Why? ;; Explain. (macrolet ((frob (symbol) `(cold-set ',symbol (cold-fdefinition-object (cold-intern ',symbol))))) - (frob !cold-init) (frob maybe-gc) (frob internal-error) (frob sb!di::handle-breakpoint) - (frob sb!di::handle-function-end-breakpoint) - (frob fdefinition-object)) + (frob sb!di::handle-function-end-breakpoint)) (cold-set '*current-catch-block* (make-fixnum-descriptor 0)) (cold-set '*current-unwind-protect-block* (make-fixnum-descriptor 0)) @@ -2424,7 +2422,7 @@ ;; writing beginning boilerplate (format t "/*~%") (dolist (line - '("This is a machine-generated file. Do not edit it by hand." + '("This is a machine-generated file. Please do not edit it by hand." "" "This file contains low-level information about the" "internals of a particular version and configuration" @@ -2439,6 +2437,15 @@ (format t "#ifndef _SBCL_H_~%#define _SBCL_H_~%") (terpri) + ;; propagating *SHEBANG-FEATURES* into C-level #define's + (dolist (shebang-feature-name (sort (mapcar #'symbol-name + sb-cold:*shebang-features*) + #'string<)) + (format t + "#define LISP_FEATURE_~A~%" + (substitute #\_ #\- shebang-feature-name))) + (terpri) + ;; writing miscellaneous constants (format t "#define SBCL_CORE_VERSION_INTEGER ~D~%" sbcl-core-version-integer) (format t @@ -2550,7 +2557,7 @@ ;; writing codes/strings for internal errors (format t "#define ERRORS { \\~%") - ;; FIXME: Is this just DO-VECTOR? + ;; FIXME: Is this just DOVECTOR? (let ((internal-errors sb!c:*backend-internal-errors*)) (dotimes (i (length internal-errors)) (format t " ~S, /*~D*/ \\~%" (cdr (aref internal-errors i)) i)))