X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fearly-fasl.lisp;h=6d4038030bb687c2d57ebb4c0ac9e235ebf0050e;hb=6ddaf294e5a7e3b1792ed1d9c342894c38538773;hp=f48bf3e3527b35b17cfd6b5dbb8f5cc7ae4689a9;hpb=cb9c91b411837a85651c68302c43c71fa8d3093c;p=sbcl.git diff --git a/src/code/early-fasl.lisp b/src/code/early-fasl.lisp index f48bf3e..6d40380 100644 --- a/src/code/early-fasl.lisp +++ b/src/code/early-fasl.lisp @@ -35,38 +35,38 @@ (macrolet ((define-fasl-format-features () (let (;; master value for *F-P-A-F-F* - (fpaff '(:sb-thread :sb-package-locks :sb-unicode))) - `(progn - ;; a list of *(SHEBANG-)FEATURES* flags which affect - ;; binary compatibility, i.e. which must be the same - ;; between the SBCL which compiles the code and the - ;; SBCL which executes the code - ;; - ;; This is a property of SBCL executables in the - ;; abstract, not of this particular SBCL executable, - ;; so any flag in this list may or may not be present - ;; in the *FEATURES* list of this particular build. - (defparameter *features-potentially-affecting-fasl-format* - ',fpaff) - ;; a string representing flags of *F-P-A-F-F* which - ;; are in this particular build - ;; - ;; (A list is the natural logical representation for - ;; this, but we represent it as a string because - ;; that's physically convenient for writing to and - ;; reading from fasl files, and because we don't - ;; need to do anything sophisticated with its - ;; logical structure, just test it for equality.) - (defparameter *features-affecting-fasl-format* - ,(let ((*print-pretty* nil)) - (prin1-to-string - (sort - (copy-seq - (intersection sb-cold:*shebang-features* fpaff)) - #'string< - :key #'symbol-name)))))))) + (fpaff '(:sb-thread :sb-package-locks :sb-unicode))) + `(progn + ;; a list of *(SHEBANG-)FEATURES* flags which affect + ;; binary compatibility, i.e. which must be the same + ;; between the SBCL which compiles the code and the + ;; SBCL which executes the code + ;; + ;; This is a property of SBCL executables in the + ;; abstract, not of this particular SBCL executable, + ;; so any flag in this list may or may not be present + ;; in the *FEATURES* list of this particular build. + (defparameter *features-potentially-affecting-fasl-format* + ',fpaff) + ;; a string representing flags of *F-P-A-F-F* which + ;; are in this particular build + ;; + ;; (A list is the natural logical representation for + ;; this, but we represent it as a string because + ;; that's physically convenient for writing to and + ;; reading from fasl files, and because we don't + ;; need to do anything sophisticated with its + ;; logical structure, just test it for equality.) + (defparameter *features-affecting-fasl-format* + ,(let ((*print-pretty* nil)) + (prin1-to-string + (sort + (copy-seq + (intersection sb-cold:*shebang-features* fpaff)) + #'string< + :key #'symbol-name)))))))) (define-fasl-format-features)) - + ;;; the code for a character which terminates a fasl file header (def!constant +fasl-header-string-stop-char-code+ 255) @@ -76,7 +76,7 @@ ;;; versions which break binary compatibility. But it certainly should ;;; be incremented for release versions which break binary ;;; compatibility. -(def!constant +fasl-file-version+ 56) +(def!constant +fasl-file-version+ 58) ;;; (record of versions before 2003 deleted in 2003-04-26/0.pre8.107 or so) ;;; 38: (2003-01-05) changed names of internal SORT machinery ;;; 39: (2003-02-20) in 0.7.12.1 a slot was added to @@ -95,10 +95,10 @@ ;;; I think I renumbered everything again ;;; simple-array-unsigned-byte-7, probably ;;; (thanks to pfdietz) -;;; 45: (2003-10-02) I (WHN) incremented the version for the 0.8.4 +;;; 45: (2003-10-02) I (WHN) incremented the version for the 0.8.4 ;;; release because I couldn't immediately convince myself that ;;; .fasl files could never possibly ever refer to the SB-C -;;; CONTINUATION-related data types which were changed +;;; CONTINUATION-related data types which were changed ;;; incompatibly in 0.8.3.62. ;;; 46: (2003-11-11) Tim Daly, Jr. (and Christophe Rhodes) reported ;;; .fasl incompatibility on sbcl-devel 2003-11-09. @@ -121,6 +121,8 @@ ;;; FIND-FOREIGN-SYMBOL-IN-TABLE &co. ;;; 56: (2005-05-22) Something between 0.9.0.1 and 0.9.0.14. My money is ;;; on 0.9.0.6 (MORE CASE CONSISTENCY). +;;; 57: (2005-06-12) Raw slot rearrangement in 0.9.1.38 +;;; 58: (2005-08-16) Multiple incompatible changes between 0.9.3 and 0.9.3.60 ;;; the conventional file extension for our fasl files (declaim (type simple-string *fasl-file-type*)) @@ -147,8 +149,8 @@ ;;; which will perform the operation (defvar *fop-funs* (make-array 256 - :initial-element (lambda () - (error "corrupt fasl file: losing FOP")))) + :initial-element (lambda () + (error "corrupt fasl file: losing FOP")))) ;;;; variables