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)
|