1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 05:50:26 +02:00
guile/libguile
Mark H Weaver 9d427b2cc3 Improved exactness handling for complex number parsing
When parsing non-real complex numbers, apply exactness specifiers on
per-component basis, as is done in PLT Scheme.  For complex numbers
written in rectangular form, exactness specifiers are applied to the
real and imaginary parts before calling scm_make_rectangular.  For
complex numbers written in polar form, exactness specifiers are applied
to the magnitude and angle before calling scm_make_polar.

There are two kinds of exactness specifiers: forced and implicit.  A
forced exactness specifier is a "#e" or "#i" prefix at the beginning of
the entire number, and applies to both components of a complex number.
"#e" causes each component to be made exact, and "#i" causes each
component to be made inexact.  If no forced exactness specifier is
present, then the exactness of each component is determined
independently by the presence or absence of a decimal point or hash mark
within that component.  If a decimal point or hash mark is present, the
component is made inexact, otherwise it is made exact.

After the exactness specifiers have been applied to each component, they
are passed to either scm_make_rectangular or scm_make_polar to produce
the final result.  Note that this will result in a real number if the
imaginary part, magnitude, or angle is an exact 0.

Previously, both forced and implicit exactness specifiers applied to
the number as a whole _after_ calling scm_make_rectangular or
scm_make_polar.

For example, (string->number "#i5.0+0i") now does the equivalent of:

  (make-rectangular (exact->inexact 5.0) (exact->inexact 0))

which yields 5.0+0.0i.  Previously it did the equivalent of:

  (exact->inexact (make-rectangular 5.0 0))

which yielded 5.0.

* libguile/numbers.c (mem2ureal): Receive a forced exactness specifier
  (forced_x), create and maintain our own implicit exactness specifier
  flag local to this component (implicit_x), and apply these exactness
  specifiers within this function.  Previously, we received a pointer to
  an implicit exactness specifier flag from above, and the exactness
  specifiers were applied from within scm_i_string_length.

  (mem2complex): Receive a forced exactness specifier parameter and pass
  it down to mem2ureal.  Previously, we passed down a pointer to an
  implicit exactness specifier flag instead.

  (scm_i_string_to_number): No longer create an implicit exactness
  specifier flag here, and do not apply exactness specifiers here.  All
  we do here now regarding exactness is to parse the "#e" or "#i" prefix
  (if any) and pass this information down to mem2ureal via mem2complex
  in the form of an explicit exactness specifier (forced_x).

  (scm_c_make_polar): If the cosine and sine of the angle are both NaNs
  and the magnitude is zero, return 0.0+0.0i instead of +nan.0+nan.0i.
  This case happens when the angle is not finite.

* test-suite/tests/numbers.test (string->number): Move the test cases
  for non-real complex numbers into a separate table in which the
  expected real and imaginary parts are separate entries.  Add several
  new test cases.
2011-02-03 10:50:24 +01:00
..
.gitignore libguile gitignore 2010-09-12 23:39:52 +02:00
__scm.h Add `SCM_GNUC_PREREQ'. 2010-11-19 13:34:43 +01:00
_scm.h ASYNC_TICK after catching EINTR in SCM_SYSCALL 2010-12-03 15:17:35 +01:00
alist.c remove libguile/lang.h, deprecate %nil (in favor of #nil) 2010-04-09 14:26:31 +02:00
alist.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
arbiters.c fix arbiter compilation with the generic codepath 2009-12-09 10:21:31 +01:00
arbiters.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
array-handle.c remove a bunch of needless scm_permanent_object calls 2009-12-05 11:32:50 +01:00
array-handle.h add generic array implementation facility 2009-07-19 15:15:40 +02:00
array-map.c more fixes to equal? for arrays 2010-04-01 00:25:06 +02:00
array-map.h more fixes to equal? for arrays 2010-04-01 00:25:06 +02:00
arrays.c allow compilation of #@2(1 2 3) 2010-01-11 21:47:10 +01:00
arrays.h Fix the visibility of a few of internal symbols. 2010-05-28 17:02:13 +02:00
async.c Assorted `syntax-check' fixes. 2010-08-27 18:59:42 +02:00
async.h Arrange so that `SCM_I_CURRENT_THREAD' is not accessed outside of libguile. 2009-10-09 14:10:03 +02:00
backtrace.c display-error takes a frame, shows source if possible 2010-07-15 12:11:34 +02:00
backtrace.h a number of doc fixes 2010-08-16 21:36:14 -07:00
bdw-gc.h Merge branch 'bdw-gc-static-alloc' 2009-11-01 18:17:31 +01:00
bitvectors.c make-string et al nulls memory if not given an initializer 2010-12-04 19:31:20 +01:00
bitvectors.h bitvector exodus from unif.[ch] 2009-07-19 14:53:03 +02:00
boolean.c remove libguile/lang.h, deprecate %nil (in favor of #nil) 2010-04-09 14:26:31 +02:00
boolean.h remove "discouraged" infrastructure 2010-08-08 14:15:47 +02:00
bytevectors.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
bytevectors.h Revert "Remove unused internal bytevector functions." 2010-01-07 22:06:20 +01:00
c-tokenize.lex remove spurious declarations in c-tokenize.lex 2010-03-26 13:22:10 +01:00
ChangeLog-1996-1999
ChangeLog-2000
ChangeLog-2008 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
ChangeLog-scm
ChangeLog-srfi move srfi-1 and srfi-60 C impl to libguile, without public C api 2010-09-12 23:29:11 +02:00
ChangeLog-threads
chars.c Add R6RS character names 2010-01-10 15:16:55 -08:00
chars.h Support for Unicode general categories 2009-12-24 11:55:47 -05:00
continuations.c objcode type is an enumeration, not flags 2011-01-27 13:08:01 +01:00
continuations.h continuations return multiple values on the stack 2010-02-08 22:59:25 +01:00
control.c objcode type is an enumeration, not flags 2011-01-27 13:08:01 +01:00
control.h remove internal treatment of default prompt tag, it seems there was no need 2010-03-11 22:31:29 +01:00
conv-integer.i.c
conv-uinteger.i.c Remove references to undefined macros. 2009-11-17 23:42:22 +01:00
cpp-E.syms Update cpp-E.syms' and cpp-SIG.syms'. 2010-10-15 15:56:03 +02:00
cpp-SIG.syms Update cpp-E.syms' and cpp-SIG.syms'. 2010-10-15 15:56:03 +02:00
debug-malloc.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
debug-malloc.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
debug.c fix a number of assumptions that a pointer could fit into a long 2010-11-19 15:22:43 +01:00
debug.h remove evaluator-traps-interface 2010-09-24 18:44:21 +02:00
deprecated.c deprecate cuserid 2010-11-18 11:15:16 +01:00
deprecated.h deprecate cuserid 2010-11-18 11:15:16 +01:00
deprecation.c threadsafety in deprecation, extensions 2010-08-28 12:15:53 -07:00
deprecation.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
dynl.c remove type discusison from dynamic-pointer docstring 2010-08-06 13:41:58 +02:00
dynl.h Simplify the (system foreign) API. 2010-07-26 19:38:52 +02:00
dynwind.c tighten up scm_i_dowinds, fixing invalid SCM_CAR (prompt) 2010-03-04 13:14:43 +01:00
dynwind.h Revert "Change dynwind flag enums to #defines, for greater portability" 2009-10-07 22:14:38 +01:00
eq.c equal?' and eqv?' are now equivalent for numbers 2011-01-30 13:08:47 +01:00
eq.h remove "discouraged" infrastructure 2010-08-08 14:15:47 +02:00
error.c interrupted syscalls run asyncs before throwing syserror 2010-10-10 11:25:50 +02:00
error.h Avoid accessing symbol internals in call_dsubr_1 and DEVAL 2009-08-20 21:39:56 -07:00
eval.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
eval.h scm_badargsp is deprecated 2010-05-13 23:37:15 +02:00
evalext.c Use "pointer" instead of "foreign" when dealing with wrapped pointers. 2010-07-28 12:24:25 +02:00
evalext.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
expand.c psyntax, primitive expander, and memoizer support for letrec* 2010-06-17 13:43:26 +02:00
expand.h beginnings of letrec* support in the expander 2010-06-17 13:43:26 +02:00
extensions.c threadsafety in deprecation, extensions 2010-08-28 12:15:53 -07:00
extensions.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
feature.c remove a bunch of needless scm_permanent_object calls 2009-12-05 11:32:50 +01:00
feature.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
filesys.c filesystem trickery to scm_i_relativize_path in filesys.c; bugfix. 2010-04-19 16:39:11 +02:00
filesys.h filesystem trickery to scm_i_relativize_path in filesys.c; bugfix. 2010-04-19 16:39:11 +02:00
fluids.c rename make-undefined-fluid to make-unbound-fluid 2010-12-17 13:10:03 +01:00
fluids.h rename make-undefined-fluid to make-unbound-fluid 2010-12-17 13:10:03 +01:00
foreign.c Add `pointer?'. 2011-01-30 23:29:30 +01:00
foreign.h Add `pointer?'. 2011-01-30 23:29:30 +01:00
fports.c scm_setvbuf doesn't throw away current buffers 2010-12-06 19:59:15 +01:00
fports.h Remove seek/truncate shortcuts to file ports. 2009-06-28 23:33:17 +02:00
frames.c fix a number of assumptions that a pointer could fit into a long 2010-11-19 15:22:43 +01:00
frames.h add ,registers 2010-09-30 21:29:20 +02:00
gc-malloc.c make-string et al nulls memory if not given an initializer 2010-12-04 19:31:20 +01:00
gc.c Use "pointer" instead of "foreign" when dealing with wrapped pointers. 2010-07-28 12:24:25 +02:00
gc.h Fix the visibility of a few of internal symbols. 2010-05-28 17:02:13 +02:00
gdb_interface.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
gdbint.c remove a bunch of needless scm_permanent_object calls 2009-12-05 11:32:50 +01:00
gdbint.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
gen-scmconfig.c Use Gnulib's isnan' and isinf' modules. 2010-09-08 00:34:27 +02:00
gen-scmconfig.h.in further discouraged excision 2010-08-16 21:36:14 -07:00
generalized-arrays.c add docs and tests for array->list 2010-04-07 21:04:37 +02:00
generalized-arrays.h Reinstate backward-compatible `scm_array_p ()'. 2009-09-24 00:06:54 +02:00
generalized-vectors.c fix bug in generalized-vector->list 2010-01-03 12:37:07 +01:00
generalized-vectors.h add registry of vector constructors, make-generalized-vector 2009-07-19 15:15:44 +02:00
gettext.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
gettext.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
goops.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
goops.h remove scm_add_method 2009-12-20 15:34:19 +01:00
gsubr.c objcode type is an enumeration, not flags 2011-01-27 13:08:01 +01:00
gsubr.h Use "pointer" instead of "foreign" when dealing with wrapped pointers. 2010-07-28 12:24:25 +02:00
guardians.c SCM_CELL in guardians.c 2009-12-08 23:13:13 +01:00
guardians.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
guile-func-name-check Revert "[build] Rewrite guile-func-name-check in Scheme, adding features." 2010-08-27 13:05:23 -07:00
guile-snarf-docs.in Revert "[build] Rewrite guile-func-name-check in Scheme, adding features." 2010-08-27 13:05:23 -07:00
guile-snarf.awk.in Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
guile-snarf.in Merge branch 'boehm-demers-weiser-gc' into bdw-gc-static-alloc 2009-09-02 01:37:37 +02:00
guile.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
hash.c add hash functions for locale, latin1, and utf8 strings 2011-01-07 09:18:36 -08:00
hash.h add hash functions for locale, latin1, and utf8 strings 2011-01-07 09:18:36 -08:00
hashtab.c fix tab completion in repl (doh) 2011-01-07 22:01:27 -08:00
hashtab.h add scm_hash_fn_get_handle_by_hash 2011-01-07 09:18:37 -08:00
hooks.c add scm_call_n, scm_c_run_hookn 2009-12-21 21:06:27 +01:00
hooks.h add scm_call_n, scm_c_run_hookn 2009-12-21 21:06:27 +01:00
i18n.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
i18n.h Improved support for Unicode title case in Guile's string and character APIs. 2009-12-22 00:19:56 -05:00
ieee-754.h Import R6RS bytevectors and I/O ports from Guile-R6RS-Libs 0.2. 2009-05-28 23:12:01 +02:00
init.c add (ice-9 poll), a poll wrapper 2010-12-03 15:16:37 +01:00
init.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
inline.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
inline.h Remove conflicting `scm_is_string' declaration. 2010-12-17 14:34:22 +01:00
instructions.c fix a number of assuptions that a long could hold an inum 2010-11-19 15:22:43 +01:00
instructions.h fix race in which some instruction name symbols could go unmarked 2009-07-14 21:29:41 +02:00
ioext.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
ioext.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
iselect.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
keywords.c decruftify scm_sys_protects 2009-12-05 12:38:43 +01:00
keywords.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
libgettext.h Added missing files for `(ice-9 i18n)'. 2006-11-18 18:18:23 +00:00
libguile.map Use a linker version script for libguile. 2009-08-09 23:40:11 +02:00
list.c remove libguile/lang.h, deprecate %nil (in favor of #nil) 2010-04-09 14:26:31 +02:00
list.h factor copy-tree and cons-source out of eval.[ch] 2009-12-01 21:00:26 +01:00
load.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
load.h %site-dir is specific to the effective version 2010-08-06 13:15:29 +02:00
locale-categories.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
macros.c simplify macro representation in the wake of module hygiene changes 2010-06-06 13:39:44 +02:00
macros.h clean up macros.[ch] 2010-01-05 15:33:46 +01:00
Makefile.am add (ice-9 poll), a poll wrapper 2010-12-03 15:16:37 +01:00
mallocs.c Merge branch 'master' into boehm-demers-weiser-gc 2009-08-18 00:06:45 +02:00
mallocs.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
memmove.c
memoize.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
memoize.h remove scm_memoizer_p and scm_memoizer declarations 2010-05-27 11:34:48 +02:00
mkstemp.c Include <config.h> in all C files; use #ifdef HAVE_CONFIG_H' rather than #if'. 2008-09-13 15:35:27 +02:00
modules.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
modules.h new evaluator, y'all 2009-12-01 21:00:26 +01:00
net_db.c Change getaddrinfo' test to handle the GNU-specific EAI_NODATA'. 2011-01-05 22:17:26 +01:00
net_db.h Add `getaddrinfo' and related procedures. 2010-02-14 20:56:47 +01:00
null-threads.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
null-threads.h Assorted `syntax-check' fixes. 2010-08-27 18:59:42 +02:00
numbers.c Improved exactness handling for complex number parsing 2011-02-03 10:50:24 +01:00
numbers.h Rename {euclidean,centered}_quo_rem to {euclidean,centered}_divide 2011-01-31 20:22:42 +01:00
objcodes.c for mmap objcodes, store the fd in the third word, as a scheme int 2011-01-27 13:11:02 +01:00
objcodes.h for mmap objcodes, store the fd in the third word, as a scheme int 2011-01-27 13:11:02 +01:00
objprop.c threadsafe object properties 2010-08-28 11:57:51 -07:00
objprop.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
options.c (foo-options 'full) displays options doc in correct order 2010-10-01 10:07:47 +02:00
options.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
pairs.c Revert "[build] Rewrite guile-func-name-check in Scheme, adding features." 2010-08-27 13:05:23 -07:00
pairs.h remove "discouraged" infrastructure 2010-08-08 14:15:47 +02:00
poll.c fix bugs in primitive-poll 2010-12-13 20:25:36 +01:00
poll.h add (ice-9 poll), a poll wrapper 2010-12-03 15:16:37 +01:00
ports.c Change `scm_encoding_error' to pass the port and faulty character. 2011-02-02 18:06:29 +01:00
ports.h Add missing include for MinGW. 2011-01-29 22:28:48 +01:00
posix.c Fix incorrect FUNC_NAME for scm_current_processor_count 2011-01-28 12:16:16 +01:00
posix.h Add total-processor-count' and current-processor-count'. 2010-12-07 23:13:20 +01:00
print.c Change `scm_encoding_error' to pass the port and faulty character. 2011-02-02 18:06:29 +01:00
print.h Factorize and optimize `write' for strings and characters. 2010-09-14 16:11:19 +02:00
private-gc.h Remove deprecated variables/macros from the GC headers. 2009-08-28 21:02:42 +02:00
private-options.h implement r6rs hungry escaped EOL 2011-01-21 09:24:32 +01:00
procprop.c deprecate arity access via (procedure-properties proc 'arity) 2010-04-17 16:28:52 +02:00
procprop.h deprecate arity access via (procedure-properties proc 'arity) 2010-04-17 16:28:52 +02:00
procs.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
procs.h move subr implementation details to gsubr.[ch] 2010-01-05 16:15:14 +01:00
programs.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
programs.h add program-sources-pre-retire to core and define frame-next-source 2010-10-08 12:31:56 +02:00
promises.c remove libguile/lang.h, deprecate %nil (in favor of #nil) 2010-04-09 14:26:31 +02:00
promises.h promises are in their own file now 2009-12-01 21:00:26 +01:00
properties.c decruftify scm_sys_protects 2009-12-05 12:38:43 +01:00
properties.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
pthread-threads.h Rename "boehm-gc.h" to "bdw-gc.h"; add to the distribution. 2009-09-14 00:42:25 +02:00
quicksort.i.c remove uses of trampolines within guile itself 2009-12-01 21:00:25 +01:00
r6rs-ports.c Have lookahead-u8' and get-u8' actually do binary input. 2010-12-21 00:50:22 +01:00
r6rs-ports.h Register `scm_init_r6rs_ports' as an extension. 2010-10-08 15:25:56 +02:00
random.c fix a number of assuptions that a long could hold an inum 2010-11-19 15:22:43 +01:00
random.h Fix the range of `random' on 64-bit platforms 2010-08-01 21:53:29 +02:00
rdelim.c Fix buffer overflow in `read-line'. 2011-01-27 00:15:58 +01:00
rdelim.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
read.c implement r6rs hungry escaped EOL 2011-01-21 09:24:32 +01:00
read.h Have `scm_scan_for_encoding ()' use GC-managed memory. 2009-11-14 16:59:25 +01:00
regex-posix.c multibyte regex error handling fix 2011-01-07 09:18:36 -08:00
regex-posix.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
remaining-docs-needed
root.c decruftify scm_sys_protects 2009-12-05 12:38:43 +01:00
root.h decruftify scm_sys_protects 2009-12-05 12:38:43 +01:00
run-test
rw.c Add Unicode strings and symbols 2009-08-08 02:35:00 -07:00
rw.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
scmconfig.h.top Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
scmsigs.c remove a bunch of needless scm_permanent_object calls 2009-12-05 11:32:50 +01:00
scmsigs.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
script.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
script.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
simpos.c simpos tweak 2010-11-19 15:22:43 +01:00
simpos.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
smob.c objcode type is an enumeration, not flags 2011-01-27 13:08:01 +01:00
smob.h smobs are applied with vm trampoline procedures 2010-01-09 14:21:03 +01:00
snarf.h Use "pointer" instead of "foreign" when dealing with wrapped pointers. 2010-07-28 12:24:25 +02:00
socket.c Make inet-ntop' and inet-pton' available even when !HAVE_IPV6. 2011-01-29 22:26:42 +01:00
socket.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
sort.c remove libguile/lang.h, deprecate %nil (in favor of #nil) 2010-04-09 14:26:31 +02:00
sort.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srcprop.c remove srcprop.[ch] things that have to do with breakpoints 2010-09-24 17:33:17 +02:00
srcprop.h remove srcprop.[ch] things that have to do with breakpoints 2010-09-24 17:33:17 +02:00
srfi-1.c Fix typo. 2011-02-02 18:06:28 +01:00
srfi-1.h SRFI-1: Rewrite split-at' and split-at!' in Scheme. 2010-10-08 15:25:56 +02:00
srfi-4.c remove SCM_HAVE_T_INT64, SCM_HAVE_T_UINT64 2010-07-26 15:00:49 +02:00
srfi-4.h remove SCM_HAVE_T_INT64, SCM_HAVE_T_UINT64 2010-07-26 15:00:49 +02:00
srfi-13.c Enclose SRFI-13 deprecation handling in `#if SCM_ENABLE_DEPRECATED == 1'. 2011-02-02 22:02:09 +01:00
srfi-13.h fix string-filter and string-delete argument order 2010-11-19 17:08:36 +01:00
srfi-14.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
srfi-14.h Add char-set debugging function 2009-09-03 08:29:45 -07:00
srfi-14.i.c Update charsets to Unicode 6.0.0 2010-10-14 18:21:28 -07:00
srfi-60.c move srfi-1 and srfi-60 C impl to libguile, without public C api 2010-09-12 23:29:11 +02:00
srfi-60.h move srfi-1 and srfi-60 C impl to libguile, without public C api 2010-09-12 23:29:11 +02:00
stackchk.c scm_report_stack_overflow eventually resets scm_stack_checking_enabled_p 2010-10-01 16:36:34 +02:00
stackchk.h c stack overflow checked for, once more 2010-10-01 16:47:39 +02:00
stacks.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
stacks.h replace frame implementation with VM frames 2009-12-03 14:42:51 +01:00
stime.c add scm_{to,from}_{utf8,latin1}_string{n,} 2011-01-07 09:18:36 -08:00
stime.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
strerror.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
strings.c Change `scm_encoding_error' to pass the port and faulty character. 2011-02-02 18:06:29 +01:00
strings.h Change `scm_encoding_error' to pass the port and faulty character. 2011-02-02 18:06:29 +01:00
strorder.c provide missing prototypes 2010-01-07 23:49:15 +01:00
strorder.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
strports.c Have string ports honor `%default-port-encoding'. 2010-01-07 11:10:35 +01:00
strports.h Have string ports honor `%default-port-encoding'. 2010-01-07 11:10:35 +01:00
struct.c fix a number of assumptions that a pointer could fit into a long 2010-11-19 15:22:43 +01:00
struct.h add flag to vtables to indicate that their layout is valid 2010-08-29 11:41:42 -07:00
symbols.c optimize scm_from_latin1_symboln 2011-01-07 09:18:41 -08:00
symbols.h add scm_from_{latin1,utf8}_symbol{n,} 2011-01-07 09:18:36 -08:00
tags.h Use "pointer" instead of "foreign" when dealing with wrapped pointers. 2010-07-28 12:24:25 +02:00
threads.c scm_with_guile calls GC_call_with_gc_active 2011-01-22 19:55:31 +01:00
threads.h scm_with_guile calls GC_call_with_gc_active 2011-01-22 19:55:31 +01:00
throw.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
throw.h deprecate the-last-stack 2010-06-19 13:43:33 +02:00
trees.c remove libguile/lang.h, deprecate %nil (in favor of #nil) 2010-04-09 14:26:31 +02:00
trees.h factor copy-tree and cons-source out of eval.[ch] 2009-12-01 21:00:26 +01:00
unidata_to_charset.pl copyright dates 2010-04-03 06:46:23 -07:00
uniform.c bitvector work 2010-08-29 20:48:32 -07:00
uniform.h fix bitvectors after the array handle refactoring 2009-09-18 16:27:32 +02:00
validate.h SCM_VALIDATE_SMOB uses SCM_SMOB_PREDICATE 2009-12-08 23:13:20 +01:00
values.c all subrs are gsubrs 2009-12-03 14:54:15 +01:00
values.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
variable.c variable-unset! 2010-12-07 13:21:01 +01:00
variable.h variable-unset! 2010-12-07 13:21:01 +01:00
vectors.c fix vector-move-right! and vector-move-left! 2010-08-04 21:48:00 +02:00
vectors.h fix vector-ref and vector-set opcodes for weak vectors 2010-04-01 09:05:59 +02:00
version.c version.h has SCM_EFFECTIVE_VERSION; effective-version uses that 2010-03-16 21:20:29 +01:00
version.h.in [build] Create libguile/version.h using the configure script. 2010-08-18 19:48:12 +02:00
vm-engine.c fix error handling in variable-ref family of instructions 2011-01-27 10:49:51 +01:00
vm-engine.h add vm-abort-continuation-hook, vm-restore-continuation-hook 2010-09-16 12:48:41 +02:00
vm-expand.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
vm-i-loader.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
vm-i-scheme.c fix a number of assuptions that a long could hold an inum 2010-11-19 15:22:43 +01:00
vm-i-system.c fix error handling in variable-ref family of instructions 2011-01-27 10:49:51 +01:00
vm.c use scm_from_latin1_symboln for string literals and load-symbol 2011-01-07 09:18:41 -08:00
vm.h add call-with-vm; remove thread-vm bits; remove vm-apply; engines settable. 2010-09-27 21:12:29 +02:00
vports.c Fix the `put-bytevector' tests. 2010-09-03 16:23:02 +02:00
vports.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
weaks.c remove libguile/lang.h, deprecate %nil (in favor of #nil) 2010-04-09 14:26:31 +02:00
weaks.h Allocate vectors in a contiguous memory area. 2009-11-02 00:55:17 +01:00
win32-dirent.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
win32-dirent.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
win32-socket.c Cast the input to isalpha et al to integer 2009-08-28 21:19:05 -07:00
win32-socket.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
win32-uname.c Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
win32-uname.h Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00