[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile available

From: Thien-Thi Nguyen
Subject: guile available
Date: Sun, 18 Jan 2004 21:25:22 +0100

some bugfixes, some new stuff.  new NEWS excerpt below.  tarball in:

incidentally, the online manual, normally updated independently (and
more frequently), is at the moment sync'd w/ this release:

observant readers will notice a new chapter: Barely Explained Mysteries.


* New module: (ice-9 md-data)

* Bugfix: (ice-9 q) proc `q-pop!'

* `while' macro

** Bugfix: `continue'

A bug was fixed within the body of a `while' macro, whereby a `continue'
expression would not properly avoid passing control flow to the expressions
following it.  For example, the following would display "bad":

  (let ((x 0))
    (while (< x 5)
      (if (= x 3)
            (set! x 9)
            (write-line "bad")))
      (write-line x)
      (set! x (1+ x))))

** `break' argument now optional

Within a `while' macro, the `break' expression used to require an argument,
which would be used as the value for the `while'.  Now, specifying no argument
is also supported:

  (break)     => `while' value is #t
  (break VAL) => `while' value is VAL

* Bugfix: `accept' works with coop threads

It used to be that a call to `accept' in one thread would block all other
threads as well (presuming Guile is configured with `--enable-coop-threads').
The implementation now uses a thread-aware "internal `select'" on the socket's
associated file descriptor to arrange for the thread to yield if there is no
input pending.

* New procedure: (continuation? OBJ) => bool

[NEWS excerpt ends here]

reply via email to

[Prev in Thread] Current Thread [Next in Thread]