Raymond Toy pushed to branch rtoy-mmap-anon-control-and-binding-stacks at cmucl / cmucl
Commits:
53aac568 by Raymond Toy at 2015-09-30T21:56:04Z
Update cmucl version to 21a.
Add bootfile for building cmucl with the new version too.
- - - - -
db9bcbd3 by Raymond Toy at 2015-09-30T21:56:20Z
Remove [In progress] note.
- - - - -
0743dd00 by Raymond Toy at 2015-09-30T22:17:04Z
Note changes for -quiet flag.
- - - - -
586ca74d by Raymond Toy at 2015-10-02T18:50:45Z
Merge branch 'master' into rtoy-mmap-anon-control-and-binding-stacks
- - - - -
3 changed files:
- + src/bootfiles/20f/boot-21a.lisp
- src/compiler/byte-comp.lisp
- src/general-info/release-21a.txt
Changes:
=====================================
src/bootfiles/20f/boot-21a.lisp
=====================================
--- /dev/null
+++ b/src/bootfiles/20f/boot-21a.lisp
@@ -0,0 +1,68 @@
+;;;;
+;;;; Boot file for changing the fasl file version numbers to 21a.
+;;;;
+
+(in-package :c)
+
+(setf lisp::*enable-package-locked-errors* nil)
+
+;;;
+;;; Note that BYTE-FASL-FILE-VERSION is a constant.
+;;;
+;;; (Be sure to change BYTE-FASL-FILE-VERSION in
+;;; compiler/byte-comp.lisp to the correct value too!)
+;;;
+#-cmu21a
+(setf (symbol-value 'byte-fasl-file-version) #x21a)
+#-cmu21a
+(setf (backend-fasl-file-version *target-backend*) #x21a)
+
+;;;
+;;; Don't check fasl versions in the compiling Lisp because we'll
+;;; load files compiled with the new version numbers.
+;;;
+#-cmu21a
+(setq lisp::*skip-fasl-file-version-check* t)
+
+;;;
+;;; This is here because BYTE-FASL-FILE-VERSION is constant-folded in
+;;; OPEN-FASL-FILE. To make the new version number take effect, we
+;;; have to redefine the function.
+;;;
+#-cmu21a
+(defun open-fasl-file (name where &optional byte-p)
+ (declare (type pathname name))
+ (let* ((stream (open name :direction :output
+ :if-exists :new-version
+ :element-type '(unsigned-byte 8)
+ :class 'binary-text-stream))
+ (res (make-fasl-file :stream stream)))
+ (multiple-value-bind
+ (version f-vers f-imp)
+ (if byte-p
+ (values "Byte code"
+ byte-fasl-file-version
+ (backend-byte-fasl-file-implementation *backend*))
+ (values (backend-version *backend*)
+ (backend-fasl-file-version *backend*)
+ (backend-fasl-file-implementation *backend*)))
+ (format stream
+ "FASL FILE output from ~A.~@
+ Compiled ~A on ~A~@
+ Compiler ~A, Lisp ~A~@
+ Targeted for ~A, FASL version ~X~%"
+ where
+ (ext:format-universal-time nil (get-universal-time))
+ (machine-instance) compiler-version
+ (lisp-implementation-version)
+ version f-vers)
+ ;;
+ ;; Terminate header.
+ (dump-byte 255 res)
+ ;;
+ ;; Specify code format.
+ (dump-fop 'lisp::fop-long-code-format res)
+ (dump-byte f-imp res)
+ (dump-unsigned-32 f-vers res))
+ res))
+
=====================================
src/compiler/byte-comp.lisp
=====================================
--- a/src/compiler/byte-comp.lisp
+++ b/src/compiler/byte-comp.lisp
@@ -38,7 +38,7 @@
;; 0-9 followed by a single hex digit in the range a-f. Then the
;; version looks like a decimal number followed by a minor release
;; letter of a to f.
-(defconstant byte-fasl-file-version #x20f)
+(defconstant byte-fasl-file-version #x21a)
(let* ((version-string (format nil "~X" byte-fasl-file-version)))
;; Add :cmu<n> to *features*
=====================================
src/general-info/release-21a.txt
=====================================
--- a/src/general-info/release-21a.txt
+++ b/src/general-info/release-21a.txt
@@ -1,7 +1,5 @@
========================== C M U C L 21 a =============================
-[In Progress]
-
The CMUCL project is pleased to announce the release of CMUCL 21a.
This is a major release which contains numerous enhancements and
bug fixes from the 20f release.
@@ -45,6 +43,10 @@ New in this release:
* Added clx-inspector module.
* ASDF documentation included in html, info, and pdf formats in
contrib/asdf/doc/.
+ * If -quiet is given, don't print out the herald, even if the user
+ init files add things to the herald. (Previously, these would
+ get printed out.) Also, -quiet no longer removes the herald
+ items; you can sill print out the entire herald using
* ANSI compliance fixes:
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/3ee55ba5b826f2dd944c1426…
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
0743dd00 by Raymond Toy at 2015-09-30T22:17:04Z
Note changes for -quiet flag.
- - - - -
1 changed file:
- src/general-info/release-21a.txt
Changes:
=====================================
src/general-info/release-21a.txt
=====================================
--- a/src/general-info/release-21a.txt
+++ b/src/general-info/release-21a.txt
@@ -43,6 +43,10 @@ New in this release:
* Added clx-inspector module.
* ASDF documentation included in html, info, and pdf formats in
contrib/asdf/doc/.
+ * If -quiet is given, don't print out the herald, even if the user
+ init files add things to the herald. (Previously, these would
+ get printed out.) Also, -quiet no longer removes the herald
+ items; you can sill print out the entire herald using
* ANSI compliance fixes:
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/0743dd0055fbe8f66fa86e793…
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
53aac568 by Raymond Toy at 2015-09-30T21:56:04Z
Update cmucl version to 21a.
Add bootfile for building cmucl with the new version too.
- - - - -
db9bcbd3 by Raymond Toy at 2015-09-30T21:56:20Z
Remove [In progress] note.
- - - - -
3 changed files:
- + src/bootfiles/20f/boot-21a.lisp
- src/compiler/byte-comp.lisp
- src/general-info/release-21a.txt
Changes:
=====================================
src/bootfiles/20f/boot-21a.lisp
=====================================
--- /dev/null
+++ b/src/bootfiles/20f/boot-21a.lisp
@@ -0,0 +1,68 @@
+;;;;
+;;;; Boot file for changing the fasl file version numbers to 21a.
+;;;;
+
+(in-package :c)
+
+(setf lisp::*enable-package-locked-errors* nil)
+
+;;;
+;;; Note that BYTE-FASL-FILE-VERSION is a constant.
+;;;
+;;; (Be sure to change BYTE-FASL-FILE-VERSION in
+;;; compiler/byte-comp.lisp to the correct value too!)
+;;;
+#-cmu21a
+(setf (symbol-value 'byte-fasl-file-version) #x21a)
+#-cmu21a
+(setf (backend-fasl-file-version *target-backend*) #x21a)
+
+;;;
+;;; Don't check fasl versions in the compiling Lisp because we'll
+;;; load files compiled with the new version numbers.
+;;;
+#-cmu21a
+(setq lisp::*skip-fasl-file-version-check* t)
+
+;;;
+;;; This is here because BYTE-FASL-FILE-VERSION is constant-folded in
+;;; OPEN-FASL-FILE. To make the new version number take effect, we
+;;; have to redefine the function.
+;;;
+#-cmu21a
+(defun open-fasl-file (name where &optional byte-p)
+ (declare (type pathname name))
+ (let* ((stream (open name :direction :output
+ :if-exists :new-version
+ :element-type '(unsigned-byte 8)
+ :class 'binary-text-stream))
+ (res (make-fasl-file :stream stream)))
+ (multiple-value-bind
+ (version f-vers f-imp)
+ (if byte-p
+ (values "Byte code"
+ byte-fasl-file-version
+ (backend-byte-fasl-file-implementation *backend*))
+ (values (backend-version *backend*)
+ (backend-fasl-file-version *backend*)
+ (backend-fasl-file-implementation *backend*)))
+ (format stream
+ "FASL FILE output from ~A.~@
+ Compiled ~A on ~A~@
+ Compiler ~A, Lisp ~A~@
+ Targeted for ~A, FASL version ~X~%"
+ where
+ (ext:format-universal-time nil (get-universal-time))
+ (machine-instance) compiler-version
+ (lisp-implementation-version)
+ version f-vers)
+ ;;
+ ;; Terminate header.
+ (dump-byte 255 res)
+ ;;
+ ;; Specify code format.
+ (dump-fop 'lisp::fop-long-code-format res)
+ (dump-byte f-imp res)
+ (dump-unsigned-32 f-vers res))
+ res))
+
=====================================
src/compiler/byte-comp.lisp
=====================================
--- a/src/compiler/byte-comp.lisp
+++ b/src/compiler/byte-comp.lisp
@@ -38,7 +38,7 @@
;; 0-9 followed by a single hex digit in the range a-f. Then the
;; version looks like a decimal number followed by a minor release
;; letter of a to f.
-(defconstant byte-fasl-file-version #x20f)
+(defconstant byte-fasl-file-version #x21a)
(let* ((version-string (format nil "~X" byte-fasl-file-version)))
;; Add :cmu<n> to *features*
=====================================
src/general-info/release-21a.txt
=====================================
--- a/src/general-info/release-21a.txt
+++ b/src/general-info/release-21a.txt
@@ -1,7 +1,5 @@
========================== C M U C L 21 a =============================
-[In Progress]
-
The CMUCL project is pleased to announce the release of CMUCL 21a.
This is a major release which contains numerous enhancements and
bug fixes from the 20f release.
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/b8654321e9bb003da77dbf9e…