diff --git a/bootfiles/20b/boot-20c.lisp b/bootfiles/20b/boot-20c.lisp new file mode 100644 index 0000000000000000000000000000000000000000..cc54472218dc499504f4fe50247be44358760b46 --- /dev/null +++ b/bootfiles/20b/boot-20c.lisp @@ -0,0 +1,68 @@ +;;;; +;;;; Boot file for changing the fasl file version numbers to 20c. +;;;; + +(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!) +;;; +#-cmu20c +(setf (symbol-value 'byte-fasl-file-version) #x20c) +#-cmu20c +(setf (backend-fasl-file-version *target-backend*) #x20c) + +;;; +;;; Don't check fasl versions in the compiling Lisp because we'll +;;; load files compiled with the new version numbers. +;;; +#-cmu20c +(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. +;;; +#-cmu20c +(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)) + diff --git a/code/list.lisp b/code/list.lisp index aa44acd27241d6101eddaf30748ce82da71a15f6..590564a4601f76dbd4813d599b9cf1b85b058a95 100644 --- a/code/list.lisp +++ b/code/list.lisp @@ -1056,27 +1056,32 @@ (defun mapc (function list &rest more-lists) - "Applies fn to successive elements of lists, returns its second argument." + "Applies Function to successive elements of each List, and returns + its second argument." (map1 function (cons list more-lists) nil t)) (defun mapcar (function list &rest more-lists) - "Applies fn to successive elements of list, returns list of results." + "Applies Function to successive elements of each List, and returns a + list of results." (map1 function (cons list more-lists) :list t)) (defun mapcan (function list &rest more-lists) - "Applies fn to successive elements of list, returns NCONC of results." + "Applies Function to successive elements of each List, and returns + NCONC of results." (map1 function (cons list more-lists) :nconc t)) (defun mapl (function list &rest more-lists) - "Applies fn to successive CDRs of list, returns ()." + "Applies Function to successive CDRs of each List, and returns ()." (map1 function (cons list more-lists) nil nil)) (defun maplist (function list &rest more-lists) - "Applies fn to successive CDRs of list, returns list of results." + "Applies Function to successive CDRs of each List, and returns list + of results." (map1 function (cons list more-lists) :list nil)) (defun mapcon (function list &rest more-lists) - "Applies fn to successive CDRs of lists, returns NCONC of results." + "Applies Function to successive CDRs of each List, and returns NCONC + of results." (map1 function (cons list more-lists) :nconc nil)) diff --git a/compiler/byte-comp.lisp b/compiler/byte-comp.lisp index 3f04bdd24e39561b2d262bbd2f8c7d4550d38ea5..ad1616208f2ef74cdeac4ff51c0c3c6bdc34a059 100644 --- a/compiler/byte-comp.lisp +++ b/compiler/byte-comp.lisp @@ -34,12 +34,20 @@ ;;;; Fasl file format: -(defconstant byte-fasl-file-version #x20b) +;; The fasl file version should be a series of hex digits in the range +;; 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 #x20c) (let* ((version-string (format nil "~X" byte-fasl-file-version))) - (sys:register-lisp-feature (intern (concatenate 'string "CMU" version-string) :keyword)) + ;; Add :cmu<n> to *features* + (sys:register-lisp-feature (intern (concatenate 'string "CMU" version-string) + :keyword)) + ;; Same as above, except drop the trailing a-f character. (sys:register-lisp-feature (intern (concatenate 'string "CMU" - (subseq version-string 0 (1- (length version-string)))) + (subseq version-string 0 + (1- (length version-string)))) :keyword))) (defun backend-byte-fasl-file-type (backend) diff --git a/general-info/release-20c.txt b/general-info/release-20c.txt index ffe98b5c91767008e4aa12d15227a2704feb9e80..2db1794609f3892b184e403be39f2deedc33d6cc 100644 --- a/general-info/release-20c.txt +++ b/general-info/release-20c.txt @@ -1,7 +1,5 @@ ========================== C M U C L 20 c ============================= -[--- WORK IN PROGRESS ---] - The CMUCL project is pleased to announce the release of CMUCL 20c. This is a major release which contains numerous enhancements and bug fixes from the 20b release. @@ -60,6 +58,7 @@ New in this release: - Improve type propagation for LOAD-TIME-VALUE. - Add -O option to build.sh to allow specifying options to lisp when doing the builds. + - (format t "a~0&b") should not output a newline between a and b. * ANSI compliance fixes: - Fixes for signaling errors with READ-CHAR and READ-BYTE diff --git a/i18n/locale/cmucl.pot b/i18n/locale/cmucl.pot index 6ddb2afc7b0f67019f109ef10b28f00c64fbd6d4..92ace3df87aacd73e9b013f6f0d96490bb138e1f 100644 --- a/i18n/locale/cmucl.pot +++ b/i18n/locale/cmucl.pot @@ -3294,27 +3294,36 @@ msgstr "" #: src/code/list.lisp msgid "" -"Applies fn to successive elements of lists, returns its second argument." +"Applies Function to successive elements of each List, and returns\n" +" its second argument." msgstr "" #: src/code/list.lisp -msgid "Applies fn to successive elements of list, returns list of results." +msgid "" +"Applies Function to successive elements of each List, and returns a\n" +" list of results." msgstr "" #: src/code/list.lisp -msgid "Applies fn to successive elements of list, returns NCONC of results." +msgid "" +"Applies Function to successive elements of each List, and returns\n" +" NCONC of results." msgstr "" #: src/code/list.lisp -msgid "Applies fn to successive CDRs of list, returns ()." +msgid "Applies Function to successive CDRs of each List, and returns ()." msgstr "" #: src/code/list.lisp -msgid "Applies fn to successive CDRs of list, returns list of results." +msgid "" +"Applies Function to successive CDRs of each List, and returns list\n" +" of results." msgstr "" #: src/code/list.lisp -msgid "Applies fn to successive CDRs of lists, returns NCONC of results." +msgid "" +"Applies Function to successive CDRs of each List, and returns NCONC\n" +" of results." msgstr "" #: src/code/list.lisp diff --git a/i18n/locale/en@piglatin/LC_MESSAGES/cmucl.po b/i18n/locale/en@piglatin/LC_MESSAGES/cmucl.po index 8ed111fff81e6e40e6f4c99bacdaf4c84552e78b..78da94f622d5803479df64a03f8154a02e54c69b 100644 --- a/i18n/locale/en@piglatin/LC_MESSAGES/cmucl.po +++ b/i18n/locale/en@piglatin/LC_MESSAGES/cmucl.po @@ -4546,36 +4546,51 @@ msgstr "" " unctionfay andway accumulatingway esultsray asway esiredday." #: src/code/list.lisp +#, fuzzy msgid "" -"Applies fn to successive elements of lists, returns its second argument." +"Applies Function to successive elements of each List, and returns\n" +" its second argument." msgstr "" "Appliesway nfay otay uccessivesay elementsway ofway istslay, eturnsray " "itsway econdsay argumentway." #: src/code/list.lisp -msgid "Applies fn to successive elements of list, returns list of results." +#, fuzzy +msgid "" +"Applies Function to successive elements of each List, and returns a\n" +" list of results." msgstr "" "Appliesway nfay otay uccessivesay elementsway ofway istlay, eturnsray istlay " "ofway esultsray." #: src/code/list.lisp -msgid "Applies fn to successive elements of list, returns NCONC of results." +#, fuzzy +msgid "" +"Applies Function to successive elements of each List, and returns\n" +" NCONC of results." msgstr "" "Appliesway nfay otay uccessivesay elementsway ofway istlay, eturnsray NCONC " "ofway esultsray." #: src/code/list.lisp -msgid "Applies fn to successive CDRs of list, returns ()." +#, fuzzy +msgid "Applies Function to successive CDRs of each List, and returns ()." msgstr "Appliesway nfay otay uccessivesay Drscay ofway istlay, eturnsray ()." #: src/code/list.lisp -msgid "Applies fn to successive CDRs of list, returns list of results." +#, fuzzy +msgid "" +"Applies Function to successive CDRs of each List, and returns list\n" +" of results." msgstr "" "Appliesway nfay otay uccessivesay Drscay ofway istlay, eturnsray istlay " "ofway esultsray." #: src/code/list.lisp -msgid "Applies fn to successive CDRs of lists, returns NCONC of results." +#, fuzzy +msgid "" +"Applies Function to successive CDRs of each List, and returns NCONC\n" +" of results." msgstr "" "Appliesway nfay otay uccessivesay Drscay ofway istslay, eturnsray NCONC " "ofway esultsray." diff --git a/i18n/locale/ko/LC_MESSAGES/cmucl.po b/i18n/locale/ko/LC_MESSAGES/cmucl.po index a8dcf1de53dadcd03f1243465699d2894a5c9602..a806becfea18209742c3fe300a6e3b7010d6dbab 100644 --- a/i18n/locale/ko/LC_MESSAGES/cmucl.po +++ b/i18n/locale/ko/LC_MESSAGES/cmucl.po @@ -3295,27 +3295,36 @@ msgstr "" #: src/code/list.lisp msgid "" -"Applies fn to successive elements of lists, returns its second argument." +"Applies Function to successive elements of each List, and returns\n" +" its second argument." msgstr "" #: src/code/list.lisp -msgid "Applies fn to successive elements of list, returns list of results." +msgid "" +"Applies Function to successive elements of each List, and returns a\n" +" list of results." msgstr "" #: src/code/list.lisp -msgid "Applies fn to successive elements of list, returns NCONC of results." +msgid "" +"Applies Function to successive elements of each List, and returns\n" +" NCONC of results." msgstr "" #: src/code/list.lisp -msgid "Applies fn to successive CDRs of list, returns ()." +msgid "Applies Function to successive CDRs of each List, and returns ()." msgstr "" #: src/code/list.lisp -msgid "Applies fn to successive CDRs of list, returns list of results." +msgid "" +"Applies Function to successive CDRs of each List, and returns list\n" +" of results." msgstr "" #: src/code/list.lisp -msgid "Applies fn to successive CDRs of lists, returns NCONC of results." +msgid "" +"Applies Function to successive CDRs of each List, and returns NCONC\n" +" of results." msgstr "" #: src/code/list.lisp diff --git a/tools/build.sh b/tools/build.sh index 74374ddd654c417776b90334c34eb0bebb39abf4..392637e3c2ce64305beae0925ba62ae842e6be58 100755 --- a/tools/build.sh +++ b/tools/build.sh @@ -94,7 +94,7 @@ usage () echo ' the translations.' echo " -? This help message" echo " -w Specify a different build-world.sh script" - echo " -U If translations are done, overwrite the CVS files with the" + echo " -U If translations are done, overwrite the files with the" echo " translations instead of computing and displaying the diffs." echo " -O opt Any additional command-line flags to use when building." echo " The flags always include -noinit -nositeinit"