Raymond Toy pushed to branch issue-240-set-diff-with-hash-table at cmucl / cmucl
Commits:
653dc42f by Raymond Toy at 2023-06-19T13:19:51-07:00
Forgot to return the value
When list1 was in the hashtable, we forgot to return values from the
hashtable after computing the return value.
- - - - -
1 changed file:
- src/code/list.lisp
Changes:
=====================================
src/code/list.lisp
=====================================
@@ -883,7 +883,8 @@
(maphash #'(lambda (key value)
(declare (ignore key))
(setq result (nconc result value)))
- hashtable))))))
+ hashtable)
+ result)))))
(defun nset-difference (list1 list2 &key key
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/653dc42ff6285a475709fe2…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/653dc42ff6285a475709fe2…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch issue-240-set-diff-with-hash-table 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.
- - - - -
edac2a0f by Raymond Toy at 2023-06-19T12:50:10-07:00
Merge branch 'master' into issue-240-set-diff-with-hash-table
- - - - -
6 changed files:
- .gitlab-ci.yml
- bin/build.sh
- src/code/intl.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
=====================================
@@ -130,13 +130,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/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/f9485d0873657a8e833363…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/f9485d0873657a8e833363…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch issue-240-set-diff-with-hash-table at cmucl / cmucl
Commits:
f9485d08 by Raymond Toy at 2023-06-19T12:46:39-07:00
Handle the case of NIL in list2.
When list2 is in the hash table and it contains NIL and list1 also
contains NIL, we were erroneously including NIL in the difference.
This was because we weren't checking the second return value for
gethash.
Also, for consistency, don't reverse the set of differences. This
makes output from the hash-table version match the list version.
Finally, add a defparameter to specify the length threshold for
converting a list to hashtable. This is mostly for testing to
determine an appropriate value.
- - - - -
1 changed file:
- src/code/list.lisp
Changes:
=====================================
src/code/list.lisp
=====================================
@@ -744,6 +744,8 @@
list
(cons item list)))
+(defparameter *min-list-length-for-hashtable*
+ 15)
;; Convert a list to a hashtable. Given 2 lists, find the shorter of
;; the two lists and add the shorter list to a hashtable.
@@ -768,7 +770,7 @@
(return (values length list1)))
((null l2)
(return (values length list2))))))
- (when (< len 15)
+ (when (< len *min-list-length-for-hashtable*)
(return-from list-to-hashtable (values nil nil)))
(cond ((eq shorter-list list2)
(let ((hashtable (make-hash-table :test test :size len)))
@@ -869,9 +871,9 @@
;; list2 was placed in hash table.
(let (diff)
(dolist (item list1)
- (unless (gethash (apply-key key item) hashtable)
+ (unless (nth-value 1 (gethash (apply-key key item) hashtable))
(push item diff)))
- (nreverse diff)))
+ diff))
((eq shorter-list list1)
;; list1 was placed in the hash table.
(dolist (item list2)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/f9485d0873657a8e8333634…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/f9485d0873657a8e8333634…
You're receiving this email because of your account on gitlab.common-lisp.net.
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
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.
- - - - -
1 changed file:
- + src/general-info/release-21f.md
Changes:
=====================================
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!
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/d8502e05d03790b81b5d982…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/d8502e05d03790b81b5d982…
You're receiving this email because of your account on gitlab.common-lisp.net.
Jon Boone pushed to branch master 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
- - - - -
5 changed files:
- .gitlab-ci.yml
- bin/build.sh
- src/code/intl.lisp
- 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
=====================================
@@ -130,13 +130,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/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/a2fa2dae5851e0687f525f…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/compare/a2fa2dae5851e0687f525f…
You're receiving this email because of your account on gitlab.common-lisp.net.
Jon Boone pushed to branch issue-154-piglatin-translation-doesnt-work-anymore at cmucl / cmucl
Commits:
25c9b62a by Jon Boone at 2023-06-18T19:08:19-04:00
always perform translations
- - - - -
1 changed file:
- bin/build.sh
Changes:
=====================================
bin/build.sh
=====================================
@@ -130,13 +130,11 @@ buildit ()
time $BUILDWORLD $TARGET $OLDLISP $BOOT || { echo "Failed: $BUILDWORLD"; exit 1; }
if [ "$REBUILD_LISP" = "yes" ]; then
$TOOLDIR/rebuild-lisp.sh $TARGET
-
- # 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
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/25c9b62aaa1180b63991687…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/25c9b62aaa1180b63991687…
You're receiving this email because of your account on gitlab.common-lisp.net.
Jon Boone pushed to branch issue-154-piglatin-translation-doesnt-work-anymore at cmucl / cmucl
Commits:
67c1653f by Jon Boone at 2023-06-18T10:09:35-04:00
Revert "adding diagnostic message about POT"
This reverts commit c24b478baec3bde7afc58e67c827ed5ec7e3483a.
- - - - -
1 changed file:
- bin/build.sh
Changes:
=====================================
bin/build.sh
=====================================
@@ -246,7 +246,6 @@ if [ "${BUILD_POT}" = "yes" ]; then
fi
BUILD=3
-echo "MAKE_TARGET = ${MAKE_TARGET}"
buildit
# Asdf and friends are part of the base install, so we need to build
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/67c1653f3a535968b051777…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/67c1653f3a535968b051777…
You're receiving this email because of your account on gitlab.common-lisp.net.
Jon Boone pushed to branch issue-154-piglatin-translation-doesnt-work-anymore at cmucl / cmucl
Commits:
99d7498d by Jon Boone at 2023-06-18T10:04:23-04:00
Revert " adds translations diagnostic ouput to GNUmakefile"
This reverts commit cb69ee793b7eb1c1e0842b5687f857ddfdf3f364.
- - - - -
1 changed file:
- src/lisp/GNUmakefile
Changes:
=====================================
src/lisp/GNUmakefile
=====================================
@@ -106,7 +106,6 @@ LOCALE_DIRS = $(patsubst %, i18n/locale/%/LC_MESSAGES, $(LOCALES))
# FreeBSD, it moves the line to after the Language-Team line. This
# makes things messy. Hence, sort and diff.
translations:
- echo "making translations"; \
for pot in ../../src/i18n/locale/*.pot; do \
for po in $(LOCALE_DIRS); do \
d=`dirname $$pot`; \
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/99d7498da3e3377c0fba7d7…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/99d7498da3e3377c0fba7d7…
You're receiving this email because of your account on gitlab.common-lisp.net.
Jon Boone pushed to branch issue-154-piglatin-translation-doesnt-work-anymore at cmucl / cmucl
Commits:
46c05267 by Jon Boone at 2023-06-17T15:50:48-04:00
removed the else clause and forced making of the translations
- - - - -
1 changed file:
- bin/build.sh
Changes:
=====================================
bin/build.sh
=====================================
@@ -130,14 +130,13 @@ buildit ()
time $BUILDWORLD $TARGET $OLDLISP $BOOT || { echo "Failed: $BUILDWORLD"; exit 1; }
if [ "$REBUILD_LISP" = "yes" ]; then
$TOOLDIR/rebuild-lisp.sh $TARGET
- fi
- # 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
+ LANG=C $MAKE -C $TARGET/lisp $MAKE_TARGET || { echo "Failed: $MAKE -C $TARGET/lisp"; exit 1; }
+ fi
if [ "$BUILD_WORLD2" = "yes" ];
then
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/46c052670500a412d3b8a4f…
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/46c052670500a412d3b8a4f…
You're receiving this email because of your account on gitlab.common-lisp.net.