Raymond Toy pushed to branch master at cmucl / cmucl

Commits:

5 changed files:

Changes:

  • .gitlab-ci.yml
    ... ... @@ -7,6 +7,6 @@ before_script:
    7 7
     
    
    8 8
     test:
    
    9 9
       script:
    
    10
    -    - bin/build.sh -C "" -o ./snapshot/bin/lisp
    
    10
    +    - bin/build.sh -B boot-21c -C "" -o ./snapshot/bin/lisp
    
    11 11
         - bin/make-dist.sh -I dist-linux linux-4
    
    12 12
         - bin/run-tests.sh -l dist-linux/bin/lisp 2>&1 | tee test.log

  • src/bootfiles/21b/boot-21c.lisp
    1
    +;;;;
    
    2
    +;;;; Boot file for changing the fasl file version numbers to 21a.
    
    3
    +;;;;
    
    4
    +
    
    5
    +(in-package :c)
    
    6
    +
    
    7
    +(setf lisp::*enable-package-locked-errors* nil)
    
    8
    +
    
    9
    +;;;
    
    10
    +;;; Note that BYTE-FASL-FILE-VERSION is a constant.
    
    11
    +;;;
    
    12
    +;;; (Be sure to change BYTE-FASL-FILE-VERSION in
    
    13
    +;;; compiler/byte-comp.lisp to the correct value too!)
    
    14
    +;;;
    
    15
    +#-cmu21c
    
    16
    +(setf (symbol-value 'byte-fasl-file-version)       #x21c)
    
    17
    +#-cmu21c
    
    18
    +(setf (backend-fasl-file-version *target-backend*) #x21c)
    
    19
    +
    
    20
    +;;;
    
    21
    +;;; Don't check fasl versions in the compiling Lisp because we'll
    
    22
    +;;; load files compiled with the new version numbers.
    
    23
    +;;;
    
    24
    +#-cmu21c
    
    25
    +(setq lisp::*skip-fasl-file-version-check* t)
    
    26
    +
    
    27
    +;;;
    
    28
    +;;; This is here because BYTE-FASL-FILE-VERSION is constant-folded in
    
    29
    +;;; OPEN-FASL-FILE.  To make the new version number take effect, we
    
    30
    +;;; have to redefine the function.
    
    31
    +;;;
    
    32
    +#-cmu21c
    
    33
    +(defun open-fasl-file (name where &optional byte-p)
    
    34
    +  (declare (type pathname name))
    
    35
    +  (let* ((stream (open name :direction :output
    
    36
    +			    :if-exists :new-version
    
    37
    +			    :element-type '(unsigned-byte 8)
    
    38
    +			    :class 'binary-text-stream))
    
    39
    +	 (res (make-fasl-file :stream stream)))
    
    40
    +    (multiple-value-bind
    
    41
    +	(version f-vers f-imp)
    
    42
    +	(if byte-p
    
    43
    +	    (values "Byte code"
    
    44
    +		    byte-fasl-file-version
    
    45
    +		    (backend-byte-fasl-file-implementation *backend*))
    
    46
    +	    (values (backend-version *backend*)
    
    47
    +		    (backend-fasl-file-version *backend*)
    
    48
    +		    (backend-fasl-file-implementation *backend*)))
    
    49
    +      (format stream
    
    50
    +	      "FASL FILE output from ~A.~@
    
    51
    +	       Compiled ~A on ~A~@
    
    52
    +	       Compiler ~A, Lisp ~A~@
    
    53
    +	       Targeted for ~A, FASL version ~X~%"
    
    54
    +	      where
    
    55
    +	      (ext:format-universal-time nil (get-universal-time))
    
    56
    +	      (machine-instance) compiler-version
    
    57
    +	      (lisp-implementation-version)
    
    58
    +	      version f-vers)
    
    59
    +      ;;
    
    60
    +      ;; Terminate header.
    
    61
    +      (dump-byte 255 res)
    
    62
    +      ;;
    
    63
    +      ;; Specify code format.
    
    64
    +      (dump-fop 'lisp::fop-long-code-format res)
    
    65
    +      (dump-byte f-imp res)
    
    66
    +      (dump-unsigned-32 f-vers res))
    
    67
    +    res))
    
    68
    +

  • src/compiler/byte-comp.lisp
    ... ... @@ -38,7 +38,7 @@
    38 38
     ;; 0-9 followed by a single hex digit in the range a-f.  Then the
    
    39 39
     ;; version looks like a decimal number followed by a minor release
    
    40 40
     ;; letter of a to f.
    
    41
    -(defconstant byte-fasl-file-version #x21b)
    
    41
    +(defconstant byte-fasl-file-version #x21c)
    
    42 42
     
    
    43 43
     (let* ((version-string (format nil "~X" byte-fasl-file-version)))
    
    44 44
       ;; Add :cmu<n> to *features*
    

  • src/general-info/release-21c.md
    1
    -**Work in progress**
    
    2
    -
    
    3 1
     # CMUCL 21c
    
    4 2
     
    
    5 3
     The CMUCL project is pleased to announce the release of CMUCL 21c.
    
    ... ... @@ -52,7 +50,7 @@ See http://www.cmucl.org or
    52 50
     https://gitlab.common-lisp.net/cmucl/cmucl for more information,
    
    53 51
     See
    
    54 52
     https://gitlab.common-lisp.net/cmucl/cmucl/wikis/GettingCmucl
    
    55
    -for obtaining CMUCL, including sources and binaries..
    
    53
    +for obtaining CMUCL, including sources and binaries.
    
    56 54
     
    
    57 55
     
    
    58 56
     We hope you enjoy using this release of CMUCL!

  • src/general-info/release-21d.md
    1
    +** Work in Progress **
    
    2
    +# CMUCL 21d
    
    3
    +
    
    4
    +The CMUCL project is pleased to announce the release of CMUCL 21c.
    
    5
    +This is a major release which contains numerous enhancements and bug
    
    6
    +fixes from the 21a release.
    
    7
    +
    
    8
    +CMUCL is a free, high performance implementation of the Common Lisp
    
    9
    +programming language which runs on most major Unix platforms. It
    
    10
    +mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
    
    11
    +sophisticated native code compiler; a powerful foreign function
    
    12
    +interface; an implementation of CLOS, the Common Lisp Object System,
    
    13
    +which includes multi-methods and a meta-object protocol; a
    
    14
    +source-level debugger and code profiler; and an Emacs-like editor
    
    15
    +implemented in Common Lisp. CMUCL is maintained by a team of
    
    16
    +volunteers collaborating over the Internet, and is mostly in the
    
    17
    +public domain.
    
    18
    +
    
    19
    +## New in this release:
    
    20
    +  * Known issues:
    
    21
    +  * Feature enhancements
    
    22
    +  * Changes
    
    23
    +  * ANSI compliance fixes:
    
    24
    +  * Bug fixes:
    
    25
    +  * Gitlab tickets:
    
    26
    +  * Other changes:
    
    27
    +  * Improvements to the PCL implementation of CLOS:
    
    28
    +  * Changes to building procedure:
    
    29
    +
    
    30
    +This release is not binary compatible with code compiled using CMUCL
    
    31
    +21c; you will need to recompile FASL files.
    
    32
    +
    
    33
    +See http://www.cmucl.org or
    
    34
    +https://gitlab.common-lisp.net/cmucl/cmucl for more information,
    
    35
    +See
    
    36
    +https://gitlab.common-lisp.net/cmucl/cmucl/wikis/GettingCmucl
    
    37
    +for obtaining CMUCL, including sources and binaries..
    
    38
    +
    
    39
    +
    
    40
    +We hope you enjoy using this release of CMUCL!