mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Changes from arch/CVS synchronization
This commit is contained in:
parent
cbea802b37
commit
b89c494395
20 changed files with 1607 additions and 343 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2006-11-18 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
|
* GUILE-VERSION: Added `LIBGUILE_I18N_*'.
|
||||||
|
|
||||||
|
* configure.in: Look for `strcoll_l ()' and `newlocale ()'.
|
||||||
|
Substitute the `LIBGUILE_I18N_' variables.
|
||||||
|
|
||||||
|
* NEWS: Mention `(ice-9 i18n)'.
|
||||||
|
|
||||||
2006-11-17 Neil Jerram <neil@ossau.uklinux.net>
|
2006-11-17 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
* README: Note need for subscription to bug-guile@gnu.org.
|
* README: Note need for subscription to bug-guile@gnu.org.
|
||||||
|
|
|
@ -54,3 +54,9 @@ LIBGUILE_SRFI_SRFI_60_INTERFACE_CURRENT=3
|
||||||
LIBGUILE_SRFI_SRFI_60_INTERFACE_REVISION=0
|
LIBGUILE_SRFI_SRFI_60_INTERFACE_REVISION=0
|
||||||
LIBGUILE_SRFI_SRFI_60_INTERFACE_AGE=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_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}"
|
||||||
|
|
2
NEWS
2
NEWS
|
@ -39,6 +39,8 @@ Changes in 1.8.1 (since 1.8.0):
|
||||||
** scm_exp - [C]
|
** scm_exp - [C]
|
||||||
** scm_sqrt - [C]
|
** scm_sqrt - [C]
|
||||||
|
|
||||||
|
* New `(ice-9 i18n)' module (see the manual for details)
|
||||||
|
|
||||||
* Bugs fixed
|
* Bugs fixed
|
||||||
|
|
||||||
** Build problems have been fixed on MacOS, SunOS, and QNX.
|
** Build problems have been fixed on MacOS, SunOS, and QNX.
|
||||||
|
|
10
configure.in
10
configure.in
|
@ -616,8 +616,9 @@ AC_CHECK_HEADERS([assert.h crt_externs.h])
|
||||||
# truncate - not in mingw
|
# truncate - not in mingw
|
||||||
# isblank - available as a GNU extension or in C99
|
# isblank - available as a GNU extension or in C99
|
||||||
# _NSGetEnviron - Darwin specific
|
# _NSGetEnviron - Darwin specific
|
||||||
|
# strcoll_l, newlocale - GNU extensions (glibc)
|
||||||
#
|
#
|
||||||
AC_CHECK_FUNCS([DINFINITY DQNAN chsize clog10 ctermid fesetround ftime ftruncate fchown getcwd geteuid gettimeofday gmtime_r ioctl lstat mkdir mknod nice readdir_r readlink rename rmdir select setegid seteuid setlocale setpgid setsid sigaction siginterrupt stat64 strftime strptime symlink sync sysconf tcgetpgrp tcsetpgrp times uname waitpid strdup system usleep atexit on_exit chown link fcntl ttyname getpwent getgrent kill getppid getpgrp fork setitimer getitimer strchr strcmp index bcopy memcpy rindex truncate unsetenv isblank _NSGetEnviron])
|
AC_CHECK_FUNCS([DINFINITY DQNAN chsize clog10 ctermid fesetround ftime ftruncate fchown getcwd geteuid gettimeofday gmtime_r ioctl lstat mkdir mknod nice readdir_r readlink rename rmdir select setegid seteuid setlocale setpgid setsid sigaction siginterrupt stat64 strftime strptime symlink sync sysconf tcgetpgrp tcsetpgrp times uname waitpid strdup system usleep atexit on_exit chown link fcntl ttyname getpwent getgrent kill getppid getpgrp fork setitimer getitimer strchr strcmp index bcopy memcpy rindex truncate unsetenv isblank _NSGetEnviron strcoll strcoll_l newlocale])
|
||||||
|
|
||||||
# Reasons for testing:
|
# Reasons for testing:
|
||||||
# netdb.h - not in mingw
|
# netdb.h - not in mingw
|
||||||
|
@ -1275,6 +1276,13 @@ AC_SUBST(LIBGUILE_SRFI_SRFI_60_INTERFACE_REVISION)
|
||||||
AC_SUBST(LIBGUILE_SRFI_SRFI_60_INTERFACE_AGE)
|
AC_SUBST(LIBGUILE_SRFI_SRFI_60_INTERFACE_AGE)
|
||||||
AC_SUBST(LIBGUILE_SRFI_SRFI_60_INTERFACE)
|
AC_SUBST(LIBGUILE_SRFI_SRFI_60_INTERFACE)
|
||||||
|
|
||||||
|
AC_SUBST(LIBGUILE_I18N_MAJOR)
|
||||||
|
AC_SUBST(LIBGUILE_I18N_INTERFACE_CURRENT)
|
||||||
|
AC_SUBST(LIBGUILE_I18N_INTERFACE_REVISION)
|
||||||
|
AC_SUBST(LIBGUILE_I18N_INTERFACE_AGE)
|
||||||
|
AC_SUBST(LIBGUILE_I18N_INTERFACE)
|
||||||
|
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
|
|
||||||
dnl Tell guile-config what flags guile users should compile and link with.
|
dnl Tell guile-config what flags guile users should compile and link with.
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
2006-11-18 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
|
* Makefile.am (BUILT_SOURCES): New variable.
|
||||||
|
(lib-version.texi): New target.
|
||||||
|
|
||||||
|
* guile.texi: Include `lib-version.texi'.
|
||||||
|
|
||||||
|
* api-data.texi (Conversion): Link to `The ice-9 i18n Module' when
|
||||||
|
describing `string->number'.
|
||||||
|
(String Comparison): Likewise.
|
||||||
|
|
||||||
|
* api-i18n.texi (Internationalization)[The ice-9 i18n Module]: New
|
||||||
|
node.
|
||||||
|
[Gettext Support]: New node; contains text formerly in
|
||||||
|
`Internationalization'.
|
||||||
|
|
||||||
|
* posix.texi (Locales): Added a link to the glibc manual
|
||||||
|
describing the various locale categories. Mention locale objects
|
||||||
|
and link to `The ice-9 i18n Module' when describing `setlocale'.
|
||||||
|
|
||||||
2006-11-17 Neil Jerram <neil@ossau.uklinux.net>
|
2006-11-17 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
* intro.texi (Reporting Bugs): Note need for subscription to
|
* intro.texi (Reporting Bugs): Note need for subscription to
|
||||||
|
@ -87,7 +107,7 @@
|
||||||
* api-data.texi (Scientific): In sqrt, note it's the positive root
|
* api-data.texi (Scientific): In sqrt, note it's the positive root
|
||||||
which is returned (as per R5RS).
|
which is returned (as per R5RS).
|
||||||
|
|
||||||
2006-09-20 Ludovic Courtès <ludovic.courtes@laas.fr>
|
2006-09-20 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
* api-data.texi (Standard Character Sets): Documented the
|
* api-data.texi (Standard Character Sets): Documented the
|
||||||
charset recomputation upon successful `setlocale'.
|
charset recomputation upon successful `setlocale'.
|
||||||
|
@ -214,12 +234,12 @@
|
||||||
* posix.texi (Time): In tm:gmtoff, give example values, note not the
|
* posix.texi (Time): In tm:gmtoff, give example values, note not the
|
||||||
same as C tm_gmtoff.
|
same as C tm_gmtoff.
|
||||||
|
|
||||||
2006-06-16 Ludovic Courtès <ludovic.courtes@laas.fr>
|
2006-06-16 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
* api-utility.texi (Equality): Mentioned the behavior of `equal?'
|
* api-utility.texi (Equality): Mentioned the behavior of `equal?'
|
||||||
for structures (as suggested by Kevin Ryde).
|
for structures (as suggested by Kevin Ryde).
|
||||||
|
|
||||||
2006-06-13 Ludovic Courtès <ludovic.courtes@laas.fr>
|
2006-06-13 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
* api-compound.texi (Structure Concepts): Mentioned the behavior
|
* api-compound.texi (Structure Concepts): Mentioned the behavior
|
||||||
of `equal?' for structures.
|
of `equal?' for structures.
|
||||||
|
@ -286,7 +306,7 @@
|
||||||
SCM_SIMPLE_VECTOR_SET not SCM_SIMPLE_VECTOR_SET_X, the former is
|
SCM_SIMPLE_VECTOR_SET not SCM_SIMPLE_VECTOR_SET_X, the former is
|
||||||
what's in vector.h.
|
what's in vector.h.
|
||||||
|
|
||||||
2006-03-21 Ludovic Courtès <ludovic.courtes@laas.fr>
|
2006-03-21 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
* api-data.texi (Conversion): Add scm_c_locale_stringn_to_number.
|
* api-data.texi (Conversion): Add scm_c_locale_stringn_to_number.
|
||||||
|
|
||||||
|
@ -338,7 +358,7 @@
|
||||||
contexts. Renamed all functions from scm_frame_ to scm_dynwind_.
|
contexts. Renamed all functions from scm_frame_ to scm_dynwind_.
|
||||||
Updated documentation.
|
Updated documentation.
|
||||||
|
|
||||||
2005-12-19 Ludovic Courtès <ludovic.courtes@laas.fr>
|
2005-12-19 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
* api-data.texi (Operations Related to Symbols):
|
* api-data.texi (Operations Related to Symbols):
|
||||||
Documented `scm_take_locale_symbol ()'.
|
Documented `scm_take_locale_symbol ()'.
|
||||||
|
@ -380,7 +400,7 @@
|
||||||
|
|
||||||
2005-11-06 Kevin Ryde <user42@zip.com.au>
|
2005-11-06 Kevin Ryde <user42@zip.com.au>
|
||||||
|
|
||||||
From Ludovic Courtès, partial rework by me:
|
From Ludovic Courtès, partial rework by me:
|
||||||
* doc/ref/api-modules.texi (Creating Guile Modules): In define-module,
|
* doc/ref/api-modules.texi (Creating Guile Modules): In define-module,
|
||||||
describe #:re-export, #:export-syntax, #:re-export-syntax, #:replace
|
describe #:re-export, #:export-syntax, #:re-export-syntax, #:replace
|
||||||
and #:duplicates. Add re-export.
|
and #:duplicates. Add re-export.
|
||||||
|
@ -393,7 +413,7 @@
|
||||||
|
|
||||||
* posix.texi (Network Socket Address): Add scm_make_socket_address,
|
* posix.texi (Network Socket Address): Add scm_make_socket_address,
|
||||||
scm_c_make_socket_address, scm_from_sockaddr, scm_to_sockaddr. This
|
scm_c_make_socket_address, scm_from_sockaddr, scm_to_sockaddr. This
|
||||||
change by Ludovic Courtès and revised a bit by me.
|
change by Ludovic Courtès and revised a bit by me.
|
||||||
|
|
||||||
2005-10-27 Kevin Ryde <user42@zip.com.au>
|
2005-10-27 Kevin Ryde <user42@zip.com.au>
|
||||||
|
|
||||||
|
@ -2499,3 +2519,8 @@
|
||||||
The change log for files in this directory continues backwards
|
The change log for files in this directory continues backwards
|
||||||
from 2001-08-27 in ../ChangeLog, as all the Guile documentation
|
from 2001-08-27 in ../ChangeLog, as all the Guile documentation
|
||||||
prior to this date was contained in a single directory.
|
prior to this date was contained in a single directory.
|
||||||
|
|
||||||
|
|
||||||
|
;; Local Variables:
|
||||||
|
;; coding: utf-8
|
||||||
|
;; End:
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = gnu
|
AUTOMAKE_OPTIONS = gnu
|
||||||
|
|
||||||
|
BUILT_SOURCES = lib-version.texi
|
||||||
|
|
||||||
|
|
||||||
info_TEXINFOS = guile.texi
|
info_TEXINFOS = guile.texi
|
||||||
|
|
||||||
guile_TEXINFOS = preface.texi \
|
guile_TEXINFOS = preface.texi \
|
||||||
|
@ -86,4 +89,10 @@ autoconf.texi: autoconf-macros.texi
|
||||||
autoconf-macros.texi: $(top_srcdir)/guile-config/guile.m4
|
autoconf-macros.texi: $(top_srcdir)/guile-config/guile.m4
|
||||||
$(preinstguiletool)/snarf-guile-m4-docs $< > $(srcdir)/$@
|
$(preinstguiletool)/snarf-guile-m4-docs $< > $(srcdir)/$@
|
||||||
|
|
||||||
|
lib-version.texi: $(top_srcdir)/GUILE-VERSION
|
||||||
|
cat "$^" | grep '^LIBGUILE_.*_MAJOR' | \
|
||||||
|
sed 's/^LIBGUILE_\([A-Z0-9_]*\)_MAJOR=\([0-9]\+\)/@set LIBGUILE_\1_MAJOR \2/' \
|
||||||
|
> "$@"
|
||||||
|
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = autoconf-macros.texi
|
MAINTAINERCLEANFILES = autoconf-macros.texi
|
||||||
|
|
|
@ -1012,6 +1012,12 @@ zero.
|
||||||
@rnindex number->string
|
@rnindex number->string
|
||||||
@rnindex string->number
|
@rnindex string->number
|
||||||
|
|
||||||
|
The following procedures read and write numbers according to their
|
||||||
|
external representation as defined by R5RS (@pxref{Lexical structure,
|
||||||
|
R5RS Lexical Structure,, r5rs, The Revised^5 Report on the Algorithmic
|
||||||
|
Language Scheme}). @xref{The ice-9 i18n Module, the @code{(ice-9
|
||||||
|
i18n)} module}, for locale-dependent number parsing.
|
||||||
|
|
||||||
@deffn {Scheme Procedure} number->string n [radix]
|
@deffn {Scheme Procedure} number->string n [radix]
|
||||||
@deffnx {C Function} scm_number_to_string (n, radix)
|
@deffnx {C Function} scm_number_to_string (n, radix)
|
||||||
Return a string holding the external representation of the
|
Return a string holding the external representation of the
|
||||||
|
@ -2943,7 +2949,8 @@ predicates (@pxref{Characters}), but are defined on character sequences.
|
||||||
The first set is specified in R5RS and has names that end in @code{?}.
|
The first set is specified in R5RS and has names that end in @code{?}.
|
||||||
The second set is specified in SRFI-13 and the names have no ending
|
The second set is specified in SRFI-13 and the names have no ending
|
||||||
@code{?}. The predicates ending in @code{-ci} ignore the character case
|
@code{?}. The predicates ending in @code{-ci} ignore the character case
|
||||||
when comparing strings.
|
when comparing strings. @xref{The ice-9 i18n Module, the @code{(ice-9
|
||||||
|
i18n)} module}, for locale-dependent string comparison.
|
||||||
|
|
||||||
@rnindex string=?
|
@rnindex string=?
|
||||||
@deffn {Scheme Procedure} string=? s1 s2
|
@deffn {Scheme Procedure} string=? s1 s2
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
@c -*-texinfo-*-
|
@c -*-texinfo-*-
|
||||||
@c This is part of the GNU Guile Reference Manual.
|
@c This is part of the GNU Guile Reference Manual.
|
||||||
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004
|
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See the file guile.texi for copying conditions.
|
@c See the file guile.texi for copying conditions.
|
||||||
|
|
||||||
|
@ -8,6 +8,292 @@
|
||||||
@node Internationalization
|
@node Internationalization
|
||||||
@section Support for Internationalization
|
@section Support for Internationalization
|
||||||
|
|
||||||
|
@cindex internationalization
|
||||||
|
@cindex i18n
|
||||||
|
|
||||||
|
Guile provides internationalization support for Scheme programs in two
|
||||||
|
ways. First, procedures to manipulate text and data in a way that
|
||||||
|
conforms to particular cultural conventions (i.e., in a
|
||||||
|
``locale-dependent'' way) are provided in the @code{(ice-9 i18n)}.
|
||||||
|
Second, Guile allows the use of GNU @code{gettext} to translate
|
||||||
|
program message strings.
|
||||||
|
|
||||||
|
@menu
|
||||||
|
* The ice-9 i18n Module:: Honoring cultural conventions.
|
||||||
|
* Gettext Support:: Translating message strings.
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
|
||||||
|
@node The ice-9 i18n Module
|
||||||
|
@subsection The @code{(ice-9 i18n)} Module
|
||||||
|
|
||||||
|
In order to make use of the following functions, one must import the
|
||||||
|
@code{(ice-9 i18n)} module in the usual way:
|
||||||
|
|
||||||
|
@example
|
||||||
|
(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
|
||||||
|
and other data in a way that conforms to the cultural conventions
|
||||||
|
chosen by the user. Each region of the world or language has its own
|
||||||
|
customs to, for instance, represent real numbers, classify characters,
|
||||||
|
collate text, etc. All these aspects comprise the so-called
|
||||||
|
``cultural conventions'' of that region or language.
|
||||||
|
|
||||||
|
@cindex locale
|
||||||
|
@cindex locale category
|
||||||
|
|
||||||
|
Computer systems typically refer to a set of cultural conventions as a
|
||||||
|
@dfn{locale}. For each particular aspect that comprise those cultural
|
||||||
|
conventions, a @dfn{locale category} is defined. For instance, the
|
||||||
|
way characters are classified is defined by the @code{LC_CTYPE}
|
||||||
|
category, while the language in which program messages are issued to
|
||||||
|
the user is defined by the @code{LC_MESSAGES} category
|
||||||
|
(@pxref{Locales, General Locale Information} for details).
|
||||||
|
|
||||||
|
@cindex locale object
|
||||||
|
|
||||||
|
The procedures provided by this module allow the development of
|
||||||
|
programs that adapt automatically to any locale setting. As we will
|
||||||
|
see later, many of the locale-dependent procedures provided by this
|
||||||
|
module can optionally take a @dfn{locale object} argument. This
|
||||||
|
additional argument defines the locale settings that must be followed
|
||||||
|
by the invoked procedure. When it is omitted, then the current locale
|
||||||
|
settings of the process are followed (@pxref{Locales,
|
||||||
|
@code{setlocale}}).
|
||||||
|
|
||||||
|
The following procedures allow the manipulation of such locale
|
||||||
|
objects.
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} make-locale category-mask locale-name [base-locale]
|
||||||
|
@deffnx {C Function} scm_make_locale (category_mask, locale_name, base_locale)
|
||||||
|
Return a reference to a data structure representing a set of locale
|
||||||
|
datasets. @var{locale-name} should be a string denoting a particular
|
||||||
|
locale, e.g., @code{"aa_DJ"}. Unlike for the @var{category} parameter
|
||||||
|
for @code{setlocale}, the @var{category-mask} parameter here uses a
|
||||||
|
single bit for each category, made by OR'ing together @code{LC_*_MASK}
|
||||||
|
bits. The optional @var{base-locale} argument can be used to specify
|
||||||
|
a locale object whose settings are to be used as a basis for the
|
||||||
|
locale object being returned.
|
||||||
|
|
||||||
|
The available locale category masks are the following:
|
||||||
|
|
||||||
|
@defvar LC_COLLATE_MASK
|
||||||
|
Represents the collation locale category.
|
||||||
|
@end defvar
|
||||||
|
@defvar LC_CTYPE_MASK
|
||||||
|
Represents the character classification locale category.
|
||||||
|
@end defvar
|
||||||
|
@defvar LC_MESSAGES_MASK
|
||||||
|
Represents the messages locale category.
|
||||||
|
@end defvar
|
||||||
|
@defvar LC_MONETARY_MASK
|
||||||
|
Represents the monetary locale category.
|
||||||
|
@end defvar
|
||||||
|
@defvar LC_NUMERIC_MASK
|
||||||
|
Represents the way numbers are displayed.
|
||||||
|
@end defvar
|
||||||
|
@defvar LC_TIME_MASK
|
||||||
|
Represents the way date and time are displayed
|
||||||
|
@end defvar
|
||||||
|
|
||||||
|
The following category masks are also available but will not have any
|
||||||
|
effect on systems that do not support them:
|
||||||
|
|
||||||
|
@defvar LC_PAPER_MASK
|
||||||
|
@defvarx LC_NAME_MASK
|
||||||
|
@defvarx LC_ADDRESS_MASK
|
||||||
|
@defvarx LC_TELEPHONE_MASK
|
||||||
|
@defvarx LC_MEASUREMENT_MASK
|
||||||
|
@defvarx LC_IDENTIFICATION_MASK
|
||||||
|
@end defvar
|
||||||
|
|
||||||
|
Finally, there is also:
|
||||||
|
|
||||||
|
@defvar LC_ALL_MASK
|
||||||
|
This represents all the locale categories supported by the system.
|
||||||
|
@end defvar
|
||||||
|
|
||||||
|
The @code{LC_*_MASK} variables are bound to integers which may be OR'd
|
||||||
|
together using @code{logior} (@pxref{Primitive Numerics,
|
||||||
|
@code{logior}}). For instance, the following invocation creates a
|
||||||
|
locale object that combines the use of Esperanto for messages and
|
||||||
|
character classification with the default settings for the other
|
||||||
|
categories (i.e., the settings of the default @code{C} locale which
|
||||||
|
usually represents conventions in use in the USA):
|
||||||
|
|
||||||
|
@example
|
||||||
|
(make-locale (logior LC_MESSAGE_MASK LC_CTYPE_MASK) "eo_EO")
|
||||||
|
@end example
|
||||||
|
|
||||||
|
The following example combines the use of Swedish conventions with
|
||||||
|
monetary conventions from Croatia:
|
||||||
|
|
||||||
|
@example
|
||||||
|
(make-locale LC_MONETARY_MASK "hr_HR"
|
||||||
|
(make-locale LC_ALL_MASK "sv_SE"))
|
||||||
|
@end example
|
||||||
|
|
||||||
|
A @code{system-error} exception (@pxref{Handling Errors}) is raised by
|
||||||
|
@code{make-locale} when @var{locale-name} does not match any of the
|
||||||
|
locales compiled on the system. Note that on non-GNU systems, this
|
||||||
|
error may be raised later, when the locale object is actually used.
|
||||||
|
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} locale? obj
|
||||||
|
@deffnx {C Function} scm_locale_p (obj)
|
||||||
|
Return true if @var{obj} is a locale object.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
The following procedures provide support for text collation.
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} string-locale<? s1 s2 [locale]
|
||||||
|
@deffnx {C Function} scm_string_locale_lt (s1, s2, locale)
|
||||||
|
Compare strings @var{s1} and @var{s2} in a locale-dependent way. If
|
||||||
|
@var{locale} is provided, it should be locale object (as returned by
|
||||||
|
@code{make-locale}) and will be used to perform the comparison;
|
||||||
|
otherwise, the current system locale is used.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} string-locale>? s1 s2 [locale]
|
||||||
|
@deffnx {C Function} scm_string_locale_gt (s1, s2, locale)
|
||||||
|
Compare strings @var{s1} and @var{s2} in a locale-dependent way. If
|
||||||
|
@var{locale} is provided, it should be locale object (as returned by
|
||||||
|
@code{make-locale}) and will be used to perform the comparison;
|
||||||
|
otherwise, the current system locale is used.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} string-locale-ci<? s1 s2 [locale]
|
||||||
|
@deffnx {C Function} scm_string_locale_ci_lt (s1, s2, locale)
|
||||||
|
Compare strings @var{s1} and @var{s2} in a case-insensitive, and
|
||||||
|
locale-dependent way. If @var{locale} is provided, it should be
|
||||||
|
locale object (as returned by @code{make-locale}) and will be used to
|
||||||
|
perform the comparison; otherwise, the current system locale is used.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} string-locale-ci>? s1 s2 [locale]
|
||||||
|
@deffnx {C Function} scm_string_locale_ci_gt (s1, s2, locale)
|
||||||
|
Compare strings @var{s1} and @var{s2} in a case-insensitive, and
|
||||||
|
locale-dependent way. If @var{locale} is provided, it should be
|
||||||
|
locale object (as returned by @code{make-locale}) and will be used to
|
||||||
|
perform the comparison; otherwise, the current system locale is used.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} string-locale-ci=? s1 s2 [locale]
|
||||||
|
@deffnx {C Function} scm_string_locale_ci_eq (s1, s2, locale)
|
||||||
|
Compare strings @var{s1} and @var{s2} in a case-insensitive, and
|
||||||
|
locale-dependent way. If @var{locale} is provided, it should be
|
||||||
|
locale object (as returned by @code{make-locale}) and will be used to
|
||||||
|
perform the comparison; otherwise, the current system locale is used.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} char-locale<? c1 c2 [locale]
|
||||||
|
@deffnx {C Function} scm_char_locale_lt (c1, c2, locale)
|
||||||
|
Return true if character @var{c1} is lower than @var{c2} according to
|
||||||
|
@var{locale} or to the current locale.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} char-locale>? c1 c2 [locale]
|
||||||
|
@deffnx {C Function} scm_char_locale_gt (c1, c2, locale)
|
||||||
|
Return true if character @var{c1} is greater than @var{c2} according
|
||||||
|
to @var{locale} or to the current locale.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} char-locale-ci<? c1 c2 [locale]
|
||||||
|
@deffnx {C Function} scm_char_locale_ci_lt (c1, c2, locale)
|
||||||
|
Return true if character @var{c1} is lower than @var{c2}, in a case
|
||||||
|
insensitive way according to @var{locale} or to the current locale.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} char-locale-ci>? c1 c2 [locale]
|
||||||
|
@deffnx {C Function} scm_char_locale_ci_gt (c1, c2, locale)
|
||||||
|
Return true if character @var{c1} is greater than @var{c2}, in a case
|
||||||
|
insensitive way according to @var{locale} or to the current locale.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} char-locale-ci=? c1 c2 [locale]
|
||||||
|
@deffnx {C Function} scm_char_locale_ci_eq (c1, c2, locale)
|
||||||
|
Return true if character @var{c1} is equal to @var{c2}, in a case
|
||||||
|
insensitive way according to @var{locale} or to the current locale.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
The procedures below provide support for ``character case mapping'',
|
||||||
|
i.e., to convert characters or strings to their upper-case or
|
||||||
|
lower-case equivalent. Note that SRFI-13 provides procedures that
|
||||||
|
look similar (@pxref{Alphabetic Case Mapping}). However, the SRFI-13
|
||||||
|
procedures are locale-independent. Therefore, they do not take into
|
||||||
|
account specificities of the customs in use in a particular language
|
||||||
|
or region of the world. For instance, while most languages using the
|
||||||
|
Latin alphabet map lower-case letter ``i'' to upper-case letter ``I'',
|
||||||
|
Turkish maps lower-case ``i'' to ``Latin capital letter I with dot
|
||||||
|
above''. The following procedures allow to provide idiomatic
|
||||||
|
character mapping.
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} char-locale-downcase chr [locale]
|
||||||
|
@deffnx {C Function} scm_char_locale_upcase (chr, locale)
|
||||||
|
Return the lowercase character that corresponds to @var{chr} according
|
||||||
|
to either @var{locale} or the current locale.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} char-locale-upcase chr [locale]
|
||||||
|
@deffnx {C Function} scm_char_locale_downcase (chr, locale)
|
||||||
|
Return the uppercase character that corresponds to @var{chr} according
|
||||||
|
to either @var{locale} or the current locale.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} string-locale-upcase str [locale]
|
||||||
|
@deffnx {C Function} scm_string_locale_upcase (str, locale)
|
||||||
|
Return a new string that is the uppercase version of @var{str}
|
||||||
|
according to either @var{locale} or the current locale.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} string-locale-downcase str [locale]
|
||||||
|
@deffnx {C Function} scm_string_locale_downcase (str, locale)
|
||||||
|
Return a new string that is the down-case version of @var{str}
|
||||||
|
according to either @var{locale} or the current locale.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
Finally, the following procedures allow programs to read numbers
|
||||||
|
written according to a particular locale. As an example, in English,
|
||||||
|
``ten thousand and a half'' is usually written @code{10,000.5} while
|
||||||
|
in French it is written @code{10000,5}. These procedures allow to
|
||||||
|
account for these differences.
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} locale-string->integer str [base [locale]]
|
||||||
|
@deffnx {C Function} scm_locale_string_to_integer (str, base, locale)
|
||||||
|
Convert string @var{str} into an integer according to either
|
||||||
|
@var{locale} (a locale object as returned by @code{make-locale}) or
|
||||||
|
the current process locale. If @var{base} is specified, then it
|
||||||
|
determines the base of the integer being read (e.g., @code{16} for an
|
||||||
|
hexadecimal number, @code{10} for a decimal number); by default,
|
||||||
|
decimal numbers are read. Return two values: an integer (on success)
|
||||||
|
or @code{#f}, and the number of characters read from @var{str}
|
||||||
|
(@code{0} on failure).
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} locale-string->inexact str [locale]
|
||||||
|
@deffnx {C Function} scm_locale_string_to_inexact (str, locale)
|
||||||
|
Convert string @var{str} into an inexact number according to either
|
||||||
|
@var{locale} (a locale object as returned by @code{make-locale}) or
|
||||||
|
the current process locale. Return two values: an inexact number (on
|
||||||
|
success) or @code{#f}, and the number of characters read from
|
||||||
|
@var{str} (@code{0} on failure).
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
@node Gettext Support
|
||||||
|
@subsection Gettext Support
|
||||||
|
|
||||||
Guile provides an interface to GNU @code{gettext} for translating
|
Guile provides an interface to GNU @code{gettext} for translating
|
||||||
message strings (@pxref{Introduction,,, gettext, GNU @code{gettext}
|
message strings (@pxref{Introduction,,, gettext, GNU @code{gettext}
|
||||||
utilities}).
|
utilities}).
|
||||||
|
@ -19,7 +305,8 @@ catalog filename).
|
||||||
|
|
||||||
When @code{gettext} is not available, or if Guile was configured
|
When @code{gettext} is not available, or if Guile was configured
|
||||||
@samp{--without-nls}, dummy functions doing no translation are
|
@samp{--without-nls}, dummy functions doing no translation are
|
||||||
provided.
|
provided. When @code{gettext} support is available in Guile, the
|
||||||
|
@code{i18n} feature is provided (@pxref{Feature Tracking}).
|
||||||
|
|
||||||
@deffn {Scheme Procedure} gettext msg [domain [category]]
|
@deffn {Scheme Procedure} gettext msg [domain [category]]
|
||||||
@deffnx {C Function} scm_gettext (msg, domain, category)
|
@deffnx {C Function} scm_gettext (msg, domain, category)
|
||||||
|
@ -155,4 +442,5 @@ future.
|
||||||
|
|
||||||
@c Local Variables:
|
@c Local Variables:
|
||||||
@c TeX-master: "guile.texi"
|
@c TeX-master: "guile.texi"
|
||||||
|
@c ispell-local-dictionary: "american"
|
||||||
@c End:
|
@c End:
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
@set MANUAL-EDITION 1.1
|
@set MANUAL-EDITION 1.1
|
||||||
@c %**end of header
|
@c %**end of header
|
||||||
@include version.texi
|
@include version.texi
|
||||||
|
@include lib-version.texi
|
||||||
|
|
||||||
@copying
|
@copying
|
||||||
This reference manual documents Guile, GNU's Ubiquitous Intelligent
|
This reference manual documents Guile, GNU's Ubiquitous Intelligent
|
||||||
|
@ -137,7 +138,7 @@ x
|
||||||
@comment The title is printed in a large font.
|
@comment The title is printed in a large font.
|
||||||
@title Guile Reference Manual
|
@title Guile Reference Manual
|
||||||
@subtitle Edition @value{MANUAL-EDITION}, for use with Guile @value{VERSION}
|
@subtitle Edition @value{MANUAL-EDITION}, for use with Guile @value{VERSION}
|
||||||
@c @subtitle $Id: guile.texi,v 1.47 2006-10-09 22:45:02 kryde Exp $
|
@c @subtitle $Id: guile.texi,v 1.48 2006-11-18 18:14:55 civodul Exp $
|
||||||
|
|
||||||
@c See preface.texi for the list of authors
|
@c See preface.texi for the list of authors
|
||||||
@author The Guile Developers
|
@author The Guile Developers
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
@c -*-texinfo-*-
|
@c -*-texinfo-*-
|
||||||
@c This is part of the GNU Guile Reference Manual.
|
@c This is part of the GNU Guile Reference Manual.
|
||||||
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004
|
@c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2006
|
||||||
@c Free Software Foundation, Inc.
|
@c Free Software Foundation, Inc.
|
||||||
@c See the file guile.texi for copying conditions.
|
@c See the file guile.texi for copying conditions.
|
||||||
|
|
||||||
|
@ -3139,10 +3139,11 @@ specified.
|
||||||
Get or set the current locale, used for various internationalizations.
|
Get or set the current locale, used for various internationalizations.
|
||||||
Locales are strings, such as @samp{sv_SE}.
|
Locales are strings, such as @samp{sv_SE}.
|
||||||
|
|
||||||
If @var{locale} is given then the locale for the given @var{category} is set
|
If @var{locale} is given then the locale for the given @var{category}
|
||||||
and the new value returned. If @var{locale} is not given then the
|
is set and the new value returned. If @var{locale} is not given then
|
||||||
current value is returned. @var{category} should be one of the
|
the current value is returned. @var{category} should be one of the
|
||||||
following values
|
following values (@pxref{Locale Categories, Categories of Activities
|
||||||
|
that Locales Affect,, libc, The GNU C Library Reference Manual}):
|
||||||
|
|
||||||
@defvar LC_ALL
|
@defvar LC_ALL
|
||||||
@defvarx LC_COLLATE
|
@defvarx LC_COLLATE
|
||||||
|
@ -3159,6 +3160,10 @@ categories based on standard environment variables (@code{LANG} etc).
|
||||||
For full details on categories and locale names @pxref{Locales,,
|
For full details on categories and locale names @pxref{Locales,,
|
||||||
Locales and Internationalization, libc, The GNU C Library Reference
|
Locales and Internationalization, libc, The GNU C Library Reference
|
||||||
Manual}.
|
Manual}.
|
||||||
|
|
||||||
|
Note that @code{setlocale} affects locale settings for the whole
|
||||||
|
process. @xref{The ice-9 i18n Module, locale objects and
|
||||||
|
@code{make-locale}}, for a thread-safe alternative.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@node Encryption
|
@node Encryption
|
||||||
|
|
|
@ -1,3 +1,40 @@
|
||||||
|
2006-11-18 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
|
* Makefile.am (lib_LTLIBRARIES): Added `libguile-i18n-v-XX.la'.
|
||||||
|
(libguile_la_SOURCES): Added `gettext.c', removed `i18n.c'.
|
||||||
|
(libguile_i18n_v_XX_la_SOURCES, libguile_i18n_v_XX_la_CFLAGS,
|
||||||
|
libguile_i18n_v_XX_la_LIBADD, libguile_i18n_v_XX_la_LDFLAGS): New.
|
||||||
|
(DOT_X_FILES): Added `gettext.x'.
|
||||||
|
(DOT_DOC_FILES): Likewise.
|
||||||
|
(EXTRA_libguile_la_SOURCES): Added `locale-categories.h'.
|
||||||
|
(modinclude_HEADERS): Added `gettext.h'.
|
||||||
|
(EXTRA_DIST): Added `libgettext.h'.
|
||||||
|
|
||||||
|
* gettext.h: Renamed to...
|
||||||
|
* libgettext.h: New file.
|
||||||
|
|
||||||
|
* i18n.c: Renamed to...
|
||||||
|
* gettext.c: New file.
|
||||||
|
|
||||||
|
* i18n.h: Renamed to...
|
||||||
|
* gettext.h: New file.
|
||||||
|
|
||||||
|
* i18n.c, i18n.h, locale-categories.h: New files.
|
||||||
|
|
||||||
|
* init.c: Include "libguile/gettext.h" instead of
|
||||||
|
"libguile/i18n.h".
|
||||||
|
(scm_i_init_guile): Invoke `scm_init_gettext ()' instead of
|
||||||
|
`scm_init_i18n ()'.
|
||||||
|
|
||||||
|
* posix.c: Include "libguile/gettext.h" instead of
|
||||||
|
"libguile/i18n.h" Test `HAVE_NEWLOCALE' and `HAVE_STRCOLL_L'.
|
||||||
|
(USE_GNU_LOCALE_API): New macro.
|
||||||
|
(scm_i_locale_mutex): New variable.
|
||||||
|
(scm_setlocale): Lock and unlock it around `setlocale ()' calls.
|
||||||
|
|
||||||
|
* posix.h: Include "libguile/threads.h".
|
||||||
|
(scm_i_locale_mutex): New declaration.
|
||||||
|
|
||||||
2006-11-17 Neil Jerram <neil@ossau.uklinux.net>
|
2006-11-17 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
* script.c (scm_shell_usage): Note need for subscription to bug-guile@gnu.org.
|
* script.c (scm_shell_usage): Note need for subscription to bug-guile@gnu.org.
|
||||||
|
|
|
@ -31,7 +31,8 @@ INCLUDES = -I.. -I$(top_srcdir)
|
||||||
ETAGS_ARGS = --regex='/SCM_\(GLOBAL_\)?\(G?PROC\|G?PROC1\|SYMBOL\|VCELL\|CONST_LONG\).*\"\([^\"]\)*\"/\3/' \
|
ETAGS_ARGS = --regex='/SCM_\(GLOBAL_\)?\(G?PROC\|G?PROC1\|SYMBOL\|VCELL\|CONST_LONG\).*\"\([^\"]\)*\"/\3/' \
|
||||||
--regex='/[ \t]*SCM_[G]?DEFINE1?[ \t]*(\([^,]*\),[^,]*/\1/'
|
--regex='/[ \t]*SCM_[G]?DEFINE1?[ \t]*(\([^,]*\),[^,]*/\1/'
|
||||||
|
|
||||||
lib_LTLIBRARIES = libguile.la
|
lib_LTLIBRARIES = libguile.la \
|
||||||
|
libguile-i18n-v-@LIBGUILE_I18N_MAJOR@.la
|
||||||
bin_PROGRAMS = guile
|
bin_PROGRAMS = guile
|
||||||
|
|
||||||
noinst_PROGRAMS = guile_filter_doc_snarfage gen-scmconfig
|
noinst_PROGRAMS = guile_filter_doc_snarfage gen-scmconfig
|
||||||
|
@ -97,9 +98,10 @@ libguile_la_SOURCES = alist.c arbiters.c async.c backtrace.c boolean.c \
|
||||||
deprecated.c discouraged.c dynwind.c eq.c error.c \
|
deprecated.c discouraged.c dynwind.c eq.c error.c \
|
||||||
eval.c evalext.c extensions.c feature.c fluids.c fports.c \
|
eval.c evalext.c extensions.c feature.c fluids.c fports.c \
|
||||||
futures.c gc.c gc-mark.c gc-segment.c gc-malloc.c gc-card.c \
|
futures.c gc.c gc-mark.c gc-segment.c gc-malloc.c gc-card.c \
|
||||||
gc-freelist.c gc_os_dep.c gdbint.c gh_data.c gh_eval.c gh_funcs.c \
|
gc-freelist.c gc_os_dep.c gdbint.c gettext.c \
|
||||||
|
gh_data.c gh_eval.c gh_funcs.c \
|
||||||
gh_init.c gh_io.c gh_list.c gh_predicates.c goops.c gsubr.c \
|
gh_init.c gh_io.c gh_list.c gh_predicates.c goops.c gsubr.c \
|
||||||
guardians.c hash.c hashtab.c hooks.c i18n.c init.c inline.c \
|
guardians.c hash.c hashtab.c hooks.c init.c inline.c \
|
||||||
ioext.c keywords.c lang.c list.c load.c macros.c mallocs.c \
|
ioext.c keywords.c lang.c list.c load.c macros.c mallocs.c \
|
||||||
modules.c numbers.c objects.c objprop.c options.c pairs.c ports.c \
|
modules.c numbers.c objects.c objprop.c options.c pairs.c ports.c \
|
||||||
print.c procprop.c procs.c properties.c random.c rdelim.c read.c \
|
print.c procprop.c procs.c properties.c random.c rdelim.c read.c \
|
||||||
|
@ -109,11 +111,21 @@ libguile_la_SOURCES = alist.c arbiters.c async.c backtrace.c boolean.c \
|
||||||
throw.c values.c variable.c vectors.c version.c vports.c weaks.c \
|
throw.c values.c variable.c vectors.c version.c vports.c weaks.c \
|
||||||
ramap.c unif.c
|
ramap.c unif.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
|
||||||
|
libguile_i18n_v_@LIBGUILE_I18N_MAJOR@_la_LDFLAGS = \
|
||||||
|
-module -L$(builddir) -lguile \
|
||||||
|
-version-info @LIBGUILE_I18N_INTERFACE@
|
||||||
|
|
||||||
DOT_X_FILES = alist.x arbiters.x async.x backtrace.x boolean.x chars.x \
|
DOT_X_FILES = alist.x arbiters.x async.x backtrace.x boolean.x chars.x \
|
||||||
continuations.x debug.x deprecation.x deprecated.x discouraged.x \
|
continuations.x debug.x deprecation.x deprecated.x discouraged.x \
|
||||||
dynl.x dynwind.x eq.x error.x eval.x evalext.x \
|
dynl.x dynwind.x eq.x error.x eval.x evalext.x \
|
||||||
extensions.x feature.x fluids.x fports.x futures.x gc.x gc-mark.x \
|
extensions.x feature.x fluids.x fports.x futures.x gc.x gc-mark.x \
|
||||||
gc-segment.x gc-malloc.x gc-card.x goops.x gsubr.x guardians.x \
|
gc-segment.x gc-malloc.x gc-card.x gettext.x goops.x \
|
||||||
|
gsubr.x guardians.x \
|
||||||
hash.x hashtab.x hooks.x i18n.x init.x ioext.x keywords.x lang.x \
|
hash.x hashtab.x hooks.x i18n.x init.x ioext.x keywords.x lang.x \
|
||||||
list.x load.x macros.x mallocs.x modules.x numbers.x objects.x \
|
list.x load.x macros.x mallocs.x modules.x numbers.x objects.x \
|
||||||
objprop.x options.x pairs.x ports.x print.x procprop.x procs.x \
|
objprop.x options.x pairs.x ports.x print.x procprop.x procs.x \
|
||||||
|
@ -131,7 +143,8 @@ DOT_DOC_FILES = alist.doc arbiters.doc async.doc backtrace.doc \
|
||||||
eq.doc error.doc eval.doc evalext.doc \
|
eq.doc error.doc eval.doc evalext.doc \
|
||||||
extensions.doc feature.doc fluids.doc fports.doc futures.doc \
|
extensions.doc feature.doc fluids.doc fports.doc futures.doc \
|
||||||
gc.doc goops.doc gsubr.doc gc-mark.doc gc-segment.doc \
|
gc.doc goops.doc gsubr.doc gc-mark.doc gc-segment.doc \
|
||||||
gc-malloc.doc gc-card.doc guardians.doc hash.doc hashtab.doc \
|
gc-malloc.doc gc-card.doc gettext.doc \
|
||||||
|
guardians.doc hash.doc hashtab.doc \
|
||||||
hooks.doc i18n.doc init.doc ioext.doc keywords.doc lang.doc \
|
hooks.doc i18n.doc init.doc ioext.doc keywords.doc lang.doc \
|
||||||
list.doc load.doc macros.doc mallocs.doc modules.doc numbers.doc \
|
list.doc load.doc macros.doc mallocs.doc modules.doc numbers.doc \
|
||||||
objects.doc objprop.doc options.doc pairs.doc ports.doc print.doc \
|
objects.doc objprop.doc options.doc pairs.doc ports.doc print.doc \
|
||||||
|
@ -153,8 +166,9 @@ EXTRA_libguile_la_SOURCES = _scm.h \
|
||||||
inet_aton.c memmove.c putenv.c strerror.c \
|
inet_aton.c memmove.c putenv.c strerror.c \
|
||||||
dynl.c regex-posix.c \
|
dynl.c regex-posix.c \
|
||||||
filesys.c posix.c net_db.c socket.c \
|
filesys.c posix.c net_db.c socket.c \
|
||||||
debug-malloc.c mkstemp.c \
|
debug-malloc.c mkstemp.c \
|
||||||
win32-uname.c win32-dirent.c win32-socket.c
|
win32-uname.c win32-dirent.c win32-socket.c \
|
||||||
|
locale-categories.h
|
||||||
|
|
||||||
## delete guile-snarf.awk from the installation bindir, in case it's
|
## delete guile-snarf.awk from the installation bindir, in case it's
|
||||||
## lingering there due to an earlier guile version not having been
|
## lingering there due to an earlier guile version not having been
|
||||||
|
@ -187,7 +201,8 @@ modinclude_HEADERS = __scm.h alist.h arbiters.h async.h backtrace.h \
|
||||||
deprecation.h deprecated.h discouraged.h dynl.h dynwind.h \
|
deprecation.h deprecated.h discouraged.h dynl.h dynwind.h \
|
||||||
eq.h error.h eval.h evalext.h extensions.h \
|
eq.h error.h eval.h evalext.h extensions.h \
|
||||||
feature.h filesys.h fluids.h fports.h futures.h gc.h \
|
feature.h filesys.h fluids.h fports.h futures.h gc.h \
|
||||||
gdb_interface.h gdbint.h goops.h gsubr.h guardians.h hash.h \
|
gdb_interface.h gdbint.h gettext.h goops.h \
|
||||||
|
gsubr.h guardians.h hash.h \
|
||||||
hashtab.h hooks.h i18n.h init.h inline.h ioext.h iselect.h \
|
hashtab.h hooks.h i18n.h init.h inline.h ioext.h iselect.h \
|
||||||
keywords.h lang.h list.h load.h macros.h mallocs.h modules.h \
|
keywords.h lang.h list.h load.h macros.h mallocs.h modules.h \
|
||||||
net_db.h numbers.h objects.h objprop.h options.h pairs.h ports.h \
|
net_db.h numbers.h objects.h objprop.h options.h pairs.h ports.h \
|
||||||
|
@ -212,7 +227,7 @@ EXTRA_DIST = ChangeLog-gh ChangeLog-scm ChangeLog-threads \
|
||||||
cpp_errno.c cpp_err_symbols.in cpp_err_symbols.c \
|
cpp_errno.c cpp_err_symbols.in cpp_err_symbols.c \
|
||||||
cpp_sig_symbols.c cpp_sig_symbols.in cpp_cnvt.awk \
|
cpp_sig_symbols.c cpp_sig_symbols.in cpp_cnvt.awk \
|
||||||
c-tokenize.lex version.h.in \
|
c-tokenize.lex version.h.in \
|
||||||
scmconfig.h.top gettext.h
|
scmconfig.h.top libgettext.h
|
||||||
# $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES) \
|
# $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES) \
|
||||||
# guile-procedures.txt guile.texi
|
# guile-procedures.txt guile.texi
|
||||||
|
|
||||||
|
|
|
@ -1,69 +1,41 @@
|
||||||
/* Convenience header for conditional use of GNU <libintl.h>.
|
/* classes: h_files */
|
||||||
Copyright (C) 1995-1998, 2000-2002, 2006 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify it
|
#ifndef SCM_GETTEXT_H
|
||||||
under the terms of the GNU Library General Public License as published
|
#define SCM_GETTEXT_H
|
||||||
by the Free Software Foundation; either version 2, or (at your option)
|
|
||||||
any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
/* Copyright (C) 2004, 2006 Free Software Foundation, Inc.
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
*
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* This library is free software; you can redistribute it and/or
|
||||||
Library General Public License for more details.
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 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
|
||||||
|
*/
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
#include "libguile/__scm.h"
|
||||||
License along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
|
||||||
USA. */
|
|
||||||
|
|
||||||
#ifndef _LIBGETTEXT_H
|
SCM_API SCM scm_gettext (SCM msgid, SCM domainname, SCM category);
|
||||||
#define _LIBGETTEXT_H 1
|
SCM_API SCM scm_ngettext (SCM msgid, SCM msgid_plural, SCM n, SCM domainname, SCM category);
|
||||||
|
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);
|
||||||
|
|
||||||
/* NLS can be disabled through the configure --disable-nls option. */
|
SCM_API int scm_i_to_lc_category (SCM category, int allow_lc_all);
|
||||||
#if ENABLE_NLS
|
|
||||||
|
|
||||||
/* Get declarations of GNU message catalog functions. */
|
SCM_API void scm_init_gettext (void);
|
||||||
# include <libintl.h>
|
|
||||||
|
|
||||||
#else
|
#endif /* SCM_GETTEXT_H */
|
||||||
|
|
||||||
/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
|
/*
|
||||||
chokes if dcgettext is defined as a macro. So include it now, to make
|
Local Variables:
|
||||||
later inclusions of <locale.h> a NOP. We don't include <libintl.h>
|
c-file-style: "gnu"
|
||||||
as well because people using "gettext.h" will not include <libintl.h>,
|
End:
|
||||||
and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
|
*/
|
||||||
is OK. */
|
|
||||||
#if defined(__sun)
|
|
||||||
# include <locale.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Disabled NLS.
|
|
||||||
The casts to 'const char *' serve the purpose of producing warnings
|
|
||||||
for invalid uses of the value returned from these functions.
|
|
||||||
On pre-ANSI systems without 'const', the config.h file is supposed to
|
|
||||||
contain "#define const". */
|
|
||||||
# define gettext(Msgid) ((const char *) (Msgid))
|
|
||||||
# define dgettext(Domainname, Msgid) ((const char *) (Msgid))
|
|
||||||
# define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))
|
|
||||||
# define ngettext(Msgid1, Msgid2, N) \
|
|
||||||
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
|
|
||||||
# define dngettext(Domainname, Msgid1, Msgid2, N) \
|
|
||||||
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
|
|
||||||
# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
|
|
||||||
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
|
|
||||||
# define textdomain(Domainname) ((const char *) (Domainname))
|
|
||||||
# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
|
|
||||||
# define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* A pseudo function call that serves as a marker for the automated
|
|
||||||
extraction of messages, but does not call gettext(). The run-time
|
|
||||||
translation is done at a different place in the code.
|
|
||||||
The argument, String, should be a literal string. Concatenated strings
|
|
||||||
and other string expressions won't work.
|
|
||||||
The macro's expansion is not parenthesized, so that it is suitable as
|
|
||||||
initializer for static 'char[]' or 'const char[]' variables. */
|
|
||||||
#define gettext_noop(String) String
|
|
||||||
|
|
||||||
#endif /* _LIBGETTEXT_H */
|
|
||||||
|
|
1300
libguile/i18n.c
1300
libguile/i18n.c
File diff suppressed because it is too large
Load diff
|
@ -3,7 +3,7 @@
|
||||||
#ifndef SCM_I18N_H
|
#ifndef SCM_I18N_H
|
||||||
#define SCM_I18N_H
|
#define SCM_I18N_H
|
||||||
|
|
||||||
/* Copyright (C) 2004, 2006 Free Software Foundation, Inc.
|
/* Copyright (C) 2006 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -22,13 +22,24 @@
|
||||||
|
|
||||||
#include "libguile/__scm.h"
|
#include "libguile/__scm.h"
|
||||||
|
|
||||||
SCM_API SCM scm_gettext (SCM msgid, SCM domainname, SCM category);
|
SCM_API SCM scm_make_locale (SCM category_mask, SCM locale_name, SCM base_locale);
|
||||||
SCM_API SCM scm_ngettext (SCM msgid, SCM msgid_plural, SCM n, SCM domainname, SCM category);
|
SCM_API SCM scm_locale_p (SCM obj);
|
||||||
SCM_API SCM scm_textdomain (SCM domainname);
|
SCM_API SCM scm_string_locale_lt (SCM s1, SCM s2, SCM locale);
|
||||||
SCM_API SCM scm_bindtextdomain (SCM domainname, SCM directory);
|
SCM_API SCM scm_string_locale_gt (SCM s1, SCM s2, SCM locale);
|
||||||
SCM_API SCM scm_bind_textdomain_codeset (SCM domainname, SCM encoding);
|
SCM_API SCM scm_string_locale_ci_lt (SCM s1, SCM s2, SCM locale);
|
||||||
|
SCM_API SCM scm_string_locale_ci_gt (SCM s1, SCM s2, SCM locale);
|
||||||
SCM_API int scm_i_to_lc_category (SCM category, int allow_lc_all);
|
SCM_API SCM scm_string_locale_ci_eq (SCM s1, SCM s2, SCM locale);
|
||||||
|
SCM_API SCM scm_char_locale_lt (SCM c1, SCM c2, SCM locale);
|
||||||
|
SCM_API SCM scm_char_locale_gt (SCM c1, SCM c2, SCM locale);
|
||||||
|
SCM_API SCM scm_char_locale_ci_lt (SCM c1, SCM c2, SCM locale);
|
||||||
|
SCM_API SCM scm_char_locale_ci_gt (SCM c1, SCM c2, SCM locale);
|
||||||
|
SCM_API SCM scm_char_locale_ci_eq (SCM c1, SCM c2, SCM locale);
|
||||||
|
SCM_API SCM scm_char_locale_upcase (SCM chr, SCM locale);
|
||||||
|
SCM_API SCM scm_char_locale_downcase (SCM chr, SCM locale);
|
||||||
|
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 void scm_init_i18n (void);
|
SCM_API void scm_init_i18n (void);
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@
|
||||||
#include "libguile/hash.h"
|
#include "libguile/hash.h"
|
||||||
#include "libguile/hashtab.h"
|
#include "libguile/hashtab.h"
|
||||||
#include "libguile/hooks.h"
|
#include "libguile/hooks.h"
|
||||||
#include "libguile/i18n.h"
|
#include "libguile/gettext.h"
|
||||||
#include "libguile/iselect.h"
|
#include "libguile/iselect.h"
|
||||||
#include "libguile/ioext.h"
|
#include "libguile/ioext.h"
|
||||||
#include "libguile/keywords.h"
|
#include "libguile/keywords.h"
|
||||||
|
@ -479,7 +479,7 @@ scm_i_init_guile (SCM_STACKITEM *base)
|
||||||
scm_init_properties ();
|
scm_init_properties ();
|
||||||
scm_init_hooks (); /* Requires smob_prehistory */
|
scm_init_hooks (); /* Requires smob_prehistory */
|
||||||
scm_init_gc (); /* Requires hooks, async */
|
scm_init_gc (); /* Requires hooks, async */
|
||||||
scm_init_i18n ();
|
scm_init_gettext ();
|
||||||
scm_init_ioext ();
|
scm_init_ioext ();
|
||||||
scm_init_keywords ();
|
scm_init_keywords ();
|
||||||
scm_init_list ();
|
scm_init_list ();
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
|
|
||||||
#include "libguile/validate.h"
|
#include "libguile/validate.h"
|
||||||
#include "libguile/posix.h"
|
#include "libguile/posix.h"
|
||||||
#include "libguile/i18n.h"
|
#include "libguile/gettext.h"
|
||||||
#include "libguile/threads.h"
|
#include "libguile/threads.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -115,6 +115,10 @@ extern char ** environ;
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (defined HAVE_NEWLOCALE) && (defined HAVE_STRCOLL_L)
|
||||||
|
# define USE_GNU_LOCALE_API
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HAVE_CRYPT_H
|
#if HAVE_CRYPT_H
|
||||||
# include <crypt.h>
|
# include <crypt.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -1380,7 +1384,15 @@ SCM_DEFINE (scm_putenv, "putenv", 1, 0, 0,
|
||||||
}
|
}
|
||||||
#undef FUNC_NAME
|
#undef FUNC_NAME
|
||||||
|
|
||||||
|
#ifndef USE_GNU_LOCALE_API
|
||||||
|
/* This mutex is used to serialize invocations of `setlocale ()' on non-GNU
|
||||||
|
systems (i.e., systems where a reentrant locale API is not available).
|
||||||
|
See `i18n.c' for details. */
|
||||||
|
scm_i_pthread_mutex_t scm_i_locale_mutex;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_SETLOCALE
|
#ifdef HAVE_SETLOCALE
|
||||||
|
|
||||||
SCM_DEFINE (scm_setlocale, "setlocale", 1, 1, 0,
|
SCM_DEFINE (scm_setlocale, "setlocale", 1, 1, 0,
|
||||||
(SCM category, SCM locale),
|
(SCM category, SCM locale),
|
||||||
"If @var{locale} is omitted, return the current value of the\n"
|
"If @var{locale} is omitted, return the current value of the\n"
|
||||||
|
@ -1409,7 +1421,14 @@ SCM_DEFINE (scm_setlocale, "setlocale", 1, 1, 0,
|
||||||
scm_dynwind_free (clocale);
|
scm_dynwind_free (clocale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef USE_GNU_LOCALE_API
|
||||||
|
scm_i_pthread_mutex_lock (&scm_i_locale_mutex);
|
||||||
|
#endif
|
||||||
rv = setlocale (scm_i_to_lc_category (category, 1), clocale);
|
rv = setlocale (scm_i_to_lc_category (category, 1), clocale);
|
||||||
|
#ifndef USE_GNU_LOCALE_API
|
||||||
|
scm_i_pthread_mutex_unlock (&scm_i_locale_mutex);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (rv == NULL)
|
if (rv == NULL)
|
||||||
{
|
{
|
||||||
/* POSIX and C99 don't say anything about setlocale setting errno, so
|
/* POSIX and C99 don't say anything about setlocale setting errno, so
|
||||||
|
@ -1943,9 +1962,13 @@ SCM_DEFINE (scm_gethostname, "gethostname", 0, 0, 0,
|
||||||
#endif /* HAVE_GETHOSTNAME */
|
#endif /* HAVE_GETHOSTNAME */
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
scm_init_posix ()
|
scm_init_posix ()
|
||||||
{
|
{
|
||||||
|
#ifndef USE_GNU_LOCALE_API
|
||||||
|
scm_i_pthread_mutex_init (&scm_i_locale_mutex, NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
scm_add_feature ("posix");
|
scm_add_feature ("posix");
|
||||||
#ifdef HAVE_GETEUID
|
#ifdef HAVE_GETEUID
|
||||||
scm_add_feature ("EIDs");
|
scm_add_feature ("EIDs");
|
||||||
|
|
|
@ -23,8 +23,7 @@
|
||||||
|
|
||||||
|
|
||||||
#include "libguile/__scm.h"
|
#include "libguile/__scm.h"
|
||||||
|
#include "libguile/threads.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -87,6 +86,8 @@ SCM_API SCM scm_sethostname (SCM name);
|
||||||
SCM_API SCM scm_gethostname (void);
|
SCM_API SCM scm_gethostname (void);
|
||||||
SCM_API void scm_init_posix (void);
|
SCM_API void scm_init_posix (void);
|
||||||
|
|
||||||
|
SCM_API scm_i_pthread_mutex_t scm_i_locale_mutex;
|
||||||
|
|
||||||
#endif /* SCM_POSIX_H */
|
#endif /* SCM_POSIX_H */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
2006-11-18 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
|
* Makefile.am (SCM_TESTS): Added `tests/i18n.test'.
|
||||||
|
|
||||||
|
* tests/i18n.test: New file.
|
||||||
|
|
||||||
2006-11-17 Neil Jerram <neil@ossau.uklinux.net>
|
2006-11-17 Neil Jerram <neil@ossau.uklinux.net>
|
||||||
|
|
||||||
* README: Note need for subscription to bug-guile@gnu.org.
|
* README: Note need for subscription to bug-guile@gnu.org.
|
||||||
|
@ -6,7 +12,7 @@
|
||||||
|
|
||||||
* tests/environments.test: Comment out all tests in this file.
|
* tests/environments.test: Comment out all tests in this file.
|
||||||
|
|
||||||
2006-10-26 Ludovic Courtès <ludovic.courtes@laas.fr>
|
2006-10-26 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
* tests/srfi-14.test (Latin-1)[char-set:punctuation]: Fixed a
|
* tests/srfi-14.test (Latin-1)[char-set:punctuation]: Fixed a
|
||||||
typo: `thrown' instead of `throw'.
|
typo: `thrown' instead of `throw'.
|
||||||
|
@ -37,7 +43,7 @@
|
||||||
the error+thread tests seem ok now (previously were upset by something
|
the error+thread tests seem ok now (previously were upset by something
|
||||||
leaking out of syntax.test).
|
leaking out of syntax.test).
|
||||||
|
|
||||||
2006-09-20 Ludovic Courtès <ludovic.courtes@laas.fr>
|
2006-09-20 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
* tests/srfi-14.test: Use `define-module'. Use modules `(srfi
|
* tests/srfi-14.test: Use `define-module'. Use modules `(srfi
|
||||||
srfi-1)' and `(test-suite lib)'.
|
srfi-1)' and `(test-suite lib)'.
|
||||||
|
@ -82,7 +88,7 @@
|
||||||
|
|
||||||
* tests/time.test (localtime, mktime, strptime): More tests.
|
* tests/time.test (localtime, mktime, strptime): More tests.
|
||||||
|
|
||||||
2006-06-13 Ludovic Courtès <ludovic.courtes@laas.fr>
|
2006-06-13 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
* Makefile.am (SCM_TESTS): Added `tests/structs.test'.
|
* Makefile.am (SCM_TESTS): Added `tests/structs.test'.
|
||||||
* tests/structs.test: New file.
|
* tests/structs.test: New file.
|
||||||
|
@ -145,7 +151,7 @@
|
||||||
* tests/unif.test (make-shared-array): Add example usages from the
|
* tests/unif.test (make-shared-array): Add example usages from the
|
||||||
manual, two of which currently fail.
|
manual, two of which currently fail.
|
||||||
|
|
||||||
2006-03-04 Ludovic Courtès <ludovic.courtes@laas.fr>
|
2006-03-04 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
* test-suite/tests/modules.test: New file.
|
* test-suite/tests/modules.test: New file.
|
||||||
* test-suite/Makefile.am (SCM_TESTS): Added it.
|
* test-suite/Makefile.am (SCM_TESTS): Added it.
|
||||||
|
@ -193,7 +199,7 @@
|
||||||
|
|
||||||
* tests/srfi-1.test (lset-difference!): More tests.
|
* tests/srfi-1.test (lset-difference!): More tests.
|
||||||
|
|
||||||
2005-10-27 Ludovic Courtès <ludovic.courtes@laas.fr>
|
2005-10-27 Ludovic Courtès <ludovic.courtes@laas.fr>
|
||||||
|
|
||||||
* tests/socket.test (make-socket-address): New tests.
|
* tests/socket.test (make-socket-address): New tests.
|
||||||
(connect, bind, sendto): Exercise sockaddr object.
|
(connect, bind, sendto): Exercise sockaddr object.
|
||||||
|
@ -724,7 +730,7 @@
|
||||||
* lib.scm (exception:numerical-overflow): New define.
|
* lib.scm (exception:numerical-overflow): New define.
|
||||||
* tests/numbers.test (modulo-expt): Use it and
|
* tests/numbers.test (modulo-expt): Use it and
|
||||||
exception:wrong-type-arg, avoiding empty "" regexp which is invalid on
|
exception:wrong-type-arg, avoiding empty "" regexp which is invalid on
|
||||||
BSD. Reported by Andreas Vögele.
|
BSD. Reported by Andreas Vögele.
|
||||||
|
|
||||||
2004-05-29 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
|
2004-05-29 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
|
||||||
|
|
||||||
|
@ -749,12 +755,12 @@
|
||||||
|
|
||||||
* tests/srfi-19.test (test-dst, string->date local DST): Test with
|
* tests/srfi-19.test (test-dst, string->date local DST): Test with
|
||||||
"EST5EDT" instead of "CET", since HP-UX doesn't know CET. Reported by
|
"EST5EDT" instead of "CET", since HP-UX doesn't know CET. Reported by
|
||||||
Andreas Vögele.
|
Andreas Vögele.
|
||||||
|
|
||||||
2004-05-03 Kevin Ryde <user42@zip.com.au>
|
2004-05-03 Kevin Ryde <user42@zip.com.au>
|
||||||
|
|
||||||
* tests/time.test (strftime): Force tm:isdst to 0 for the test, for
|
* tests/time.test (strftime): Force tm:isdst to 0 for the test, for
|
||||||
the benefit of HP-UX. Reported by Andreas Vögele.
|
the benefit of HP-UX. Reported by Andreas Vögele.
|
||||||
Use set-tm:zone rather than a hard coded vector offset.
|
Use set-tm:zone rather than a hard coded vector offset.
|
||||||
|
|
||||||
2004-04-29 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
|
2004-04-29 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
|
||||||
|
@ -1695,7 +1701,7 @@
|
||||||
|
|
||||||
2001-06-16 Marius Vollmer <mvo@zagadka.ping.de>
|
2001-06-16 Marius Vollmer <mvo@zagadka.ping.de>
|
||||||
|
|
||||||
Thanks to Matthias Köppe!
|
Thanks to Matthias Köppe!
|
||||||
|
|
||||||
* tests/ports.test: New test for output port line counts.
|
* tests/ports.test: New test for output port line counts.
|
||||||
* tests/format.test, tests/optargs.test, tests/srfi-19.test: New
|
* tests/format.test, tests/optargs.test, tests/srfi-19.test: New
|
||||||
|
@ -2289,3 +2295,7 @@ Fri Dec 17 12:14:10 1999 Greg J. Badros <gjb@cs.washington.edu>
|
||||||
|
|
||||||
* lib.scm, guile-test, paths.scm: Log begins.
|
* lib.scm, guile-test, paths.scm: Log begins.
|
||||||
|
|
||||||
|
|
||||||
|
;; Local Variables:
|
||||||
|
;; coding: utf-8
|
||||||
|
;; End:
|
||||||
|
|
|
@ -43,6 +43,7 @@ SCM_TESTS = tests/alist.test \
|
||||||
tests/guardians.test \
|
tests/guardians.test \
|
||||||
tests/hash.test \
|
tests/hash.test \
|
||||||
tests/hooks.test \
|
tests/hooks.test \
|
||||||
|
tests/i18n.test \
|
||||||
tests/import.test \
|
tests/import.test \
|
||||||
tests/interp.test \
|
tests/interp.test \
|
||||||
tests/list.test \
|
tests/list.test \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue