Raymond Toy pushed to branch issue-234-make-ascii-format-builtin at cmucl / cmucl
Commits:
-
b1592289
by Jon Boone at 2023-06-19T00:07:56+00:00
-
361c463b
by Jon Boone at 2023-06-19T00:08:11+00:00
-
d8502e05
by Raymond Toy at 2023-06-19T07:19:00-07:00
-
1fcdbdb2
by Raymond Toy at 2023-06-19T14:17:30-07:00
-
4e433b83
by Raymond Toy at 2023-07-05T06:40:08-07:00
-
1e08c263
by Raymond Toy at 2023-07-05T09:38:46-07:00
-
fec52ff6
by Raymond Toy at 2023-07-05T09:59:48-07:00
8 changed files:
- .gitlab-ci.yml
- bin/build.sh
- src/code/extfmts.lisp
- src/code/intl.lisp
- src/code/pred.lisp
- + src/general-info/release-21f.md
- src/i18n/locale/cmucl.pot
- tests/issues.lisp
Changes:
| ... | ... | @@ -46,6 +46,7 @@ linux:build: |
| 46 | 46 | #- bin/cross-build-world.sh -crl -B boot-2020-04-1 xtarget xcross src/tools/cross-scripts/cross-x86-x86.lisp snapshot/bin/lisp
|
| 47 | 47 | # Regular build using the cross-compiled result or snapshot
|
| 48 | 48 | - bin/build.sh $bootstrap -R -C "x86_linux_clang" -o snapshot/bin/lisp
|
| 49 | + # - bin/build.sh $bootstrap -R -C "x86_linux" -o snapshot/bin/lisp
|
|
| 49 | 50 | - bin/make-dist.sh -I dist linux-4
|
| 50 | 51 | |
| 51 | 52 | linux:test:
|
| ... | ... | @@ -110,6 +110,8 @@ case `uname -s` in |
| 110 | 110 | esac ;;
|
| 111 | 111 | esac
|
| 112 | 112 | |
| 113 | +export LANG=en_US.UTF-8
|
|
| 114 | + |
|
| 113 | 115 | buildit ()
|
| 114 | 116 | {
|
| 115 | 117 | if echo $INTERACTIVE_BUILD | grep $BUILD > /dev/null; then
|
| ... | ... | @@ -130,13 +132,11 @@ buildit () |
| 130 | 132 | time $BUILDWORLD $TARGET $OLDLISP $BOOT || { echo "Failed: $BUILDWORLD"; exit 1; }
|
| 131 | 133 | if [ "$REBUILD_LISP" = "yes" ]; then
|
| 132 | 134 | $TOOLDIR/rebuild-lisp.sh $TARGET
|
| 133 | - else
|
|
| 134 | - # Set the LANG to C. For whatever reason, if I (rtoy) don't
|
|
| 135 | - # do this on my openSuSE system, any messages from gcc are
|
|
| 136 | - # basically garbled. This should be harmless on other
|
|
| 137 | - # systems.
|
|
| 138 | - LANG=C $MAKE -C $TARGET/lisp $MAKE_TARGET || { echo "Failed: $MAKE -C $TARGET/lisp"; exit 1; }
|
|
| 139 | - fi
|
|
| 135 | + fi
|
|
| 136 | +
|
|
| 137 | + # Set the LANG to C. For whatever reason, if I (rtoy) don't do this on my openSuSE system,
|
|
| 138 | + # any messages from gcc are basically garbled. This should be harmless on other systems.
|
|
| 139 | + LANG=C $MAKE -C $TARGET/lisp $MAKE_TARGET || { echo "Failed: $MAKE -C $TARGET/lisp"; exit 1; }
|
|
| 140 | 140 | |
| 141 | 141 | if [ "$BUILD_WORLD2" = "yes" ];
|
| 142 | 142 | then
|
| ... | ... | @@ -472,7 +472,7 @@ |
| 472 | 472 | (gethash :utf-8 *external-formats*)))
|
| 473 | 473 | (when (eq name :ascii)
|
| 474 | 474 | (return-from %find-external-format
|
| 475 | - (gethash :utf-8 *external-formats*)))
|
|
| 475 | + (gethash :ascii *external-formats*)))
|
|
| 476 | 476 | |
| 477 | 477 | (when (zerop (hash-table-count *external-format-aliases*))
|
| 478 | 478 | (setf (gethash :latin1 *external-format-aliases*) :iso8859-1)
|
| ... | ... | @@ -51,6 +51,7 @@ |
| 51 | 51 | Use (INTL:TEXTDOMAIN \"whatever\") in each source file to set this.")
|
| 52 | 52 | (defvar *loaded-domains* (make-hash-table :test 'equal))
|
| 53 | 53 | (defvar *locale-aliases* (make-hash-table :test 'equal))
|
| 54 | +(setf (gethash "en_US.UTF-8@piglatin" *locale-aliases*) "en@piglatin")
|
|
| 54 | 55 | |
| 55 | 56 | (defstruct domain-entry
|
| 56 | 57 | (domain "" :type simple-base-string)
|
| ... | ... | @@ -387,8 +387,8 @@ |
| 387 | 387 | (defun equal (x y)
|
| 388 | 388 | "Returns T if X and Y are EQL or if they are structured components
|
| 389 | 389 | whose elements are EQUAL. Strings and bit-vectors are EQUAL if they
|
| 390 | - are the same length and have indentical components. Other arrays must be
|
|
| 391 | - EQ to be EQUAL."
|
|
| 390 | + are the same length and have identical components. Other arrays
|
|
| 391 | + must be EQ to be EQUAL."
|
|
| 392 | 392 | (cond ((eql x y) t)
|
| 393 | 393 | ((consp x)
|
| 394 | 394 | (and (consp y)
|
| 1 | +# Work in progress
|
|
| 2 | + |
|
| 3 | +The CMUCL project is pleased to announce the release of CMUCL 21f.
|
|
| 4 | +This is a major release which contains numerous enhancements and bug
|
|
| 5 | +fixes from the <previous> release.
|
|
| 6 | + |
|
| 7 | +CMUCL is a free, high performance implementation of the Common Lisp
|
|
| 8 | +programming language which runs on most major Unix platforms. It
|
|
| 9 | +mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
|
|
| 10 | +sophisticated native code compiler; a powerful foreign function
|
|
| 11 | +interface; an implementation of CLOS, the Common Lisp Object System,
|
|
| 12 | +which includes multi-methods and a meta-object protocol; a
|
|
| 13 | +source-level debugger and code profiler; and an Emacs-like editor
|
|
| 14 | +implemented in Common Lisp. CMUCL is maintained by a team of
|
|
| 15 | +volunteers collaborating over the Internet, and is mostly in the
|
|
| 16 | +public domain.
|
|
| 17 | + |
|
| 18 | +## New in this release:
|
|
| 19 | + * Known issues:
|
|
| 20 | + * Feature enhancements:
|
|
| 21 | + * Changes:
|
|
| 22 | + * ANSI compliance fixes:
|
|
| 23 | + * Bug fixes:
|
|
| 24 | + * Gitlab tickets:
|
|
| 25 | + * ~~#154~~ piglatin translation does not work anymore
|
|
| 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 | +21e; 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! |
| ... | ... | @@ -9083,7 +9083,8 @@ msgstr "" |
| 9083 | 9083 | #: src/code/extfmts.lisp
|
| 9084 | 9084 | msgid ""
|
| 9085 | 9085 | "The default external format to use if no other external format is\n"
|
| 9086 | -" specified"
|
|
| 9086 | +" specified. This is unaffected by any locale settings or by\n"
|
|
| 9087 | +" SET-SYSTEM-EXTERNAL-FORMAT."
|
|
| 9087 | 9088 | msgstr ""
|
| 9088 | 9089 | |
| 9089 | 9090 | #: src/code/extfmts.lisp
|
| ... | ... | @@ -830,7 +830,18 @@ |
| 830 | 830 | (assert-true (stream::find-external-format :euckr))
|
| 831 | 831 | (assert-true (stream::find-external-format :cp949))))
|
| 832 | 832 | |
| 833 | - |
|
| 833 | +(define-test issue.154
|
|
| 834 | + (:tag :issues)
|
|
| 835 | + (let ((old-locale intl::*locale*)
|
|
| 836 | + (locale "en_US.UTF-8@piglatin")
|
|
| 837 | + (piglatin-text "Ethay izesay ofway away eamstray inway-ufferbay."))
|
|
| 838 | + (unwind-protect
|
|
| 839 | + (progn
|
|
| 840 | + (assert-equal locale (intl:setlocale "en_US.UTF-8@piglatin"))
|
|
| 841 | + (print (intl::find-domain "cmucl" intl::*locale*))
|
|
| 842 | + (assert-equal piglatin-text (intl:dgettext "cmucl" "The size of a stream in-buffer."))
|
|
| 843 | + )
|
|
| 844 | + (intl:setlocale old-locale))))
|
|
| 834 | 845 | |
| 835 | 846 | (define-test issue.158
|
| 836 | 847 | (:tag :issues)
|