mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-10 14:00:21 +02:00
Fix the recommendations for conversion of C string constants.
* doc/ref/api-data.texi (Conversion to/from C, Symbol Primitives, Keyword Procedures): Fix the recommendations for conversion of C string constants. The encoding of the source code is irrelevant in modern compilers. What is relevant is the execution character set. Both GCC and clang use UTF-8 by default, so recommend the 'scm_from_utf8_*' functions when the argument is a C string constant. Also fix the broken texinfo markup for 'scm_from_*_symbol' that prevented them from being listed in the index.
This commit is contained in:
parent
3e5a164ac3
commit
a71e79c3e5
1 changed files with 13 additions and 11 deletions
|
@ -4303,9 +4303,9 @@ If the C string is ill-formed, an error will be raised.
|
|||
|
||||
Note that these functions should @emph{not} be used to convert C string
|
||||
constants, because there is no guarantee that the current locale will
|
||||
match that of the source code. To convert C string constants, use
|
||||
@code{scm_from_latin1_string}, @code{scm_from_utf8_string} or
|
||||
@code{scm_from_utf32_string}.
|
||||
match that of the execution character set, used for string and character
|
||||
constants. Most modern C compilers use UTF-8 by default, so to convert
|
||||
C string constants we recommend @code{scm_from_utf8_string}.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {C Function} SCM scm_take_locale_string (char *str)
|
||||
|
@ -5362,15 +5362,15 @@ When you want to do more from C, you should convert between symbols
|
|||
and strings using @code{scm_symbol_to_string} and
|
||||
@code{scm_string_to_symbol} and work with the strings.
|
||||
|
||||
@deftypefn {C Function} scm_from_latin1_symbol (const char *name)
|
||||
@deftypefnx {C Function} scm_from_utf8_symbol (const char *name)
|
||||
@deftypefn {C Function} SCM scm_from_latin1_symbol (const char *name)
|
||||
@deftypefnx {C Function} SCM scm_from_utf8_symbol (const char *name)
|
||||
Construct and return a Scheme symbol whose name is specified by the
|
||||
null-terminated C string @var{name}. These are appropriate when
|
||||
the C string is hard-coded in the source code.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {C Function} scm_from_locale_symbol (const char *name)
|
||||
@deftypefnx {C Function} scm_from_locale_symboln (const char *name, size_t len)
|
||||
@deftypefn {C Function} SCM scm_from_locale_symbol (const char *name)
|
||||
@deftypefnx {C Function} SCM scm_from_locale_symboln (const char *name, size_t len)
|
||||
Construct and return a Scheme symbol whose name is specified by
|
||||
@var{name}. For @code{scm_from_locale_symbol}, @var{name} must be null
|
||||
terminated; for @code{scm_from_locale_symboln} the length of @var{name} is
|
||||
|
@ -5378,8 +5378,9 @@ specified explicitly by @var{len}.
|
|||
|
||||
Note that these functions should @emph{not} be used when @var{name} is a
|
||||
C string constant, because there is no guarantee that the current locale
|
||||
will match that of the source code. In such cases, use
|
||||
@code{scm_from_latin1_symbol} or @code{scm_from_utf8_symbol}.
|
||||
will match that of the execution character set, used for string and
|
||||
character constants. Most modern C compilers use UTF-8 by default, so
|
||||
in such cases we recommend @code{scm_from_utf8_symbol}.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {C Function} SCM scm_take_locale_symbol (char *str)
|
||||
|
@ -5872,8 +5873,9 @@ Equivalent to @code{scm_symbol_to_keyword (scm_from_locale_symbol
|
|||
|
||||
Note that these functions should @emph{not} be used when @var{name} is a
|
||||
C string constant, because there is no guarantee that the current locale
|
||||
will match that of the source code. In such cases, use
|
||||
@code{scm_from_latin1_keyword} or @code{scm_from_utf8_keyword}.
|
||||
will match that of the execution character set, used for string and
|
||||
character constants. Most modern C compilers use UTF-8 by default, so
|
||||
in such cases we recommend @code{scm_from_utf8_keyword}.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn {C Function} SCM scm_from_latin1_keyword (const char *name)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue