mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-19 03:00:25 +02:00
Update NEWS
This commit is contained in:
parent
8f644ef87a
commit
e9538ef69b
1 changed files with 91 additions and 75 deletions
166
NEWS
166
NEWS
|
@ -9,25 +9,6 @@ Changes in 2.0.12 (since 2.0.11):
|
||||||
|
|
||||||
* Notable changes
|
* Notable changes
|
||||||
|
|
||||||
** GOOPS
|
|
||||||
|
|
||||||
Two major changes have been made:
|
|
||||||
|
|
||||||
1- #:init-value on class-allocated slots: allocating an instance of a
|
|
||||||
class with a #:class or #:each-subclass slot allocation should not
|
|
||||||
re-initialize the class-allocated slot.
|
|
||||||
|
|
||||||
2- accessor methods only apply to subclasses with their slot
|
|
||||||
|
|
||||||
FIXME
|
|
||||||
(a) let users know that it will break Goops user code relying on
|
|
||||||
previsouly inherited getters, setters and accessors ... (b) why this: so
|
|
||||||
that Guile 2.x.x behave like guile-1.8 wrt Goops. But the full picture
|
|
||||||
is rather strange, and will be (re)fixed soon, see this discussion
|
|
||||||
http://thread.gmane.org/gmane.lisp.guile.user/11218/focus=11813 for some
|
|
||||||
details.
|
|
||||||
ENDFIXME
|
|
||||||
|
|
||||||
** FFI: Add support for functions that set 'errno'
|
** FFI: Add support for functions that set 'errno'
|
||||||
|
|
||||||
When accessing POSIX functions from a system's libc via Guile's dynamic
|
When accessing POSIX functions from a system's libc via Guile's dynamic
|
||||||
|
@ -59,10 +40,50 @@ to avoid confusing Emacs' lisp modes. Previously "\(" was an error.
|
||||||
|
|
||||||
** 'string-hash', 'read-string', and 'write' have been optimized
|
** 'string-hash', 'read-string', and 'write' have been optimized
|
||||||
|
|
||||||
|
** GOOPS bug fix for inherited accessor methods
|
||||||
|
|
||||||
|
In the port of GOOPS to Guile 2.0, we introduced a bug related to
|
||||||
|
accessor methods. The bug resulted in GOOPS assuming that a slot S in
|
||||||
|
an object whose class is C would always be present in instances of all
|
||||||
|
subclasses C, and allocated to the same struct index. This is not the
|
||||||
|
case for multiple inheritance. This behavior has been fixed to be as it
|
||||||
|
was in 1.8.
|
||||||
|
|
||||||
|
One aspect of this change may cause confusion among users. Previously
|
||||||
|
if you defined a class C:
|
||||||
|
|
||||||
|
(use-modules (oop goops))
|
||||||
|
(define-class C ()
|
||||||
|
(a #:getter get-a))
|
||||||
|
|
||||||
|
And now you define a subclass, intending to provide an #:init-value for
|
||||||
|
the slot A:
|
||||||
|
|
||||||
|
(define-class D ()
|
||||||
|
(a #:init-value 42))
|
||||||
|
|
||||||
|
Really what you have done is define in D a new slot with the same name,
|
||||||
|
overriding the existing slot. The problem comes in that before fixing
|
||||||
|
this bug (but not in 1.8), the getter 'get-a' would succeed for
|
||||||
|
instances of D, even though 'get-a' should only work for the slot 'a'
|
||||||
|
that is defined on class C, not any other slot that happens to have the
|
||||||
|
same name and be in a class with C as a superclass.
|
||||||
|
|
||||||
|
It would be possible to "merge" the slot definitions on C and D, but
|
||||||
|
that part of the meta-object protocol (`compute-slots' et al) is not
|
||||||
|
fully implemented.
|
||||||
|
|
||||||
|
Somewhat relatedly, GOOPS also had a fix around #:init-value on
|
||||||
|
class-allocated slots. GOOPS was re-initializing the value of slots
|
||||||
|
with #:class or #:each-subclass allocation every time instances of that
|
||||||
|
class was allocated. This has been fixed.
|
||||||
|
|
||||||
* New interfaces
|
* New interfaces
|
||||||
|
|
||||||
** New SRFI-28 string formatting implementation
|
** New SRFI-28 string formatting implementation
|
||||||
|
|
||||||
|
See "SRFI-28" in the manual.
|
||||||
|
|
||||||
** New (ice-9 unicode) module
|
** New (ice-9 unicode) module
|
||||||
|
|
||||||
See "Characters" in the manual.
|
See "Characters" in the manual.
|
||||||
|
@ -74,9 +95,11 @@ and related procedures. Likewise, (web server http) exports 'http'.
|
||||||
|
|
||||||
** New procedures: 'string-utf8-length' and 'scm_c_string_utf8_length'
|
** New procedures: 'string-utf8-length' and 'scm_c_string_utf8_length'
|
||||||
|
|
||||||
|
See "Bytevectors as Strings" in the manual, for more.
|
||||||
|
|
||||||
** New 'EXIT_SUCCESS' and 'EXIT_FAILURE' Scheme variables
|
** New 'EXIT_SUCCESS' and 'EXIT_FAILURE' Scheme variables
|
||||||
|
|
||||||
** New C macro 'SCM_VALIDATE_SIZE_COPY'
|
See "Processes" in the manual.
|
||||||
|
|
||||||
** New C functions to disable automatic SMOB finalization
|
** New C functions to disable automatic SMOB finalization
|
||||||
|
|
||||||
|
@ -100,76 +123,69 @@ More ARM cross-compilation targets are supported: "arm.*eb",
|
||||||
|
|
||||||
* Bugs fixed
|
* Bugs fixed
|
||||||
|
|
||||||
*** detect too-old libunistring at configure time (<http://bugs.gnu.org/17399>)
|
** Compiler
|
||||||
*** use source file permissions for compiled files
|
|
||||||
(<http://bugs.gnu.org/18477>)
|
|
||||||
*** 'call-with-prompt' does not truncate multiple-value returns
|
*** 'call-with-prompt' does not truncate multiple-value returns
|
||||||
(<http://bugs.gnu.org/14347>)
|
(<http://bugs.gnu.org/14347>)
|
||||||
*** sizeof (long) support for LLP64 data model (<http://bugs.gnu.org/22406>)
|
*** Use permissions of source file for compiled file
|
||||||
*** fix 'fat_mutex_unlock' (<http://bugs.gnu.org/22152>)
|
(<http://bugs.gnu.org/18477>)
|
||||||
*** 'uri-decode' no longer decodes "+" to space
|
*** Fix bug when inlining some functions with optional arguments
|
||||||
*** http: accept date strings with a leading space for hours
|
(<http://bugs.gnu.org/17634>)
|
||||||
(<http://bugs.gnu.org/23421>)
|
*** Avoid quadratic expansion time in 'and' and 'or' macros
|
||||||
*** http: accept empty reason phrases (<http://bugs.gnu.org/22273>)
|
(<http://bugs.gnu.org/17147>)
|
||||||
*** http: 'Location' header can now contain URI references, not just
|
*** Fix expander bug introduced when adding support for tail patterns
|
||||||
absolute URIs
|
(http://lists.gnu.org/archive/html/guile-user/2015-09/msg00017.html)
|
||||||
*** http: do not buffer HTTP chunks (<http://bugs.gnu.org/19939>)
|
*** Handle ~p in 'format' warnings (<http://bugs.gnu.org/18299>)
|
||||||
*** http: 'open-socket-for-uri' now sets better OS buffering parameters
|
|
||||||
(<http://bugs.gnu.org/15368>)
|
** Threads
|
||||||
*** http: use 'close-port' for delimited input ports
|
*** Fix data races leading to corruption (<http://bugs.gnu.org/22152>)
|
||||||
*** texinfo: fix HTML output for @itemize and @acronym
|
|
||||||
(<http://bugs.gnu.org/21772>)
|
** Memory management
|
||||||
*** {get,set}sockopt now expect type 'int' for SO_SNDBUF/SO_RCVBUF
|
*** Fix race between SMOB marking and finalization
|
||||||
*** fix port position handling on binary input ports
|
(<http://bugs.gnu.org/19883>)
|
||||||
|
|
||||||
|
** Ports
|
||||||
|
*** Fix port position handling on binary input ports
|
||||||
(<http://bugs.gnu.org/20302>)
|
(<http://bugs.gnu.org/20302>)
|
||||||
*** match-each+, non-pair syntax object in a dotted tail
|
*** Bytevector and custom binary ports to use ISO-8859-1
|
||||||
*** 'atan' procedure when applied to complex numbers
|
|
||||||
*** bytevector and custom binary ports to use ISO-8859-1
|
|
||||||
(<http://bugs.gnu.org/20200>)
|
(<http://bugs.gnu.org/20200>)
|
||||||
*** avoid test failure when 'setaffinity' returns ENOSYS
|
*** Fix buffer overrun with unbuffered custom binary input ports
|
||||||
(<http://bugs.gnu.org/19646>)
|
|
||||||
*** fix buffer overrun with unbuffered custom binary input ports
|
|
||||||
(<http://bugs.gnu.org/19621>)
|
(<http://bugs.gnu.org/19621>)
|
||||||
*** fix memory corruption that arose when using 'get-bytevector-n'
|
*** Fix memory corruption that arose when using 'get-bytevector-n'
|
||||||
(<http://bugs.gnu.org/17466>)
|
(<http://bugs.gnu.org/17466>)
|
||||||
*** 'select' signal interruptions clarification (<http://bugs.gnu.org/18988>)
|
|
||||||
|
** System
|
||||||
|
*** {get,set}sockopt now expect type 'int' for SO_SNDBUF/SO_RCVBUF
|
||||||
|
*** 'system*' now available on MS-Windows
|
||||||
|
*** Better support for file names containing backslashes on Windows
|
||||||
|
|
||||||
|
** Web
|
||||||
|
*** 'split-and-decode-uri-path' no longer decodes "+" to space
|
||||||
|
*** HTTP: Support date strings with a leading space for hours
|
||||||
|
(<http://bugs.gnu.org/23421>)
|
||||||
|
*** HTTP: Accept empty reason phrases (<http://bugs.gnu.org/22273>)
|
||||||
|
*** HTTP: 'Location' header can now contain URI references, not just
|
||||||
|
absolute URIs
|
||||||
|
*** HTTP: Improve chunked-mode support (<http://bugs.gnu.org/19939>)
|
||||||
|
*** HTTP: 'open-socket-for-uri' now sets better OS buffering parameters
|
||||||
|
(<http://bugs.gnu.org/15368>)
|
||||||
|
|
||||||
|
** Miscellaneous
|
||||||
|
*** Fix 'atan' procedure when applied to complex numbers
|
||||||
|
*** Fix Texinfo to HTML conversion for @itemize and @acronym
|
||||||
|
(<http://bugs.gnu.org/21772>)
|
||||||
*** 'bytevector-fill!' accepts fill arguments greater than 127
|
*** 'bytevector-fill!' accepts fill arguments greater than 127
|
||||||
(<http://bugs.gnu.org/19027>)
|
(<http://bugs.gnu.org/19027>)
|
||||||
*** 'bytevector-copy' correctly copies SRFI-4 homogeneous vectors
|
*** 'bytevector-copy' correctly copies SRFI-4 homogeneous vectors
|
||||||
(<http://bugs.gnu.org/18866>)
|
(<http://bugs.gnu.org/18866>)
|
||||||
*** avoid bash-specific '==' in guile.m4 (<http://bugs.gnu.org/18898>)
|
|
||||||
*** 'strerror' no longer hangs when passed a non-integer argument
|
*** 'strerror' no longer hangs when passed a non-integer argument
|
||||||
(<http://bugs.gnu.org/18065>)
|
(<http://bugs.gnu.org/18065>)
|
||||||
*** 'scm_boot_guile' now gracefully handles argc == 0
|
*** 'scm_boot_guile' now gracefully handles argc == 0
|
||||||
(<http://bugs.gnu.org/18680>)
|
(<http://bugs.gnu.org/18680>)
|
||||||
*** optional arg inits that refer to previous args are now correctly handled
|
*** Fix 'SCM_SMOB_OBJECT_LOC' definition (<http://bugs.gnu.org/18495>)
|
||||||
(<http://bugs.gnu.org/17634>)
|
*** Fix bug where 'bit-count*' was not using its second argument
|
||||||
*** autogen.sh invokes 'libtoolize', not 'libtool'
|
|
||||||
(<http://bugs.gnu.org/18470>)
|
|
||||||
*** fix 'SCM_SMOB_OBJECT_LOC' definition (<http://bugs.gnu.org/18495>)
|
|
||||||
*** SRFI-43 vector-concatenate error message
|
|
||||||
*** handle ~p in 'format' warnings (<http://bugs.gnu.org/18299>)
|
|
||||||
*** fix long-standing bug argument mismatch in 'bit-count*'
|
|
||||||
*** handle Windows file names that contain backslashes
|
|
||||||
*** CPU set size proper calculation for getaffinity
|
|
||||||
*** unconditionally build and test (ice-9 popen)
|
|
||||||
*** make 'system*' available on MS-Windows.
|
|
||||||
*** portability fixes for 'nl_langinfo'
|
|
||||||
*** test-suite, lack-of-/dev/null detection improved
|
|
||||||
*** test-suite, i18n tests adjusted for MS-Windows
|
|
||||||
*** test-suite, i18n, ignore LC_MESSAGES on MinGW
|
|
||||||
*** test-suite, Use NUL instead of /dev/null on MinGW
|
|
||||||
*** avoid quadratic expansion time in 'and' and 'or' macros
|
|
||||||
(<http://bugs.gnu.org/17147>)
|
|
||||||
*** SRFI-1 'length+' raises an error for non-lists and dotted lists
|
*** SRFI-1 'length+' raises an error for non-lists and dotted lists
|
||||||
(<http://bugs.gnu.org/17296>)
|
(<http://bugs.gnu.org/17296>)
|
||||||
*** system async functions marked as 'SCM_API'
|
*** Add documentation for SXPath (<http://bugs.gnu.org/19478>)
|
||||||
(<http://bugs.gnu.org/17661>)
|
|
||||||
*** fix race between SMOB marking and finalization
|
|
||||||
(<http://bugs.gnu.org/19883>)
|
|
||||||
*** remove unused i18n functions (<http://bugs.gnu.org/19172>)
|
|
||||||
*** fix 'mkstemp'-related build error on Windows (<http://bugs.gnu.org/21425>)
|
|
||||||
*** document SXPath (<http://bugs.gnu.org/19478>)
|
|
||||||
|
|
||||||
|
|
||||||
Changes in 2.0.11 (since 2.0.10):
|
Changes in 2.0.11 (since 2.0.10):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue