* Internal visibility
2008-05-12 21:02 ` Neil Jerram
@ 2008-05-14 3:45 ` Ludovic Courtès
2008-05-27 21:32 ` Ludovic Courtès
0 siblings, 1 reply; 33+ messages in thread
From: Ludovic Courtès @ 2008-05-14 3:45 UTC (permalink / raw)
To: guile-devel
[-- Attachment #1: Type: text/plain, Size: 1633 bytes --]
Hi,
Neil Jerram <neil@ossau.uklinux.net> writes:
> I believe that means we're agreed on all points now, so I'll commit
> shortly.
Yes, great.
> That sounds like an excellent idea. IIUC, that would have an effect
> equivalent to the Windows expansion of SCM_API (__declspec(dllextn) or
> whatever), and it would solve the problem (or rather inelegance) where
> you have an "internal" function but which is used by more than one of
> libguile's source files, and so can't be static.
Yes, exactly:
http://gcc.gnu.org/wiki/Visibility
http://people.redhat.com/drepper/dsohowto.pdf
Your enthusiasm gave me an incentive to go ahead and try it out (see
attached patch against `master'). This brings the number of exported
`scm_i_' symbols (as seen with "objdump -T") down from 195 to 68 here,
which should slightly reduce load time since it gives less work to the
loader. The patch also marks the `scm_init' functions as internal. It
uses "internal" visibility, not just "hidden" (see "Function Attributes"
node of the GCC manual).
A few functions had to be left public: those used in public macros or
inlines, some functions of `numbers.c' that are used in `srfi-60', and
`scm_i_string_{writable_,}chars ()' functions which have been used
outside (e.g., in G-Wrap, IIRC) as they're too convenient...
I know Guile-VM uses a few internal functions/macros, so Andy will have
to check whether this breaks anything (and propose a new public API if
it does :-)). It would be great to double-check with other code that
uses Guile. Then if that looks acceptable, we can commit it, including
to the 1.8 branch.
Thanks,
Ludovic.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: The patch --]
[-- Type: text/x-patch, Size: 101295 bytes --]
From 62161c44a624171973c319436c547b55de0e92bf Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Wed, 14 May 2008 05:20:47 +0200
Subject: [PATCH] Add `SCM_INTERNAL' macro, use it.
---
libguile/__scm.h | 9 ++++
libguile/alist.h | 4 +-
libguile/arbiters.h | 4 +-
libguile/async.h | 13 +++---
libguile/backtrace.h | 7 ++-
libguile/boolean.h | 4 +-
libguile/chars.h | 4 +-
libguile/continuations.h | 17 ++++----
libguile/coop-pthreads.h | 4 +-
libguile/debug-malloc.h | 6 +-
libguile/debug.h | 6 +-
libguile/deprecation.h | 4 +-
libguile/dynl.h | 4 +-
libguile/dynwind.h | 8 ++--
libguile/environments.h | 6 +-
libguile/eq.h | 4 +-
libguile/error.h | 4 +-
libguile/eval.h | 18 ++++----
libguile/evalext.h | 4 +-
libguile/extensions.h | 4 +-
libguile/feature.h | 4 +-
libguile/filesys.h | 4 +-
libguile/fluids.h | 8 ++--
libguile/fports.h | 10 ++--
libguile/futures.h | 4 +-
libguile/gc.h | 10 ++--
libguile/gdbint.h | 4 +-
libguile/gettext.h | 6 +-
libguile/goops.h | 9 ++--
libguile/gsubr.h | 4 +-
libguile/guardians.h | 10 ++--
libguile/hash.h | 4 +-
libguile/hashtab.h | 11 +++--
libguile/hooks.h | 4 +-
libguile/i18n.h | 2 +-
libguile/init.h | 6 +-
libguile/ioext.h | 4 +-
libguile/keywords.h | 4 +-
libguile/lang.h | 4 +-
libguile/list.h | 6 +-
libguile/load.h | 6 +-
libguile/macros.h | 6 +-
libguile/mallocs.h | 4 +-
libguile/modules.h | 6 +-
libguile/net_db.h | 4 +-
libguile/numbers.h | 32 ++++++++--------
libguile/objects.h | 10 ++--
libguile/objprop.h | 4 +-
libguile/options.h | 4 +-
libguile/pairs.h | 2 +-
libguile/ports.h | 14 +++---
libguile/posix.h | 6 +-
libguile/print.h | 6 +-
libguile/private-gc.h | 78 ++++++++++++++++++++++-----------------
libguile/procprop.h | 6 +-
libguile/procs.h | 6 +-
libguile/properties.h | 4 +-
libguile/ramap.h | 4 +-
libguile/random.h | 10 ++--
libguile/rdelim.h | 4 +-
libguile/read.h | 8 ++--
libguile/regex-posix.h | 4 +-
libguile/root.h | 4 +-
libguile/rw.h | 6 +-
libguile/scmsigs.h | 10 ++--
libguile/script.h | 4 +-
libguile/simpos.h | 4 +-
libguile/socket.h | 4 +-
libguile/sort.h | 4 +-
libguile/srcprop.h | 4 +-
libguile/srfi-13.h | 6 +-
libguile/srfi-14.h | 6 +-
libguile/srfi-4.h | 12 +++---
libguile/stackchk.h | 4 +-
libguile/stacks.h | 4 +-
libguile/stime.h | 4 +-
libguile/strings.h | 60 +++++++++++++++---------------
libguile/strorder.h | 4 +-
libguile/strports.h | 4 +-
libguile/struct.h | 8 ++--
libguile/symbols.h | 8 ++--
libguile/threads.h | 24 ++++++------
libguile/throw.h | 4 +-
libguile/unif.h | 10 ++--
libguile/values.h | 4 +-
libguile/variable.h | 6 +-
libguile/vectors.h | 10 ++--
libguile/version.h.in | 4 +-
libguile/vports.h | 4 +-
libguile/weaks.h | 14 +++---
test-suite/standalone/test-gh.c | 2 +-
91 files changed, 373 insertions(+), 349 deletions(-)
diff --git a/libguile/__scm.h b/libguile/__scm.h
index b198f9d..76b4448 100644
--- a/libguile/__scm.h
+++ b/libguile/__scm.h
@@ -97,6 +97,15 @@
#define SCM_LIKELY(_expr) SCM_EXPECT ((_expr), 1)
#define SCM_UNLIKELY(_expr) SCM_EXPECT ((_expr), 0)
+/* The SCM_INTERNAL macro makes it possible to explicitly declare a function
+ * as having "internal" linkage. */
+#if (defined __GNUC__) && \
+ ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ == 3))
+# define SCM_INTERNAL __attribute__ ((__visibility__ ("internal")))
+#else
+# define SCM_INTERNAL
+#endif
+
\f
/* {Supported Options}
diff --git a/libguile/alist.h b/libguile/alist.h
index 3d1784c..76cccba 100644
--- a/libguile/alist.h
+++ b/libguile/alist.h
@@ -3,7 +3,7 @@
#ifndef SCM_ALIST_H
#define SCM_ALIST_H
-/* Copyright (C) 1995,1996,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000, 2006, 2008 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
@@ -42,7 +42,7 @@ SCM_API SCM scm_assoc_set_x (SCM alist, SCM key, SCM val);
SCM_API SCM scm_assq_remove_x (SCM alist, SCM key);
SCM_API SCM scm_assv_remove_x (SCM alist, SCM key);
SCM_API SCM scm_assoc_remove_x (SCM alist, SCM key);
-SCM_API void scm_init_alist (void);
+SCM_INTERNAL void scm_init_alist (void);
#endif /* SCM_ALIST_H */
diff --git a/libguile/arbiters.h b/libguile/arbiters.h
index d042449..7a7dfd3 100644
--- a/libguile/arbiters.h
+++ b/libguile/arbiters.h
@@ -3,7 +3,7 @@
#ifndef SCM_ARBITERS_H
#define SCM_ARBITERS_H
-/* Copyright (C) 1995,1996,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000, 2006, 2008 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
@@ -29,7 +29,7 @@
SCM_API SCM scm_make_arbiter (SCM name);
SCM_API SCM scm_try_arbiter (SCM arb);
SCM_API SCM scm_release_arbiter (SCM arb);
-SCM_API void scm_init_arbiters (void);
+SCM_INTERNAL void scm_init_arbiters (void);
#endif /* SCM_ARBITERS_H */
diff --git a/libguile/async.h b/libguile/async.h
index a81a98d..c01bde0 100644
--- a/libguile/async.h
+++ b/libguile/async.h
@@ -3,7 +3,7 @@
#ifndef SCM_ASYNC_H
#define SCM_ASYNC_H
-/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002, 2004, 2005, 2006, 2008 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
@@ -38,10 +38,11 @@ SCM_API SCM scm_async (SCM thunk);
SCM_API SCM scm_async_mark (SCM a);
SCM_API SCM scm_system_async_mark (SCM a);
SCM_API SCM scm_system_async_mark_for_thread (SCM a, SCM thread);
-SCM_API void scm_i_queue_async_cell (SCM cell, scm_i_thread *);
-SCM_API int scm_i_setup_sleep (scm_i_thread *,
- SCM obj, scm_i_pthread_mutex_t *m, int fd);
-SCM_API void scm_i_reset_sleep (scm_i_thread *);
+SCM_INTERNAL void scm_i_queue_async_cell (SCM cell, scm_i_thread *);
+SCM_INTERNAL int scm_i_setup_sleep (scm_i_thread *,
+ SCM obj, scm_i_pthread_mutex_t *m,
+ int fd);
+SCM_INTERNAL void scm_i_reset_sleep (scm_i_thread *);
SCM_API SCM scm_run_asyncs (SCM list_of_a);
SCM_API SCM scm_noop (SCM args);
SCM_API SCM scm_call_with_blocked_asyncs (SCM proc);
@@ -77,7 +78,7 @@ extern int scm_i_critical_section_level;
scm_async_click (); \
} while (0)
-SCM_API void scm_init_async (void);
+SCM_INTERNAL void scm_init_async (void);
#if (SCM_ENABLE_DEPRECATED == 1)
diff --git a/libguile/backtrace.h b/libguile/backtrace.h
index b4033de..e11cb85 100644
--- a/libguile/backtrace.h
+++ b/libguile/backtrace.h
@@ -3,7 +3,7 @@
#ifndef SCM_BACKTRACE_H
#define SCM_BACKTRACE_H
-/* Copyright (C) 1996,1998,1999,2000,2001, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1998,1999,2000,2001, 2004, 2006, 2008 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
@@ -27,7 +27,8 @@
SCM_API SCM scm_the_last_stack_fluid_var;
SCM_API void scm_display_error_message (SCM message, SCM args, SCM port);
-SCM_API void scm_i_display_error (SCM stack, SCM port, SCM subr, SCM message, SCM args, SCM rest);
+SCM_INTERNAL void scm_i_display_error (SCM stack, SCM port, SCM subr,
+ SCM message, SCM args, SCM rest);
SCM_API SCM scm_display_error (SCM stack, SCM port, SCM subr, SCM message, SCM args, SCM rest);
SCM_API SCM scm_display_application (SCM frame, SCM port, SCM indent);
SCM_API SCM scm_display_backtrace (SCM stack, SCM port, SCM first, SCM depth);
@@ -38,7 +39,7 @@ SCM_API SCM scm_backtrace_with_highlights (SCM highlights);
SCM_API SCM scm_set_print_params_x (SCM params);
#endif
-SCM_API void scm_init_backtrace (void);
+SCM_INTERNAL void scm_init_backtrace (void);
#endif /* SCM_BACKTRACE_H */
diff --git a/libguile/boolean.h b/libguile/boolean.h
index 3dc82e1..1388c2f 100644
--- a/libguile/boolean.h
+++ b/libguile/boolean.h
@@ -3,7 +3,7 @@
#ifndef SCM_BOOLEAN_H
#define SCM_BOOLEAN_H
-/* Copyright (C) 1995,1996,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000, 2006, 2008 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
@@ -43,7 +43,7 @@ SCM_API int scm_to_bool (SCM x);
SCM_API SCM scm_not (SCM x);
SCM_API SCM scm_boolean_p (SCM obj);
-SCM_API void scm_init_boolean (void);
+SCM_INTERNAL void scm_init_boolean (void);
#endif /* SCM_BOOLEAN_H */
diff --git a/libguile/chars.h b/libguile/chars.h
index 1a139e9..97c611a 100644
--- a/libguile/chars.h
+++ b/libguile/chars.h
@@ -3,7 +3,7 @@
#ifndef SCM_CHARS_H
#define SCM_CHARS_H
-/* Copyright (C) 1995,1996,2000,2001,2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000,2001,2004, 2006, 2008 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
@@ -62,7 +62,7 @@ SCM_API SCM scm_char_upcase (SCM chr);
SCM_API SCM scm_char_downcase (SCM chr);
SCM_API int scm_c_upcase (unsigned int c);
SCM_API int scm_c_downcase (unsigned int c);
-SCM_API void scm_init_chars (void);
+SCM_INTERNAL void scm_init_chars (void);
#endif /* SCM_CHARS_H */
diff --git a/libguile/continuations.h b/libguile/continuations.h
index f6fb96a..1a648dd 100644
--- a/libguile/continuations.h
+++ b/libguile/continuations.h
@@ -3,7 +3,7 @@
#ifndef SCM_CONTINUATIONS_H
#define SCM_CONTINUATIONS_H
-/* Copyright (C) 1995,1996,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000,2001, 2006, 2008 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
@@ -90,14 +90,15 @@ SCM_API SCM scm_make_continuation (int *first);
SCM_API void *scm_c_with_continuation_barrier (void *(*func)(void*), void *);
SCM_API SCM scm_with_continuation_barrier (SCM proc);
-SCM_API SCM scm_i_with_continuation_barrier (scm_t_catch_body body,
- void *body_data,
- scm_t_catch_handler handler,
- void *handler_data,
- scm_t_catch_handler pre_unwind_handler,
- void *pre_unwind_handler_data);
+SCM_INTERNAL SCM
+scm_i_with_continuation_barrier (scm_t_catch_body body,
+ void *body_data,
+ scm_t_catch_handler handler,
+ void *handler_data,
+ scm_t_catch_handler pre_unwind_handler,
+ void *pre_unwind_handler_data);
-SCM_API void scm_init_continuations (void);
+SCM_INTERNAL void scm_init_continuations (void);
#endif /* SCM_CONTINUATIONS_H */
diff --git a/libguile/coop-pthreads.h b/libguile/coop-pthreads.h
index 9134874..cc1f75a 100644
--- a/libguile/coop-pthreads.h
+++ b/libguile/coop-pthreads.h
@@ -3,7 +3,7 @@
#ifndef SCM_COOP_PTHREADS_H
#define SCM_COOP_PTHREADS_H
-/* Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2006, 2008 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
@@ -70,7 +70,7 @@ SCM_API int scm_i_switch_counter;
#define SCM_SET_THREAD_LOCAL_DATA(ptr) (scm_i_copt_set_thread_data (ptr))
SCM_API void *scm_i_copt_thread_data;
-SCM_API void scm_i_copt_set_thread_data (void *data);
+SCM_INTERNAL void scm_i_copt_set_thread_data (void *data);
#endif /* SCM_COOP_PTHREAD_H */
diff --git a/libguile/debug-malloc.h b/libguile/debug-malloc.h
index 444f06d..1aa5221 100644
--- a/libguile/debug-malloc.h
+++ b/libguile/debug-malloc.h
@@ -3,7 +3,7 @@
#ifndef SCM_DEBUG_MALLOC_H
#define SCM_DEBUG_MALLOC_H
-/* Copyright (C) 2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2000,2001, 2006, 2008 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
@@ -32,8 +32,8 @@ SCM_API void scm_malloc_reregister (void *obj, void *new, const char *what);
SCM_API SCM scm_malloc_stats (void);
-SCM_API void scm_debug_malloc_prehistory (void);
-SCM_API void scm_init_debug_malloc (void);
+SCM_INTERNAL void scm_debug_malloc_prehistory (void);
+SCM_INTERNAL void scm_init_debug_malloc (void);
#endif /* SCM_DEBUG_MALLOC_H */
diff --git a/libguile/debug.h b/libguile/debug.h
index 79afa4d..6077162 100644
--- a/libguile/debug.h
+++ b/libguile/debug.h
@@ -3,7 +3,7 @@
#ifndef SCM_DEBUG_H
#define SCM_DEBUG_H
-/* Copyright (C) 1995,1996,1998,1999,2000,2001,2002,2004
+/* Copyright (C) 1995,1996,1998,1999,2000,2001,2002,2004,2008
* Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
@@ -150,8 +150,8 @@ SCM_API SCM scm_evaluator_traps (SCM setting);
SCM_API SCM scm_debug_options (SCM setting);
SCM_API SCM scm_make_debugobj (scm_t_debug_frame *debug);
-SCM_API SCM scm_i_unmemoize_expr (SCM memoized);
-SCM_API void scm_init_debug (void);
+SCM_INTERNAL SCM scm_i_unmemoize_expr (SCM memoized);
+SCM_INTERNAL void scm_init_debug (void);
#ifdef GUILE_DEBUG
SCM_API SCM scm_memcons (SCM car, SCM cdr, SCM env);
diff --git a/libguile/deprecation.h b/libguile/deprecation.h
index 53500ee..7885327 100644
--- a/libguile/deprecation.h
+++ b/libguile/deprecation.h
@@ -3,7 +3,7 @@
#ifndef SCM_DEPRECATION_H
#define SCM_DEPRECATION_H
-/* Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2006, 2008 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
@@ -41,7 +41,7 @@ SCM_API SCM scm_issue_deprecation_warning (SCM msgs);
#endif
SCM_API SCM scm_include_deprecated_features (void);
-SCM_API void scm_init_deprecation (void);
+SCM_INTERNAL void scm_init_deprecation (void);
#endif /* SCM_DEPRECATION_H */
diff --git a/libguile/dynl.h b/libguile/dynl.h
index 6936afd..72dc92e 100644
--- a/libguile/dynl.h
+++ b/libguile/dynl.h
@@ -3,7 +3,7 @@
#ifndef SCM_DYNL_H
#define SCM_DYNL_H
-/* Copyright (C) 1996,1998,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1998,2000,2001, 2006, 2008 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
@@ -33,7 +33,7 @@ SCM_API SCM scm_dynamic_func (SCM symb, SCM dobj);
SCM_API SCM scm_dynamic_call (SCM symb, SCM dobj);
SCM_API SCM scm_dynamic_args_call (SCM symb, SCM dobj, SCM args);
-SCM_API void scm_init_dynamic_linking (void);
+SCM_INTERNAL void scm_init_dynamic_linking (void);
#endif /* SCM_DYNL_H */
diff --git a/libguile/dynwind.h b/libguile/dynwind.h
index 9e5390b..dd39dae 100644
--- a/libguile/dynwind.h
+++ b/libguile/dynwind.h
@@ -3,7 +3,7 @@
#ifndef SCM_DYNWIND_H
#define SCM_DYNWIND_H
-/* Copyright (C) 1995,1996,1998,1999,2000,2003,2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,1999,2000,2003,2004, 2006, 2008 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
@@ -36,9 +36,9 @@ SCM_API SCM scm_internal_dynamic_wind (scm_t_guard before,
void *inner_data,
void *guard_data);
SCM_API void scm_dowinds (SCM to, long delta);
-SCM_API void scm_i_dowinds (SCM to, long delta,
- void (*turn_func) (void *), void *data);
-SCM_API void scm_init_dynwind (void);
+SCM_INTERNAL void scm_i_dowinds (SCM to, long delta,
+ void (*turn_func) (void *), void *data);
+SCM_INTERNAL void scm_init_dynwind (void);
SCM_API void scm_swap_bindings (SCM vars, SCM vals);
diff --git a/libguile/environments.h b/libguile/environments.h
index dd698b7..10d42a7 100644
--- a/libguile/environments.h
+++ b/libguile/environments.h
@@ -3,7 +3,7 @@
#ifndef SCM_ENVIRONMENTS_H
#define SCM_ENVIRONMENTS_H
-/* Copyright (C) 1999,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1999,2000, 2006, 2008 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
@@ -122,8 +122,8 @@ SCM_API SCM scm_environment_observe_weak (SCM env, SCM proc);
SCM_API SCM scm_c_environment_observe (SCM env, scm_environment_observer proc, SCM data, int weak_p);
SCM_API SCM scm_environment_unobserve (SCM token);
-SCM_API void scm_environments_prehistory (void);
-SCM_API void scm_init_environments (void);
+SCM_INTERNAL void scm_environments_prehistory (void);
+SCM_INTERNAL void scm_init_environments (void);
\f
diff --git a/libguile/eq.h b/libguile/eq.h
index da5a71c..af6959f 100644
--- a/libguile/eq.h
+++ b/libguile/eq.h
@@ -3,7 +3,7 @@
#ifndef SCM_EQ_H
#define SCM_EQ_H
-/* Copyright (C) 1995,1996,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000, 2006, 2008 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
@@ -29,7 +29,7 @@
SCM_API SCM scm_eq_p (SCM x, SCM y);
SCM_API SCM scm_eqv_p (SCM x, SCM y);
SCM_API SCM scm_equal_p (SCM x, SCM y);
-SCM_API void scm_init_eq (void);
+SCM_INTERNAL void scm_init_eq (void);
#endif /* SCM_EQ_H */
diff --git a/libguile/error.h b/libguile/error.h
index 7ba0c4b..042fb4d 100644
--- a/libguile/error.h
+++ b/libguile/error.h
@@ -3,7 +3,7 @@
#ifndef SCM_ERROR_H
#define SCM_ERROR_H
-/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002, 2006, 2008 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
@@ -57,7 +57,7 @@ SCM_API void scm_wrong_type_arg_msg (const char *subr, int pos,
SCM_API void scm_memory_error (const char *subr) SCM_NORETURN;
SCM_API void scm_misc_error (const char *subr, const char *message,
SCM args) SCM_NORETURN;
-SCM_API void scm_init_error (void);
+SCM_INTERNAL void scm_init_error (void);
#endif /* SCM_ERROR_H */
diff --git a/libguile/eval.h b/libguile/eval.h
index 247cf16..bf6279b 100644
--- a/libguile/eval.h
+++ b/libguile/eval.h
@@ -3,7 +3,7 @@
#ifndef SCM_EVAL_H
#define SCM_EVAL_H
-/* Copyright (C) 1995,1996,1998,1999,2000,2001,2002,2003,2004
+/* Copyright (C) 1995,1996,1998,1999,2000,2001,2002,2003,2004,2008
* Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
@@ -152,7 +152,7 @@ SCM_API SCM scm_apply_0 (SCM proc, SCM args);
SCM_API SCM scm_apply_1 (SCM proc, SCM arg1, SCM args);
SCM_API SCM scm_apply_2 (SCM proc, SCM arg1, SCM arg2, SCM args);
SCM_API SCM scm_apply_3 (SCM proc, SCM arg1, SCM arg2, SCM arg3, SCM args);
-SCM_API SCM scm_i_call_closure_0 (SCM proc);
+SCM_INTERNAL SCM scm_i_call_closure_0 (SCM proc);
SCM_API scm_t_trampoline_0 scm_trampoline_0 (SCM proc);
SCM_API scm_t_trampoline_1 scm_trampoline_1 (SCM proc);
SCM_API scm_t_trampoline_2 scm_trampoline_2 (SCM proc);
@@ -167,18 +167,18 @@ SCM_API SCM scm_force (SCM x);
SCM_API SCM scm_promise_p (SCM x);
SCM_API SCM scm_cons_source (SCM xorig, SCM x, SCM y);
SCM_API SCM scm_copy_tree (SCM obj);
-SCM_API SCM scm_i_eval_x (SCM exp, SCM env);
-SCM_API SCM scm_i_eval (SCM exp, SCM env);
+SCM_API SCM scm_i_eval_x (SCM exp, SCM env) /* not internal */;
+SCM_INTERNAL SCM scm_i_eval (SCM exp, SCM env);
SCM_API SCM scm_primitive_eval (SCM exp);
SCM_API SCM scm_primitive_eval_x (SCM exp);
SCM_API SCM scm_eval (SCM exp, SCM module);
SCM_API SCM scm_eval_x (SCM exp, SCM module);
-SCM_API void scm_i_print_iloc (SCM /*iloc*/, SCM /*port*/);
-SCM_API void scm_i_print_isym (SCM /*isym*/, SCM /*port*/);
-SCM_API SCM scm_i_unmemocopy_expr (SCM expr, SCM env);
-SCM_API SCM scm_i_unmemocopy_body (SCM forms, SCM env);
-SCM_API void scm_init_eval (void);
+SCM_INTERNAL void scm_i_print_iloc (SCM /*iloc*/, SCM /*port*/);
+SCM_INTERNAL void scm_i_print_isym (SCM /*isym*/, SCM /*port*/);
+SCM_INTERNAL SCM scm_i_unmemocopy_expr (SCM expr, SCM env);
+SCM_INTERNAL SCM scm_i_unmemocopy_body (SCM forms, SCM env);
+SCM_INTERNAL void scm_init_eval (void);
#if (SCM_ENABLE_DEPRECATED == 1)
diff --git a/libguile/evalext.h b/libguile/evalext.h
index e9b442e..a6a4a9f 100644
--- a/libguile/evalext.h
+++ b/libguile/evalext.h
@@ -3,7 +3,7 @@
#ifndef SCM_EVALEXT_H
#define SCM_EVALEXT_H
-/* Copyright (C) 1998,1999,2000, 2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1998,1999,2000, 2003, 2006, 2008 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
@@ -28,7 +28,7 @@
SCM_API SCM scm_defined_p (SCM sym, SCM env);
SCM_API SCM scm_self_evaluating_p (SCM obj);
-SCM_API void scm_init_evalext (void);
+SCM_INTERNAL void scm_init_evalext (void);
#if (SCM_ENABLE_DEPRECATED == 1)
diff --git a/libguile/extensions.h b/libguile/extensions.h
index 294dcad..596b43a 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 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2006, 2008 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
@@ -32,7 +32,7 @@ SCM_API void scm_c_register_extension (const char *lib, const char *init,
SCM_API void scm_c_load_extension (const char *lib, const char *init);
SCM_API SCM scm_load_extension (SCM lib, SCM init);
-SCM_API void scm_init_extensions (void);
+SCM_INTERNAL void scm_init_extensions (void);
#endif /* SCM_EXTENSIONS_H */
diff --git a/libguile/feature.h b/libguile/feature.h
index 9c61f8c..8c6371e 100644
--- a/libguile/feature.h
+++ b/libguile/feature.h
@@ -3,7 +3,7 @@
#ifndef SCM_FEATURE_H
#define SCM_FEATURE_H
-/* Copyright (C) 1995,1996,1999,2000,2001, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1999,2000,2001, 2006, 2007, 2008 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
@@ -28,7 +28,7 @@ SCM_API void scm_add_feature (const char* str);
SCM_API SCM scm_program_arguments (void);
SCM_API void scm_set_program_arguments (int argc, char **argv, char *first);
SCM_API SCM scm_set_program_arguments_scm (SCM lst);
-SCM_API void scm_init_feature (void);
+SCM_INTERNAL void scm_init_feature (void);
#endif /* SCM_FEATURE_H */
diff --git a/libguile/filesys.h b/libguile/filesys.h
index 6534da9..a38a5b5 100644
--- a/libguile/filesys.h
+++ b/libguile/filesys.h
@@ -3,7 +3,7 @@
#ifndef SCM_FILESYS_H
#define SCM_FILESYS_H
-/* Copyright (C) 1995,1997,1998,1999,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1997,1998,1999,2000,2001, 2006, 2008 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
@@ -65,7 +65,7 @@ SCM_API SCM scm_copy_file (SCM oldfile, SCM newfile);
SCM_API SCM scm_dirname (SCM filename);
SCM_API SCM scm_basename (SCM filename, SCM suffix);
-SCM_API void scm_init_filesys (void);
+SCM_INTERNAL void scm_init_filesys (void);
#endif /* SCM_FILESYS_H */
diff --git a/libguile/fluids.h b/libguile/fluids.h
index cabce46..c48a8c3 100644
--- a/libguile/fluids.h
+++ b/libguile/fluids.h
@@ -3,7 +3,7 @@
#ifndef SCM_FLUIDS_H
#define SCM_FLUIDS_H
-/* Copyright (C) 1996,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996,2000,2001, 2006, 2008 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
@@ -82,10 +82,10 @@ SCM_API void *scm_c_with_dynamic_state (SCM state,
void *(*func)(void *), void *data);
SCM_API SCM scm_with_dynamic_state (SCM state, SCM proc);
-SCM_API SCM scm_i_make_initial_dynamic_state (void);
+SCM_INTERNAL SCM scm_i_make_initial_dynamic_state (void);
-SCM_API void scm_fluids_prehistory (void);
-SCM_API void scm_init_fluids (void);
+SCM_INTERNAL void scm_fluids_prehistory (void);
+SCM_INTERNAL void scm_init_fluids (void);
#endif /* SCM_FLUIDS_H */
diff --git a/libguile/fports.h b/libguile/fports.h
index 6341067..c737b1e 100644
--- a/libguile/fports.h
+++ b/libguile/fports.h
@@ -3,7 +3,7 @@
#ifndef SCM_FPORTS_H
#define SCM_FPORTS_H
-/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2006, 2008 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
@@ -53,13 +53,13 @@ SCM_API void scm_evict_ports (int fd);
SCM_API SCM scm_open_file (SCM filename, SCM modes);
SCM_API SCM scm_fdes_to_port (int fdes, char *mode, SCM name);
SCM_API SCM scm_file_port_p (SCM obj);
-SCM_API void scm_init_fports (void);
+SCM_INTERNAL void scm_init_fports (void);
/* internal functions */
-SCM_API SCM scm_i_fdes_to_port (int fdes, long mode_bits, SCM name);
-SCM_API int scm_i_fport_truncate (SCM, SCM);
-SCM_API SCM scm_i_fport_seek (SCM, SCM, int);
+SCM_INTERNAL SCM scm_i_fdes_to_port (int fdes, long mode_bits, SCM name);
+SCM_INTERNAL int scm_i_fport_truncate (SCM, SCM);
+SCM_INTERNAL SCM scm_i_fport_seek (SCM, SCM, int);
#endif /* SCM_FPORTS_H */
diff --git a/libguile/futures.h b/libguile/futures.h
index dffb38d..95916f3 100644
--- a/libguile/futures.h
+++ b/libguile/futures.h
@@ -3,7 +3,7 @@
#ifndef SCM_FUTURES_H
#define SCM_FUTURES_H
-/* Copyright (C) 2002, 2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2006, 2008 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
@@ -73,7 +73,7 @@ SCM_API scm_t_bits scm_tc16_future;
extern SCM *scm_loc_sys_thread_handler;
-SCM_API SCM scm_i_make_future (SCM thunk);
+SCM_INTERNAL SCM scm_i_make_future (SCM thunk);
SCM_API SCM scm_make_future (SCM thunk);
SCM_API SCM scm_future_ref (SCM future);
diff --git a/libguile/gc.h b/libguile/gc.h
index d3c9959..05412bc 100644
--- a/libguile/gc.h
+++ b/libguile/gc.h
@@ -3,7 +3,7 @@
#ifndef SCM_GC_H
#define SCM_GC_H
-/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2002, 2003, 2004, 2006, 2008 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
@@ -241,10 +241,10 @@ SCM_API int scm_debug_cells_gc_interval ;
void scm_i_expensive_validation_check (SCM cell);
#endif
-SCM_API scm_i_pthread_mutex_t scm_i_gc_admin_mutex;
+SCM_INTERNAL scm_i_pthread_mutex_t scm_i_gc_admin_mutex;
#define scm_gc_running_p (SCM_I_CURRENT_THREAD->gc_running_p)
-SCM_API scm_i_pthread_mutex_t scm_i_sweep_mutex;
+SCM_INTERNAL scm_i_pthread_mutex_t scm_i_sweep_mutex;
#ifdef __ia64__
void *scm_ia64_register_backing_store_base (void);
@@ -320,7 +320,7 @@ SCM_API SCM scm_gc_live_object_stats (void);
SCM_API SCM scm_gc (void);
SCM_API void scm_gc_for_alloc (struct scm_t_cell_type_statistics *freelist);
SCM_API SCM scm_gc_for_newcell (struct scm_t_cell_type_statistics *master, SCM *freelist);
-SCM_API void scm_i_gc (const char *what);
+SCM_INTERNAL void scm_i_gc (const char *what);
SCM_API void scm_gc_mark (SCM p);
SCM_API void scm_gc_mark_dependencies (SCM p);
SCM_API void scm_mark_locations (SCM_STACKITEM x[], unsigned long n);
@@ -384,7 +384,7 @@ SCM_API void scm_gc_unregister_roots (SCM *b, unsigned long n);
SCM_API void scm_storage_prehistory (void);
SCM_API int scm_init_storage (void);
SCM_API void *scm_get_stack_base (void);
-SCM_API void scm_init_gc (void);
+SCM_INTERNAL void scm_init_gc (void);
#if SCM_ENABLE_DEPRECATED == 1
diff --git a/libguile/gdbint.h b/libguile/gdbint.h
index d6511f7..64b9559 100644
--- a/libguile/gdbint.h
+++ b/libguile/gdbint.h
@@ -3,7 +3,7 @@
#ifndef SCM_GDBINT_H
#define SCM_GDBINT_H
-/* Copyright (C) 1996,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996,2000, 2006, 2008 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
@@ -28,7 +28,7 @@
SCM_API int scm_print_carefully_p;
-SCM_API void scm_init_gdbint (void);
+SCM_INTERNAL void scm_init_gdbint (void);
#endif /* SCM_GDBINT_H */
diff --git a/libguile/gettext.h b/libguile/gettext.h
index 4d91358..8a13307 100644
--- a/libguile/gettext.h
+++ b/libguile/gettext.h
@@ -3,7 +3,7 @@
#ifndef SCM_GETTEXT_H
#define SCM_GETTEXT_H
-/* Copyright (C) 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2006, 2008 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
@@ -28,9 +28,9 @@ SCM_API SCM scm_textdomain (SCM domainname);
SCM_API SCM scm_bindtextdomain (SCM domainname, SCM directory);
SCM_API SCM scm_bind_textdomain_codeset (SCM domainname, SCM encoding);
-SCM_API int scm_i_to_lc_category (SCM category, int allow_lc_all);
+SCM_INTERNAL int scm_i_to_lc_category (SCM category, int allow_lc_all);
-SCM_API void scm_init_gettext (void);
+SCM_INTERNAL void scm_init_gettext (void);
#endif /* SCM_GETTEXT_H */
diff --git a/libguile/goops.h b/libguile/goops.h
index 3fc8788..80ba985 100644
--- a/libguile/goops.h
+++ b/libguile/goops.h
@@ -3,7 +3,7 @@
#ifndef SCM_GOOPS_H
#define SCM_GOOPS_H
-/* Copyright (C) 1998,1999,2000,2001,2002,2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1998,1999,2000,2001,2002,2003, 2006, 2008 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
@@ -254,7 +254,8 @@ SCM_API SCM scm_pure_generic_p (SCM obj);
#endif
SCM_API SCM scm_sys_compute_slots (SCM c);
-SCM_API SCM scm_i_get_keyword (SCM key, SCM l, long len, SCM default_value, const char *subr);
+SCM_INTERNAL SCM scm_i_get_keyword (SCM key, SCM l, long len,
+ SCM default_value, const char *subr);
SCM_API SCM scm_get_keyword (SCM key, SCM l, SCM default_value);
SCM_API SCM scm_sys_initialize_object (SCM obj, SCM initargs);
SCM_API SCM scm_sys_prep_layout_x (SCM c);
@@ -297,8 +298,8 @@ SCM_API SCM scm_make (SCM args);
SCM_API SCM scm_find_method (SCM args);
SCM_API SCM scm_sys_method_more_specific_p (SCM m1, SCM m2, SCM targs);
-SCM_API SCM scm_init_goops_builtins (void);
-SCM_API void scm_init_goops (void);
+SCM_INTERNAL SCM scm_init_goops_builtins (void);
+SCM_INTERNAL void scm_init_goops (void);
#if (SCM_ENABLE_DEPRECATED == 1)
diff --git a/libguile/gsubr.h b/libguile/gsubr.h
index e748805..4185649 100644
--- a/libguile/gsubr.h
+++ b/libguile/gsubr.h
@@ -3,7 +3,7 @@
#ifndef SCM_GSUBR_H
#define SCM_GSUBR_H
-/* Copyright (C) 1995,1996,1998,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,2000,2001, 2006, 2008 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
@@ -51,7 +51,7 @@ SCM_API SCM scm_c_define_gsubr_with_generic (const char *name,
SCM (*fcn) (), SCM *gf);
SCM_API SCM scm_gsubr_apply (SCM args);
-SCM_API void scm_init_gsubr (void);
+SCM_INTERNAL void scm_init_gsubr (void);
#endif /* SCM_GSUBR_H */
diff --git a/libguile/guardians.h b/libguile/guardians.h
index 735f960..295092e 100644
--- a/libguile/guardians.h
+++ b/libguile/guardians.h
@@ -3,7 +3,7 @@
#ifndef SCM_GUARDIANS_H
#define SCM_GUARDIANS_H
-/* Copyright (C) 1998,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1998,2000,2001, 2006, 2008 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
@@ -26,11 +26,11 @@
SCM_API SCM scm_make_guardian (void);
-SCM_API void scm_i_init_guardians_for_gc (void);
-SCM_API void scm_i_identify_inaccessible_guardeds (void);
-SCM_API int scm_i_mark_inaccessible_guardeds (void);
+SCM_INTERNAL void scm_i_init_guardians_for_gc (void);
+SCM_INTERNAL void scm_i_identify_inaccessible_guardeds (void);
+SCM_INTERNAL int scm_i_mark_inaccessible_guardeds (void);
-SCM_API void scm_init_guardians (void);
+SCM_INTERNAL void scm_init_guardians (void);
#endif /* SCM_GUARDIANS_H */
diff --git a/libguile/hash.h b/libguile/hash.h
index a2d00c2..bbf9b25 100644
--- a/libguile/hash.h
+++ b/libguile/hash.h
@@ -3,7 +3,7 @@
#ifndef SCM_HASH_H
#define SCM_HASH_H
-/* Copyright (C) 1995,1996,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000, 2006, 2008 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
@@ -34,7 +34,7 @@ SCM_API unsigned long scm_ihashv (SCM obj, unsigned long n);
SCM_API SCM scm_hashv (SCM obj, SCM n);
SCM_API unsigned long scm_ihash (SCM obj, unsigned long n);
SCM_API SCM scm_hash (SCM obj, SCM n);
-SCM_API void scm_init_hash (void);
+SCM_INTERNAL void scm_init_hash (void);
#endif /* SCM_HASH_H */
diff --git a/libguile/hashtab.h b/libguile/hashtab.h
index 1017354..4220b86 100644
--- a/libguile/hashtab.h
+++ b/libguile/hashtab.h
@@ -3,7 +3,7 @@
#ifndef SCM_HASHTAB_H
#define SCM_HASHTAB_H
-/* Copyright (C) 1995,1996,1999,2000,2001, 2003, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1999,2000,2001, 2003, 2004, 2006, 2008 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
@@ -96,8 +96,9 @@ SCM_API SCM scm_weak_key_hash_table_p (SCM h);
SCM_API SCM scm_weak_value_hash_table_p (SCM h);
SCM_API SCM scm_doubly_weak_hash_table_p (SCM h);
-SCM_API void scm_i_rehash (SCM table, unsigned long (*hash_fn)(), void *closure, const char*func_name);
-SCM_API void scm_i_scan_weak_hashtables (void);
+SCM_INTERNAL void scm_i_rehash (SCM table, unsigned long (*hash_fn)(),
+ void *closure, const char *func_name);
+SCM_INTERNAL void scm_i_scan_weak_hashtables (void);
SCM_API SCM scm_hash_fn_get_handle (SCM table, SCM obj, unsigned long (*hash_fn) (), SCM (*assoc_fn) (), void * closure);
SCM_API SCM scm_hash_fn_create_handle_x (SCM table, SCM obj, SCM init, unsigned long (*hash_fn) (), SCM (*assoc_fn) (), void * closure);
@@ -132,8 +133,8 @@ SCM_API SCM scm_hash_fold (SCM proc, SCM init, SCM hash);
SCM_API SCM scm_hash_for_each (SCM proc, SCM hash);
SCM_API SCM scm_hash_for_each_handle (SCM proc, SCM hash);
SCM_API SCM scm_hash_map_to_list (SCM proc, SCM hash);
-SCM_API void scm_hashtab_prehistory (void);
-SCM_API void scm_init_hashtab (void);
+SCM_INTERNAL void scm_hashtab_prehistory (void);
+SCM_INTERNAL void scm_init_hashtab (void);
#endif /* SCM_HASHTAB_H */
diff --git a/libguile/hooks.h b/libguile/hooks.h
index 69972c3..49ea553 100644
--- a/libguile/hooks.h
+++ b/libguile/hooks.h
@@ -3,7 +3,7 @@
#ifndef SCM_HOOKS_H
#define SCM_HOOKS_H
-/* Copyright (C) 1995,1996,1999,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1999,2000,2001, 2006, 2008 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
@@ -87,7 +87,7 @@ SCM_API SCM scm_reset_hook_x (SCM hook);
SCM_API SCM scm_run_hook (SCM hook, SCM args);
SCM_API void scm_c_run_hook (SCM hook, SCM args);
SCM_API SCM scm_hook_to_list (SCM hook);
-SCM_API void scm_init_hooks (void);
+SCM_INTERNAL void scm_init_hooks (void);
#endif /* SCM_HOOKS_H */
diff --git a/libguile/i18n.h b/libguile/i18n.h
index 17dc240..57f1654 100644
--- a/libguile/i18n.h
+++ b/libguile/i18n.h
@@ -3,7 +3,7 @@
#ifndef SCM_I18N_H
#define SCM_I18N_H
-/* Copyright (C) 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2006, 2008 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
diff --git a/libguile/init.h b/libguile/init.h
index ec083da..3ae27d8 100644
--- a/libguile/init.h
+++ b/libguile/init.h
@@ -3,7 +3,7 @@
#ifndef SCM_INIT_H
#define SCM_INIT_H
-/* Copyright (C) 1995,1996,1997,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,2000, 2006, 2008 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
@@ -26,7 +26,7 @@
#include "libguile/threads.h"
\f
-SCM_API scm_i_pthread_mutex_t scm_i_init_mutex;
+SCM_INTERNAL scm_i_pthread_mutex_t scm_i_init_mutex;
SCM_API int scm_initialized_p;
SCM_API void scm_init_guile (void);
@@ -37,7 +37,7 @@ SCM_API void scm_boot_guile (int argc, char **argv,
char **argv),
void *closure);
-SCM_API void scm_i_init_guile (SCM_STACKITEM *base);
+SCM_INTERNAL void scm_i_init_guile (SCM_STACKITEM *base);
SCM_API void scm_load_startup_files (void);
diff --git a/libguile/ioext.h b/libguile/ioext.h
index 7ced2af..18289ea 100644
--- a/libguile/ioext.h
+++ b/libguile/ioext.h
@@ -3,7 +3,7 @@
#ifndef SCM_IOEXT_H
#define SCM_IOEXT_H
-/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2006, 2008 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
@@ -35,7 +35,7 @@ SCM_API SCM scm_isatty_p (SCM port);
SCM_API SCM scm_fdopen (SCM fdes, SCM modes);
SCM_API SCM scm_primitive_move_to_fdes (SCM port, SCM fd);
SCM_API SCM scm_fdes_to_ports (SCM fd);
-SCM_API void scm_init_ioext (void);
+SCM_INTERNAL void scm_init_ioext (void);
#endif /* SCM_IOEXT_H */
diff --git a/libguile/keywords.h b/libguile/keywords.h
index d11c0e3..a80e31b 100644
--- a/libguile/keywords.h
+++ b/libguile/keywords.h
@@ -3,7 +3,7 @@
#ifndef SCM_KEYWORDS_H
#define SCM_KEYWORDS_H
-/* Copyright (C) 1995,1996,1999,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1999,2000,2001, 2006, 2008 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
@@ -38,7 +38,7 @@ SCM_API int scm_is_keyword (SCM val);
SCM_API SCM scm_from_locale_keyword (const char *str);
SCM_API SCM scm_from_locale_keywordn (const char *str, size_t len);
-SCM_API void scm_init_keywords (void);
+SCM_INTERNAL void scm_init_keywords (void);
#endif /* SCM_KEYWORDS_H */
diff --git a/libguile/lang.h b/libguile/lang.h
index 886bb34..991e9ca 100644
--- a/libguile/lang.h
+++ b/libguile/lang.h
@@ -3,7 +3,7 @@
#ifndef SCM_LANG_H
#define SCM_LANG_H
-/* Copyright (C) 1998, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2004, 2006, 2008 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
@@ -30,7 +30,7 @@
#define SCM_NILP(x) (scm_is_eq ((x), SCM_ELISP_NIL))
-SCM_API void scm_init_lang (void);
+SCM_INTERNAL void scm_init_lang (void);
#else /* ! SCM_ENABLE_ELISP */
diff --git a/libguile/list.h b/libguile/list.h
index 749e65d..733432d 100644
--- a/libguile/list.h
+++ b/libguile/list.h
@@ -3,7 +3,7 @@
#ifndef SCM_LIST_H
#define SCM_LIST_H
-/* Copyright (C) 1995,1996,1997,2000,2001,2003,2004,2005,2006
+/* Copyright (C) 1995,1996,1997,2000,2001,2003,2004,2005,2006,2008
* Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
@@ -71,8 +71,8 @@ SCM_API SCM scm_filter_x (SCM pred, SCM list);
/* Guile internal functions */
-SCM_API SCM scm_i_finite_list_copy (SCM /* a list known to be finite */);
-SCM_API void scm_init_list (void);
+SCM_INTERNAL SCM scm_i_finite_list_copy (SCM /* a list known to be finite */);
+SCM_INTERNAL void scm_init_list (void);
#endif /* SCM_LIST_H */
diff --git a/libguile/load.h b/libguile/load.h
index 9b45d40..57cc7e8 100644
--- a/libguile/load.h
+++ b/libguile/load.h
@@ -3,7 +3,7 @@
#ifndef SCM_LOAD_H
#define SCM_LOAD_H
-/* Copyright (C) 1995,1996,1998,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,2000,2001, 2006, 2008 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
@@ -26,7 +26,6 @@
\f
SCM_API SCM scm_parse_path (SCM path, SCM tail);
-SCM_API void scm_init_load_path (void);
SCM_API SCM scm_primitive_load (SCM filename);
SCM_API SCM scm_c_primitive_load (const char *filename);
SCM_API SCM scm_sys_package_data_dir (void);
@@ -36,7 +35,8 @@ SCM_API SCM scm_search_path (SCM path, SCM filename, SCM exts);
SCM_API SCM scm_sys_search_load_path (SCM filename);
SCM_API SCM scm_primitive_load_path (SCM filename);
SCM_API SCM scm_c_primitive_load_path (const char *filename);
-SCM_API void scm_init_load (void);
+SCM_INTERNAL void scm_init_load_path (void);
+SCM_INTERNAL void scm_init_load (void);
#endif /* SCM_LOAD_H */
diff --git a/libguile/macros.h b/libguile/macros.h
index 0ad8757..e1de77f 100644
--- a/libguile/macros.h
+++ b/libguile/macros.h
@@ -3,7 +3,7 @@
#ifndef SCM_MACROS_H
#define SCM_MACROS_H
-/* Copyright (C) 1998,2000,2001,2002,2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1998,2000,2001,2002,2003, 2006, 2008 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
@@ -36,7 +36,7 @@
SCM_API scm_t_bits scm_tc16_macro;
-SCM_API SCM scm_i_makbimacro (SCM code);
+SCM_INTERNAL SCM scm_i_makbimacro (SCM code);
SCM_API SCM scm_makmmacro (SCM code);
SCM_API SCM scm_makacro (SCM code);
SCM_API SCM scm_macro_p (SCM obj);
@@ -46,7 +46,7 @@ SCM_API SCM scm_macro_transformer (SCM m);
SCM_API SCM scm_make_synt (const char *name,
SCM (*macroizer) (SCM),
SCM (*fcn) ());
-SCM_API void scm_init_macros (void);
+SCM_INTERNAL void scm_init_macros (void);
#if SCM_ENABLE_DEPRECATED == 1
SCM_API SCM scm_makmacro (SCM code);
diff --git a/libguile/mallocs.h b/libguile/mallocs.h
index cae4d1f..f711ddb 100644
--- a/libguile/mallocs.h
+++ b/libguile/mallocs.h
@@ -3,7 +3,7 @@
#ifndef SCM_MALLOCS_H
#define SCM_MALLOCS_H
-/* Copyright (C) 1995,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,2000, 2006, 2008 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
@@ -34,7 +34,7 @@ SCM_API scm_t_bits scm_tc16_malloc;
\f
SCM_API SCM scm_malloc_obj (size_t n);
-SCM_API void scm_init_mallocs (void);
+SCM_INTERNAL void scm_init_mallocs (void);
#endif /* SCM_MALLOCS_H */
diff --git a/libguile/modules.h b/libguile/modules.h
index 6e4f4d9..afac9f4 100644
--- a/libguile/modules.h
+++ b/libguile/modules.h
@@ -3,7 +3,7 @@
#ifndef SCM_MODULES_H
#define SCM_MODULES_H
-/* Copyright (C) 1998, 2000, 2001, 2002, 2003, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 2001, 2002, 2003, 2006, 2007, 2008 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
@@ -116,8 +116,8 @@ SCM_API SCM scm_env_module (SCM env);
SCM_API SCM scm_top_level_env (SCM thunk);
SCM_API SCM scm_system_module_env_p (SCM env);
-SCM_API void scm_modules_prehistory (void);
-SCM_API void scm_init_modules (void);
+SCM_INTERNAL void scm_modules_prehistory (void);
+SCM_INTERNAL void scm_init_modules (void);
#endif /* SCM_MODULES_H */
diff --git a/libguile/net_db.h b/libguile/net_db.h
index ae8e8aa..df1f030 100644
--- a/libguile/net_db.h
+++ b/libguile/net_db.h
@@ -3,7 +3,7 @@
#ifndef SCM_NET_DB_H
#define SCM_NET_DB_H
-/* Copyright (C) 1995,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,2000,2001, 2006, 2008 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
@@ -34,7 +34,7 @@ SCM_API SCM scm_sethost (SCM arg);
SCM_API SCM scm_setnet (SCM arg);
SCM_API SCM scm_setproto (SCM arg);
SCM_API SCM scm_setserv (SCM arg);
-SCM_API void scm_init_net_db (void);
+SCM_INTERNAL void scm_init_net_db (void);
#endif /* SCM_NET_DB_H */
diff --git a/libguile/numbers.h b/libguile/numbers.h
index 2c2fdcf..e139dac 100644
--- a/libguile/numbers.h
+++ b/libguile/numbers.h
@@ -3,7 +3,7 @@
#ifndef SCM_NUMBERS_H
#define SCM_NUMBERS_H
-/* Copyright (C) 1995,1996,1998,2000,2001,2002,2003,2004,2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,2000,2001,2002,2003,2004,2005, 2006, 2008 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
@@ -261,15 +261,15 @@ SCM_API SCM scm_exp (SCM z);
SCM_API SCM scm_sqrt (SCM z);
/* bignum internal functions */
-SCM_API SCM scm_i_mkbig (void);
-SCM_API SCM scm_i_normbig (SCM x);
-SCM_API int scm_i_bigcmp (SCM a, SCM b);
-SCM_API SCM scm_i_dbl2big (double d);
-SCM_API SCM scm_i_dbl2num (double d);
-SCM_API double scm_i_big2dbl (SCM b);
-SCM_API SCM scm_i_long2big (long n);
-SCM_API SCM scm_i_ulong2big (unsigned long n);
-SCM_API SCM scm_i_clonebig (SCM src_big, int same_sign_p);
+SCM_INTERNAL SCM scm_i_mkbig (void);
+SCM_API /* FIXME: not internal */ SCM scm_i_normbig (SCM x);
+SCM_INTERNAL int scm_i_bigcmp (SCM a, SCM b);
+SCM_INTERNAL SCM scm_i_dbl2big (double d);
+SCM_INTERNAL SCM scm_i_dbl2num (double d);
+SCM_API /* FIXME: not internal */ double scm_i_big2dbl (SCM b);
+SCM_API /* FIXME: not internal */ SCM scm_i_long2big (long n);
+SCM_API /* FIXME: not internal */ SCM scm_i_ulong2big (unsigned long n);
+SCM_API /* FIXME: not internal */ SCM scm_i_clonebig (SCM src_big, int same_sign_p);
/* ratio functions */
SCM_API SCM scm_rationalize (SCM x, SCM err);
@@ -277,13 +277,13 @@ SCM_API SCM scm_numerator (SCM z);
SCM_API SCM scm_denominator (SCM z);
/* fraction internal functions */
-SCM_API double scm_i_fraction2double (SCM z);
-SCM_API SCM scm_i_fraction_equalp (SCM x, SCM y);
-SCM_API int scm_i_print_fraction (SCM sexp, SCM port, scm_print_state *pstate);
+SCM_INTERNAL double scm_i_fraction2double (SCM z);
+SCM_INTERNAL SCM scm_i_fraction_equalp (SCM x, SCM y);
+SCM_INTERNAL int scm_i_print_fraction (SCM sexp, SCM port, scm_print_state *pstate);
/* general internal functions */
-SCM_API void scm_i_print_double (double val, SCM port);
-SCM_API void scm_i_print_complex (double real, double imag, SCM port);
+SCM_INTERNAL void scm_i_print_double (double val, SCM port);
+SCM_INTERNAL void scm_i_print_complex (double real, double imag, SCM port);
/* conversion functions for integers */
@@ -480,7 +480,7 @@ SCM_API double scm_c_angle (SCM z);
SCM_API int scm_is_number (SCM val);
-SCM_API void scm_init_numbers (void);
+SCM_INTERNAL void scm_init_numbers (void);
#endif /* SCM_NUMBERS_H */
diff --git a/libguile/objects.h b/libguile/objects.h
index fdd8e28..68996d2 100644
--- a/libguile/objects.h
+++ b/libguile/objects.h
@@ -3,7 +3,7 @@
#ifndef SCM_OBJECTS_H
#define SCM_OBJECTS_H
-/* Copyright (C) 1996,1999,2000,2001, 2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1999,2000,2001, 2003, 2006, 2008 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
@@ -181,7 +181,7 @@ SCM_API SCM scm_metaclass_operator;
/* Goops functions. */
SCM_API SCM scm_make_extended_class (char const *type_name, int applicablep);
-SCM_API void scm_i_inherit_applicable (SCM c);
+SCM_INTERNAL void scm_i_inherit_applicable (SCM c);
SCM_API void scm_make_port_classes (long ptobnum, char *type_name);
SCM_API void scm_change_object_class (SCM, SCM, SCM);
SCM_API SCM scm_memoize_method (SCM x, SCM args);
@@ -205,9 +205,9 @@ SCM_API SCM scm_object_procedure (SCM obj);
SCM_API SCM scm_make_class_object (SCM metaclass, SCM layout);
SCM_API SCM scm_make_subclass_object (SCM c, SCM layout);
-SCM_API SCM scm_i_make_class_object (SCM metaclass, SCM layout_string,
- unsigned long flags);
-SCM_API void scm_init_objects (void);
+SCM_INTERNAL SCM scm_i_make_class_object (SCM metaclass, SCM layout_string,
+ unsigned long flags);
+SCM_INTERNAL void scm_init_objects (void);
#endif /* SCM_OBJECTS_H */
diff --git a/libguile/objprop.h b/libguile/objprop.h
index edf2d95..7e5365a 100644
--- a/libguile/objprop.h
+++ b/libguile/objprop.h
@@ -3,7 +3,7 @@
#ifndef SCM_OBJPROP_H
#define SCM_OBJPROP_H
-/* Copyright (C) 1995,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,2000,2001, 2006, 2008 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
@@ -30,7 +30,7 @@ SCM_API SCM scm_object_properties (SCM obj);
SCM_API SCM scm_set_object_properties_x (SCM obj, SCM plist);
SCM_API SCM scm_object_property (SCM obj, SCM key);
SCM_API SCM scm_set_object_property_x (SCM obj, SCM key, SCM val);
-SCM_API void scm_init_objprop (void);
+SCM_INTERNAL void scm_init_objprop (void);
#endif /* SCM_OBJPROP_H */
diff --git a/libguile/options.h b/libguile/options.h
index 5b96649..4facdce 100644
--- a/libguile/options.h
+++ b/libguile/options.h
@@ -3,7 +3,7 @@
#ifndef SCM_OPTIONS_H
#define SCM_OPTIONS_H
-/* Copyright (C) 1995,1996,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000,2001, 2006, 2008 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
@@ -43,7 +43,7 @@ typedef struct scm_t_option
SCM_API SCM scm_options_try (SCM args, scm_t_option options[], const char *s, int dry_run);
SCM_API SCM scm_options (SCM, scm_t_option [], const char*);
SCM_API void scm_init_opts (SCM (*) (SCM), scm_t_option []);
-SCM_API void scm_init_options (void);
+SCM_INTERNAL void scm_init_options (void);
#endif /* SCM_OPTIONS_H */
diff --git a/libguile/pairs.h b/libguile/pairs.h
index dd22ff3..61af24e 100644
--- a/libguile/pairs.h
+++ b/libguile/pairs.h
@@ -148,7 +148,7 @@ SCM_API SCM scm_i_chase_pairs (SCM x, scm_t_uint32 pattern);
#define scm_caaadr(x) scm_i_chase_pairs ((x), SCM_I_AAAD_PAT)
#define scm_caaaar(x) scm_i_chase_pairs ((x), SCM_I_AAAA_PAT)
-SCM_API void scm_init_pairs (void);
+SCM_INTERNAL void scm_init_pairs (void);
#endif /* SCM_PAIRS_H */
diff --git a/libguile/ports.h b/libguile/ports.h
index fb0ef4e..084a555 100644
--- a/libguile/ports.h
+++ b/libguile/ports.h
@@ -109,8 +109,8 @@ typedef struct
} scm_t_port;
-SCM_API scm_i_pthread_mutex_t scm_i_port_table_mutex;
-SCM_API SCM scm_i_port_weak_hash;
+SCM_INTERNAL scm_i_pthread_mutex_t scm_i_port_table_mutex;
+SCM_INTERNAL SCM scm_i_port_weak_hash;
#define SCM_READ_BUFFER_EMPTY_P(c_port) (c_port->read_pos >= c_port->read_end)
@@ -195,7 +195,7 @@ typedef struct scm_t_ptob_descriptor
SCM_API scm_t_ptob_descriptor *scm_ptobs;
SCM_API long scm_numptob;
-SCM_API long scm_i_port_table_room;
+SCM_INTERNAL long scm_i_port_table_room;
\f
@@ -241,7 +241,7 @@ SCM_API void scm_dynwind_current_input_port (SCM port);
SCM_API void scm_dynwind_current_output_port (SCM port);
SCM_API void scm_dynwind_current_error_port (SCM port);
SCM_API SCM scm_new_port_table_entry (scm_t_bits tag);
-SCM_API void scm_i_remove_port (SCM port);
+SCM_INTERNAL void scm_i_remove_port (SCM port);
SCM_API void scm_grow_port_cbuf (SCM port, size_t requested);
SCM_API SCM scm_pt_size (void);
SCM_API SCM scm_pt_member (SCM member);
@@ -288,7 +288,7 @@ SCM_API void scm_print_port_mode (SCM exp, SCM port);
SCM_API void scm_ports_prehistory (void);
SCM_API SCM scm_void_port (char * mode_str);
SCM_API SCM scm_sys_make_void_port (SCM mode);
-SCM_API void scm_init_ports (void);
+SCM_INTERNAL void scm_init_ports (void);
#if SCM_ENABLE_DEPRECATED==1
@@ -302,8 +302,8 @@ SCM_API SCM scm_pt_member (SCM member);
/* internal */
-SCM_API long scm_i_mode_bits (SCM modes);
-SCM_API void scm_i_dynwind_current_load_port (SCM port);
+SCM_INTERNAL long scm_i_mode_bits (SCM modes);
+SCM_INTERNAL void scm_i_dynwind_current_load_port (SCM port);
#endif /* SCM_PORTS_H */
diff --git a/libguile/posix.h b/libguile/posix.h
index 871bba8..d51da94 100644
--- a/libguile/posix.h
+++ b/libguile/posix.h
@@ -3,7 +3,7 @@
#ifndef SCM_POSIX_H
#define SCM_POSIX_H
-/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2003, 2006, 2008 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
@@ -84,9 +84,9 @@ SCM_API SCM scm_getpass (SCM prompt);
SCM_API SCM scm_flock (SCM file, SCM operation);
SCM_API SCM scm_sethostname (SCM name);
SCM_API SCM scm_gethostname (void);
-SCM_API void scm_init_posix (void);
+SCM_INTERNAL void scm_init_posix (void);
-SCM_API scm_i_pthread_mutex_t scm_i_locale_mutex;
+SCM_INTERNAL scm_i_pthread_mutex_t scm_i_locale_mutex;
#endif /* SCM_POSIX_H */
diff --git a/libguile/print.h b/libguile/print.h
index 740aa28..8974a75 100644
--- a/libguile/print.h
+++ b/libguile/print.h
@@ -3,7 +3,7 @@
#ifndef SCM_PRINT_H
#define SCM_PRINT_H
-/* Copyright (C) 1995,1996,1998,2000,2001, 2003, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,2000,2001, 2003, 2004, 2006, 2008 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
@@ -75,7 +75,7 @@ SCM_API scm_t_bits scm_tc16_port_with_ps;
SCM_API SCM scm_print_options (SCM setting);
SCM_API SCM scm_make_print_state (void);
SCM_API void scm_free_print_state (SCM print_state);
-SCM scm_i_port_with_print_state (SCM port, SCM print_state);
+SCM_INTERNAL SCM scm_i_port_with_print_state (SCM port, SCM print_state);
SCM_API void scm_intprint (scm_t_intmax n, int radix, SCM port);
SCM_API void scm_uintprint (scm_t_uintmax n, int radix, SCM port);
SCM_API void scm_ipruk (char *hdr, SCM ptr, SCM port);
@@ -92,7 +92,7 @@ SCM_API SCM scm_printer_apply (SCM proc, SCM exp, SCM port, scm_print_state *);
SCM_API SCM scm_port_with_print_state (SCM port, SCM pstate);
SCM_API SCM scm_get_print_state (SCM port);
SCM_API int scm_valid_oport_value_p (SCM val);
-SCM_API void scm_init_print (void);
+SCM_INTERNAL void scm_init_print (void);
#ifdef GUILE_DEBUG
SCM_API SCM scm_current_pstate (void);
diff --git a/libguile/private-gc.h b/libguile/private-gc.h
index 34d789b..ce60cbb 100644
--- a/libguile/private-gc.h
+++ b/libguile/private-gc.h
@@ -1,7 +1,7 @@
/*
* private-gc.h - private declarations for garbage collection.
*
- * Copyright (C) 2002, 03, 04, 05, 06, 07 Free Software Foundation, Inc.
+ * Copyright (C) 2002, 03, 04, 05, 06, 07, 08 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
@@ -163,10 +163,13 @@ typedef struct scm_sweep_statistics
extern scm_t_cell_type_statistics scm_i_master_freelist;
extern scm_t_cell_type_statistics scm_i_master_freelist2;
+SCM_INTERNAL
void scm_i_adjust_min_yield (scm_t_cell_type_statistics *freelist,
scm_t_sweep_statistics sweep_stats,
scm_t_sweep_statistics sweep_stats_1);
+SCM_INTERNAL
void scm_i_gc_sweep_freelist_reset (scm_t_cell_type_statistics *freelist);
+SCM_INTERNAL
int scm_i_gc_grow_heap_p (scm_t_cell_type_statistics * freelist);
@@ -263,39 +266,46 @@ extern scm_t_heap_segment ** scm_i_heap_segment_table;
extern size_t scm_i_heap_segment_table_size;
-int scm_i_init_card_freelist (scm_t_cell * card, SCM *free_list,scm_t_heap_segment*);
-int scm_i_sweep_card (scm_t_cell * card, SCM *free_list, scm_t_heap_segment*);
-void scm_i_card_statistics (scm_t_cell *p, SCM hashtab, scm_t_heap_segment *seg);
-char const *scm_i_tag_name (scm_t_bits tag); /* MOVEME */
-
-int scm_i_initialize_heap_segment_data (scm_t_heap_segment * segment, size_t requested);
-int scm_i_segment_card_count (scm_t_heap_segment * seg);
-int scm_i_segment_cell_count (scm_t_heap_segment * seg);
-
-void scm_i_clear_segment_mark_space (scm_t_heap_segment *seg);
-scm_t_heap_segment * scm_i_make_empty_heap_segment (scm_t_cell_type_statistics*);
-SCM scm_i_sweep_some_cards (scm_t_heap_segment *seg,
- scm_t_sweep_statistics *sweep_stats);
-void scm_i_sweep_segment (scm_t_heap_segment *seg,
- scm_t_sweep_statistics *sweep_stats);
-
-void scm_i_heap_segment_statistics (scm_t_heap_segment *seg, SCM tab);
-
-
-int scm_i_insert_segment (scm_t_heap_segment * seg);
-long int scm_i_find_heap_segment_containing_object (SCM obj);
-int scm_i_get_new_heap_segment (scm_t_cell_type_statistics *,
- scm_t_sweep_statistics,
- policy_on_error);
-void scm_i_clear_mark_space (void);
-void scm_i_sweep_segments (void);
-SCM scm_i_sweep_some_segments (scm_t_cell_type_statistics *fl,
- scm_t_sweep_statistics *sweep_stats);
-void scm_i_reset_segments (void);
-void scm_i_sweep_all_segments (char const *reason,
- scm_t_sweep_statistics *sweep_stats);
-SCM scm_i_all_segments_statistics (SCM hashtab);
-void scm_i_make_initial_segment (int init_heap_size, scm_t_cell_type_statistics *freelist);
+SCM_INTERNAL int scm_i_init_card_freelist (scm_t_cell * card, SCM *free_list,
+ scm_t_heap_segment*);
+SCM_INTERNAL int scm_i_sweep_card (scm_t_cell *card, SCM *free_list,
+ scm_t_heap_segment *);
+SCM_INTERNAL void scm_i_card_statistics (scm_t_cell *p, SCM hashtab,
+ scm_t_heap_segment *seg);
+SCM_INTERNAL char const *scm_i_tag_name (scm_t_bits tag); /* MOVEME */
+
+SCM_INTERNAL int scm_i_initialize_heap_segment_data (scm_t_heap_segment *seg,
+ size_t requested);
+SCM_INTERNAL int scm_i_segment_card_count (scm_t_heap_segment *seg);
+SCM_INTERNAL int scm_i_segment_cell_count (scm_t_heap_segment *seg);
+
+SCM_INTERNAL void scm_i_clear_segment_mark_space (scm_t_heap_segment *seg);
+SCM_INTERNAL scm_t_heap_segment *
+scm_i_make_empty_heap_segment (scm_t_cell_type_statistics*);
+SCM_INTERNAL SCM scm_i_sweep_some_cards (scm_t_heap_segment *seg,
+ scm_t_sweep_statistics *sweep_stats);
+SCM_INTERNAL void scm_i_sweep_segment (scm_t_heap_segment *seg,
+ scm_t_sweep_statistics *sweep_stats);
+
+SCM_INTERNAL void scm_i_heap_segment_statistics (scm_t_heap_segment *seg,
+ SCM tab);
+
+
+SCM_INTERNAL int scm_i_insert_segment (scm_t_heap_segment *seg);
+SCM_INTERNAL long int scm_i_find_heap_segment_containing_object (SCM obj);
+SCM_INTERNAL int scm_i_get_new_heap_segment (scm_t_cell_type_statistics *,
+ scm_t_sweep_statistics,
+ policy_on_error);
+SCM_INTERNAL void scm_i_clear_mark_space (void);
+SCM_INTERNAL void scm_i_sweep_segments (void);
+SCM_INTERNAL SCM scm_i_sweep_some_segments (scm_t_cell_type_statistics *fl,
+ scm_t_sweep_statistics *sweep_stats);
+SCM_INTERNAL void scm_i_reset_segments (void);
+SCM_INTERNAL void scm_i_sweep_all_segments (char const *reason,
+ scm_t_sweep_statistics *sweep_stats);
+SCM_INTERNAL SCM scm_i_all_segments_statistics (SCM hashtab);
+SCM_INTERNAL void scm_i_make_initial_segment (int init_heap_size,
+ scm_t_cell_type_statistics *fl);
extern long int scm_i_deprecated_memory_return;
diff --git a/libguile/procprop.h b/libguile/procprop.h
index dffdfd7..bf27dba 100644
--- a/libguile/procprop.h
+++ b/libguile/procprop.h
@@ -3,7 +3,7 @@
#ifndef SCM_PROCPROP_H
#define SCM_PROCPROP_H
-/* Copyright (C) 1995,1996,1998,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,2000, 2006, 2008 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
@@ -32,12 +32,12 @@ SCM_API SCM scm_sym_system_procedure;
\f
-SCM_API SCM scm_i_procedure_arity (SCM proc);
+SCM_INTERNAL SCM scm_i_procedure_arity (SCM proc);
SCM_API SCM scm_procedure_properties (SCM proc);
SCM_API SCM scm_set_procedure_properties_x (SCM proc, SCM new_val);
SCM_API SCM scm_procedure_property (SCM p, SCM k);
SCM_API SCM scm_set_procedure_property_x (SCM p, SCM k, SCM v);
-SCM_API void scm_init_procprop (void);
+SCM_INTERNAL void scm_init_procprop (void);
#endif /* SCM_PROCPROP_H */
diff --git a/libguile/procs.h b/libguile/procs.h
index 060c8ee..cf9cdf1 100644
--- a/libguile/procs.h
+++ b/libguile/procs.h
@@ -3,7 +3,7 @@
#ifndef SCM_PROCS_H
#define SCM_PROCS_H
-/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2006, 2008 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
@@ -154,8 +154,8 @@ SCM_API SCM scm_procedure_with_setter_p (SCM obj);
SCM_API SCM scm_make_procedure_with_setter (SCM procedure, SCM setter);
SCM_API SCM scm_procedure (SCM proc);
SCM_API SCM scm_setter (SCM proc);
-SCM_API void scm_init_subr_table (void);
-SCM_API void scm_init_procs (void);
+SCM_INTERNAL void scm_init_subr_table (void);
+SCM_INTERNAL void scm_init_procs (void);
#ifdef GUILE_DEBUG
SCM_API SCM scm_make_cclo (SCM proc, SCM len);
diff --git a/libguile/properties.h b/libguile/properties.h
index 3f8cb6d..54feb01 100644
--- a/libguile/properties.h
+++ b/libguile/properties.h
@@ -3,7 +3,7 @@
#ifndef SCM_PROPERTIES_H
#define SCM_PROPERTIES_H
-/* Copyright (C) 1995,1996,1998,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,2000, 2006, 2008 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
@@ -29,7 +29,7 @@ SCM_API SCM scm_primitive_property_ref (SCM prop, SCM obj);
SCM_API SCM scm_primitive_property_set_x (SCM prop, SCM obj, SCM val);
SCM_API SCM scm_primitive_property_del_x (SCM prop, SCM obj);
-SCM_API void scm_init_properties (void);
+SCM_INTERNAL void scm_init_properties (void);
#endif /* SCM_PROPERTIES_H */
diff --git a/libguile/ramap.h b/libguile/ramap.h
index 8383649..9d87038 100644
--- a/libguile/ramap.h
+++ b/libguile/ramap.h
@@ -3,7 +3,7 @@
#ifndef SCM_RAMAP_H
#define SCM_RAMAP_H
-/* Copyright (C) 1995,1996,1997,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,2000, 2006, 2008 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
@@ -47,7 +47,7 @@ SCM_API SCM scm_array_for_each (SCM proc, SCM ra0, SCM lra);
SCM_API SCM scm_array_index_map_x (SCM ra, SCM proc);
SCM_API SCM scm_raequal (SCM ra0, SCM ra1);
SCM_API SCM scm_array_equal_p (SCM ra0, SCM ra1);
-SCM_API void scm_init_ramap (void);
+SCM_INTERNAL void scm_init_ramap (void);
#endif /* SCM_RAMAP_H */
diff --git a/libguile/random.h b/libguile/random.h
index 6ec43ff..ae44092 100644
--- a/libguile/random.h
+++ b/libguile/random.h
@@ -3,7 +3,7 @@
#ifndef SCM_RANDOM_H
#define SCM_RANDOM_H
-/* Copyright (C) 1999,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1999,2000,2001, 2006, 2008 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
@@ -62,9 +62,9 @@ typedef struct scm_t_i_rstate {
unsigned long c;
} scm_t_i_rstate;
-SCM_API unsigned long scm_i_uniform32 (scm_t_i_rstate *);
-SCM_API void scm_i_init_rstate (scm_t_i_rstate *, const char *seed, int n);
-SCM_API scm_t_i_rstate *scm_i_copy_rstate (scm_t_i_rstate *);
+SCM_INTERNAL unsigned long scm_i_uniform32 (scm_t_i_rstate *);
+SCM_INTERNAL void scm_i_init_rstate (scm_t_i_rstate *, const char *seed, int n);
+SCM_INTERNAL scm_t_i_rstate *scm_i_copy_rstate (scm_t_i_rstate *);
\f
/*
@@ -99,7 +99,7 @@ SCM_API SCM scm_random_hollow_sphere_x (SCM v, SCM state);
SCM_API SCM scm_random_normal (SCM state);
SCM_API SCM scm_random_normal_vector_x (SCM v, SCM state);
SCM_API SCM scm_random_exp (SCM state);
-SCM_API void scm_init_random (void);
+SCM_INTERNAL void scm_init_random (void);
#endif /* SCM_RANDOM_H */
diff --git a/libguile/rdelim.h b/libguile/rdelim.h
index b211bb2..17efb4f 100644
--- a/libguile/rdelim.h
+++ b/libguile/rdelim.h
@@ -3,7 +3,7 @@
#ifndef SCM_RDELIM_H
#define SCM_RDELIM_H
-/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2006, 2008 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
@@ -30,7 +30,7 @@ SCM_API SCM scm_read_line (SCM port);
SCM_API SCM scm_write_line (SCM obj, SCM port);
SCM_API SCM scm_init_rdelim_builtins (void);
-SCM_API void scm_init_rdelim (void);
+SCM_INTERNAL void scm_init_rdelim (void);
#endif /* SCM_RDELIM_H */
diff --git a/libguile/read.h b/libguile/read.h
index 128ba3d..4253622 100644
--- a/libguile/read.h
+++ b/libguile/read.h
@@ -3,7 +3,7 @@
#ifndef SCM_READ_H
#define SCM_READ_H
-/* Copyright (C) 1995,1996,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000, 2006, 2008 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
@@ -56,11 +56,11 @@ SCM_API SCM scm_read (SCM port);
SCM_API size_t scm_read_token (int ic, SCM * tok_buf, SCM port, int weird);
SCM_API SCM scm_read_hash_extend (SCM chr, SCM proc);
-SCM_API void scm_i_input_error (const char *func, SCM port,
- const char *message, SCM arg)
+SCM_INTERNAL void scm_i_input_error (const char *func, SCM port,
+ const char *message, SCM arg)
SCM_NORETURN;
-SCM_API void scm_init_read (void);
+SCM_INTERNAL void scm_init_read (void);
#endif /* SCM_READ_H */
diff --git a/libguile/regex-posix.h b/libguile/regex-posix.h
index c382136..2863b05 100644
--- a/libguile/regex-posix.h
+++ b/libguile/regex-posix.h
@@ -3,7 +3,7 @@
#ifndef SCM_REGEX_POSIX_H
#define SCM_REGEX_POSIX_H
-/* Copyright (C) 1997,1998,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,2000,2001, 2006, 2008 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
@@ -31,7 +31,7 @@ SCM_API scm_t_bits scm_tc16_regex;
SCM_API SCM scm_make_regexp (SCM pat, SCM flags);
SCM_API SCM scm_regexp_p (SCM x);
SCM_API SCM scm_regexp_exec (SCM rx, SCM str, SCM start, SCM flags);
-SCM_API void scm_init_regex_posix (void);
+SCM_INTERNAL void scm_init_regex_posix (void);
#endif /* SCM_REGEX_POSIX_H */
diff --git a/libguile/root.h b/libguile/root.h
index 6c7800f..11f6b4f 100644
--- a/libguile/root.h
+++ b/libguile/root.h
@@ -3,7 +3,7 @@
#ifndef SCM_ROOT_H
#define SCM_ROOT_H
-/* Copyright (C) 1996,1998,2000,2001, 2002, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1998,2000,2001, 2002, 2006, 2008 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
@@ -55,7 +55,7 @@ SCM_API SCM scm_internal_cwdr (scm_t_catch_body body,
SCM_API SCM scm_call_with_dynamic_root (SCM thunk, SCM handler);
SCM_API SCM scm_dynamic_root (void);
SCM_API SCM scm_apply_with_dynamic_root (SCM proc, SCM a1, SCM args, SCM handler);
-SCM_API void scm_init_root (void);
+SCM_INTERNAL void scm_init_root (void);
#endif /* SCM_ROOT_H */
diff --git a/libguile/rw.h b/libguile/rw.h
index 108104c..b526051 100644
--- a/libguile/rw.h
+++ b/libguile/rw.h
@@ -3,7 +3,7 @@
#ifndef SCM_RW_H
#define SCM_RW_H
-/* Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2006, 2008 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
@@ -29,8 +29,8 @@ SCM_API SCM scm_read_string_x_partial (SCM str, SCM port_or_fdes, SCM start,
SCM_API SCM scm_write_string_partial (SCM str, SCM port_or_fdes, SCM start,
SCM end);
-SCM_API SCM scm_init_rw_builtins (void);
-SCM_API void scm_init_rw (void);
+SCM_INTERNAL SCM scm_init_rw_builtins (void);
+SCM_INTERNAL void scm_init_rw (void);
#endif /* SCM_RW_H */
diff --git a/libguile/scmsigs.h b/libguile/scmsigs.h
index 2aced3a..bcbf825 100644
--- a/libguile/scmsigs.h
+++ b/libguile/scmsigs.h
@@ -3,7 +3,7 @@
#ifndef SCM_SCMSIGS_H
#define SCM_SCMSIGS_H
-/* Copyright (C) 1995,1996,1997,1998,2000, 2002, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000, 2002, 2006, 2007, 2008 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
@@ -40,12 +40,12 @@ SCM_API SCM scm_pause (void);
SCM_API SCM scm_sleep (SCM i);
SCM_API SCM scm_usleep (SCM i);
SCM_API SCM scm_raise (SCM sig);
-SCM_API void scm_init_scmsigs (void);
+SCM_INTERNAL void scm_init_scmsigs (void);
-SCM_API void scm_i_close_signal_pipe (void);
-SCM_API void scm_i_ensure_signal_delivery_thread (void);
+SCM_INTERNAL void scm_i_close_signal_pipe (void);
+SCM_INTERNAL void scm_i_ensure_signal_delivery_thread (void);
-SCM_API scm_i_thread *scm_i_signal_delivery_thread;
+SCM_INTERNAL scm_i_thread *scm_i_signal_delivery_thread;
#endif /* SCM_SCMSIGS_H */
diff --git a/libguile/script.h b/libguile/script.h
index 37ebdde..6c02f8d 100644
--- a/libguile/script.h
+++ b/libguile/script.h
@@ -3,7 +3,7 @@
#ifndef SCM_SCRIPT_H
#define SCM_SCRIPT_H
-/* Copyright (C) 1997,1998,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,2000, 2006, 2008 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
@@ -36,7 +36,7 @@ SCM_API void scm_shell_usage (int fatal, char *message);
SCM_API SCM scm_compile_shell_switches (int argc, char **argv);
SCM_API void scm_shell (int argc, char **argv);
SCM_API char *scm_usage_name;
-SCM_API void scm_init_script (void);
+SCM_INTERNAL void scm_init_script (void);
#endif /* SCM_SCRIPT_H */
diff --git a/libguile/simpos.h b/libguile/simpos.h
index 1ce207b..6df8bb1 100644
--- a/libguile/simpos.h
+++ b/libguile/simpos.h
@@ -3,7 +3,7 @@
#ifndef SCM_SIMPOS_H
#define SCM_SIMPOS_H
-/* Copyright (C) 1995,1996,1997,1998,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000, 2006, 2008 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
@@ -31,7 +31,7 @@ SCM_API SCM scm_system_star (SCM cmds);
SCM_API SCM scm_getenv (SCM nam);
SCM_API SCM scm_primitive_exit (SCM status);
SCM_API SCM scm_primitive__exit (SCM status);
-SCM_API void scm_init_simpos (void);
+SCM_INTERNAL void scm_init_simpos (void);
#endif /* SCM_SIMPOS_H */
diff --git a/libguile/socket.h b/libguile/socket.h
index 146d283..133dbf7 100644
--- a/libguile/socket.h
+++ b/libguile/socket.h
@@ -3,7 +3,7 @@
#ifndef SCM_SOCKET_H
#define SCM_SOCKET_H
-/* Copyright (C) 1995,1996,1997,2000,2001, 2004, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,2000,2001, 2004, 2005, 2006, 2008 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
@@ -52,7 +52,7 @@ SCM_API SCM scm_recv (SCM sockfd, SCM buff_or_size, SCM flags);
SCM_API SCM scm_send (SCM sockfd, SCM message, SCM flags);
SCM_API SCM scm_recvfrom (SCM sockfd, SCM buff_or_size, SCM flags, SCM offset, SCM length);
SCM_API SCM scm_sendto (SCM sockfd, SCM message, SCM fam, SCM address, SCM args_and_flags);
-SCM_API void scm_init_socket (void);
+SCM_INTERNAL void scm_init_socket (void);
/* Wrapping/unwrapping address objects. */
struct sockaddr;
diff --git a/libguile/sort.h b/libguile/sort.h
index b8bf4ce..51f292a 100644
--- a/libguile/sort.h
+++ b/libguile/sort.h
@@ -3,7 +3,7 @@
#ifndef SCM_SORT_H
#define SCM_SORT_H
-/* Copyright (C) 1999,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1999,2000, 2006, 2008 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
@@ -39,7 +39,7 @@ SCM_API SCM scm_stable_sort (SCM ls, SCM less);
SCM_API SCM scm_stable_sort_x (SCM ls, SCM less);
SCM_API SCM scm_sort_list (SCM ls, SCM less);
SCM_API SCM scm_sort_list_x (SCM ls, SCM less);
-SCM_API void scm_init_sort (void);
+SCM_INTERNAL void scm_init_sort (void);
#endif /* SCM_SORT_H */
diff --git a/libguile/srcprop.h b/libguile/srcprop.h
index 87e5fde..a467aa3 100644
--- a/libguile/srcprop.h
+++ b/libguile/srcprop.h
@@ -3,7 +3,7 @@
#ifndef SCM_SRCPROP_H
#define SCM_SRCPROP_H
-/* Copyright (C) 1995,1996,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000,2001, 2006, 2008 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
@@ -70,7 +70,7 @@ SCM_API SCM scm_set_source_property_x (SCM obj, SCM key, SCM datum);
SCM_API SCM scm_source_properties (SCM obj);
SCM_API SCM scm_set_source_properties_x (SCM obj, SCM props);
SCM_API void scm_finish_srcprop (void);
-SCM_API void scm_init_srcprop (void);
+SCM_INTERNAL void scm_init_srcprop (void);
#if SCM_ENABLE_DEPRECATED == 1
#define SRCBRKP(x) (scm_source_property_breakpoint_p (x))
diff --git a/libguile/srfi-13.h b/libguile/srfi-13.h
index 833586a..f8221dd 100644
--- a/libguile/srfi-13.h
+++ b/libguile/srfi-13.h
@@ -3,7 +3,7 @@
/* srfi-13.c --- SRFI-13 procedures for Guile
*
- * Copyright (C) 2001, 2004, 2006 Free Software Foundation, Inc.
+ * Copyright (C) 2001, 2004, 2006, 2008 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
@@ -113,7 +113,7 @@ SCM_API SCM scm_string_split (SCM s, SCM chr);
SCM_API SCM scm_string_filter (SCM s, SCM char_pred, SCM start, SCM end);
SCM_API SCM scm_string_delete (SCM s, SCM char_pred, SCM start, SCM end);
-SCM_API void scm_init_srfi_13 (void);
-SCM_API void scm_init_srfi_13_14 (void);
+SCM_INTERNAL void scm_init_srfi_13 (void);
+SCM_INTERNAL void scm_init_srfi_13_14 (void);
#endif /* SCM_SRFI_13_H */
diff --git a/libguile/srfi-14.h b/libguile/srfi-14.h
index 516c510..ea8027a 100644
--- a/libguile/srfi-14.h
+++ b/libguile/srfi-14.h
@@ -3,7 +3,7 @@
/* srfi-14.c --- SRFI-14 procedures for Guile
*
- * Copyright (C) 2001, 2004, 2006 Free Software Foundation, Inc.
+ * Copyright (C) 2001, 2004, 2006, 2008 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
@@ -106,7 +106,7 @@ SCM_API SCM scm_char_set_ascii;
SCM_API SCM scm_char_set_empty;
SCM_API SCM scm_char_set_full;
-SCM_API void scm_srfi_14_compute_char_sets (void);
-SCM_API void scm_init_srfi_14 (void);
+SCM_INTERNAL void scm_srfi_14_compute_char_sets (void);
+SCM_INTERNAL void scm_init_srfi_14 (void);
#endif /* SCM_SRFI_14_H */
diff --git a/libguile/srfi-4.h b/libguile/srfi-4.h
index 7abbac8..3c340d9 100644
--- a/libguile/srfi-4.h
+++ b/libguile/srfi-4.h
@@ -2,7 +2,7 @@
#define SCM_SRFI_4_H
/* srfi-4.c --- Homogeneous numeric vector datatypes.
*
- * Copyright (C) 2001, 2004, 2006 Free Software Foundation, Inc.
+ * Copyright (C) 2001, 2004, 2006, 2008 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
@@ -303,10 +303,10 @@ SCM_API double *scm_c64vector_writable_elements (SCM uvec,
size_t *lenp,
ssize_t *incp);
-SCM_API SCM scm_i_generalized_vector_type (SCM vec);
-SCM_API const char *scm_i_uniform_vector_tag (SCM uvec);
-SCM_API scm_i_t_array_ref scm_i_uniform_vector_ref_proc (SCM uvec);
-SCM_API scm_i_t_array_set scm_i_uniform_vector_set_proc (SCM uvec);
+SCM_INTERNAL SCM scm_i_generalized_vector_type (SCM vec);
+SCM_INTERNAL const char *scm_i_uniform_vector_tag (SCM uvec);
+SCM_INTERNAL scm_i_t_array_ref scm_i_uniform_vector_ref_proc (SCM uvec);
+SCM_INTERNAL scm_i_t_array_set scm_i_uniform_vector_set_proc (SCM uvec);
#if SCM_ENABLE_DEPRECATED
@@ -318,6 +318,6 @@ SCM_API size_t scm_uniform_element_size (SCM obj);
#endif
-SCM_API void scm_init_srfi_4 (void);
+SCM_INTERNAL void scm_init_srfi_4 (void);
#endif /* SCM_SRFI_4_H */
diff --git a/libguile/stackchk.h b/libguile/stackchk.h
index 9a5c59f..66582e9 100644
--- a/libguile/stackchk.h
+++ b/libguile/stackchk.h
@@ -3,7 +3,7 @@
#ifndef SCM_STACKCHK_H
#define SCM_STACKCHK_H
-/* Copyright (C) 1995,1996,1998,2000, 2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,2000, 2003, 2006, 2008 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
@@ -60,7 +60,7 @@ SCM_API int scm_stack_checking_enabled_p;
SCM_API void scm_report_stack_overflow (void);
SCM_API long scm_stack_size (SCM_STACKITEM *start);
SCM_API void scm_stack_report (void);
-SCM_API void scm_init_stackchk (void);
+SCM_INTERNAL void scm_init_stackchk (void);
#endif /* SCM_STACKCHK_H */
diff --git a/libguile/stacks.h b/libguile/stacks.h
index e44bb1c..53633bc 100644
--- a/libguile/stacks.h
+++ b/libguile/stacks.h
@@ -3,7 +3,7 @@
#ifndef SCM_STACKS_H
#define SCM_STACKS_H
-/* Copyright (C) 1995,1996,2000,2001, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000,2001, 2004, 2006, 2008 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
@@ -106,7 +106,7 @@ SCM_API SCM scm_frame_procedure_p (SCM frame);
SCM_API SCM scm_frame_evaluating_args_p (SCM frame);
SCM_API SCM scm_frame_overflow_p (SCM frame);
-SCM_API void scm_init_stacks (void);
+SCM_INTERNAL void scm_init_stacks (void);
#endif /* SCM_STACKS_H */
diff --git a/libguile/stime.h b/libguile/stime.h
index 52acc2f..c64c60e 100644
--- a/libguile/stime.h
+++ b/libguile/stime.h
@@ -3,7 +3,7 @@
#ifndef SCM_STIME_H
#define SCM_STIME_H
-/* Copyright (C) 1995,1996,1997,1998,2000, 2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000, 2003, 2006, 2008 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
@@ -64,7 +64,7 @@ SCM_API SCM scm_tzset (void);
SCM_API SCM scm_times (void);
SCM_API SCM scm_strftime (SCM format, SCM stime);
SCM_API SCM scm_strptime (SCM format, SCM string);
-SCM_API void scm_init_stime (void);
+SCM_INTERNAL void scm_init_stime (void);
#endif /* SCM_STIME_H */
diff --git a/libguile/strings.h b/libguile/strings.h
index f96457e..04ae552 100644
--- a/libguile/strings.h
+++ b/libguile/strings.h
@@ -3,7 +3,7 @@
#ifndef SCM_STRINGS_H
#define SCM_STRINGS_H
-/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2004, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2004, 2005, 2006, 2008 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
@@ -110,47 +110,47 @@ SCM_API SCM scm_makfromstrs (int argc, char **argv);
/* internal accessor functions. Arguments must be valid. */
-SCM_API SCM scm_i_make_string (size_t len, char **datap);
-SCM_API SCM scm_i_substring (SCM str, size_t start, size_t end);
-SCM_API SCM scm_i_substring_read_only (SCM str, size_t start, size_t end);
-SCM_API SCM scm_i_substring_shared (SCM str, size_t start, size_t end);
-SCM_API SCM scm_i_substring_copy (SCM str, size_t start, size_t end);
-SCM_API size_t scm_i_string_length (SCM str);
-SCM_API const char *scm_i_string_chars (SCM str);
-SCM_API char *scm_i_string_writable_chars (SCM str);
-SCM_API void scm_i_string_stop_writing (void);
+SCM_INTERNAL SCM scm_i_make_string (size_t len, char **datap);
+SCM_INTERNAL SCM scm_i_substring (SCM str, size_t start, size_t end);
+SCM_INTERNAL SCM scm_i_substring_read_only (SCM str, size_t start, size_t end);
+SCM_INTERNAL SCM scm_i_substring_shared (SCM str, size_t start, size_t end);
+SCM_INTERNAL SCM scm_i_substring_copy (SCM str, size_t start, size_t end);
+SCM_INTERNAL size_t scm_i_string_length (SCM str);
+SCM_API /* FIXME: not internal */ const char *scm_i_string_chars (SCM str);
+SCM_API /* FIXME: not internal */ char *scm_i_string_writable_chars (SCM str);
+SCM_INTERNAL void scm_i_string_stop_writing (void);
/* internal functions related to symbols. */
-SCM_API SCM scm_i_make_symbol (SCM name, scm_t_bits flags,
- unsigned long hash, SCM props);
-SCM_API SCM
+SCM_INTERNAL SCM scm_i_make_symbol (SCM name, scm_t_bits flags,
+ unsigned long hash, SCM props);
+SCM_INTERNAL SCM
scm_i_c_make_symbol (const char *name, size_t len,
scm_t_bits flags, unsigned long hash, SCM props);
-SCM_API SCM
+SCM_INTERNAL SCM
scm_i_c_take_symbol (char *name, size_t len,
scm_t_bits flags, unsigned long hash, SCM props);
-SCM_API const char *scm_i_symbol_chars (SCM sym);
-SCM_API size_t scm_i_symbol_length (SCM sym);
-SCM_API SCM scm_i_symbol_substring (SCM sym, size_t start, size_t end);
+SCM_INTERNAL const char *scm_i_symbol_chars (SCM sym);
+SCM_INTERNAL size_t scm_i_symbol_length (SCM sym);
+SCM_INTERNAL SCM scm_i_symbol_substring (SCM sym, size_t start, size_t end);
/* internal GC functions. */
-SCM_API SCM scm_i_string_mark (SCM str);
-SCM_API SCM scm_i_stringbuf_mark (SCM buf);
-SCM_API SCM scm_i_symbol_mark (SCM buf);
-SCM_API void scm_i_string_free (SCM str);
-SCM_API void scm_i_stringbuf_free (SCM buf);
-SCM_API void scm_i_symbol_free (SCM sym);
+SCM_INTERNAL SCM scm_i_string_mark (SCM str);
+SCM_INTERNAL SCM scm_i_stringbuf_mark (SCM buf);
+SCM_INTERNAL SCM scm_i_symbol_mark (SCM buf);
+SCM_INTERNAL void scm_i_string_free (SCM str);
+SCM_INTERNAL void scm_i_stringbuf_free (SCM buf);
+SCM_INTERNAL void scm_i_symbol_free (SCM sym);
/* internal utility functions. */
-SCM_API char **scm_i_allocate_string_pointers (SCM list);
-SCM_API void scm_i_free_string_pointers (char **pointers);
-SCM_API void scm_i_get_substring_spec (size_t len,
- SCM start, size_t *cstart,
- SCM end, size_t *cend);
-SCM_API SCM scm_i_take_stringbufn (char *str, size_t len);
+SCM_INTERNAL char **scm_i_allocate_string_pointers (SCM list);
+SCM_INTERNAL void scm_i_free_string_pointers (char **pointers);
+SCM_INTERNAL void scm_i_get_substring_spec (size_t len,
+ SCM start, size_t *cstart,
+ SCM end, size_t *cend);
+SCM_INTERNAL SCM scm_i_take_stringbufn (char *str, size_t len);
/* deprecated stuff */
@@ -167,7 +167,7 @@ SCM_API size_t scm_i_deprecated_string_length (SCM str);
#endif
-SCM_API void scm_init_strings (void);
+SCM_INTERNAL void scm_init_strings (void);
#endif /* SCM_STRINGS_H */
diff --git a/libguile/strorder.h b/libguile/strorder.h
index 51168e0..1711863 100644
--- a/libguile/strorder.h
+++ b/libguile/strorder.h
@@ -3,7 +3,7 @@
#ifndef SCM_STRORDER_H
#define SCM_STRORDER_H
-/* Copyright (C) 1995,1996,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000, 2006, 2008 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
@@ -36,7 +36,7 @@ SCM_API SCM scm_string_ci_less_p (SCM s1, SCM s2);
SCM_API SCM scm_string_ci_leq_p (SCM s1, SCM s2);
SCM_API SCM scm_string_ci_gr_p (SCM s1, SCM s2);
SCM_API SCM scm_string_ci_geq_p (SCM s1, SCM s2);
-SCM_API void scm_init_strorder (void);
+SCM_INTERNAL void scm_init_strorder (void);
#endif /* SCM_STRORDER_H */
diff --git a/libguile/strports.h b/libguile/strports.h
index 2ca5fb5..58ca71f 100644
--- a/libguile/strports.h
+++ b/libguile/strports.h
@@ -3,7 +3,7 @@
#ifndef SCM_STRPORTS_H
#define SCM_STRPORTS_H
-/* Copyright (C) 1995,1996,2000,2001,2002, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000,2001,2002, 2006, 2008 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
@@ -55,7 +55,7 @@ SCM_API SCM scm_c_eval_string (const char *expr);
SCM_API SCM scm_c_eval_string_in_module (const char *expr, SCM module);
SCM_API SCM scm_eval_string (SCM string);
SCM_API SCM scm_eval_string_in_module (SCM string, SCM module);
-SCM_API void scm_init_strports (void);
+SCM_INTERNAL void scm_init_strports (void);
#endif /* SCM_STRPORTS_H */
diff --git a/libguile/struct.h b/libguile/struct.h
index 4b263d2..f00a8d8 100644
--- a/libguile/struct.h
+++ b/libguile/struct.h
@@ -3,7 +3,7 @@
#ifndef SCM_STRUCT_H
#define SCM_STRUCT_H
-/* Copyright (C) 1995,1997,1999,2000,2001, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1997,1999,2000,2001, 2006, 2007, 2008 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
@@ -79,7 +79,7 @@ SCM_API SCM scm_struct_table;
#define SCM_STRUCT_GC_CHAIN(X) SCM_CELL_OBJECT_3 (X)
#define SCM_SET_STRUCT_GC_CHAIN(X, Y) SCM_SET_CELL_OBJECT_3 (X, Y)
-SCM_API SCM scm_i_structs_to_free;
+SCM_INTERNAL SCM scm_i_structs_to_free;
\f
@@ -95,7 +95,7 @@ SCM_API SCM scm_struct_vtable_p (SCM x);
SCM_API SCM scm_make_struct (SCM vtable, SCM tail_array_size, SCM init);
SCM_API SCM scm_make_vtable (SCM fields, SCM printer);
SCM_API SCM scm_make_vtable_vtable (SCM extra_fields, SCM tail_array_size, SCM init);
-SCM_API SCM scm_i_struct_equalp (SCM s1, SCM s2);
+SCM_INTERNAL SCM scm_i_struct_equalp (SCM s1, SCM s2);
SCM_API SCM scm_struct_ref (SCM handle, SCM pos);
SCM_API SCM scm_struct_set_x (SCM handle, SCM pos, SCM val);
SCM_API SCM scm_struct_vtable (SCM handle);
@@ -106,7 +106,7 @@ SCM_API SCM scm_struct_vtable_name (SCM vtable);
SCM_API SCM scm_set_struct_vtable_name_x (SCM vtable, SCM name);
SCM_API void scm_print_struct (SCM exp, SCM port, scm_print_state *);
SCM_API void scm_struct_prehistory (void);
-SCM_API void scm_init_struct (void);
+SCM_INTERNAL void scm_init_struct (void);
#endif /* SCM_STRUCT_H */
diff --git a/libguile/symbols.h b/libguile/symbols.h
index f70d655..c2dc183 100644
--- a/libguile/symbols.h
+++ b/libguile/symbols.h
@@ -3,7 +3,7 @@
#ifndef SCM_SYMBOLS_H
#define SCM_SYMBOLS_H
-/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2003, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2003, 2004, 2006, 2008 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
@@ -61,11 +61,11 @@ SCM_API SCM scm_take_locale_symboln (char *sym, size_t len);
/* internal functions. */
-SCM_API unsigned long scm_i_hash_symbol (SCM obj, unsigned long n,
+SCM_INTERNAL unsigned long scm_i_hash_symbol (SCM obj, unsigned long n,
void *closure);
-SCM_API void scm_symbols_prehistory (void);
-SCM_API void scm_init_symbols (void);
+SCM_INTERNAL void scm_symbols_prehistory (void);
+SCM_INTERNAL void scm_init_symbols (void);
#endif /* SCM_SYMBOLS_H */
diff --git a/libguile/threads.h b/libguile/threads.h
index 49d1f2e..c9992b4 100644
--- a/libguile/threads.h
+++ b/libguile/threads.h
@@ -137,23 +137,23 @@ SCM_API SCM scm_spawn_thread (scm_t_catch_body body, void *body_data,
SCM_API void *scm_without_guile (void *(*func)(void *), void *data);
SCM_API void *scm_with_guile (void *(*func)(void *), void *data);
-SCM_API void *scm_i_with_guile_and_parent (void *(*func)(void *), void *data,
- SCM parent);
+SCM_INTERNAL void *scm_i_with_guile_and_parent (void *(*func)(void *),
+ void *data, SCM parent);
extern int scm_i_thread_go_to_sleep;
-void scm_i_thread_put_to_sleep (void);
-void scm_i_thread_wake_up (void);
-void scm_i_thread_invalidate_freelists (void);
+SCM_INTERNAL void scm_i_thread_put_to_sleep (void);
+SCM_INTERNAL void scm_i_thread_wake_up (void);
+SCM_INTERNAL void scm_i_thread_invalidate_freelists (void);
void scm_i_thread_sleep_for_gc (void);
-void scm_threads_prehistory (SCM_STACKITEM *);
-void scm_threads_init_first_thread (void);
-SCM_API void scm_threads_mark_stacks (void);
-SCM_API void scm_init_threads (void);
-SCM_API void scm_init_thread_procs (void);
-SCM_API void scm_init_threads_default_dynamic_state (void);
+SCM_INTERNAL void scm_threads_prehistory (SCM_STACKITEM *);
+SCM_INTERNAL void scm_threads_init_first_thread (void);
+SCM_INTERNAL void scm_threads_mark_stacks (void);
+SCM_INTERNAL void scm_init_threads (void);
+SCM_INTERNAL void scm_init_thread_procs (void);
+SCM_INTERNAL void scm_init_threads_default_dynamic_state (void);
#define SCM_THREAD_SWITCHING_CODE \
@@ -208,7 +208,7 @@ SCM_API scm_i_pthread_key_t scm_i_thread_key;
#define scm_i_set_last_debug_frame(f) \
(SCM_I_CURRENT_THREAD->last_debug_frame = (f))
-SCM_API scm_i_pthread_mutex_t scm_i_misc_mutex;
+SCM_INTERNAL scm_i_pthread_mutex_t scm_i_misc_mutex;
/* Convenience functions for working with the pthread API in guile
mode.
diff --git a/libguile/throw.h b/libguile/throw.h
index 84b0aa9..3cd5572 100644
--- a/libguile/throw.h
+++ b/libguile/throw.h
@@ -3,7 +3,7 @@
#ifndef SCM_THROW_H
#define SCM_THROW_H
-/* Copyright (C) 1995,1996,1998,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,2000, 2006, 2008 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
@@ -94,7 +94,7 @@ SCM_API SCM scm_lazy_catch (SCM tag, SCM thunk, SCM handler);
SCM_API SCM scm_ithrow (SCM key, SCM args, int noreturn);
SCM_API SCM scm_throw (SCM key, SCM args);
-SCM_API void scm_init_throw (void);
+SCM_INTERNAL void scm_init_throw (void);
#endif /* SCM_THROW_H */
diff --git a/libguile/unif.h b/libguile/unif.h
index 1ce3a8f..a09bfc9 100644
--- a/libguile/unif.h
+++ b/libguile/unif.h
@@ -3,7 +3,7 @@
#ifndef SCM_UNIF_H
#define SCM_UNIF_H
-/* Copyright (C) 1995,1996,1997,1999,2000,2001, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1999,2000,2001, 2004, 2006, 2008 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
@@ -162,9 +162,9 @@ SCM_API scm_t_bits scm_i_tc16_enclosed_array;
#define SCM_I_ARRAY_DIMS(a) \
((scm_t_array_dim *)((char *) SCM_I_ARRAY_MEM (a) + sizeof (scm_i_t_array)))
-SCM_API SCM scm_i_make_ra (int ndim, int enclosed);
-SCM_API SCM scm_i_cvref (SCM v, size_t p, int enclosed);
-SCM_API SCM scm_i_read_array (SCM port, int c);
+SCM_INTERNAL SCM scm_i_make_ra (int ndim, int enclosed);
+SCM_INTERNAL SCM scm_i_cvref (SCM v, size_t p, int enclosed);
+SCM_INTERNAL SCM scm_i_read_array (SCM port, int c);
/* deprecated. */
@@ -183,7 +183,7 @@ SCM_API int scm_raprin1 (SCM exp, SCM port, scm_print_state *pstate);
#endif
-SCM_API void scm_init_unif (void);
+SCM_INTERNAL void scm_init_unif (void);
#endif /* SCM_UNIF_H */
diff --git a/libguile/values.h b/libguile/values.h
index bc603c1..f05ce9f 100644
--- a/libguile/values.h
+++ b/libguile/values.h
@@ -3,7 +3,7 @@
#ifndef SCM_VALUES_H
#define SCM_VALUES_H
-/* Copyright (C) 2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2000,2001, 2006, 2008 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
@@ -30,7 +30,7 @@ SCM_API SCM scm_values_vtable;
&& scm_is_eq (scm_struct_vtable (x), scm_values_vtable))
SCM_API SCM scm_values (SCM args);
-SCM_API void scm_init_values (void);
+SCM_INTERNAL void scm_init_values (void);
#endif /* SCM_VALUES_H */
diff --git a/libguile/variable.h b/libguile/variable.h
index 2f2e1a5..3f6398b 100644
--- a/libguile/variable.h
+++ b/libguile/variable.h
@@ -3,7 +3,7 @@
#ifndef SCM_VARIABLE_H
#define SCM_VARIABLE_H
-/* Copyright (C) 1995,1996,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000,2001, 2006, 2008 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
@@ -43,9 +43,9 @@ SCM_API SCM scm_variable_ref (SCM var);
SCM_API SCM scm_variable_set_x (SCM var, SCM val);
SCM_API SCM scm_variable_bound_p (SCM var);
-SCM_API void scm_i_variable_print (SCM var, SCM port, scm_print_state *pstate);
+SCM_INTERNAL void scm_i_variable_print (SCM var, SCM port, scm_print_state *pstate);
-SCM_API void scm_init_variable (void);
+SCM_INTERNAL void scm_init_variable (void);
#endif /* SCM_VARIABLE_H */
diff --git a/libguile/vectors.h b/libguile/vectors.h
index b1def06..28a576c 100644
--- a/libguile/vectors.h
+++ b/libguile/vectors.h
@@ -3,7 +3,7 @@
#ifndef SCM_VECTORS_H
#define SCM_VECTORS_H
-/* Copyright (C) 1995,1996,1998,2000,2001,2002,2004,2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,2000,2001,2002,2004,2005, 2006, 2008 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
@@ -82,8 +82,8 @@ SCM_API void scm_generalized_vector_get_handle (SCM vec,
#define SCM_I_VECTOR_WELTS(x) ((SCM *) SCM_CELL_WORD_1 (x))
#define SCM_I_VECTOR_LENGTH(x) (((size_t) SCM_CELL_WORD_0 (x)) >> 8)
-SCM_API void scm_i_vector_free (SCM vec);
-SCM_API SCM scm_i_vector_equal_p (SCM x, SCM y);
+SCM_INTERNAL void scm_i_vector_free (SCM vec);
+SCM_INTERNAL SCM scm_i_vector_equal_p (SCM x, SCM y);
/* Weak vectors share implementation details with ordinary vectors,
but no one else should.
@@ -99,9 +99,9 @@ SCM_API SCM scm_i_vector_equal_p (SCM x, SCM y);
#define SCM_I_WVECT_GC_CHAIN(x) (SCM_CELL_OBJECT_3 (x))
#define SCM_I_SET_WVECT_GC_CHAIN(x, o) (SCM_SET_CELL_OBJECT_3 ((x), (o)))
-SCM_API SCM scm_i_allocate_weak_vector (scm_t_bits type, SCM size, SCM fill);
+SCM_INTERNAL SCM scm_i_allocate_weak_vector (scm_t_bits type, SCM size, SCM fill);
-SCM_API void scm_init_vectors (void);
+SCM_INTERNAL void scm_init_vectors (void);
#endif /* SCM_VECTORS_H */
diff --git a/libguile/version.h.in b/libguile/version.h.in
index 1d8f277..b565efd 100644
--- a/libguile/version.h.in
+++ b/libguile/version.h.in
@@ -3,7 +3,7 @@
#ifndef SCM_VERSION_H
#define SCM_VERSION_H
-/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2006, 2008 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
@@ -35,7 +35,7 @@ SCM_API SCM scm_minor_version (void);
SCM_API SCM scm_micro_version (void);
SCM_API SCM scm_effective_version (void);
SCM_API SCM scm_version (void);
-SCM_API void scm_init_version (void);
+SCM_INTERNAL void scm_init_version (void);
#endif /* SCM_VERSION_H */
diff --git a/libguile/vports.h b/libguile/vports.h
index c25f90f..365303b 100644
--- a/libguile/vports.h
+++ b/libguile/vports.h
@@ -3,7 +3,7 @@
#ifndef SCM_VPORTS_H
#define SCM_VPORTS_H
-/* Copyright (C) 1995,1996,2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000, 2006, 2008 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
@@ -27,7 +27,7 @@
\f
SCM_API SCM scm_make_soft_port (SCM pv, SCM modes);
-SCM_API void scm_init_vports (void);
+SCM_INTERNAL void scm_init_vports (void);
#endif /* SCM_VPORTS_H */
diff --git a/libguile/weaks.h b/libguile/weaks.h
index bf854d5..34c44a9 100644
--- a/libguile/weaks.h
+++ b/libguile/weaks.h
@@ -3,7 +3,7 @@
#ifndef SCM_WEAKS_H
#define SCM_WEAKS_H
-/* Copyright (C) 1995,1996,2000,2001, 2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,2000,2001, 2003, 2006, 2008 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
@@ -62,13 +62,13 @@ SCM_API SCM scm_make_doubly_weak_alist_vector (SCM k);
SCM_API SCM scm_weak_key_alist_vector_p (SCM x);
SCM_API SCM scm_weak_value_alist_vector_p (SCM x);
SCM_API SCM scm_doubly_weak_alist_vector_p (SCM x);
-SCM_API SCM scm_init_weaks_builtins (void);
-SCM_API void scm_init_weaks (void);
+SCM_INTERNAL SCM scm_init_weaks_builtins (void);
+SCM_INTERNAL void scm_init_weaks (void);
-SCM_API void scm_i_init_weak_vectors_for_gc (void);
-SCM_API void scm_i_mark_weak_vector (SCM w);
-SCM_API int scm_i_mark_weak_vectors_non_weaks (void);
-SCM_API void scm_i_remove_weaks_from_weak_vectors (void);
+SCM_INTERNAL void scm_i_init_weak_vectors_for_gc (void);
+SCM_INTERNAL void scm_i_mark_weak_vector (SCM w);
+SCM_INTERNAL int scm_i_mark_weak_vectors_non_weaks (void);
+SCM_INTERNAL void scm_i_remove_weaks_from_weak_vectors (void);
#endif /* SCM_WEAKS_H */
diff --git a/test-suite/standalone/test-gh.c b/test-suite/standalone/test-gh.c
index 4d91cce..b273b44 100644
--- a/test-suite/standalone/test-gh.c
+++ b/test-suite/standalone/test-gh.c
@@ -31,7 +31,7 @@ string_equal (SCM str, char *lit)
int len = strlen (lit);
int result;
- result = ((scm_i_string_length (str) == len)
+ result = ((scm_c_string_length (str) == len)
&& (!memcmp (scm_i_string_chars (str), lit, len)));
scm_remember_upto_here_1 (str);
return result;
--
1.5.5
^ permalink raw reply related [flat|nested] 33+ messages in thread