When checking whether an FD is ready for input or output, also check for
special situations (error, device/FIFO/pipe hangup and invalid FD) in the
poll() implementation of the scheduler. This fixes a CPU consumption bug in
waiting for process-ports on Linux (thanks to Mario Goulart for finding
the bug).

Signed-off-by: Mario Domenech Goulart <mario.goulart@gmail.com>
escape single backslash in symbols when printing

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
(cherry picked from commit 863a28e3c26f2b665dcaf75d892fcb09f62c09a1)
fixed types.db entry for join - contributed J. Altfas

Signed-off-by: felix <felix@call-with-current-continuation.org>
Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>
(cherry picked from commit 599908177619ccccf595c395551773aaf1f48c92)
Fix mutex-lock! type signature (thanks to Joerg Wittenberger for reporting this bug)

Signed-off-by: Mario Domenech Goulart <mario.goulart@gmail.com>

Conflicts: types.db [milliseconds->time is still present in stable]
Test r/w invariance for symbols containing escaped backslash
setup-download: fix +url-regex+ and deconstruct-url to match urls with path=/ or no path when port number is provided

Without this patch, we get:

(deconstruct-url "http://localhost:8080")
   => (values "http://localhost:8080" 80 "/")

(deconstruct-url "http://localhost:8080/")
   => (values "http://localhost:8080/" 80 "/")

That behavior makes chicken-install request port 80, even if
another port was requested (8080, in the examples).  Also, it
returns host as "http://localhost:8080" instead of "localhost".

This patch makes deconstruct-url correctly handle / and no path
when a port is provided:

(deconstruct-url "http://localhost:8080")
   => (values "localhost" 8080 "/")

(deconstruct-url  "http://localhost:8080/")
   => (values "localhost" 8080 "/")

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Add chicken-install fix to NEWS
Update news
Merge origin/stability/4.8.0 into stability/4.8.0

Conflicts:
	NEWS
Version 4.8.0.3