[Git][cmucl/cmucl][issue-234-make-ascii-format-builtin] 7 commits: Fix #154 - add 'en_US.UTF-8 at piglatin' as locale-alias for 'en at piglatin'

Raymond Toy (@rtoy) gitlab at common-lisp.net
Wed Jul 5 17:02:03 UTC 2023



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
Fix #154 - add 'en_US.UTF-8 at piglatin' as locale-alias for 'en at 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 at piglatin' as locale-alias for 'en at 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.

- - - - -
1e08c263 by Raymond Toy at 2023-07-05T09:38:46-07:00
Merge branch 'master' into issue-234-make-ascii-format-builtin

- - - - -
fec52ff6 by Raymond Toy at 2023-07-05T09:59:48-07:00
Fix typo when the format is :ascii

We were incorrectly looking up :utf-8 when given :ascii.

- - - - -


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:

=====================================
.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/extfmts.lisp
=====================================
@@ -472,7 +472,7 @@
       (gethash :utf-8 *external-formats*)))
   (when (eq name :ascii)
     (return-from %find-external-format
-      (gethash :utf-8 *external-formats*)))
+      (gethash :ascii *external-formats*)))
 
   (when (zerop (hash-table-count *external-format-aliases*))
     (setf (gethash :latin1 *external-format-aliases*) :iso8859-1)


=====================================
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 at piglatin" *locale-aliases*) "en at 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 at piglatin")
+	(piglatin-text "Ethay izesay ofway away eamstray inway-ufferbay."))
+    (unwind-protect
+	 (progn
+	   (assert-equal locale (intl:setlocale "en_US.UTF-8 at 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/1b030d611bab51f190b877e93ce577d4980a61b0...fec52ff62ad0ea323c245f42b5cea3a09760298d

-- 
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/1b030d611bab51f190b877e93ce577d4980a61b0...fec52ff62ad0ea323c245f42b5cea3a09760298d
You're receiving this email because of your account on gitlab.common-lisp.net.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20230705/48853639/attachment-0001.html>


More information about the cmucl-cvs mailing list