~ chicken-core (chicken-5) 4afabf1fe3798edb768db3d2325c613e449930c7


commit 4afabf1fe3798edb768db3d2325c613e449930c7
Merge: de25570c e31bbee5
Author:     Peter Bex <peter@more-magic.net>
AuthorDate: Thu Nov 18 08:08:23 2021 +0100
Commit:     Peter Bex <peter@more-magic.net>
CommitDate: Thu Nov 18 08:08:23 2021 +0100

    Merge branch 'release'

diff --cc NEWS
index de01c00e,ade4dfdf..1dd6b328
--- a/NEWS
+++ b/NEWS
@@@ -1,45 -1,15 +1,54 @@@
 -5.3.0
 +5.3.1
 +
 +- Build system
 +  - Default "cc" on BSD systems for building CHICKEN to avoid ABI problems
 +    when linking with C++ code.
 +
 +5.3.0rc4
 +
 +- Compiler
 +  - Statically linked programs using built-in libraries are supported
 +    again (fixes #1788, a regression from 5.2.0).
 +
 +- Core libraries
 +  - In (chicken process-context posix), the setters for current-user-id,
 +    current-effective-user-id and current-group-id now check that the
 +    new user/group value is a fixnum instead of blindly passing it on
 +    to the C implementation (which would cause bogus user ids to be set).
 +    Fixes #1787, thanks to Christopher Brannon.
 +
 +5.3.0rc3
 +
 +- Build system
 +  - Fix build with tcc.
 +  - Fix a few tests on Windows so the suite passes once again.
 +
 +- Tools
 +  - Fix a problem with egg installation scripts on Windows, where the
 +    platform was not correctly identified, depending on the shell used
 +    during installation of the core system (thanks again to Mark Fisher
 +    for reporting and helping in finding the culprit).
 +
 +5.3.0rc2
 +
 +- Core libraries
 +  - The srfi-17 module now exports the `getter-with-setter` and `setter`
 +    procedures, not just the set! macro (thanks to Lassi Kortela)
 +  - Fix hang in chicken-install -update-db on Windows (thanks to Mark
 +    Fisher for reporting and Jani Hakala for debugging and patch).
 +
 +5.3.0rc1
  
  - Core libraries
+   - In (chicken process-context posix), the setters for current-user-id,
+     current-effective-user-id and current-group-id now check that the
+     new user/group value is a fixnum instead of blindly passing it on
+     to the C implementation (which would cause bogus user ids to be set).
+     Fixes #1787, thanks to Christopher Brannon.
+   - The srfi-17 module now exports the `getter-with-setter` and `setter`
+     procedures, not just the set! macro (thanks to Lassi Kortela)
+   - Fix hang in chicken-install -update-db on Windows (thanks to Mark
+     Fisher for reporting and Jani Hakala for debugging and patch).
    - Fixed an inadvertant error during error reporting in the `numerator`
      and `denominator` procedures when passed non-finite flonums (#1730).
    - Fixed a bug where optimisations for `irregex-match?` would cause
diff --cc manual/Extensions to the standard
index a1ccdf29,58786f5e..edc8b795
--- a/manual/Extensions to the standard
+++ b/manual/Extensions to the standard
@@@ -28,26 -28,18 +28,28 @@@ always present in a module, even withou
  
  Expands by selecting feature clauses. This form is allowed to appear in non-toplevel expressions.
  
 -Predefined feature-identifiers are "situation" specific:
 -
 -; compile : {{chicken}}, {{compiling}}, {{library}}, {{eval}}, {{extras}}, {{regex}}, {{srfi-0}}, {{srfi-2}}, {{srfi-4}}, {{srfi-6}}, {{srfi-8}}, {{srfi-9}}, {{srfi-10}}, {{srfi-11}}, {{srfi-12}}, {{srfi-15}}, {{srfi-16}}, {{srfi-17}}, {{srfi-23}}, {{srfi-26}}, {{srfi-28}}, {{srfi-30}}, {{srfi-31}}, {{srfi-39}}, {{srfi-55}}, {{srfi-61}}, {{srfi-62}}
 -
 -; load : {{chicken}}, {{extras}}, {{srfi-0}}, {{srfi-2}}, {{srfi-6}}, {{srfi-8}}, {{srfi-9}}, {{srfi-10}}, {{srfi-12}}, {{srfi-17}}, {{srfi-23}}, {{srfi-28}}, {{srfi-30}}, {{srfi-39}}, {{srfi-55}}, {{srfi-61}}, {{srfi-62}}. {{library}} is implicit.
 -
 -; eval : {{csi}}, {{chicken}}, {{extras}}, {{srfi-0}}, {{srfi-2}}, {{srfi-6}}, {{srfi-8}}, {{srfi-9}}, {{srfi-10}}, {{srfi-11}}, {{srfi-12}}, {{srfi-15}}, {{srfi-16}}, {{srfi-17}}, {{srfi-23}}, {{srfi-26}}, {{srfi-28}}, {{srfi-30}}, {{srfi-31}}, {{srfi-39}}, {{srfi-55}}, {{srfi-61}}, {{srfi-62}}. {{library}} is implicit.
 -
 -The symbols returned by the following procedures from [[Module (chicken platform)|(chicken platform)]] are also available as feature-identifiers in all situations: {{(machine-byte-order)}}, {{(machine-type)}}, {{(software-type)}}, {{(software-version)}}. For example, the {{machine-type}} class of feature-identifiers include {{arm}},
 -{{alpha}}, {{mips}}, etc.
 -
 -In addition the following feature-identifiers may exist: {{cross-chicken}}, {{dload}}, {{manyargs}}, {{ptables}}.
 +The following features are built-in and always available by default:
 +{{chicken}}, {{srfi-0}}, {{srfi-2}}, {{srfi-6}}, {{srfi-8}}, {{srfi-9}},
 +{{srfi-11}}, {{srfi-12}}, {{srfi-15}}, {{srfi-16}}, {{srfi-17}}, {{srfi-23}},
 +{{srfi-26}}, {{srfi-28}}, {{srfi-30}}, {{srfi-31}}, {{srfi-39}}, {{srfi-46}},
 +{{srfi-55}}, {{srfi-61}}, {{srfi-62}}, {{srfi-87}}, {{srfi-88}}.
 +
 +There are also situation-specific feature identifiers: {{compiling}} during
 +compilation, {{csi}} when running in the interpreter, and {{compiler-extension}}
 +when running within the compiler.
 +
- The following feature-identifier classes are available in all situations:
- {{(machine-byte-order)}}, {{(machine-type)}}, {{(software-type)}},
- {{(software-version)}}, where the actual feature-identifier is platform
- dependent.
++The symbols returned by the following procedures from
++[[Module (chicken platform)|(chicken platform)]] are also available
++as feature-identifiers in all situations: {{(machine-byte-order)}},
++{{(machine-type)}}, {{(software-type)}}, {{(software-version)}}. For
++example, the {{machine-type}} class of feature-identifiers include
++{{arm}}, {{alpha}}, {{mips}}, etc.
 +
 +Platform endianness is indicated by the {{little-endian}} and {{big-endian}}
 +features.
 +
 +In addition the following feature-identifiers may exist: {{cross-chicken}},
 +{{dload}}, {{gchooks}}, {{ptables}}, {{case-insensitive}}.
  
  For further information, see the documentation for
  [[http://srfi.schemers.org/srfi-0/srfi-0.html|SRFI-0]].
Trap