guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 04/11: Fix libguile subcomponent headers not to include


From: Andy Wingo
Subject: [Guile-commits] 04/11: Fix libguile subcomponent headers not to include <libguile.h>
Date: Sun, 17 Jun 2018 07:46:22 -0400 (EDT)

wingo pushed a commit to branch master
in repository guile.

commit 83584ef23105be514c474ca0a1f107d681888d5d
Author: Andy Wingo <address@hidden>
Date:   Thu Jun 14 22:16:01 2018 +0200

    Fix libguile subcomponent headers not to include <libguile.h>
    
    * libguile/bytevectors.h: Include uniform.h, for use in the macros.
    * libguile/extensions.h: Include libpath.h, for the
      SCM_EFFECTIVE_VERSION, which is almost always used with these
      routines.
    * libguile/frames.h:
    * libguile/instructions.h:
    * libguile/intrinsics.h:
    * libguile/loader.h:
    * libguile/programs.h:
    * libguile/vm.h: Include <libguile/__scm.h> instead of <libguile.h>.
      Cuts a circular include, but also precipitates a lot of maintenance in
      the .c files.
    
    * libguile/*.c: Update C files to add needed all needed includes that
      before were getting automatically pulled in by the indirect inclusion
      of libguile.h.
---
 libguile/array-handle.c    |  7 +++--
 libguile/atomic.c          |  3 +-
 libguile/backtrace.c       | 26 +++++++++--------
 libguile/bitvectors.c      |  4 ++-
 libguile/bytevectors.c     | 25 ++++++++--------
 libguile/bytevectors.h     |  3 +-
 libguile/continuations.c   | 10 ++++---
 libguile/control.c         |  3 +-
 libguile/deprecated.c      |  3 +-
 libguile/eq.c              | 34 +++++++++++-----------
 libguile/error.c           |  3 +-
 libguile/eval.c            | 11 ++++---
 libguile/expand.c          |  9 ++++--
 libguile/extensions.c      |  5 ++--
 libguile/extensions.h      |  3 +-
 libguile/fdes-finalizers.c |  4 ++-
 libguile/filesys.c         | 72 ++++++++++++++++++++++------------------------
 libguile/finalizers.c      |  6 ++--
 libguile/fluids.c          | 16 ++++++-----
 libguile/foreign-object.c  |  7 +++--
 libguile/foreign.c         | 12 ++++++--
 libguile/fports.c          | 21 ++++++++------
 libguile/frames.c          |  4 ++-
 libguile/frames.h          |  4 +--
 libguile/goops.c           |  4 ++-
 libguile/gsubr.c           |  9 +++---
 libguile/guardians.c       | 17 ++++++-----
 libguile/hashtab.c         | 16 ++++++-----
 libguile/init.c            |  5 ++++
 libguile/instructions.c    |  1 +
 libguile/instructions.h    |  4 +--
 libguile/intrinsics.c      |  6 ++++
 libguile/intrinsics.h      |  2 +-
 libguile/ioext.c           |  7 +++--
 libguile/keywords.c        |  3 +-
 libguile/load.c            |  7 ++++-
 libguile/loader.c          |  4 ++-
 libguile/loader.h          |  4 +--
 libguile/macros.c          |  3 +-
 libguile/memoize.c         |  3 +-
 libguile/modules.c         |  1 +
 libguile/numbers.c         |  5 +++-
 libguile/objprop.c         |  6 ++--
 libguile/poll.c            |  4 ++-
 libguile/ports.c           |  6 ++--
 libguile/posix.c           |  8 ++++--
 libguile/print.c           | 12 +++++++-
 libguile/procs.c           |  5 ++--
 libguile/programs.c        |  5 +++-
 libguile/programs.h        |  4 +--
 libguile/r6rs-ports.c      |  3 +-
 libguile/random.c          |  6 ++--
 libguile/rdelim.c          |  4 +--
 libguile/read.c            |  4 ++-
 libguile/rw.c              |  3 +-
 libguile/scmsigs.c         |  6 ++--
 libguile/script.c          |  3 +-
 libguile/smob.c            |  3 +-
 libguile/socket.c          |  3 +-
 libguile/sort.c            |  3 +-
 libguile/srcprop.c         |  5 ++--
 libguile/srfi-1.c          |  4 ++-
 libguile/srfi-4.c          |  3 +-
 libguile/srfi-60.c         |  3 +-
 libguile/stacks.c          |  3 +-
 libguile/strports.c        |  5 ++--
 libguile/struct.c          |  2 ++
 libguile/symbols.c         |  5 ++--
 libguile/syntax.c          |  3 +-
 libguile/threads.c         |  6 ++--
 libguile/unicode.c         |  3 +-
 libguile/vectors.c         |  7 ++---
 libguile/vm.c              |  9 ++++++
 libguile/vm.h              |  5 ++--
 libguile/weak-set.c        |  3 +-
 libguile/weak-table.c      |  4 ++-
 libguile/weak-vector.c     |  5 ++--
 77 files changed, 339 insertions(+), 220 deletions(-)

diff --git a/libguile/array-handle.c b/libguile/array-handle.c
index 947462a..a69bdbe 100644
--- a/libguile/array-handle.c
+++ b/libguile/array-handle.c
@@ -1,5 +1,5 @@
-/* Copyright (C) 1995,1996,1997,1998,2000,2001,2002,2003,2004, 2005,
- * 2006, 2009, 2011, 2013, 2014 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1998,2000-2006,2009,2011,2013-2014,2018
+ *   Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -26,7 +26,8 @@
 
 #include "libguile/_scm.h"
 #include "libguile/__scm.h"
-
+#include "libguile/bitvectors.h"
+#include "libguile/arrays.h"
 #include "libguile/array-handle.h"
 
 
diff --git a/libguile/atomic.c b/libguile/atomic.c
index 9508740..5efa088 100644
--- a/libguile/atomic.c
+++ b/libguile/atomic.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2016 Free Software Foundation, Inc.
+/* Copyright (C) 2016, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -23,6 +23,7 @@
 #endif
 
 #include "libguile/_scm.h"
+#include "libguile/extensions.h"
 #include "libguile/ports.h"
 #include "libguile/validate.h"
 #include "libguile/atomics-internal.h"
diff --git a/libguile/backtrace.c b/libguile/backtrace.c
index 6eb7454..c430630 100644
--- a/libguile/backtrace.c
+++ b/libguile/backtrace.c
@@ -1,6 +1,6 @@
 /* Printing of backtraces and error messages
  * Copyright (C) 1996,1997,1998,1999,2000,2001, 2003, 2004, 2006, 2009,
- *   2010, 2011, 2014 Free Software Foundation
+ *   2010, 2011, 2014, 2018 Free Software Foundation
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -32,22 +32,24 @@
 #include <io.h>
 #endif
 
+#include "libguile/backtrace.h"
 #include "libguile/deprecation.h"
-#include "libguile/stacks.h"
-#include "libguile/srcprop.h"
-#include "libguile/struct.h"
-#include "libguile/strports.h"
-#include "libguile/throw.h"
+#include "libguile/dynwind.h"
+#include "libguile/eval.h"
+#include "libguile/filesys.h"
 #include "libguile/fluids.h"
+#include "libguile/frames.h"
+#include "libguile/keywords.h"
 #include "libguile/ports.h"
+#include "libguile/posix.h"
+#include "libguile/private-options.h"
+#include "libguile/srcprop.h"
+#include "libguile/stacks.h"
 #include "libguile/strings.h"
-#include "libguile/dynwind.h"
-#include "libguile/frames.h"
-
+#include "libguile/strports.h"
+#include "libguile/struct.h"
+#include "libguile/throw.h"
 #include "libguile/validate.h"
-#include "libguile/backtrace.h"
-#include "libguile/filesys.h"
-#include "libguile/private-options.h"
 
 /* {Error reporting and backtraces}
  *
diff --git a/libguile/bitvectors.c b/libguile/bitvectors.c
index a6527f5..cc3f73d 100644
--- a/libguile/bitvectors.c
+++ b/libguile/bitvectors.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,1998,2000,2001,2002,2003,2004, 2005, 2006, 
2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1998,2000-2006, 2009-2014, 2018 Free Software 
Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -29,7 +29,9 @@
 #include "libguile/__scm.h"
 #include "libguile/array-handle.h"
 #include "libguile/bitvectors.h"
+#include "libguile/generalized-vectors.h"
 #include "libguile/arrays.h"
+#include "libguile/srfi-4.h"
 
 /* Bit vectors. Would be nice if they were implemented on top of bytevectors,
  * but alack, all we have is this crufty C.
diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c
index 7cd7530..2f49d4c 100644
--- a/libguile/bytevectors.c
+++ b/libguile/bytevectors.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009-2015, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -21,14 +21,25 @@
 # include <config.h>
 #endif
 
+#ifdef HAVE_LIMITS_H
+# include <limits.h>
+#endif
+
+#include <byteswap.h>
+#include <striconveh.h>
+#include <uniconv.h>
+#include <unistr.h>
+#include <string.h>
 #include <alloca.h>
 #include <assert.h>
 
 #include <gmp.h>
 
 #include "libguile/_scm.h"
+#include "libguile/dynwind.h"
 #include "libguile/extensions.h"
 #include "libguile/bytevectors.h"
+#include "libguile/generalized-vectors.h"
 #include "libguile/strings.h"
 #include "libguile/validate.h"
 #include "libguile/arrays.h"
@@ -36,18 +47,6 @@
 #include "libguile/uniform.h"
 #include "libguile/srfi-4.h"
 
-#include <byteswap.h>
-#include <striconveh.h>
-#include <uniconv.h>
-#include <unistr.h>
-
-#ifdef HAVE_LIMITS_H
-# include <limits.h>
-#endif
-
-#include <string.h>
-
-
 
 /* Utilities.  */
 
diff --git a/libguile/bytevectors.h b/libguile/bytevectors.h
index 77f0006..c3d6c69 100644
--- a/libguile/bytevectors.h
+++ b/libguile/bytevectors.h
@@ -1,7 +1,7 @@
 #ifndef SCM_BYTEVECTORS_H
 #define SCM_BYTEVECTORS_H
 
-/* Copyright (C) 2009, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2009, 2011, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -22,6 +22,7 @@
 
 
 #include "libguile/__scm.h"
+#include "libguile/uniform.h"
 
 
 /* R6RS bytevectors.  */
diff --git a/libguile/continuations.c b/libguile/continuations.c
index 80914bc..b917f60 100644
--- a/libguile/continuations.c
+++ b/libguile/continuations.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1998,2000,2001,2004, 2006, 2008, 2009, 2010, 2011, 
2012, 2013, 2014, 2017 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1996,1998,2000-2001,2004,2006,2008-2014,2017-2018 Free 
Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -22,16 +22,18 @@
 # include <config.h>
 #endif
 
-#include "libguile/_scm.h"
-
 #include <assert.h>
 #include <string.h>
 #include <stdio.h>
 
+#include "libguile/_scm.h"
 #include "libguile/async.h"
+#include "libguile/backtrace.h"
 #include "libguile/debug.h"
-#include "libguile/stackchk.h"
+#include "libguile/init.h"
 #include "libguile/smob.h"
+#include "libguile/stackchk.h"
+#include "libguile/stacks.h"
 #include "libguile/ports.h"
 #include "libguile/dynstack.h"
 #include "libguile/eval.h"
diff --git a/libguile/control.c b/libguile/control.c
index 636718d..9688768 100644
--- a/libguile/control.c
+++ b/libguile/control.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010, 2011, 2012, 2013  Free Software Foundation, Inc.
+/* Copyright (C) 2010-2013, 2018  Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -24,6 +24,7 @@
 
 #include "libguile/_scm.h"
 #include "libguile/control.h"
+#include "libguile/extensions.h"
 #include "libguile/programs.h"
 #include "libguile/instructions.h"
 #include "libguile/vm.h"
diff --git a/libguile/deprecated.c b/libguile/deprecated.c
index acf9b19..d47a0c5 100644
--- a/libguile/deprecated.c
+++ b/libguile/deprecated.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2004, 2006, 2008-2017 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2004, 2006, 2008-2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -24,6 +24,7 @@
 
 #include "libguile/_scm.h"
 #include "libguile/deprecation.h"
+#include "libguile/deprecated.h"
 
 #if (SCM_ENABLE_DEPRECATED == 1)
 
diff --git a/libguile/eq.c b/libguile/eq.c
index f1153f2..492d43b 100644
--- a/libguile/eq.c
+++ b/libguile/eq.c
@@ -23,33 +23,31 @@
 
 #include <math.h>
 
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
 #include "libguile/_scm.h"
 #include "libguile/array-map.h"
-#include "libguile/stackchk.h"
-#include "libguile/strorder.h"
 #include "libguile/async.h"
-#include "libguile/smob.h"
-#include "libguile/arrays.h"
-#include "libguile/vectors.h"
-#include "libguile/hashtab.h"
+#include "libguile/bitvectors.h"
 #include "libguile/bytevectors.h"
-#include "libguile/syntax.h"
-
-#include "libguile/struct.h"
-#include "libguile/goops.h"
-
-#include "libguile/validate.h"
 #include "libguile/eq.h"
-
+#include "libguile/eval.h"
+#include "libguile/generalized-arrays.h"
+#include "libguile/goops.h"
+#include "libguile/hashtab.h"
 #include "libguile/private-options.h"
+#include "libguile/smob.h"
+#include "libguile/stackchk.h"
+#include "libguile/strorder.h"
+#include "libguile/struct.h"
+#include "libguile/syntax.h"
+#include "libguile/validate.h"
+#include "libguile/vectors.h"
 
 
 
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-
 static SCM scm_i_eq_p (SCM x, SCM y, SCM rest);
 SCM_DEFINE (scm_i_eq_p, "eq?", 0, 2, 1,
             (SCM x, SCM y, SCM rest),
diff --git a/libguile/error.c b/libguile/error.c
index ff84f41..51bf65a 100644
--- a/libguile/error.c
+++ b/libguile/error.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1998, 2000, 2001, 2004, 2006, 2010, 2012-2014
+/* Copyright (C) 1995-1998, 2000-2001, 2004, 2006, 2010, 2012-2014, 2018
  *   Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
@@ -29,6 +29,7 @@
 #include <errno.h>
 
 #include "libguile/_scm.h"
+#include "libguile/async.h"
 #include "libguile/dynwind.h"
 #include "libguile/pairs.h"
 #include "libguile/strings.h"
diff --git a/libguile/eval.c b/libguile/eval.c
index e9ff02a..8f71b87 100644
--- a/libguile/eval.c
+++ b/libguile/eval.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,
- *   2005,2006,2007,2008,2009,2010,2011,2012,2013,2014
+/* Copyright (C) 1995-1996,1997-2014,2018
  * Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
@@ -28,7 +27,6 @@
 #include <stdarg.h>
 
 #include "libguile/__scm.h"
-
 #include "libguile/_scm.h"
 #include "libguile/alist.h"
 #include "libguile/async.h"
@@ -38,17 +36,21 @@
 #include "libguile/deprecation.h"
 #include "libguile/dynwind.h"
 #include "libguile/eq.h"
+#include "libguile/eval.h"
 #include "libguile/expand.h"
 #include "libguile/feature.h"
+#include "libguile/fluids.h"
 #include "libguile/goops.h"
 #include "libguile/hash.h"
 #include "libguile/hashtab.h"
+#include "libguile/keywords.h"
 #include "libguile/list.h"
 #include "libguile/macros.h"
 #include "libguile/memoize.h"
 #include "libguile/modules.h"
 #include "libguile/ports.h"
 #include "libguile/print.h"
+#include "libguile/private-options.h"
 #include "libguile/procprop.h"
 #include "libguile/programs.h"
 #include "libguile/smob.h"
@@ -62,9 +64,6 @@
 #include "libguile/vectors.h"
 #include "libguile/vm.h"
 
-#include "libguile/eval.h"
-#include "libguile/private-options.h"
-
 
 
 
diff --git a/libguile/expand.c b/libguile/expand.c
index fc7da54..c1f557c 100644
--- a/libguile/expand.c
+++ b/libguile/expand.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 
1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014
+/* Copyright (C) 1995-1996,1997-2014,2018
  * Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
@@ -25,15 +25,18 @@
 
 #include "libguile/__scm.h"
 #include "libguile/_scm.h"
+#include "libguile/alist.h"
 #include "libguile/continuations.h"
 #include "libguile/eq.h"
+#include "libguile/expand.h"
+#include "libguile/hashtab.h"
+#include "libguile/keywords.h"
 #include "libguile/list.h"
 #include "libguile/macros.h"
-#include "libguile/expand.h"
 #include "libguile/modules.h"
-#include "libguile/srcprop.h"
 #include "libguile/ports.h"
 #include "libguile/print.h"
+#include "libguile/srcprop.h"
 #include "libguile/strings.h"
 #include "libguile/throw.h"
 #include "libguile/validate.h"
diff --git a/libguile/extensions.c b/libguile/extensions.c
index 1c3d28f..5bca008 100644
--- a/libguile/extensions.c
+++ b/libguile/extensions.c
@@ -25,12 +25,11 @@
 #include <string.h>
 
 #include "libguile/_scm.h"
-#include "libguile/strings.h"
-#include "libguile/gc.h"
 #include "libguile/dynl.h"
 #include "libguile/dynwind.h"
-
 #include "libguile/extensions.h"
+#include "libguile/gc.h"
+#include "libguile/strings.h"
 
 typedef struct extension_t
 {
diff --git a/libguile/extensions.h b/libguile/extensions.h
index 765f9be..03622ca 100644
--- a/libguile/extensions.h
+++ b/libguile/extensions.h
@@ -3,7 +3,7 @@
 #ifndef SCM_EXTENSIONS_H
 #define SCM_EXTENSIONS_H
 
-/* Copyright (C) 2001, 2006, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2006, 2008, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -24,6 +24,7 @@
 
 
 #include "libguile/__scm.h"
+#include "libguile/libpath.h"
 
 
 
diff --git a/libguile/fdes-finalizers.c b/libguile/fdes-finalizers.c
index fd4689e..74e42f6 100644
--- a/libguile/fdes-finalizers.c
+++ b/libguile/fdes-finalizers.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2016  Free Software Foundation, Inc.
+/* Copyright (C) 2016, 2018  Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -22,6 +22,8 @@
 #endif
 
 #include "libguile/_scm.h"
+#include "libguile/extensions.h"
+#include "libguile/eval.h"
 #include "libguile/hashtab.h"
 #include "libguile/numbers.h"
 #include "libguile/fdes-finalizers.h"
diff --git a/libguile/filesys.c b/libguile/filesys.c
index e39dc4a..f235ebb 100644
--- a/libguile/filesys.c
+++ b/libguile/filesys.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2006,
- *   2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017 Free Software Foundation, 
Inc.
+ *   2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017, 2018 Free Software 
Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -32,37 +32,26 @@
 #endif
 
 #include <alloca.h>
+#include <dirent.h>
 #include <dirname.h>
-
-#include <stdlib.h>
-#include <stdio.h>
 #include <errno.h>
+#include <fcntl.h>
+#include <full-read.h>
+#include <full-write.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
 
-#include "libguile/_scm.h"
-#include "libguile/smob.h"
-#include "libguile/fdes-finalizers.h"
-#include "libguile/feature.h"
-#include "libguile/fports.h"
-#include "libguile/strings.h"
-#include "libguile/iselect.h"
-#include "libguile/vectors.h"
-#include "libguile/dynwind.h"
-#include "libguile/ports.h"
-#include "libguile/ports-internal.h"
-
-#include "libguile/validate.h"
-#include "libguile/filesys.h"
-#include "libguile/load.h"     /* for scm_i_mirror_backslashes */
+#ifdef HAVE_DIRECT_H
+#include <direct.h>
+#endif
 
-
 #ifdef HAVE_IO_H
 #include <io.h>
 #endif
 
-#ifdef HAVE_DIRECT_H
-#include <direct.h>
-#endif
-
 #ifdef TIME_WITH_SYS_TIME
 # include <sys/time.h>
 # include <time.h>
@@ -74,8 +63,6 @@
 # endif
 #endif
 
-#include <unistd.h>
-
 #ifdef LIBC_H_WITH_UNISTD_H
 #include <libc.h>
 #endif
@@ -84,29 +71,40 @@
 #include <string.h>
 #endif
 
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-
 #ifdef HAVE_PWD_H
 #include <pwd.h>
 #endif
 
-#include <dirent.h>
-
-#define NAMLEN(dirent)  strlen ((dirent)->d_name)
-
 #ifdef HAVE_SYS_SENDFILE_H
 # include <sys/sendfile.h>
 #endif
 
+#include "libguile/_scm.h"
+#include "libguile/async.h"
+#include "libguile/dynwind.h"
+#include "libguile/fdes-finalizers.h"
+#include "libguile/feature.h"
+#include "libguile/filesys.h"
+#include "libguile/fports.h"
+#include "libguile/iselect.h"
+#include "libguile/load.h"     /* for scm_i_mirror_backslashes */
+#include "libguile/ports-internal.h"
+#include "libguile/ports.h"
+#include "libguile/posix.h"
+#include "libguile/smob.h"
+#include "libguile/srfi-13.h"
+#include "libguile/strings.h"
+#include "libguile/validate.h"
+#include "libguile/vectors.h"
+
+
+
+#define NAMLEN(dirent)  strlen ((dirent)->d_name)
+
 /* Glibc's `sendfile' function.  */
 #define sendfile_or_sendfile64                 \
   CHOOSE_LARGEFILE (sendfile, sendfile64)
 
-#include <full-read.h>
-#include <full-write.h>
-
 
 
 
diff --git a/libguile/finalizers.c b/libguile/finalizers.c
index c5d69e8..3c5d6af 100644
--- a/libguile/finalizers.c
+++ b/libguile/finalizers.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012, 2013, 2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012-2014, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -28,10 +28,12 @@
 
 #include <full-write.h>
 
-#include "libguile/bdw-gc.h"
 #include "libguile/_scm.h"
+#include "libguile/async.h"
+#include "libguile/bdw-gc.h"
 #include "libguile/finalizers.h"
 #include "libguile/gc.h"
+#include "libguile/init.h"
 #include "libguile/threads.h"
 
 
diff --git a/libguile/fluids.c b/libguile/fluids.c
index c3dd1c9..88d1fd1 100644
--- a/libguile/fluids.c
+++ b/libguile/fluids.c
@@ -1,5 +1,5 @@
-/* Copyright (C) 1996,1997,2000,2001, 2004, 2006, 2007, 2008, 2009, 2010,
- *    2011, 2012, 2013, 2017 Free Software Foundation, Inc.
+/* Copyright (C) 1996-1997,2000-2001,2004,2006-2013, 2017-2018
+ *   Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -25,17 +25,19 @@
 #include <string.h>
 
 #include "libguile/_scm.h"
+#include "libguile/alist.h"
 #include "libguile/atomics-internal.h"
+#include "libguile/bdw-gc.h"
 #include "libguile/cache-internal.h"
-#include "libguile/print.h"
+#include "libguile/deprecation.h"
 #include "libguile/dynwind.h"
-#include "libguile/fluids.h"
-#include "libguile/alist.h"
 #include "libguile/eval.h"
+#include "libguile/fluids.h"
+#include "libguile/hashtab.h"
 #include "libguile/ports.h"
-#include "libguile/deprecation.h"
+#include "libguile/print.h"
 #include "libguile/validate.h"
-#include "libguile/bdw-gc.h"
+#include "libguile/weak-table.h"
 
 /* A dynamic state associates fluids with values.  There are two
    representations of a dynamic state in Guile: the active
diff --git a/libguile/foreign-object.c b/libguile/foreign-object.c
index 34b9f22..94917e0 100644
--- a/libguile/foreign-object.c
+++ b/libguile/foreign-object.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014, 2017 Free Software Foundation, Inc.
+/* Copyright (C) 2014, 2017-2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -23,8 +23,11 @@
 #endif
 
 #include "libguile/_scm.h"
-#include "libguile/goops.h"
+#include "libguile/eval.h"
+#include "libguile/extensions.h"
+#include "libguile/finalizers.h"
 #include "libguile/foreign-object.h"
+#include "libguile/goops.h"
 
 
 
diff --git a/libguile/foreign.c b/libguile/foreign.c
index 927c46f..1b7d345 100644
--- a/libguile/foreign.c
+++ b/libguile/foreign.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010-2016  Free Software Foundation, Inc.
+/* Copyright (C) 2010-2016, 2018  Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -30,9 +30,17 @@
 
 #include "libguile/_scm.h"
 #include "libguile/bytevectors.h"
+#include "libguile/dynwind.h"
+#include "libguile/eq.h"
+#include "libguile/eval.h"
+#include "libguile/extensions.h"
+#include "libguile/finalizers.h"
+#include "libguile/foreign.h"
+#include "libguile/keywords.h"
 #include "libguile/instructions.h"
+#include "libguile/stacks.h"
 #include "libguile/threads.h"
-#include "libguile/foreign.h"
+#include "libguile/weak-table.h"
 
 
 
diff --git a/libguile/fports.c b/libguile/fports.c
index ee6ac0b..3f976d4 100644
--- a/libguile/fports.c
+++ b/libguile/fports.c
@@ -1,6 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- *   2004, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
- *   2014, 2015, 2017 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2004, 2006-2015, 2017-2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -49,16 +47,21 @@
 #include <full-write.h>
 
 #include "libguile/_scm.h"
+#include "libguile/async.h"
+#include "libguile/dynwind.h"
+#include "libguile/extensions.h"
 #include "libguile/fdes-finalizers.h"
-#include "libguile/strings.h"
-#include "libguile/validate.h"
+#include "libguile/fluids.h"
+#include "libguile/filesys.h"
+#include "libguile/fports.h"
 #include "libguile/gc.h"
-#include "libguile/posix.h"
-#include "libguile/dynwind.h"
 #include "libguile/hashtab.h"
-
-#include "libguile/fports.h"
+#include "libguile/keywords.h"
 #include "libguile/ports-internal.h"
+#include "libguile/posix.h"
+#include "libguile/read.h"
+#include "libguile/strings.h"
+#include "libguile/validate.h"
 
 #if SIZEOF_OFF_T == SIZEOF_INT
 #define OFF_T_MAX  INT_MAX
diff --git a/libguile/frames.c b/libguile/frames.c
index 11d4f12..8d8ffee 100644
--- a/libguile/frames.c
+++ b/libguile/frames.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software 
Foundation, Inc.
+/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2018 Free 
Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -23,6 +23,8 @@
 #include <stdlib.h>
 #include <string.h>
 #include "_scm.h"
+#include "eval.h"
+#include "extensions.h"
 #include "frames.h"
 #include "vm.h"
 
diff --git a/libguile/frames.h b/libguile/frames.h
index ef2db3d..76e6557 100644
--- a/libguile/frames.h
+++ b/libguile/frames.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software 
Foundation, Inc.
+/* Copyright (C) 2001, 2009-2015, 2018 Free Software Foundation, Inc.
  * * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -19,7 +19,7 @@
 #ifndef _SCM_FRAMES_H_
 #define _SCM_FRAMES_H_
 
-#include <libguile.h>
+#include <libguile/__scm.h>
 #include "programs.h"
 
 
diff --git a/libguile/goops.c b/libguile/goops.c
index 40a93b1..a51307b 100644
--- a/libguile/goops.c
+++ b/libguile/goops.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-2004,2008-2015,2017 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2004,2008-2015,2017-2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -33,6 +33,7 @@
 #include "libguile/chars.h"
 #include "libguile/dynwind.h"
 #include "libguile/eval.h"
+#include "libguile/extensions.h"
 #include "libguile/gsubr.h"
 #include "libguile/hashtab.h"
 #include "libguile/keywords.h"
@@ -46,6 +47,7 @@
 #include "libguile/strings.h"
 #include "libguile/strports.h"
 #include "libguile/vectors.h"
+#include "libguile/weak-table.h"
 
 #include "libguile/validate.h"
 #include "libguile/goops.h"
diff --git a/libguile/gsubr.c b/libguile/gsubr.c
index e22d163..7eab772 100644
--- a/libguile/gsubr.c
+++ b/libguile/gsubr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2001, 2006, 2008-2011, 2013, 2015
+/* Copyright (C) 1995-2001, 2006, 2008-2011, 2013, 2015, 2018
  *   Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
@@ -26,13 +26,14 @@
 #include <stdarg.h>
 
 #include "libguile/_scm.h"
-#include "libguile/gsubr.h"
 #include "libguile/foreign.h"
+#include "libguile/frames.h"
+#include "libguile/gsubr.h"
 #include "libguile/instructions.h"
-#include "libguile/srfi-4.h"
+#include "libguile/private-options.h"
 #include "libguile/programs.h"
+#include "libguile/srfi-4.h"
 
-#include "libguile/private-options.h"
 
 /*
  * gsubr.c
diff --git a/libguile/guardians.c b/libguile/guardians.c
index cd4d9f3..f5a931c 100644
--- a/libguile/guardians.c
+++ b/libguile/guardians.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 1998,1999,2000,2001, 2006, 2008, 2009, 2011,
- *   2012, 2013 Free Software Foundation, Inc.
+ *   2012, 2013, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -50,18 +50,17 @@
 #endif
 
 #include "libguile/_scm.h"
+
+#include "libguile/bdw-gc.h"
+#include "libguile/deprecation.h"
+#include "libguile/eval.h"
+#include "libguile/guardians.h"
+#include "libguile/hashtab.h"
 #include "libguile/ports.h"
 #include "libguile/print.h"
 #include "libguile/smob.h"
 #include "libguile/validate.h"
-#include "libguile/hashtab.h"
-#include "libguile/deprecation.h"
-#include "libguile/eval.h"
-
-#include "libguile/guardians.h"
-#include "libguile/bdw-gc.h"
-
-
+#include "libguile/weak-vector.h"
 
 
 static scm_t_bits tc16_guardian;
diff --git a/libguile/hashtab.c b/libguile/hashtab.c
index 8920e08..095ebca 100644
--- a/libguile/hashtab.c
+++ b/libguile/hashtab.c
@@ -1,5 +1,5 @@
-/* Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2003, 2004, 2006,
- *   2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1996, 1998-2001, 2003-2004, 2006,
+ *   2008-2013, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -29,14 +29,16 @@
 
 #include "libguile/_scm.h"
 #include "libguile/alist.h"
-#include "libguile/hash.h"
+#include "libguile/boolean.h"
+#include "libguile/bdw-gc.h"
+#include "libguile/eq.h"
 #include "libguile/eval.h"
-#include "libguile/vectors.h"
+#include "libguile/hash.h"
+#include "libguile/hashtab.h"
 #include "libguile/ports.h"
-#include "libguile/bdw-gc.h"
-
 #include "libguile/validate.h"
-#include "libguile/hashtab.h"
+#include "libguile/vectors.h"
+#include "libguile/weak-table.h"
 
 
 
diff --git a/libguile/init.c b/libguile/init.c
index 9b3accb..146e841 100644
--- a/libguile/init.c
+++ b/libguile/init.c
@@ -140,6 +140,11 @@
 #include "libguile/extensions.h"
 #include "libguile/uniform.h"
 #include "libguile/deprecated.h"
+#include "libguile/weak-set.h"
+#include "libguile/weak-table.h"
+#include "libguile/weak-vector.h"
+#include "libguile/foreign-object.h"
+#include "libguile/r6rs-ports.h"
 
 #include "libguile/init.h"
 #include "libguile/private-options.h"
diff --git a/libguile/instructions.c b/libguile/instructions.c
index 15ea94c..594dc43 100644
--- a/libguile/instructions.c
+++ b/libguile/instructions.c
@@ -25,6 +25,7 @@
 #include "_scm.h"
 #include "threads.h"
 #include "instructions.h"
+#include "extensions.h"
 
 
 SCM_SYMBOL (sym_left_arrow, "<-");
diff --git a/libguile/instructions.h b/libguile/instructions.h
index ad058cd..c2945b0 100644
--- a/libguile/instructions.h
+++ b/libguile/instructions.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2012, 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2009, 2012-2013, 2018 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -19,7 +19,7 @@
 #ifndef _SCM_INSTRUCTIONS_H_
 #define _SCM_INSTRUCTIONS_H_
 
-#include <libguile.h>
+#include <libguile/__scm.h>
 #include <libguile/vm-operations.h>
 
 #ifdef BUILDING_LIBGUILE
diff --git a/libguile/intrinsics.c b/libguile/intrinsics.c
index 0655c2a..39e8186 100644
--- a/libguile/intrinsics.c
+++ b/libguile/intrinsics.c
@@ -21,6 +21,12 @@
 #endif
 
 #include "_scm.h"
+#include "alist.h"
+#include "cache-internal.h"
+#include "extensions.h"
+#include "fluids.h"
+#include "goops.h"
+#include "keywords.h"
 #include "intrinsics.h"
 
 
diff --git a/libguile/intrinsics.h b/libguile/intrinsics.h
index 04cacea..64f9981 100644
--- a/libguile/intrinsics.h
+++ b/libguile/intrinsics.h
@@ -19,7 +19,7 @@
 #ifndef _SCM_VM_INTRINSICS_H_
 #define _SCM_VM_INTRINSICS_H_
 
-#include <libguile.h>
+#include <libguile/__scm.h>
 
 #ifdef BUILDING_LIBGUILE
 
diff --git a/libguile/ioext.c b/libguile/ioext.c
index 4038fd5..1528eee 100644
--- a/libguile/ioext.c
+++ b/libguile/ioext.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2006,
- *   2011, 2014 Free Software Foundation, Inc.
+ *   2011, 2014, 2018 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -28,16 +28,19 @@
 #include <errno.h>
 
 #include "libguile/_scm.h"
+#include "libguile/async.h"
 #include "libguile/dynwind.h"
+#include "libguile/extensions.h"
 #include "libguile/fdes-finalizers.h"
 #include "libguile/feature.h"
 #include "libguile/fports.h"
 #include "libguile/hashtab.h"
 #include "libguile/ioext.h"
-#include "libguile/ports.h"
 #include "libguile/ports-internal.h"
+#include "libguile/ports.h"
 #include "libguile/strings.h"
 #include "libguile/validate.h"
+#include "libguile/weak-set.h"
 
 #include <fcntl.h>
 
diff --git a/libguile/keywords.c b/libguile/keywords.c
index 087042b..f46e7a4 100644
--- a/libguile/keywords.c
+++ b/libguile/keywords.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004,
- *   2006, 2008, 2009, 2011, 2013, 2015 Free Software Foundation, Inc.
+ *   2006, 2008, 2009, 2011, 2013, 2015, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -30,6 +30,7 @@
 #include "libguile/async.h"
 #include "libguile/ports.h"
 #include "libguile/smob.h"
+#include "libguile/dynwind.h"
 #include "libguile/hashtab.h"
 
 #include "libguile/validate.h"
diff --git a/libguile/load.c b/libguile/load.c
index 3747dd9..859e124 100644
--- a/libguile/load.c
+++ b/libguile/load.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2004, 2006, 2008,
- *   2009, 2010, 2011, 2012, 2013, 2014, 2017 Free Software Foundation, Inc.
+ *   2009, 2010, 2011, 2012, 2013, 2014, 2017, 2018 Free Software Foundation, 
Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -31,7 +31,12 @@
 #include "libguile/alist.h"
 #include "libguile/chars.h"
 #include "libguile/dynwind.h"
+#include "libguile/eq.h"
+#include "libguile/strports.h"
+#include "libguile/backtrace.h"
+#include "libguile/keywords.h"
 #include "libguile/eval.h"
+#include "libguile/filesys.h"
 #include "libguile/fports.h"
 #include "libguile/libpath.h"
 #include "libguile/loader.h"
diff --git a/libguile/loader.c b/libguile/loader.c
index d8816ab..0d427b5 100644
--- a/libguile/loader.c
+++ b/libguile/loader.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001, 2009, 2010, 2011, 2012
- *    2013, 2014, 2015 Free Software Foundation, Inc.
+ *    2013, 2014, 2015, 2018 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -40,6 +40,8 @@
 
 #include "_scm.h"
 #include "elf.h"
+#include "eval.h"
+#include "extensions.h"
 #include "programs.h"
 #include "loader.h"
 
diff --git a/libguile/loader.h b/libguile/loader.h
index 5c719cb..44cee56 100644
--- a/libguile/loader.h
+++ b/libguile/loader.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Free Software 
Foundation, Inc.
+/* Copyright (C) 2001, 2009-2015, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -19,7 +19,7 @@
 #ifndef _SCM_LOADER_H_
 #define _SCM_LOADER_H_
 
-#include <libguile.h>
+#include <libguile/__scm.h>
 
 SCM_API SCM scm_load_thunk_from_file (SCM filename);
 SCM_API SCM scm_load_thunk_from_memory (SCM bv);
diff --git a/libguile/macros.c b/libguile/macros.c
index 94421c1..1e0af72 100644
--- a/libguile/macros.c
+++ b/libguile/macros.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,1998,2000,2001,2002,2003, 2006, 2008, 2009, 
2010, 2011, 2012 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,2001,2002,2003, 2006, 2008, 2009, 
2010, 2011, 2012, 2018 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -25,6 +25,7 @@
 #include "libguile/_scm.h"
 #include "libguile/ports.h"
 #include "libguile/print.h"
+#include "libguile/random.h"
 #include "libguile/smob.h"
 #include "libguile/validate.h"
 #include "libguile/macros.h"
diff --git a/libguile/memoize.c b/libguile/memoize.c
index 58abeb1..e073818 100644
--- a/libguile/memoize.c
+++ b/libguile/memoize.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- *   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015
+ *   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 
2018
  *   Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
@@ -26,6 +26,7 @@
 
 #include "libguile/__scm.h"
 #include "libguile/_scm.h"
+#include "libguile/alist.h"
 #include "libguile/continuations.h"
 #include "libguile/eq.h"
 #include "libguile/expand.h"
diff --git a/libguile/modules.c b/libguile/modules.c
index b5fdbf6..9589e9a 100644
--- a/libguile/modules.c
+++ b/libguile/modules.c
@@ -30,6 +30,7 @@
 #include "libguile/smob.h"
 #include "libguile/procprop.h"
 #include "libguile/vectors.h"
+#include "libguile/keywords.h"
 #include "libguile/hashtab.h"
 #include "libguile/struct.h"
 #include "libguile/variable.h"
diff --git a/libguile/numbers.c b/libguile/numbers.c
index 39e2d62..094c1a9 100644
--- a/libguile/numbers.c
+++ b/libguile/numbers.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2016 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2016, 2018 Free Software Foundation, Inc.
  *
  * Portions Copyright 1990, 1991, 1992, 1993 by AT&T Bell Laboratories
  * and Bellcore.  See scm_divide.
@@ -62,9 +62,12 @@
 #include "libguile/_scm.h"
 #include "libguile/feature.h"
 #include "libguile/ports.h"
+#include "libguile/finalizers.h"
 #include "libguile/smob.h"
 #include "libguile/strings.h"
 #include "libguile/bdw-gc.h"
+#include "libguile/goops.h"
+#include "libguile/values.h"
 
 #include "libguile/validate.h"
 #include "libguile/numbers.h"
diff --git a/libguile/objprop.c b/libguile/objprop.c
index e9ddbe4..f79f1dd 100644
--- a/libguile/objprop.c
+++ b/libguile/objprop.c
@@ -1,4 +1,4 @@
-/*     Copyright (C) 1995,1996, 2000, 2001, 2003, 2006, 2008, 2009, 2010, 2011 
Free Software Foundation, Inc.
+/*     Copyright (C) 1995,1996, 2000, 2001, 2003, 2006, 2008, 2009, 2010, 
2011, 2018 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -23,11 +23,11 @@
 #endif
 
 #include "libguile/_scm.h"
+#include "libguile/alist.h"
 #include "libguile/async.h"
 #include "libguile/hashtab.h"
-#include "libguile/alist.h"
-
 #include "libguile/objprop.h"
+#include "libguile/weak-table.h"
 
 
 /* {Object Properties}
diff --git a/libguile/poll.c b/libguile/poll.c
index a17ca41..5dae64a 100644
--- a/libguile/poll.c
+++ b/libguile/poll.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010, 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2010, 2013, 2018 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -28,8 +28,10 @@
 #include <poll.h>
 
 #include "libguile/_scm.h"
+#include "libguile/async.h"
 #include "libguile/bytevectors.h"
 #include "libguile/error.h"
+#include "libguile/extensions.h"
 #include "libguile/numbers.h"
 #include "libguile/ports-internal.h"
 #include "libguile/validate.h"
diff --git a/libguile/ports.c b/libguile/ports.c
index 72bb73a..92aea3f 100644
--- a/libguile/ports.c
+++ b/libguile/ports.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2001, 2003-2004, 2006-2017
+/* Copyright (C) 1995-2001, 2003-2004, 2006-2018
  * Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
@@ -48,7 +48,8 @@
 #include "libguile/smob.h"
 #include "libguile/chars.h"
 #include "libguile/dynwind.h"
-
+#include "libguile/extensions.h"
+#include "libguile/finalizers.h"
 #include "libguile/keywords.h"
 #include "libguile/hashtab.h"
 #include "libguile/strings.h"
@@ -56,6 +57,7 @@
 #include "libguile/validate.h"
 #include "libguile/ports.h"
 #include "libguile/ports-internal.h"
+#include "libguile/private-options.h"
 #include "libguile/vectors.h"
 #include "libguile/weak-set.h"
 #include "libguile/fluids.h"
diff --git a/libguile/posix.c b/libguile/posix.c
index 041b8b1..3e6d50a 100644
--- a/libguile/posix.c
+++ b/libguile/posix.c
@@ -1,6 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- *   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
- *   2014, 2016 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2014, 2016, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -65,8 +63,12 @@
 #endif
 
 #include "libguile/_scm.h"
+#include "libguile/async.h"
 #include "libguile/dynwind.h"
+#include "libguile/extensions.h"
+#include "libguile/finalizers.h"
 #include "libguile/fports.h"
+#include "libguile/bitvectors.h"
 #include "libguile/scmsigs.h"
 #include "libguile/feature.h"
 #include "libguile/strings.h"
diff --git a/libguile/print.c b/libguile/print.c
index 24c532f..5af49e7 100644
--- a/libguile/print.c
+++ b/libguile/print.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 1995-1999, 2000, 2001, 2002, 2003, 2004, 2006, 2008,
- *   2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017 Free Software Foundation, 
Inc.
+ *   2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017, 2018 Free Software 
Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -36,6 +36,16 @@
 #include "libguile/smob.h"
 #include "libguile/control.h"
 #include "libguile/eval.h"
+#include "libguile/goops.h"
+#include "libguile/hashtab.h"
+#include "libguile/weak-set.h"
+#include "libguile/weak-table.h"
+#include "libguile/fluids.h"
+#include "libguile/keywords.h"
+#include "libguile/atomic.h"
+#include "libguile/bitvectors.h"
+#include "libguile/arrays.h"
+#include "libguile/weak-vector.h"
 #include "libguile/macros.h"
 #include "libguile/procprop.h"
 #include "libguile/read.h"
diff --git a/libguile/procs.c b/libguile/procs.c
index 2329f4a..2651b2d 100644
--- a/libguile/procs.c
+++ b/libguile/procs.c
@@ -1,5 +1,5 @@
-/* Copyright (C) 1995, 1996, 1997, 1999, 2000, 2001, 2006, 2008, 2009,
- *   2010, 2011, 2012, 2013, 2017 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1997, 1999-2001, 2006, 2008-2013, 2017-2018
+ *   Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -25,6 +25,7 @@
 
 #include "libguile/_scm.h"
 
+#include "libguile/goops.h"
 #include "libguile/strings.h"
 #include "libguile/vectors.h"
 #include "libguile/smob.h"
diff --git a/libguile/programs.c b/libguile/programs.c
index 237d282..0cf799e 100644
--- a/libguile/programs.c
+++ b/libguile/programs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014, 2017 Free Software 
Foundation, Inc.
+/* Copyright (C) 2001, 2009-2014, 2017-2018 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -23,6 +23,9 @@
 #include <string.h>
 #include "_scm.h"
 #include "instructions.h"
+#include "alist.h"
+#include "eval.h"
+#include "extensions.h"
 #include "modules.h"
 #include "programs.h"
 #include "procprop.h" /* scm_sym_name */
diff --git a/libguile/programs.h b/libguile/programs.h
index c962995..d260a4b 100644
--- a/libguile/programs.h
+++ b/libguile/programs.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014 Free Software 
Foundation, Inc.
+/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014, 2018 Free Software 
Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -19,7 +19,7 @@
 #ifndef _SCM_PROGRAMS_H_
 #define _SCM_PROGRAMS_H_
 
-#include <libguile.h>
+#include <libguile/__scm.h>
 
 /*
  * Programs
diff --git a/libguile/r6rs-ports.c b/libguile/r6rs-ports.c
index e944c7a..15646be 100644
--- a/libguile/r6rs-ports.c
+++ b/libguile/r6rs-ports.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2009, 2010, 2011, 2013-2015 Free Software Foundation, Inc.
+/* Copyright (C) 2009, 2010, 2011, 2013-2015, 2018 Free Software Foundation, 
Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -29,6 +29,7 @@
 #include "libguile/bytevectors.h"
 #include "libguile/chars.h"
 #include "libguile/eval.h"
+#include "libguile/extensions.h"
 #include "libguile/r6rs-ports.h"
 #include "libguile/strings.h"
 #include "libguile/validate.h"
diff --git a/libguile/random.c b/libguile/random.c
index 6dae7f3..75eb53b 100644
--- a/libguile/random.c
+++ b/libguile/random.c
@@ -1,5 +1,5 @@
-/* Copyright (C) 1999, 2000, 2001, 2003, 2005, 2006, 2009, 2010,
- *    2012, 2013, 2014, 2017 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2001, 2003, 2005-2006, 2009-2010,
+ *    2012-2014, 2017-2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -35,8 +35,10 @@
 #include <unistd.h>
 
 #include "libguile/smob.h"
+#include "libguile/generalized-arrays.h"
 #include "libguile/numbers.h"
 #include "libguile/feature.h"
+#include "libguile/stime.h"
 #include "libguile/strings.h"
 #include "libguile/arrays.h"
 #include "libguile/srfi-4.h"
diff --git a/libguile/rdelim.c b/libguile/rdelim.c
index 80962bc..f01ddf1 100644
--- a/libguile/rdelim.c
+++ b/libguile/rdelim.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2006,
- *   2011 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2001, 2006, 2011, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -34,6 +33,7 @@
 #include "libguile/ports.h"
 #include "libguile/rdelim.h"
 #include "libguile/strings.h"
+#include "libguile/srfi-13.h"
 #include "libguile/strports.h"
 #include "libguile/validate.h"
 
diff --git a/libguile/read.c b/libguile/read.c
index 0946ff3..4b0fab0 100644
--- a/libguile/read.c
+++ b/libguile/read.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1997, 1999-2001, 2003, 2004, 2006-2012, 2014, 2015
+/* Copyright (C) 1995-1997, 1999-2001, 2003-2004, 2006-2012, 2014-2015, 2018
  *   Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
@@ -44,6 +44,8 @@
 #include "libguile/srcprop.h"
 #include "libguile/hashtab.h"
 #include "libguile/hash.h"
+#include "libguile/eq.h"
+#include "libguile/fluids.h"
 #include "libguile/ports.h"
 #include "libguile/ports-internal.h"
 #include "libguile/fports.h"
diff --git a/libguile/rw.c b/libguile/rw.c
index 70bcd81..3b0c4bd 100644
--- a/libguile/rw.c
+++ b/libguile/rw.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2006, 2009, 2011, 2014 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2006, 2009, 2011, 2014, 2018 Free Software Foundation, 
Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -28,6 +28,7 @@
 #include <string.h>
 
 #include "libguile/_scm.h"
+#include "libguile/async.h"
 #include "libguile/fports.h"
 #include "libguile/ports.h"
 #include "libguile/rw.h"
diff --git a/libguile/scmsigs.c b/libguile/scmsigs.c
index 21b2a95..ece81e6 100644
--- a/libguile/scmsigs.c
+++ b/libguile/scmsigs.c
@@ -1,5 +1,5 @@
-/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002, 2004, 2006,
- *   2007, 2008, 2009, 2011, 2013, 2014, 2017 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2004, 2006-2009, 2011, 2013-2014, 2017-2018
+ *   Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -44,6 +44,8 @@
 #include "libguile/_scm.h"
 
 #include "libguile/async.h"
+#include "libguile/dynwind.h"
+#include "libguile/feature.h"
 #include "libguile/eval.h"
 #include "libguile/vectors.h"
 #include "libguile/threads.h"
diff --git a/libguile/script.c b/libguile/script.c
index 63fbb0f..f59ad1e 100644
--- a/libguile/script.c
+++ b/libguile/script.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994-1998, 2000-2011, 2013, 2014 Free Software Foundation, 
Inc.
+/* Copyright (C) 1994-1998, 2000-2011, 2013-2014, 2018 Free Software 
Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -33,6 +33,7 @@
 #include "libguile/_scm.h"
 #include "libguile/eval.h"
 #include "libguile/feature.h"
+#include "libguile/fluids.h"
 #include "libguile/load.h"
 #include "libguile/read.h"
 #include "libguile/script.h"
diff --git a/libguile/smob.c b/libguile/smob.c
index 43ea613..a9f0411 100644
--- a/libguile/smob.c
+++ b/libguile/smob.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2003, 2004, 2006,
- *   2009, 2010, 2011, 2012, 2013, 2015 Free Software Foundation, Inc.
+ *   2009, 2010, 2011, 2012, 2013, 2015, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -31,6 +31,7 @@
 
 #include "libguile/async.h"
 #include "libguile/goops.h"
+#include "libguile/finalizers.h"
 #include "libguile/instructions.h"
 #include "libguile/programs.h"
 
diff --git a/libguile/socket.c b/libguile/socket.c
index b28e01b..2a30890 100644
--- a/libguile/socket.c
+++ b/libguile/socket.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-1998, 2000-2007, 2009, 2011-2015
+/* Copyright (C) 1996-1998, 2000-2007, 2009, 2011-2015, 2018
  *   Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
@@ -47,6 +47,7 @@
 #include <gmp.h>
 
 #include "libguile/_scm.h"
+#include "libguile/async.h"
 #include "libguile/arrays.h"
 #include "libguile/feature.h"
 #include "libguile/fports.h"
diff --git a/libguile/sort.c b/libguile/sort.c
index ff7d663..1e56b39 100644
--- a/libguile/sort.c
+++ b/libguile/sort.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 1999, 2000, 2001, 2002, 2004, 2006, 2007, 2008, 2009,
- *   2010, 2011, 2012, 2014 Free Software Foundation, Inc.
+ *   2010, 2011, 2012, 2014, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -44,6 +44,7 @@
 #include "libguile/arrays.h"
 #include "libguile/array-map.h"
 #include "libguile/feature.h"
+#include "libguile/generalized-arrays.h"
 #include "libguile/vectors.h"
 #include "libguile/async.h"
 #include "libguile/dynwind.h"
diff --git a/libguile/srcprop.c b/libguile/srcprop.c
index 14e56bd..118c9da 100644
--- a/libguile/srcprop.c
+++ b/libguile/srcprop.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2006,
- *   2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2006, 2008-2012, 2018 Free Software Foundation, 
Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -30,10 +29,12 @@
 #include "libguile/smob.h"
 #include "libguile/alist.h"
 #include "libguile/debug.h"
+#include "libguile/keywords.h"
 #include "libguile/hashtab.h"
 #include "libguile/hash.h"
 #include "libguile/ports.h"
 #include "libguile/gc.h"
+#include "libguile/weak-table.h"
 
 #include "libguile/validate.h"
 #include "libguile/srcprop.h"
diff --git a/libguile/srfi-1.c b/libguile/srfi-1.c
index 08a4b22..b176f6a 100644
--- a/libguile/srfi-1.c
+++ b/libguile/srfi-1.c
@@ -1,7 +1,7 @@
 /* srfi-1.c --- SRFI-1 procedures for Guile
  *
  * Copyright (C) 1995-1997, 2000-2003, 2005, 2006, 2008-2011, 2013
- *   2014 Free Software Foundation, Inc.
+ *   2014, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -31,6 +31,8 @@
 #include "libguile/list.h"
 #include "libguile/eval.h"
 #include "libguile/srfi-1.h"
+#include "libguile/values.h"
+#include "libguile/extensions.h"
 
 #include <stdarg.h>
 
diff --git a/libguile/srfi-4.c b/libguile/srfi-4.c
index b0ed0ce..55bacf9 100644
--- a/libguile/srfi-4.c
+++ b/libguile/srfi-4.c
@@ -1,6 +1,6 @@
 /* srfi-4.c --- Uniform numeric vector datatypes.
  *
- *     Copyright (C) 2001, 2004, 2006, 2009, 2010, 2011, 2014 Free Software 
Foundation, Inc.
+ *     Copyright (C) 2001, 2004, 2006, 2009, 2010, 2011, 2014, 2018 Free 
Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -30,6 +30,7 @@
 #include "libguile/error.h"
 #include "libguile/eval.h"
 #include "libguile/extensions.h"
+#include "libguile/generalized-vectors.h"
 #include "libguile/uniform.h"
 #include "libguile/validate.h"
 
diff --git a/libguile/srfi-60.c b/libguile/srfi-60.c
index de97cbc..5b4f237 100644
--- a/libguile/srfi-60.c
+++ b/libguile/srfi-60.c
@@ -1,6 +1,6 @@
 /* srfi-60.c --- Integers as Bits
  *
- * Copyright (C) 2005, 2006, 2008, 2010, 2014 Free Software Foundation, Inc.
+ * Copyright (C) 2005, 2006, 2008, 2010, 2014, 2018 Free Software Foundation, 
Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -28,6 +28,7 @@
 #include "libguile/eq.h"
 
 #include "libguile/validate.h"
+#include "libguile/extensions.h"
 #include "libguile/numbers.h"
 
 #include "libguile/srfi-60.h"
diff --git a/libguile/stacks.c b/libguile/stacks.c
index 76e10fa..a529e59 100644
--- a/libguile/stacks.c
+++ b/libguile/stacks.c
@@ -1,5 +1,5 @@
 /* A stack holds a frame chain
- * Copyright (C) 1996,1997,2000,2001, 2006, 2007, 2008, 2009, 2010, 2011, 
2012, 2013, 2014, 2017 Free Software Foundation
+ * Copyright (C) 1996,1997,2000-2001,2006-2014,2017-2018 Free Software 
Foundation
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -28,6 +28,7 @@
 #include "libguile/eval.h"
 #include "libguile/debug.h"
 #include "libguile/continuations.h"
+#include "libguile/fluids.h"
 #include "libguile/struct.h"
 #include "libguile/macros.h"
 #include "libguile/procprop.h"
diff --git a/libguile/strports.c b/libguile/strports.c
index 5f78785..e99ceb8 100644
--- a/libguile/strports.c
+++ b/libguile/strports.c
@@ -1,5 +1,5 @@
-/* Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006,
- *   2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1998-2003, 2005-2006,
+ *   2009-2014, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -31,6 +31,7 @@
 
 #include "libguile/bytevectors.h"
 #include "libguile/eval.h"
+#include "libguile/keywords.h"
 #include "libguile/ports.h"
 #include "libguile/read.h"
 #include "libguile/strings.h"
diff --git a/libguile/struct.c b/libguile/struct.c
index 957776b..6cbfde5 100644
--- a/libguile/struct.c
+++ b/libguile/struct.c
@@ -32,6 +32,8 @@
 #include "libguile/chars.h"
 #include "libguile/deprecation.h"
 #include "libguile/eval.h"
+#include "libguile/finalizers.h"
+#include "libguile/goops.h"
 #include "libguile/alist.h"
 #include "libguile/hashtab.h"
 #include "libguile/ports.h"
diff --git a/libguile/symbols.c b/libguile/symbols.c
index ab4b2cd..4fb26eb 100644
--- a/libguile/symbols.c
+++ b/libguile/symbols.c
@@ -1,5 +1,5 @@
-/* Copyright (C) 1995-1998, 2000, 2001, 2003, 2004, 2006, 2009, 2011,
- *   2013, 2015 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1998, 2000-2001, 2003-2004, 2006, 2009, 2011,
+ *   2013, 2015, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -30,6 +30,7 @@
 #include "libguile/eval.h"
 #include "libguile/hash.h"
 #include "libguile/smob.h"
+#include "libguile/strorder.h"
 #include "libguile/variable.h"
 #include "libguile/alist.h"
 #include "libguile/fluids.h"
diff --git a/libguile/syntax.c b/libguile/syntax.c
index df12c69..9001828 100644
--- a/libguile/syntax.c
+++ b/libguile/syntax.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2017 Free Software Foundation, Inc.
+/* Copyright (C) 2017-2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -24,6 +24,7 @@
 
 #include "libguile/_scm.h"
 #include "libguile/keywords.h"
+#include "libguile/eval.h"
 #include "libguile/ports.h"
 #include "libguile/syntax.h"
 #include "libguile/validate.h"
diff --git a/libguile/threads.c b/libguile/threads.c
index 770f62c..7fa75dd 100644
--- a/libguile/threads.c
+++ b/libguile/threads.c
@@ -1,6 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004,
- *   2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
- *   2014 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1998, 2000-2014, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -28,6 +26,8 @@
 #include <gc/gc_mark.h>
 #include "libguile/_scm.h"
 #include "libguile/deprecation.h"
+#include "libguile/extensions.h"
+#include "libguile/hashtab.h"
 
 #include <stdlib.h>
 #include <unistd.h>
diff --git a/libguile/unicode.c b/libguile/unicode.c
index 65d319a..50c96da 100644
--- a/libguile/unicode.c
+++ b/libguile/unicode.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014 Free Software Foundation, Inc.
+/* Copyright (C) 2014, 2018 Free Software Foundation, Inc.
  *
  * This library is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as
@@ -27,6 +27,7 @@
 #include <uniname.h>
 
 #include "libguile/_scm.h"
+#include "libguile/extensions.h"
 #include "libguile/validate.h"
 
 #include "libguile/unicode.h"
diff --git a/libguile/vectors.c b/libguile/vectors.c
index d183022..706db91 100644
--- a/libguile/vectors.c
+++ b/libguile/vectors.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 1995,1996,1998,1999,2000,2001, 2006, 2008, 2009, 2010,
- *   2011, 2012, 2014 Free Software Foundation, Inc.
+ *   2011, 2012, 2014, 2018 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -29,6 +29,7 @@
 #include "libguile/validate.h"
 #include "libguile/vectors.h"
 #include "libguile/array-handle.h"
+#include "libguile/generalized-vectors.h"
 
 #include "libguile/bdw-gc.h"
 
@@ -59,10 +60,6 @@ const SCM *
 scm_vector_elements (SCM vec, scm_t_array_handle *h,
                     size_t *lenp, ssize_t *incp)
 {
-  /* it's unsafe to access the memory of a weak vector */
-  if (SCM_I_WVECTP (vec))
-    scm_wrong_type_arg_msg (NULL, 0, vec, "non-weak vector");
-
   scm_array_get_handle (vec, h);
   if (1 != scm_array_handle_rank (h))
     {
diff --git a/libguile/vm.c b/libguile/vm.c
index 0e82438..629b69e 100644
--- a/libguile/vm.c
+++ b/libguile/vm.c
@@ -40,6 +40,15 @@
 #include "libguile/atomics-internal.h"
 #include "libguile/cache-internal.h"
 #include "libguile/control.h"
+#include "libguile/eval.h"
+#include "libguile/values.h"
+#include "libguile/async.h"
+#include "libguile/keywords.h"
+#include "libguile/dynwind.h"
+#include "libguile/extensions.h"
+#include "libguile/alist.h"
+#include "libguile/procprop.h"
+#include "libguile/stackchk.h"
 #include "libguile/frames.h"
 #include "libguile/gc-inline.h"
 #include "libguile/instructions.h"
diff --git a/libguile/vm.h b/libguile/vm.h
index d9e5430..3bc1eae 100644
--- a/libguile/vm.h
+++ b/libguile/vm.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017 Free 
Software Foundation, Inc.
+/* Copyright (C) 2001, 2009-2015, 2017-2018 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -19,7 +19,8 @@
 #ifndef _SCM_VM_H_
 #define _SCM_VM_H_
 
-#include <libguile.h>
+#include <libguile/__scm.h>
+#include <libguile/frames.h>
 #include <libguile/programs.h>
 
 enum {
diff --git a/libguile/weak-set.c b/libguile/weak-set.c
index 1576e20..8f98e99 100644
--- a/libguile/weak-set.c
+++ b/libguile/weak-set.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2013, 2018 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -25,6 +25,7 @@
 #include <assert.h>
 
 #include "libguile/_scm.h"
+#include "libguile/finalizers.h"
 #include "libguile/hash.h"
 #include "libguile/eval.h"
 #include "libguile/ports.h"
diff --git a/libguile/weak-table.c b/libguile/weak-table.c
index 461d4a4..9f24511 100644
--- a/libguile/weak-table.c
+++ b/libguile/weak-table.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011, 2012, 2013, 2014, 2017 Free Software Foundation, Inc.
+/* Copyright (C) 2011-2014, 2017-2018 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -28,6 +28,8 @@
 #include <gc/gc_typed.h>
 
 #include "libguile/_scm.h"
+#include "libguile/alist.h"
+#include "libguile/finalizers.h"
 #include "libguile/hash.h"
 #include "libguile/eval.h"
 #include "libguile/ports.h"
diff --git a/libguile/weak-vector.c b/libguile/weak-vector.c
index 082cdde..4b73540 100644
--- a/libguile/weak-vector.c
+++ b/libguile/weak-vector.c
@@ -1,5 +1,5 @@
 /* Copyright (C) 1995, 1996, 1998, 2000, 2001, 2003, 2006, 2008, 2009,
- *   2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
+ *   2010, 2011, 2012, 2013, 2014, 2018 Free Software Foundation, Inc.
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -26,7 +26,8 @@
 #include <stdio.h>
 
 #include "libguile/_scm.h"
-#include "libguile/vectors.h"
+#include "libguile/extensions.h"
+#include "libguile/weak-vector.h"
 
 #include "libguile/validate.h"
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]