Get rid of explicit marking of primitives re-exported by modules.

When importing a module, its dependencies always *must* be imported,
because a re-export could involve a macro which is defined by another
module, and the definitions of macros are handled through the import
library.

Because this is happening anyway, any module re-exporting a primitive
will end up importing the core module which exports it.  This import
will execute ##sys#register-primitive-module which causes the primitives
to be marked though ##sys#primitive-alias.

Because of this recursive module loading, it's unnecessary to detect
primitives at module registration time.  This simplifies the module
registration code a little (which is already hairy enough of itself).

Signed-off-by: Evan Hanson <evhan@foldling.org>
fix static compilation in cygwin

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Signed-off-by: felix <felix@call-with-current-continuation.org>
Remove ##sys# prefix from lambda-info names of library procedures

This is a cosmetic change that removes the "##sys#" prefix from the
lambda-info names of procedures defined in library.scm. Where a
procedure was defined first with the prefix and later as an alias
without it, their definitions have been swapped, making sure the
non-prefixed name is used in its lambda-info structure.

Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>
Fix bug in move-memory! for overlapping memory regions (#1136).

Also fix its specialization to use C_bytes instead of C_w2b() which
is defined locally to lolevel.scm and isn't available in programs.

Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>
Do not use a private namespace for the "csi" program.

This is unnecessary as it does not share hidden variables with any
other separately compiled unit.

This also removes the (unused) private-namespace dependency from the
extras and srfi-69 units, and the unused `get-config' from the list of
hidden identifiers in csi.

Signed-off-by: Evan Hanson <evhan@foldling.org>
Fix incorrect comment on `canonicalize-list-type`
Remove the nonexistent `zap-strings-flag` from compiler-namespace
Fix #1109: chicken-install -r should remove empty directory when egg doesn't exist

Thanks to Alex Charlton for pointing out this bug

Signed-off-by: Evan Hanson <evhan@foldling.org>
Include reverse-list->string in srfi-13's import library

This procedure is provided by library.scm, but also needs to be exported
by the primitive srfi-13 library so that it's accessible when a module
imports "srfi-13" but not "chicken".

Fixes #1101.

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Set HAVE_POSIX_POLL for Android

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Make chicken-install write "(none)" to stderr when no eggs are matched

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Strip syntax from identifiers in scrutiny output

This resolves identifiers to their real (i.e. non-macro-aliased) names
in order to give cleaner scrutiny output messages.

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Remove ##sys# prefix from lambda-info names of expand unit procedures

As with f4dafebf09662ff6bdbada206d394340d8c24ef0.

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Fix scrutiny special case for list-tail when tail is null

Due to an off-by-one, the special-cased scrutiny for `list-tail` fails
when the index argument is equal to the length of the list, giving a
(list-of ...) as the result type rather than null. While that isn't
technically incorrect, it also isn't as accurate as possible; this patch
fixes this case.

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Fix bug in deploy mode under Cygwin introduced by be5b0827ad02473c7fbf277b8153dabb8863e973

Signed-off-by: Evan Hanson <evhan@foldling.org>
Remove outdated manual section on letrec binding references

As of a647d9ed65f44df527e513464093447f56e24ead, letrec no longer uses
letrec* semantics, so this section in "Extensions to the standard" is no
longer valid.

Signed-off-by: Peter Bex <peter.bex@xs4all.nl>
Fix file-mkstemp behaviour on Windows (#819).

Before, it would return "random" invalid file descriptors.

Thanks to Michele La Monaca for the initial patch.

Signed-off-by: Evan Hanson <evhan@foldling.org>
commented some curious things - these seem to be wrong
Evaluate length/##sys#length subforms when specializing for null

Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>
Avoid building unnecessary forall types during simplification when no typevars are used

Previously, if typevars were given in a polymorphic type specification
but none of them were actually used within its body, type simplification
would still produce a "forall" type, e.g. `(forall () list)` where
simply a `list` would do. This patch fixes these cases by only keeping
the "forall" when at least one typevar is used within a type's body.

Signed-off-by: Christian Kellermann <ckeen@pestilenz.org>