THANKS Tom Tromey.

* THANKS: Add Tom Tromey to fixes section.
syntax-case: fix error reporting for misplaced ellipses.

Reported by taylanbayirli@gmail.com (Taylan Ulrich B.).

* module/ice-9/psyntax.scm (cvt*): Use 'syntax-case' to destructure
  the pattern tail, instead of 'pair?', 'car', and 'cdr'.
  (gen-clause): When checking for errors, check for misplaced ellipsis
  before duplicate pattern variables, to improve the error message in
  case of multiple misplaced ellipses.

* module/ice-9/psyntax-pp.scm: Regenerate.

* test-suite/tests/syntax.test: Add tests.
Hide EINTR returns from 'accept'.

* libguile/socket.c (scm_accept): Wrap 'accept' call in 'SCM_SYSCALL'.
Fix bound-identifier=? to compare binding names, not just symbolic names.

Fixes <http://bugs.gnu.org/16158>.

* module/ice-9/psyntax.scm (bound-id=?): Use 'id-var-name' to compare
  binding names (gensyms), not just symbolic names.

* module/ice-9/psyntax-pp.scm: Regenerate.

* test-suite/tests/syntax.test: Add test.
Revert "Fix bound-identifier=? to compare binding names, not just symbolic names."

This reverts commit 70c74b847680d3b239e591afa2e99c51a712980c.
allow specifying a required version in GUILE_PROGS

* meta/guile.m4: GUILE_PROGS now takes an optional argument to specify a
  required Guile version. By default, it requires Guile >= 2.0. A micro
  version can also be specified (e.g. GUILE_PROGS([2.0.10])).

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Thank Aleix.
Fix inlining of tail list to apply.

Fixes <http://bugs.gnu.org/15533>.

* module/language/tree-il/peval.scm (peval): Final list argument to
  `apply' should not be inlined if it is mutable.
* test-suite/tests/peval.test ("partial evaluation"): Add test.
Increment SCM_N_READ_OPTIONS for 'curly-infix' option.

* libguile/private-options.h (SCM_N_READ_OPTIONS): Increment to 8.
  This should have been done when the 'curly-infix' was added.
read: Avoid signed integer overflow in 'read_decimal_integer'.

* libguile/read.c (read_decimal_integer): Avoid overflow.
boot-9: add comment about autoload thread-unsafety.

* module/ice-9/boot-9.scm: Add comment about lack of thread-safety in
  handling of autoloads.
scm_primitive_load: Simplify code using 'scm_open_file_with_encoding'.

* libguile/load.c (scm_primitive_load): Use
  'scm_open_file_with_encoding'.
Fix doc that incorrectly claimed (integer? +inf.0) => #t.

Fixes <http://bugs.gnu.org/16356>.
Reported by Zefram <zefram@fysh.org>.

* doc/ref/api-data.texi (Integers): Add docs.  Fix outdated example
  that incorrectly showed (integer? +inf.0) => #t.
Implement 'exact-integer?' and 'scm_is_exact_integer'.

* libguile/numbers.c (scm_exact_integer_p, scm_is_exact_integer):
  New procedures.
  (scm_integer_p): Improve docstring.

* libguile/numbers.h (scm_exact_integer_p, scm_is_exact_integer):
  New prototypes.

* doc/ref/api-data.texi (Integers): Add docs.

* test-suite/tests/numbers.test ("exact-integer?"): Add tests.
Fix 'string-copy!' to work properly with overlapping src/dest.

* libguile/srfi-13.c (scm_string_copy_x): Fix to work properly with
  overlapping src/dest.

* test-suite/tests/srfi-13.test ("string-copy!"): Add tests.
Fix trap handlers to handle applicable structs.

Reported by Jordy Dickinson <jordy.dickinson@gmail.com>.
Fixes <http://bugs.gnu.org/15691>.

* module/system/vm/traps.scm (frame-matcher): Extract procedure when
  proc is an applicable struct.
Merge branch 'stable-2.0'

Conflicts:
	module/system/vm/traps.scm
	test-suite/tests/peval.test