From: Mark H Weaver Date: Tue, 18 Jun 2019 19:46:43 +0000 (-0400) Subject: NEWS: Add more details. X-Git-Tag: v2.2.5~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8e2919b9529f042c52241d22e1661a242853c2a6;p=platform%2Fupstream%2Fguile.git NEWS: Add more details. * NEWS: Update text. --- diff --git a/NEWS b/NEWS index 3f7db0b4b..9ceb254ad 100644 --- a/NEWS +++ b/NEWS @@ -69,23 +69,35 @@ encoding. ** Optimize fixnum exact integer square roots. 'exact-integer-sqrt' now avoids heap allocation when applied to a -fixnum. 'sqrt' also avoids heap allocation when applied to a fixnum +fixnum. 'sqrt' now avoids heap allocation when applied to a fixnum that's a perfect square. Fewer heap allocations are now required when -applying 'sqrt' to squares of exact rationals whose numerator or +applying 'sqrt' to a square of an exact rational whose numerator or denominator are fixnums. ** scm_mkstrport: Optimize the POS -> BYTE_POS conversion. -** stexi->shtml: Add support for @i, @math, @tie and @dots. + +scm_mkstrport now avoids an unnecessary heap allocation and conversion +to UTF-8, when STR is provided and POS is non-zero. + ** SRFI-19: Support ~N in string->date. ** SRFI-19: Update the leap second table. +** stexi->shtml: Add support for @i, @math, @tie and @dots. + ** Define AT_SYMLINK_NOFOLLOW, AT_NO_AUTOMOUNT, and AT_EMPTY_PATH. AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, and AT_EMPTY_PATH are now available from Scheme, if supported on the platform. -** time: Support expressions that return any number of values. -** time: Use 'syntax-rules' instead of 'define-macro'. +** Improvements to the 'time' macro from (ice-9 time). + +The 'time' macro now supports expressions that return multiple values. +It has also been rewritten as a hygienic 'syntax-rules' macro. +Previously, it was built using 'define-macro', and was therefore +unhygienic. This is not merely an internal implementation detail, but +is potentially relevant to any user of the 'time' macro, since it could +lead to unintended variable capture and other problems. + ** Clarify the documentation for 'nil?'. ** Clarify the manual's "Processes" section. ** Avoid 'with-latin1-locale' in binary I/O tests. @@ -95,6 +107,10 @@ from Scheme, if supported on the platform. ** Avoid regexp ranges in HTTP inter-protocol exploitation check. +The regular expression used to check for HTTP inter-protocol +exploitation attacks previously used a character range '0-9', whose +meaning depends on the current locale. This has now been fixed. + ** Fixes to the SRFI-19 time/date library. *** Fix TAI->UTC conversions, leap second handling, etc. @@ -104,16 +120,50 @@ from Scheme, if supported on the platform. *** Check for incompatible types in time comparisons. ** Improve overflow checks in bytevector, string, and I/O operations. + +Several numerical computations, performed using primitive C arithmetic +in Guile's core bytevector, string, and I/O operations, have been +rewritten to avoid overflows. + ** Fix type inferencing for 'nil?' and 'null?' predicates. + +Previously, the compiler would sometimes miscompile certain combinations +of 'nil?' and 'null?' predicates present within the same top-level form. +See . + ** Fix 'atomic-box-compare-and-swap!'. + +Previously, 'atomic-box-compare-and-swap!' would sometimes spuriously +fail on architectures based on Load-Linked/Store-Conditional (LL/SC) +synchronication primitives (e.g. ARM, PowerPC, and MIPS) in a way that +was undetectable by the caller. See . + ** Make URI handling locale independent. + +Previously, procedures in (web uri) would misbehave in some locales +including sv_SE. See . + ** Strings, i18n: Limit the use of alloca to approximately 8 kilobytes. + +Previously, 'string-locale-ci=?', 'string-locale-ci