diff options
author | Ludovic Courtès <ludo@gnu.org> | 2009-09-14 00:40:03 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2009-09-14 00:42:25 +0200 |
commit | 756e8a3acfd52ed391c1f8374d85a8cca0d2bad3 (patch) | |
tree | a6c95b91db5967df0d3f734dcb1121fba641a059 | |
parent | a5229ee822a17caa46400e08bcd37e3d38b19768 (diff) | |
download | guile-756e8a3acfd52ed391c1f8374d85a8cca0d2bad3.tar.gz |
Merge `libguile-i18n' into `libguile'.
* GUILE-VERSION (LIBGUILE_I18N_MAJOR, LIBGUILE_I18N_INTERFACE_CURRENT,
LIBGUILE_I18N_INTERFACE_REVISION, LIBGUILE_I18N_INTERFACE_AGE,
LIBGUILE_I18N_INTERFACE): Remove.
* doc/ref/api-i18n.texi (i18n Introduction): Don't mention
`libguile-i18n'.
* libguile.h: Include "libguile/i18n.h".
* libguile/Makefile.am (lib_LTLIBRARIES): Remove `libguile-i18n-v*'.
(libguile_la_SOURCES): Add `i18n.c'.
(libguile_i18n_v_*_SOURCES, libguile_i18n_v_*_CFLAGS,
libguile_i18n_v_*_LIBADD, libguile_i18n_v_*_LDFLAGS): Remove.
* libguile/i18n.c (scm_bootstrap_i18n): New function.
* libguile/i18n.h (scm_nl_langinfo, scm_init_i18n): Made internal.
(scm_bootstrap_i18n): New declaration.
* libguile/init.c (scm_i_init_guile): Invoke `scm_bootstrap_i18n ()'.
* module/ice-9/i18n.scm: Load from `libguile' instead of
`libguile-i18n-v-0'.
-rw-r--r-- | GUILE-VERSION | 6 | ||||
-rw-r--r-- | doc/ref/api-i18n.texi | 8 | ||||
-rw-r--r-- | libguile.h | 1 | ||||
-rw-r--r-- | libguile/Makefile.am | 13 | ||||
-rw-r--r-- | libguile/i18n.c | 10 | ||||
-rw-r--r-- | libguile/i18n.h | 9 | ||||
-rw-r--r-- | libguile/init.c | 2 | ||||
-rw-r--r-- | module/ice-9/i18n.scm | 10 |
8 files changed, 27 insertions, 32 deletions
diff --git a/GUILE-VERSION b/GUILE-VERSION index 6d86dd8dd..80e2916b6 100644 --- a/GUILE-VERSION +++ b/GUILE-VERSION @@ -54,9 +54,3 @@ LIBGUILE_SRFI_SRFI_60_INTERFACE_CURRENT=3 LIBGUILE_SRFI_SRFI_60_INTERFACE_REVISION=0 LIBGUILE_SRFI_SRFI_60_INTERFACE_AGE=0 LIBGUILE_SRFI_SRFI_60_INTERFACE="${LIBGUILE_SRFI_SRFI_60_INTERFACE_CURRENT}:${LIBGUILE_SRFI_SRFI_60_INTERFACE_REVISION}:${LIBGUILE_SRFI_SRFI_60_INTERFACE_AGE}" - -LIBGUILE_I18N_MAJOR=0 -LIBGUILE_I18N_INTERFACE_CURRENT=0 -LIBGUILE_I18N_INTERFACE_REVISION=0 -LIBGUILE_I18N_INTERFACE_AGE=0 -LIBGUILE_I18N_INTERFACE="${LIBGUILE_I18N_INTERFACE_CURRENT}:${LIBGUILE_INTERFACE_REVISION}:${LIBGUILE_I18N_INTERFACE_AGE}" diff --git a/doc/ref/api-i18n.texi b/doc/ref/api-i18n.texi index be5afe4f9..8bc9896e5 100644 --- a/doc/ref/api-i18n.texi +++ b/doc/ref/api-i18n.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Guile Reference Manual. -@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006, 2007 +@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2009 @c Free Software Foundation, Inc. @c See the file guile.texi for copying conditions. @@ -39,12 +39,6 @@ In order to make use of the functions described thereafter, the (use-modules (ice-9 i18n)) @end example -@cindex libguile-i18n-v-@value{LIBGUILE_I18N_MAJOR} - -C programs can use the C functions corresponding to the procedures of -this module by including @code{<libguile/i18n.h>} and by linking -against @code{libguile-i18n-v-@value{LIBGUILE_I18N_MAJOR}}. - @cindex cultural conventions The @code{(ice-9 i18n)} module provides procedures to manipulate text diff --git a/libguile.h b/libguile.h index 74674d5b9..7967c2b51 100644 --- a/libguile.h +++ b/libguile.h @@ -61,6 +61,7 @@ extern "C" { #include "libguile/guardians.h" #include "libguile/hash.h" #include "libguile/hashtab.h" +#include "libguile/i18n.h" #include "libguile/init.h" #include "libguile/ioext.h" #include "libguile/rdelim.h" diff --git a/libguile/Makefile.am b/libguile/Makefile.am index 5070de6b8..f4f12825d 100644 --- a/libguile/Makefile.am +++ b/libguile/Makefile.am @@ -43,8 +43,7 @@ gnulib_library = $(top_builddir)/lib/libgnu.la ETAGS_ARGS = --regex='/SCM_\(GLOBAL_\)?\(G?PROC\|G?PROC1\|SYMBOL\|VCELL\|CONST_LONG\).*\"\([^\"]\)*\"/\3/' \ --regex='/[ \t]*SCM_[G]?DEFINE1?[ \t]*(\([^,]*\),[^,]*/\1/' -lib_LTLIBRARIES = libguile.la \ - libguile-i18n-v-@LIBGUILE_I18N_MAJOR@.la +lib_LTLIBRARIES = libguile.la bin_PROGRAMS = guile noinst_PROGRAMS = guile_filter_doc_snarfage gen-scmconfig @@ -145,6 +144,7 @@ libguile_la_SOURCES = \ hash.c \ hashtab.c \ hooks.c \ + i18n.c \ init.c \ inline.c \ instructions.c \ @@ -203,15 +203,6 @@ libguile_la_SOURCES = \ vports.c \ weaks.c -libguile_i18n_v_@LIBGUILE_I18N_MAJOR@_la_SOURCES = i18n.c -libguile_i18n_v_@LIBGUILE_I18N_MAJOR@_la_CFLAGS = \ - $(libguile_la_CFLAGS) -libguile_i18n_v_@LIBGUILE_I18N_MAJOR@_la_LIBADD = \ - libguile.la $(gnulib_library) -libguile_i18n_v_@LIBGUILE_I18N_MAJOR@_la_LDFLAGS = \ - -module -L$(builddir) -lguile \ - -version-info @LIBGUILE_I18N_INTERFACE@ - DOT_X_FILES = \ alist.x \ arbiters.x \ diff --git a/libguile/i18n.c b/libguile/i18n.c index fd15227b5..4b7eb044c 100644 --- a/libguile/i18n.c +++ b/libguile/i18n.c @@ -23,6 +23,7 @@ #include <alloca.h> #include "libguile/_scm.h" +#include "libguile/extensions.h" #include "libguile/feature.h" #include "libguile/i18n.h" #include "libguile/strings.h" @@ -1707,6 +1708,15 @@ scm_init_i18n () SCM_VARIABLE_SET (scm_global_locale, global_locale_smob); } +void +scm_bootstrap_i18n () +{ + scm_c_register_extension ("libguile", "scm_init_i18n", + (scm_t_extension_init_func) scm_init_i18n, + NULL); + +} + /* Local Variables: diff --git a/libguile/i18n.h b/libguile/i18n.h index df2970b4e..16045eb0c 100644 --- a/libguile/i18n.h +++ b/libguile/i18n.h @@ -3,7 +3,7 @@ #ifndef SCM_I18N_H #define SCM_I18N_H -/* Copyright (C) 2006, 2008 Free Software Foundation, Inc. +/* Copyright (C) 2006, 2008, 2009 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -42,9 +42,12 @@ SCM_API SCM scm_string_locale_upcase (SCM chr, SCM locale); SCM_API SCM scm_string_locale_downcase (SCM chr, SCM locale); SCM_API SCM scm_locale_string_to_integer (SCM str, SCM base, SCM locale); SCM_API SCM scm_locale_string_to_inexact (SCM str, SCM locale); -SCM_API SCM scm_nl_langinfo (SCM item, SCM locale); -SCM_API void scm_init_i18n (void); +SCM_INTERNAL SCM scm_nl_langinfo (SCM item, SCM locale); + +SCM_INTERNAL void scm_init_i18n (void); +SCM_INTERNAL void scm_bootstrap_i18n (void); + #endif /* SCM_I18N_H */ diff --git a/libguile/init.c b/libguile/init.c index 940d515f6..3fbe3685f 100644 --- a/libguile/init.c +++ b/libguile/init.c @@ -71,6 +71,7 @@ #include "libguile/hashtab.h" #include "libguile/hooks.h" #include "libguile/gettext.h" +#include "libguile/i18n.h" #include "libguile/iselect.h" #include "libguile/ioext.h" #include "libguile/keywords.h" @@ -561,6 +562,7 @@ scm_i_init_guile (SCM_STACKITEM *base) scm_init_load_path (); scm_init_standard_ports (); /* Requires fports */ scm_init_dynamic_linking (); + scm_bootstrap_i18n (); #if SCM_ENABLE_ELISP scm_init_lang (); #endif /* SCM_ENABLE_ELISP */ diff --git a/module/ice-9/i18n.scm b/module/ice-9/i18n.scm index dd14e6754..e63ec7421 100644 --- a/module/ice-9/i18n.scm +++ b/module/ice-9/i18n.scm @@ -1,22 +1,22 @@ ;;;; i18n.scm --- internationalization support -;;;; Copyright (C) 2006, 2007 Free Software Foundation, Inc. +;;;; Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public ;;;; License as published by the Free Software Foundation; either ;;;; version 3 of the License, or (at your option) any later version. -;;;; +;;;; ;;;; This library is distributed in the hope that it will be useful, ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;;; Lesser General Public License for more details. -;;;; +;;;; ;;;; You should have received a copy of the GNU Lesser General Public ;;;; License along with this library; if not, write to the Free Software ;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -;;; Author: Ludovic Courtès <ludovic.courtes@laas.fr> +;;; Author: Ludovic Courtès <ludo@gnu.org> ;;; Commentary: ;;; @@ -84,7 +84,7 @@ (eval-when (eval load compile) - (load-extension "libguile-i18n-v-0" "scm_init_i18n")) + (load-extension "libguile" "scm_init_i18n")) ;;; |