write: escape DEL character in strings, encode BEL as \a

Encode DEL (ASCII character 127) in strings as \x7f instead of as literal DEL
in write.  Also encode BEL (ASCII character 7) as \a instead of \x07, for
consistency.

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
extras/pretty-print: escape control characters in strings

Make pretty-print encode control characters in strings as escape sequences
rather than as literal bytes, the same way write does it.

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Document changes in pp and write behavior

Signed-off-by: Moritz Heidkamp <moritz@twoticketsplease.de>
csi: fix untrusted code execution by (load)ing ./.csirc

Remove (load)ing of ./.csirc on csi startup as it can lead to execution of
untrusted code.

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Signed-off-by: Mario Domenech Goulart <mario.goulart@gmail.com>
csi dirseparator?: don't treat backslash as dir separator on non-windows

Make csi's dirseparator? not flag backslashes as path component separators on
non-windows, in particular so that chop-separator won't corrupt directory names
ending in backslashes.

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Signed-off-by: Mario Domenech Goulart <mario.goulart@gmail.com>
tcp-listen: allow port 65535

Port 65535 is a perfectly valid TCP port which so far was rejected by
tcp-listen.

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Fix #985 by making process ports consistent with TCP ports.

This causes it to call "fetch" only when more data is requested
than available in the buffer, instead of always calling "fetch" and
checking inside the procedure whether we need more data.

The bug was due to the fact that fetch checked the position was at
the end of the buffer, but it wasn't since ##sys#scan-buffer-line
and the posix eos-handler doesn't advance the position while reading
(only afterwards, assuming "fetch" would reset the position).

Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>
Ensure sleep seconds is a fixnum on Windows; also, don't halve sleep time

Halving sleep time was a regression in be44f5328 when posix stuff
was consolidated; Windows side needs ##core#inline.

Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>
Fix setup-proxy to accept http URIs

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Signed-off-by: Jim Ursetto <zbigniewsz@gmail.com>
Remove mention of GNU MP in the manual, since that's no longer required for bignums
added acknowledgment
Allow symbol-GC test to fail. In certain situations it may not be able to reclaim all symbols, with a single symbol remaining.
more acknowledgments
Avoid context switch during TCP errno reporting

There is currently the potential for a scheduler context
switch between when the global (errno) is updated and the
when the textual error message is obtained.  This can
also happen if a non-inlined procedure is called prior
to updating (errno).

We fix the first by using the return value of
(##sys#update-errno), which is the updated value,
as the message errno.  The second is fixed by avoiding
a separate call to (fail).

We also consolidate error handling into a macro, which
catches a couple instances where (errno) was not updated.

Signed-off-by: Felix Winkelmann <felix@call-with-current-continuation.org>
Fix mishandling of network-error arguments in 79cf5e9a0ac7
Remove mention of ./.csirc
Add CVE-2013-1874 id to changelog entry
use unsigned key for computing weak table entry in symbol-GC, which fixes a segfault on OpenBSD (thanks to Christian Kellermann)
Declaring a procedure "inline" does not force inlining, as this may be lead to non-termination of the compiler. Declaring an identifier "inline" is now equivalent to declare it "local", which enables inlining for the given named procedures but does not force it. The decision as to inline or not is now done entirely by the compiler.

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
qs should also escape pipe