From bee53328c93be3433477821131ab805557476c8b Mon Sep 17 00:00:00 2001 From: William Harold Newman Date: Sun, 2 Sep 2001 14:17:37 +0000 Subject: [PATCH] 0.pre7.28: changed fasl file extension to .fasl Since fasl file extensions aren't backend-dependent any more, now they're controlled by *FASL-FILE-TYPE* instead of *BACKEND-FASL-FILE-TYPE*. --- NEWS | 5 +++-- package-data-list.lisp-expr | 2 +- src/code/early-fasl.lisp | 7 +++---- src/code/stream.lisp | 2 +- src/code/target-load.lisp | 4 ++-- src/cold/shared.lisp | 15 ++++++++------- src/compiler/alpha/backend-parms.lisp | 1 - src/compiler/main.lisp | 3 +-- src/compiler/x86/backend-parms.lisp | 1 - tests/side-effectful-pathnames.test.sh | 2 +- version.lisp-expr | 2 +- 11 files changed, 21 insertions(+), 23 deletions(-) diff --git a/NEWS b/NEWS index 01d0e5b..131b5cd 100644 --- a/NEWS +++ b/NEWS @@ -813,6 +813,8 @@ changes in sbcl-0.6.13 relative to sbcl-0.6.12: fasl file version. changes in sbcl-0.7.0 relative to sbcl-0.6.13: +* incompatible change: The default fasl file extension has changed + to ".fasl", for all architectures. (No longer ".x86f" and ".axpf".) * There are new compiler optimizations for various functions: FIND, POSITION, FIND-IF, POSITION-IF, FILL, COERCE, TRUNCATE, FLOOR, and CEILING. Mostly these should be transparent, but there's one @@ -851,7 +853,7 @@ changes in sbcl-0.7.0 relative to sbcl-0.6.13: :SB-PROPAGATE-FUN-TYPE are no longer considered to be optional features. Instead, the code that they used to control is always built into the system. -?? lots of tidying up internally: renaming things so that names are +* lots of tidying up internally: renaming things so that names are more systematic and consistent, converting C macros to inline functions, systematizing indentation * The fasl file version number changed again, for any number of @@ -863,7 +865,6 @@ planned incompatible changes in 0.7.x: instead of the old "5]", "5]]", "5]]]" sequence. (I was motivated to do this when squabbles between ILISP and SBCL left me very deeply nested in the debugger.) -* The fasl file extension may change, perhaps to ".fasl". * The default output representation for unprintable ASCII characters which, unlike e.g. #\Newline, don't have names defined in the ANSI Common Lisp standard, may change to their ASCII symbolic diff --git a/package-data-list.lisp-expr b/package-data-list.lisp-expr index 310b466..17d2eb8 100644 --- a/package-data-list.lisp-expr +++ b/package-data-list.lisp-expr @@ -328,7 +328,7 @@ "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS") :export ("*ASSEMBLER-ROUTINES*" "+BACKEND-FASL-FILE-IMPLEMENTATION+" - "*BACKEND-FASL-FILE-TYPE*" + "*FASL-FILE-TYPE*" "CLOSE-FASL-OUTPUT" "DUMP-ASSEMBLER-ROUTINES" "DUMP-OBJECT" diff --git a/src/code/early-fasl.lisp b/src/code/early-fasl.lisp index 1afac33..64a5f68 100644 --- a/src/code/early-fasl.lisp +++ b/src/code/early-fasl.lisp @@ -67,10 +67,9 @@ ;;; 15 = sbcl-0.6.12.33 changed the layout of STREAM ;;; 16 = sbcl-0.pre7.15 changed the layout of PRETTY-STREAM -;;; the conventional file extension for fasl files on this -;;; architecture, e.g. "x86f" -(declaim (type (or simple-string null) *backend-fasl-file-type*)) -(defvar *backend-fasl-file-type* nil) +;;; the conventional file extension for our fasl files +(declaim (type simple-string *fasl-file-type*)) +(defvar *fasl-file-type* "fasl") ;;; This is a sort of pun that we inherited from CMU CL. For ordinary, ;;; non-byte-coded fasl files, the "implementation" is basically the diff --git a/src/code/stream.lisp b/src/code/stream.lisp index 39fe0f4..f1a3998 100644 --- a/src/code/stream.lisp +++ b/src/code/stream.lisp @@ -566,7 +566,7 @@ (stream-fresh-line stream)))) (defun write-string (string &optional (stream *standard-output*) - &key (start 0) (end (length (the vector string)))) + &key (start 0) (end (length (the string string)))) ;; FIXME: These SETFs don't look right to me. Looking at the ;; definition of "bounding indices" in the glossary of the ANSI diff --git a/src/code/target-load.lisp b/src/code/target-load.lisp index ba43d46..7810634 100644 --- a/src/code/target-load.lisp +++ b/src/code/target-load.lisp @@ -80,7 +80,7 @@ (internal-load pathname truename if-does-not-exist verbose print :binary)) (t - (when (string= (pathname-type truename) *backend-fasl-file-type*) + (when (string= (pathname-type truename) *fasl-file-type*) (error "File has a fasl file type, but no fasl file header:~% ~S" (namestring truename))) (internal-load pathname truename if-does-not-exist verbose print @@ -106,7 +106,7 @@ (multiple-value-bind (src-pn src-tn) (try-default-type pathname *load-source-default-type*) (multiple-value-bind (obj-pn obj-tn) - (try-default-type pathname *backend-fasl-file-type*) + (try-default-type pathname *fasl-file-type*) (cond ((and obj-tn src-tn diff --git a/src/cold/shared.lisp b/src/cold/shared.lisp index e165afb..959ecec 100644 --- a/src/cold/shared.lisp +++ b/src/cold/shared.lisp @@ -54,13 +54,14 @@ (defvar *host-obj-prefix*) (defvar *target-obj-prefix*) -;;; suffixes for filename stems when cross-compiling. Everything should work -;;; fine for any arbitrary string values here. With more work maybe we -;;; could cause these automatically to become the traditional extensions for -;;; whatever host and target architectures (e.g. ".x86f" or ".axpf") we're -;;; currently doing. That would make it easier for a human looking at the -;;; temporary files to figure out what they're for, but it's not necessary for -;;; the compilation process to work, so we haven't bothered. +;;; suffixes for filename stems when cross-compiling. Everything +;;; should work fine for any arbitrary string values here. With more +;;; work maybe we could cause these automatically to become the +;;; traditional extensions for whatever host and target architectures +;;; (e.g. ".x86f" or ".axpf") we're currently doing. That would make +;;; it easier for a human looking at the temporary files to figure out +;;; what they're for, but it's not necessary for the compilation +;;; process to work, so we haven't bothered. (defvar *host-obj-suffix* ".lisp-obj") (defvar *target-obj-suffix* ".lisp-obj") diff --git a/src/compiler/alpha/backend-parms.lisp b/src/compiler/alpha/backend-parms.lisp index 9149984..f92efe7 100644 --- a/src/compiler/alpha/backend-parms.lisp +++ b/src/compiler/alpha/backend-parms.lisp @@ -17,7 +17,6 @@ ;;;; compiler constants -(setf *backend-fasl-file-type* "axpf") (defconstant +backend-fasl-file-implementation+ :alpha) (setf *backend-register-save-penalty* 3) diff --git a/src/compiler/main.lisp b/src/compiler/main.lisp index 908270f..5383510 100644 --- a/src/compiler/main.lisp +++ b/src/compiler/main.lisp @@ -1455,8 +1455,7 @@ ;;; compiled files. (defun cfp-output-file-default (input-file) (let* ((defaults (merge-pathnames input-file *default-pathname-defaults*)) - (retyped (make-pathname :type *backend-fasl-file-type* - :defaults defaults))) + (retyped (make-pathname :type *fasl-file-type* :defaults defaults))) retyped)) ;;; KLUDGE: Part of the ANSI spec for this seems contradictory: diff --git a/src/compiler/x86/backend-parms.lisp b/src/compiler/x86/backend-parms.lisp index be2a8f4..4fcd8e6 100644 --- a/src/compiler/x86/backend-parms.lisp +++ b/src/compiler/x86/backend-parms.lisp @@ -17,7 +17,6 @@ ;;;; compiler constants -(setf *backend-fasl-file-type* "x86f") (defconstant +backend-fasl-file-implementation+ :x86) (setf *backend-register-save-penalty* 3) diff --git a/tests/side-effectful-pathnames.test.sh b/tests/side-effectful-pathnames.test.sh index d5c50fb..84ba3d7 100644 --- a/tests/side-effectful-pathnames.test.sh +++ b/tests/side-effectful-pathnames.test.sh @@ -39,7 +39,7 @@ $SBCL <