~ chicken-core (chicken-5) 06cedbbaba2471911ce8ecb096aa9d0c40ec2dd4


commit 06cedbbaba2471911ce8ecb096aa9d0c40ec2dd4
Author:     Peter Bex <peter@more-magic.net>
AuthorDate: Sun Jan 24 15:31:02 2016 +0100
Commit:     Peter Bex <peter@more-magic.net>
CommitDate: Sun Jan 24 15:31:02 2016 +0100

    Update manual with latest changes from the wiki

diff --git a/manual/C interface b/manual/C interface
index 6e476a85..3421875d 100644
--- a/manual/C interface	
+++ b/manual/C interface	
@@ -331,6 +331,10 @@ accessor macros instead).
 
  [C function] C_word C_string2 (C_word **ptr, char *zero_terminated_string)
 
+===== C_intern
+
+ [C function] C_word C_intern (C_word **ptr, int length, char *string)
+
 ===== C_intern2
 
  [C function] C_word C_intern2 (C_word **ptr, char *zero_terminated_string)
diff --git a/manual/Embedding b/manual/Embedding
index 2b688a75..0d0de015 100644
--- a/manual/Embedding
+++ b/manual/Embedding
@@ -4,10 +4,10 @@
 
 == Embedding
 
-Compiled Scheme files can be linked with C code, provided the Scheme code was compiled
-in ''embedded'' mode by passing {{-DC_EMBEDDED}} to the C compiler (this will
-disable generation of a {{main()}} function). {{csc}} will do this, when given
-the {{-embedded}} option. Alternatively pass {{-embedded}} to {{csc}}.
+Compiled Scheme files can be linked with C code, provided the Scheme
+code was compiled in ''embedded'' mode by passing {{-DC_EMBEDDED}} to
+the C compiler (this will disable generation of a {{main()}}
+function). {{csc}} will do this, when given the {{-embedded}} option.
 
 The following C API is available:
 
diff --git a/manual/Getting started b/manual/Getting started
index f0e671b1..585e8ce3 100644
--- a/manual/Getting started	
+++ b/manual/Getting started	
@@ -28,8 +28,8 @@ Lisp dialects, Scheme features
 
 In contrast to Common Lisp, Scheme is very minimal, and tries to
 include only those features absolutely necessary in programming. In
-contrast to Emacs Lisp, Scheme is not anchored into any one program
-(Emacs), and has a somewhat more modern language design. 
+contrast to Emacs Lisp, Scheme is not anchored into a single program
+(Emacs), and has a more modern language design.
 
 Scheme is defined in a document called ''The Revised^5 Report on the
 Algorithmic Language Scheme'', or ''R5RS'' for short. (Yes, it really
@@ -168,6 +168,9 @@ communication.  For other topic-specific mailing lists (e.g.,
 announcements, security) and discussion groups, see
 [[http://wiki.call-cc.org/discussion-groups|http://wiki.call-cc.org/discussion-groups]].
 
+There is also an IRC channel ({{#chicken}}) on
+[[http://freenode.net|Freenode]].
+
 === Installing CHICKEN
 
 CHICKEN is available as C sources. Refer to the
@@ -401,7 +404,7 @@ organize your {{PATH}} according to the task at hand.)
 
 Compiled code can be intermixed with interpreted code on systems that
 support dynamic loading, which includes modern versions of *BSD,
-Linux, Mac OS X, Solaris, and Windows. 
+Linux, Mac OS X, Solaris, and Windows.
 
 We can compile our factorial function, producing a file named
 {{fact.so}} (''shared object'' in Linux-ese, the same file type is
diff --git a/manual/The User's Manual b/manual/The User's Manual
index 8da51a26..825c0091 100644
--- a/manual/The User's Manual	
+++ b/manual/The User's Manual	
@@ -3,7 +3,7 @@
 == The CHICKEN User's Manual
 
 <nowiki>
-<img style="float:right; margin-left:1em;" src="http://wiki.call-cc.org/chicken-small.png" alt="Stylized picture of a chicken" />
+<img id="big-logo" style="float:right; margin-left:1em;" src="http://wiki.call-cc.org/chicken-small.png" alt="Stylized picture of a chicken"/>
 </nowiki>
 
 This is the manual for CHICKEN Scheme, version 4.10.1
diff --git a/manual/Unit posix b/manual/Unit posix
index 92ceac1d..b3a8f59f 100644
--- a/manual/Unit posix	
+++ b/manual/Unit posix	
@@ -31,7 +31,7 @@ Operations used with {{file-control}}.
 <constant>fileno/stdout</constant><br>
 <constant>fileno/stderr</constant>
 
-Standard I/O file descriptor numbers, used with procedures 
+Standard I/O file descriptor numbers, used with procedures
 such as {{open-input-file*}} which take file descriptors.
 
 ==== Open flags
@@ -52,8 +52,8 @@ such as {{open-input-file*}} which take file descriptors.
 <constant>open/binary</constant><br>
 <constant>open/text</constant>
 
-Open flags used with the {{file-open}} procedure.  {{open/read}} is a 
-convenience synonym for {{open/rdonly}}, as is {{open/write}} 
+Open flags used with the {{file-open}} procedure.  {{open/read}} is a
+convenience synonym for {{open/rdonly}}, as is {{open/write}}
 for {{open/wronly}}.
 
 ==== Permission bits
@@ -538,7 +538,7 @@ not followed:
   character-device
   block-device
 
-Note that not all types are supported on every platform. 
+Note that not all types are supported on every platform.
 If {{ERROR}} is given and true, {{file-type}} signals an
 error if the file does not exist.
 
@@ -551,7 +551,7 @@ error if the file does not exist.
 <procedure>(block-device? FILE)</procedure><br>
 <procedure>(socket? FILE)</procedure>
 
-These procedures return {{#t}} if {{FILE}} given is of the 
+These procedures return {{#t}} if {{FILE}} given is of the
 appropriate type. {{FILE}} may be a filename, a file-descriptor or a port object.
 Note that these operations follow symbolic links. If the file does
 not exist, {{#f}} is returned.
@@ -645,14 +645,14 @@ Get or set the process group ID of the process specified by {{PID}}.
 
 Replaces the running process with a new process image from the program
 stored at {{PATHNAME}}, using the C library function {{execvp(3)}}.
-If the optional argument {{ARGUMENT-LIST}} is given, then it should 
+If the optional argument {{ARGUMENT-LIST}} is given, then it should
 contain a list of strings which are passed as arguments to the subprocess.
-If the optional argument {{ENVIRONMENT-LIST}} is supplied, then the library 
+If the optional argument {{ENVIRONMENT-LIST}} is supplied, then the library
 function {{execve(2)}} is used, and the environment passed in
 {{ENVIRONMENT-LIST}} (which should be of the form {{("<NAME>=<VALUE>" ...)}}
 is given to the invoked process. Note that {{execvp(3)}} respects the
 current setting of the {{PATH}} environment variable while {{execve(3)}} does not.
- 
+
 This procedure never returns; it either replaces the process with a new one
 or it raises an exception in case something went wrong executing the program.
 
@@ -1038,7 +1038,7 @@ nothing happens.
 === Memory mapped I/O
 
 Memory mapped I/O takes the contents of a file descriptor and places them in memory.
- 
+
 ==== memory-mapped-file?
 
 <procedure>(memory-mapped-file? X)</procedure>
@@ -1250,19 +1250,24 @@ These variables contain error codes as returned by {{errno}}.
 
 Recursively traverses the contents of {{DIRECTORY}} (which should be a
 string) and invokes the procedure {{action}} for all files in which
-the procedure {{test}} is true.  {{test}} may be a procedure of one
-argument or an irregex object, regex string or SRE expression that
-will be matched with a full pathname using {{irregex-match}}.
+the procedure {{test}} is true.
+
+{{test}} may be a procedure of one argument or an irregex object,
+regex string or SRE expression that will be matched with a full
+pathname using {{irregex-match}}. {{test}} defaults to {{(constantly
+#t)}}.
+
+
 {{action}} should be a procedure of two arguments: the currently
 encountered file and the result of the previous invocation of
 {{action}}, or, if this is the first invocation, the value of
-{{seed}}. {{test}} defaults to {{(constantly #t)}}, {{action}}
-defaults to {{cons}}, {{seed}} defaults to {{()}}.  {{limit}} should
-be a procedure of one argument that is called for each nested
-directory and which should return true, if that directory is to be
-traversed recursively. {{limit}} may also be an exact integer that
-gives the maximum recursion depth. For example, a depth of {{0}} means
-that only files in the top-level, specified directory are to be
+{{seed}}. {{action}} defaults to {{cons}}, {{seed}} defaults to {{()}}.
+
+{{limit}} should be a procedure of one argument that is called for
+each nested directory and which should return true, if that directory
+is to be traversed recursively. {{limit}} may also be an exact integer
+that gives the maximum recursion depth. For example, a depth of {{0}}
+means that only files in the top-level, specified directory are to be
 traversed. In this case, all nested directories are ignored.
 {{limit}} may also be {{#f}} (the default), which is equivalent to
 {{(constantly #t)}}.
@@ -1283,7 +1288,7 @@ has a different signature:
   (find-files DIRECTORY [TEST [ACTION [SEED [LIMIT]]]])
 
 The old signature was supported until CHICKEN 4.7.3 for compatibility reasons,
-at which point it became invalid.  The optional arguments are ignored 
+at which point it became invalid.  The optional arguments are ignored
 and use their default values, and no warning is issued.  One symptom is
 that your {{TEST}} does not work, returning every file.
 
@@ -1519,4 +1524,4 @@ Returns:
 ----
 Previous: [[Unit srfi-69]]
 
-Next: [[Unit utils]]
+Next: [[Unit utils]]
\ No newline at end of file
diff --git a/manual/faq b/manual/faq
index 6310ef2e..fb4c4a09 100644
--- a/manual/faq
+++ b/manual/faq
@@ -98,7 +98,12 @@ protocol. Such a design would make native threads in CHICKEN
 essentially equivalent to Unix processes and shared memory.
 
 For a different approach to concurrency, please see the
-[[/egg/mpi|mpi]] egg.
+[[/egg/mpi|mpi]] or
+[[/egg/concurrent-native-callbacks|concurrent-native-callbacks]] egg.
+
+[[http://www.stylewarning.com/blog/about|Robert Smith]] has put
+[[http://www.stylewarning.com/blog/bounties|a bounty]] on a
+release-quality implementation of native threads.
 
 ==== Does CHICKEN support Unicode strings?
 
Trap