Raymond Toy pushed to branch issue-234-make-ascii-format-builtin at cmucl / cmucl
Commits:
8ff9f737 by Raymond Toy at 2023-07-06T16:38:53-07:00
Clean up impl of %find-external-format
Simplify code in `%find-external-format` to use the same code for all
the built-in formats. Add new constant `+builtin-externalf-formats+`
to list all the external formats that are built into lisp.
- - - - -
1 changed file:
- src/code/extfmts.lisp
Changes:
=====================================
src/code/extfmts.lisp
=====================================
@@ -461,18 +461,18 @@
(format t "~&~A~%"
(intl:gettext (or (ef-documentation ef) "")))))))))
+(defconstant +builtin-external-formats+ '(:utf-8 :iso8859-1 :ascii)
+ "List of external formats that are builtin so that they don't need to
+ be loaded on first use.")
+
(defun %find-external-format (name)
;; avoid loading files, etc., early in the boot sequence
- (when (or (eq name :iso8859-1)
- (and (eq name :default) (eq *default-external-format* :iso8859-1)))
- (return-from %find-external-format
- (gethash :iso8859-1 *external-formats*)))
- (when (eq name :utf-8)
- (return-from %find-external-format
- (gethash :utf-8 *external-formats*)))
- (when (eq name :ascii)
+ (when (and (eq name :default)
+ (eq *default-external-format* :iso8859-1))
+ (setf name :iso8859-1))
+ (when (member name +builtin-external-formats+ :test 'eq)
(return-from %find-external-format
- (gethash :ascii *external-formats*)))
+ (gethash name *external-formats*)))
(when (zerop (hash-table-count *external-format-aliases*))
(setf (gethash :latin1 *external-format-aliases*) :iso8859-1)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/8ff9f73774da81f757cde04…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/8ff9f73774da81f757cde04…
You're receiving this email because of your account on gitlab.common-lisp.net.
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@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.
- - - - -
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@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/1b030d611bab51f190b877…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/1b030d611bab51f190b877…
You're receiving this email because of your account on gitlab.common-lisp.net.
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/db121350dec799687bc2d5…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/db121350dec799687bc2d5…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
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.
- - - - -
1 changed file:
- bin/build.sh
Changes:
=====================================
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
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/4e433b83b0829b262b39820…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/4e433b83b0829b262b39820…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch issue-242-c-call-char-result-wrong at cmucl / cmucl
Commits:
40f30050 by Raymond Toy at 2023-07-01T07:25:32-07:00
Rename unsigned_to_bool to int_to_bool
Forgot one place.
- - - - -
1 changed file:
- tests/issues.lisp
Changes:
=====================================
tests/issues.lisp
=====================================
@@ -1074,7 +1074,7 @@
(flet ((fun (n)
(setf test-arg n)
(alien:alien-funcall
- (alien:extern-alien "unsigned_to_bool"
+ (alien:extern-alien "int_to_bool"
(function c-call:char))))
(expected (n)
(if (zerop n)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/40f300500cfe1ee912a37fd…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/40f300500cfe1ee912a37fd…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch issue-242-c-call-char-result-wrong at cmucl / cmucl
Commits:
b921dc29 by Raymond Toy at 2023-07-01T07:19:31-07:00
Rename unsigned_to_bool to int_to_bool
Since the global `test_arg` is an `int`, rename `unsigned_to_bool` to
`int_to_bool` since we're converting an `int` to a `bool` instead of
an `unsigned`.
This makes the name of the function consistent with what is being
converted. Doesn't affect the current test because we only test with
small non-negative integers.
- - - - -
2 changed files:
- tests/issues.lisp
- tests/test-return.c
Changes:
=====================================
tests/issues.lisp
=====================================
@@ -1088,7 +1088,7 @@
(flet ((fun (n)
(setf test-arg n)
(alien:alien-funcall
- (alien:extern-alien "unsigned_to_bool"
+ (alien:extern-alien "int_to_bool"
(function alien:boolean))))
(expected (n)
(not (zerop n))))
=====================================
tests/test-return.c
=====================================
@@ -38,7 +38,7 @@ int_to_unsigned_int()
return (unsigned int) test_arg;
}
-_Bool unsigned_to_bool()
+_Bool int_to_bool()
{
return (_Bool) test_arg;
}
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/b921dc292adcd038a13a8c8…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/b921dc292adcd038a13a8c8…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch issue-242-c-call-char-result-wrong at cmucl / cmucl
Commits:
88d71368 by Raymond Toy at 2023-06-30T14:17:04-07:00
Change `signed short` to `short`
`short` is always signed.
- - - - -
1 changed file:
- tests/test-return.c
Changes:
=====================================
tests/test-return.c
=====================================
@@ -6,10 +6,10 @@ int_to_signed_char(int x)
return (signed char) x;
}
-signed short
+short
int_to_short(int x)
{
- return (signed short) x;
+ return (short) x;
}
int
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/88d71368da29315d7b6a457…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/88d71368da29315d7b6a457…
You're receiving this email because of your account on gitlab.common-lisp.net.