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"