Raymond Toy pushed to branch issue-242-c-call-char-result-wrong at cmucl / cmucl
Commits: b1592289 by Jon Boone at 2023-06-19T00:07:56+00:00 Fix #154 - add 'en_US.UTF-8@piglatin' as locale-alias for 'en@piglatin'
- - - - - 361c463b by Jon Boone at 2023-06-19T00:08:11+00:00 Merge branch 'issue-154-piglatin-translation-doesnt-work-anymore' into 'master'
Fix #154 - add 'en_US.UTF-8@piglatin' as locale-alias for 'en@piglatin'
Closes #154 and #216
See merge request cmucl/cmucl!151 - - - - - d8502e05 by Raymond Toy at 2023-06-19T07:19:00-07:00 Add release notes for 21f
Just pulled in the template and added that #154 has been fixed.
- - - - - 1fcdbdb2 by Raymond Toy at 2023-06-19T14:17:30-07:00 Fix typo in docstring for EQUAL
- - - - - 4e433b83 by Raymond Toy at 2023-07-05T06:40:08-07:00 Set LANG in build.sh
For some reason, on my Mac system, LANG isn't set and sometimes git messages are in Korean. So for consistency, set LANG in build.sh to a known value that should work everywhere.
- - - - - fc986b6a by Raymond Toy at 2023-07-05T08:59:54-07:00 Merge branch 'master' into issue-242-c-call-char-result-wrong
- - - - -
7 changed files:
- .gitlab-ci.yml - bin/build.sh - src/code/intl.lisp - src/code/pred.lisp - + src/general-info/release-21f.md - src/i18n/locale/cmucl.pot - tests/issues.lisp
Changes:
===================================== .gitlab-ci.yml ===================================== @@ -46,6 +46,7 @@ linux:build: #- bin/cross-build-world.sh -crl -B boot-2020-04-1 xtarget xcross src/tools/cross-scripts/cross-x86-x86.lisp snapshot/bin/lisp # Regular build using the cross-compiled result or snapshot - bin/build.sh $bootstrap -R -C "x86_linux_clang" -o snapshot/bin/lisp + # - bin/build.sh $bootstrap -R -C "x86_linux" -o snapshot/bin/lisp - bin/make-dist.sh -I dist linux-4
linux:test:
===================================== bin/build.sh ===================================== @@ -110,6 +110,8 @@ case `uname -s` in esac ;; esac
+export LANG=en_US.UTF-8 + buildit () { if echo $INTERACTIVE_BUILD | grep $BUILD > /dev/null; then @@ -130,13 +132,11 @@ buildit () time $BUILDWORLD $TARGET $OLDLISP $BOOT || { echo "Failed: $BUILDWORLD"; exit 1; } if [ "$REBUILD_LISP" = "yes" ]; then $TOOLDIR/rebuild-lisp.sh $TARGET - else - # Set the LANG to C. For whatever reason, if I (rtoy) don't - # do this on my openSuSE system, any messages from gcc are - # basically garbled. This should be harmless on other - # systems. - LANG=C $MAKE -C $TARGET/lisp $MAKE_TARGET || { echo "Failed: $MAKE -C $TARGET/lisp"; exit 1; } - fi + fi + + # Set the LANG to C. For whatever reason, if I (rtoy) don't do this on my openSuSE system, + # any messages from gcc are basically garbled. This should be harmless on other systems. + LANG=C $MAKE -C $TARGET/lisp $MAKE_TARGET || { echo "Failed: $MAKE -C $TARGET/lisp"; exit 1; }
if [ "$BUILD_WORLD2" = "yes" ]; then
===================================== src/code/intl.lisp ===================================== @@ -51,6 +51,7 @@ Use (INTL:TEXTDOMAIN "whatever") in each source file to set this.") (defvar *loaded-domains* (make-hash-table :test 'equal)) (defvar *locale-aliases* (make-hash-table :test 'equal)) +(setf (gethash "en_US.UTF-8@piglatin" *locale-aliases*) "en@piglatin")
(defstruct domain-entry (domain "" :type simple-base-string)
===================================== src/code/pred.lisp ===================================== @@ -387,8 +387,8 @@ (defun equal (x y) "Returns T if X and Y are EQL or if they are structured components whose elements are EQUAL. Strings and bit-vectors are EQUAL if they - are the same length and have indentical components. Other arrays must be - EQ to be EQUAL." + are the same length and have identical components. Other arrays + must be EQ to be EQUAL." (cond ((eql x y) t) ((consp x) (and (consp y)
===================================== src/general-info/release-21f.md ===================================== @@ -0,0 +1,40 @@ +# Work in progress + +The CMUCL project is pleased to announce the release of CMUCL 21f. +This is a major release which contains numerous enhancements and bug +fixes from the <previous> release. + +CMUCL is a free, high performance implementation of the Common Lisp +programming language which runs on most major Unix platforms. It +mainly conforms to the ANSI Common Lisp standard. CMUCL provides a +sophisticated native code compiler; a powerful foreign function +interface; an implementation of CLOS, the Common Lisp Object System, +which includes multi-methods and a meta-object protocol; a +source-level debugger and code profiler; and an Emacs-like editor +implemented in Common Lisp. CMUCL is maintained by a team of +volunteers collaborating over the Internet, and is mostly in the +public domain. + +## New in this release: + * Known issues: + * Feature enhancements: + * Changes: + * ANSI compliance fixes: + * Bug fixes: + * Gitlab tickets: + * ~~#154~~ piglatin translation does not work anymore + * Other changes: + * Improvements to the PCL implementation of CLOS: + * Changes to building procedure: + +This release is not binary compatible with code compiled using CMUCL +21e; you will need to recompile FASL files. + +See http://www.cmucl.org or +https://gitlab.common-lisp.net/cmucl/cmucl for more information, +See +https://gitlab.common-lisp.net/cmucl/cmucl/wikis/GettingCmucl +for obtaining CMUCL, including sources and binaries.. + + +We hope you enjoy using this release of CMUCL!
===================================== src/i18n/locale/cmucl.pot ===================================== @@ -9083,7 +9083,8 @@ msgstr "" #: src/code/extfmts.lisp msgid "" "The default external format to use if no other external format is\n" -" specified" +" specified. This is unaffected by any locale settings or by\n" +" SET-SYSTEM-EXTERNAL-FORMAT." msgstr ""
#: src/code/extfmts.lisp
===================================== tests/issues.lisp ===================================== @@ -830,7 +830,18 @@ (assert-true (stream::find-external-format :euckr)) (assert-true (stream::find-external-format :cp949))))
- +(define-test issue.154 + (:tag :issues) + (let ((old-locale intl::*locale*) + (locale "en_US.UTF-8@piglatin") + (piglatin-text "Ethay izesay ofway away eamstray inway-ufferbay.")) + (unwind-protect + (progn + (assert-equal locale (intl:setlocale "en_US.UTF-8@piglatin")) + (print (intl::find-domain "cmucl" intl::*locale*)) + (assert-equal piglatin-text (intl:dgettext "cmucl" "The size of a stream in-buffer.")) + ) + (intl:setlocale old-locale))))
(define-test issue.158 (:tag :issues)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/db121350dec799687bc2d51...