X-Git-Url: https://git.hcoop.net/bpt/guile.git/blobdiff_plain/adf06a72d53821d34e14fa69b20b10e2f809f593..34ff3af9f0024c6d5163f422ca5e1202a560efe3:/doc/ref/api-data.texi diff --git a/doc/ref/api-data.texi b/doc/ref/api-data.texi index c73a703d5..3f787b1c9 100644 --- a/doc/ref/api-data.texi +++ b/doc/ref/api-data.texi @@ -1,7 +1,7 @@ @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 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. +@c Copyright (C) 1996, 1997, 2000-2004, 2006-2014 +@c Free Software Foundation, Inc. @c See the file guile.texi for copying conditions. @node Simple Data Types @@ -445,6 +445,8 @@ function will always succeed and will always return an exact number. @deftypefnx {C Function} scm_t_uint64 scm_to_uint64 (SCM x) @deftypefnx {C Function} scm_t_intmax scm_to_intmax (SCM x) @deftypefnx {C Function} scm_t_uintmax scm_to_uintmax (SCM x) +@deftypefnx {C Function} scm_t_intptr scm_to_intptr_t (SCM x) +@deftypefnx {C Function} scm_t_uintptr scm_to_uintptr_t (SCM x) When @var{x} represents an exact integer that fits into the indicated C type, return that integer. Else signal an error, either a `wrong-type' error when @var{x} is not an exact integer, or an @@ -479,6 +481,8 @@ the corresponding types are. @deftypefnx {C Function} SCM scm_from_uint64 (scm_t_uint64 x) @deftypefnx {C Function} SCM scm_from_intmax (scm_t_intmax x) @deftypefnx {C Function} SCM scm_from_uintmax (scm_t_uintmax x) +@deftypefnx {C Function} SCM scm_from_intptr_t (scm_t_intptr x) +@deftypefnx {C Function} SCM scm_from_uintptr_t (scm_t_uintptr x) Return the @code{SCM} value that represents the integer @var{x}. These functions will always succeed and will always return an exact number. @@ -2331,6 +2335,24 @@ lowercase, and titlecase forms respectively. The type @code{scm_t_wchar} is a signed, 32-bit integer. @end deftypefn +Characters also have ``formal names'', which are defined by Unicode. +These names can be accessed in Guile from the @code{(ice-9 unicode)} +module: + +@example +(use-modules (ice-9 unicode)) +@end example + +@deffn {Scheme Procedure} char->formal-name chr +Return the formal all-upper-case Unicode name of @var{ch}, +as a string, or @code{#f} if the character has no name. +@end deffn + +@deffn {Scheme Procedure} formal-name->char name +Return the character whose formal all-upper-case Unicode name is +@var{name}, or @code{#f} if no such character is known. +@end deffn + @node Character Sets @subsection Character Sets @@ -2981,6 +3003,10 @@ Backspace character (ASCII 8). @item @nicode{\0} NUL character (ASCII 0). +@item @nicode{\(} +Open parenthesis. This is intended for use at the beginning of lines in +multiline strings to avoid confusing Emacs lisp modes. + @item @nicode{\} followed by newline (ASCII 10) Nothing. This way if @nicode{\} is the last character in a line, the string will continue with the first character from the next line, @@ -5539,6 +5565,8 @@ approach to properties, see @ref{Object Properties}. @node Symbol Read Syntax @subsubsection Extended Read Syntax for Symbols +@cindex r7rs-symbols + The read syntax for a symbol is a sequence of letters, digits, and @dfn{extended alphabetic characters}, beginning with a character that cannot begin a number. In addition, the special cases of @code{+}, @@ -5599,6 +5627,16 @@ double quotes. |\| is a vertical bar| @end example +Note that there's also an @code{r7rs-symbols} print option +(@pxref{Scheme Write}). To enable the use of this notation, evaluate +one or both of the following expressions: + +@example +(read-enable 'r7rs-symbols) +(print-enable 'r7rs-symbols) +@end example + + @node Symbol Uninterned @subsubsection Uninterned Symbols