Make the handling of variables for directory prefixes a little more consistent with common UNIX practice, and support setting the important ones from Make through the environment (by using ?=-style instead of =-style assignment)

Unfortunately this is slightly backwards-incompatible, as it renames
INCDIR and changes the meaning of MANDIR.  I think sticking with
common practice is more important than backwards compat for the small
set of cases where these variables will be overridden.

Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>
Fix #1133 by adding ports (and dropping extras) in unit tcp's "uses" declaration

This problem got caused by 4eafceedddf34dff83c05eb6001214461949e7ce
(the fix for #999), because tcp uses make-input-port.  This is
provided by ports, which got pulled in through extras which tcp
does depend upon.

Unit TCP doesn't really use anything from extras, so we now declare it
to depend on ports instead.  Ports pulls in extras, so there's no way
to easily verify that TCP isn't using anything from extras except by
grepping the sources for procedures.  We should really try to switch
to modules in core, that would've easily caught this!

Reported by Kristian Lein-Mathisen

Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>
C_substring_copy: use C_memmove instead of C_memcpy

memcpy will screw things up when given the src and dest strings'
memory area overlap (e.g., the same string object is given as src and
dest argument), and that can cause problems in some string-copy! use
cases.

Fixes #1135.

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Fix #878 which was indeed a bug, caused by an incorrect hand-rolled optimisation.

This adds some more "integration" test cases so that we can verify
more easily that the combination of make-kmp-restart-vector and
kmp-step is looping through the pattern correctly as it advances
through the search string.

The optimisation was due to a mistaken reading of the reference
implementation: the pattern was indexed as pat[k+1] at the j=-1 case
and as pat[k] at the pat[k]=pat[j+start] case, but the optimisation
changed the code to use pat[k] in both cases.

Signed-off-by: Mario Domenech Goulart <mario.goulart@gmail.com>
Remove ##sys#expand-home-path as shell expansion has no place in a filesystem API.

The functionality is now available as a separate egg for those who need
it ("pathname-expand"). An added advantage is that expansion must be
explicitly performed, and that the egg can be developed separately.

Thanks to Florian Zumbiehl.

Signed-off-by: Evan Hanson <evhan@foldling.org>
types.db fix for append

Append's final argument needn't be a list.

Signed-off-by: Evan Hanson <evhan@foldling.org>
Merge remote-tracking branch 'origin/master' into cmake-build