X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fload.lisp;h=48c3ccb50c86e52d2af0056a8265a8fdcd82d7ca;hb=f1407e424f1063203af07d2e61ceef58515a4797;hp=f7f7ca997403e6d7a1a03fed11e142065f21cec7;hpb=97fc8a15f100e0b6a7d575f5057be839a9a5d621;p=sbcl.git diff --git a/src/code/load.lisp b/src/code/load.lisp index f7f7ca9..48c3ccb 100644 --- a/src/code/load.lisp +++ b/src/code/load.lisp @@ -268,9 +268,21 @@ stream implementation +backend-fasl-file-implementation+)))) - ;; TO DO: Check for *FEATURES* which affect binary compatibility. - ;; (And don't forget to return T.:-) - )))) + ;; Read and validate *FEATURES* which affect binary compatibility. + (let ((faff-in-this-file (string-from-stream))) + (unless (string= faff-in-this-file *features-affecting-fasl-format*) + (error + "~@" + '*features* + stream + *features-potentially-affecting-fasl-format* + *features-affecting-fasl-format* + faff-in-this-file))) + ;; success + t)))) ;; Setting this variable gives you a trace of fops as they are loaded and ;; executed.