+2007-01-31 Ludovic Courtès <ludovic.courtes@laas.fr>
+
+ * i18n.c: Include "libguile/threads.h" and "libguile/posix.h"
+ unconditionally. Include <langinfo.h> and <nl_types.h> when
+ available.
+ (SCM_I18N_STRINGIFY, SCM_LOCALE_CATEGORY_MASK,
+ SCM_LIST_OR_INTEGER_P): New macros.
+ (LC_*_MASK): When `USE_GNU_LOCALE_API' is undefined, define them
+ as powers of two instead of `(1 << LC_*)'.
+ (scm_i_locale_free): New function/macro.
+ (scm_global_locale): New global variable.
+ (smob_locale_free): Use `scm_i_locale_free ()'.
+ (smob_locale_mark): Check whether the SMOB is `%global-locale'.
+ (get_current_locale_settings): Return `EINVAL' instead of `errno'
+ when `setlocale' fails.
+ (restore_locale_settings): Likewise.
+ (install_locale_categories): Likewise.
+ (install_locale): Likewise. Stop the locale stack traversal when
+ all categories have been handled.
+ (get_current_locale, category_to_category_mask,
+ category_list_to_category_mask): New function.
+ (scm_make_locale): Use them. Accept both lists of `LC_*' values
+ and single `LC_*' values as the first argument. Handle the case
+ where BASE_LOCALE is `%global-locale'. When `USE_GNU_LOCALE_API',
+ duplicate C_BASE_LOCALE before using it.
+ (scm_nl_langinfo, define_langinfo_items): New functions.
+ (scm_init_i18n): When `HAVE_NL_LANGINFO', add feature
+ `nl-langinfo' and invoke `define_langinfo_items ()'.
+ * i18n.h (scm_global_locale, scm_nl_langinfo): New declarations.
+ * posix.c: Include <xlocale.h> when available.
+ (scm_i_locale_mutex): Always define it. Statically initialized.
+ (scm_set_locale): Invoke `scm_i_to_lc_category ()' before
+ acquiring the locale mutex.
+ (scm_init_posix): No longer initialize SCM_I_LOCALE_MUTEX here.
+
+2007-01-25 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * vector.c: remove comment as per kryde's request.
+
+2007-01-22 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * vectors.c (s_scm_vector_move_right_x): complain about naming.
+
+ * srcprop.c: regularize comments.
+
+ * eval.c: remove superfluous ifndef DEVAL.
+
+ * private-options.h: idem.
+
+ * eval.i.c: copyright nitpicking.
+
+ * eval.c: distangle. move duplicate code to eval.i.c and include
+ twice.
+
+ * eval.i.c: new file.
+
+ * backtrace.c, debug.c, debug.h, deprecation.c, eq.c, eval.c
+ eval.h, gsubr.c, init.c, macros.c, print.c, print.h, read.c,
+ read.h, stacks.c, symbols.c, throw.c: use private-options.h
+
+ * private-options.h: new file: contain hardcoded option
+ definitions.
+
+ * private-gc.h: add FSF header.
+
+2007-01-19 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * debug.h (SCM_RESET_DEBUG_MODE): switch to debugging if
+ memoize-symbol is set.
+
+ * eval.h (SCM_MEMOIZE_HDLR): add macros for memoize symbol trap.
+
+ * eval.c (CEVAL): add memoize_symbol trap.
+
+ * options.c (scm_options_try): new function. This allows error
+ reporting before changing options in a critical section.
+
+ * srcprop.c: use double cell for storing source-properties. Put
+ filename in the plist, and share between srcprops if possible.
+ Remove specialized storage.
+
+ * srcprop.h: remove macros without SCM_ prefix from
+ interface. Remove specialized storage/type definitions.
+
+ * read.c: idem.
+
+ * print.c: idem.
+
+ * eval.c: terminate option lists with 0.
+
+ * options.c: remove n (for length) from scm_option_X
+ functions. Detect option list length by looking for NULL name.
+
+2007-01-19 Ludovic Courtès <ludovic.courtes@laas.fr>
+
+ * struct.c (scm_i_struct_equalp): Skip comparison if both FIELD1
+ is equal to S1 and FIELD2 is equal to S2. This avoids infinite
+ recursion when comparing `s' fields, as the REQUIRED_VTABLE_FIELDS
+ added by `make-vtable-vtable'. Reported by Marco Maggi.
+
+2007-01-18 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * throw.c (scm_ithrow): more refined error message: print symbols
+ too.
+
+2007-01-16 Kevin Ryde <user42@zip.com.au>
+
+ * feature.c, feature.h (scm_set_program_arguments_scm): New function,
+ implementing `set-program-arguments'.
+
+ * filesys.c (scm_init_filesys): Use scm_from_int rather than
+ scm_from_long for O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, O_EXCL,
+ O_NOCTTY, O_TRUNC, O_APPEND, O_NONBLOCK, O_NDELAY, O_SYNC and
+ O_LARGEFILE. These are all int not long, per arg to open().
+ (scm_init_filesys): Use scm_from_int rather than scm_from_long for
+ F_DUPFD, F_GETFD, F_SETFD, F_GETFL, F_SETFL, F_GETOWN, F_SETOWN, these
+ are all ints (per command arg to fcntl). Likewise FD_CLOEXEC which is
+ an int arg to fcntl.
+
+ * posix.c (scm_putenv): Correction to "len" variable, was defined only
+ for __MINGW32__ but used under any !HAVE_UNSETENV (such as solaris).
+ Move it to where it's used. Reported by Hugh Sasse.
+
+ * regex-posix.c (scm_regexp_exec): Remove SCM_CRITICAL_SECTION_START
+ and SCM_CRITICAL_SECTION_END, believe not needed. Their placement
+ meant #\nul in the input (detected by scm_to_locale_string) and a bad
+ flags arg (detected by scm_to_int) would throw from a critical
+ section, causing an abort().
+
+ * regex-posix.c (scm_init_regex_posix): Use scm_from_int for
+ REG_BASIC, REG_EXTENDED, REG_ICASE, REG_NEWLINE, REG_NOTBOL,
+ REG_NOTEOL; they're all ints not longs (per args to regcomp and
+ regexec).
+
+2007-01-10 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * throw.c (scm_ithrow): print out key symbol and string arguments
+ when error happens inside a critical section, and document why.
+
+2007-01-06 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * read.c (s_scm_read_hash_extend): document #f argument to
+ read-hash-extend.
+
+2007-01-04 Kevin Ryde <user42@zip.com.au>
+
+ * deprecated.h (scm_create_hook), version.h.in (scm_major_version,
+ scm_minor_version, scm_micro_version, scm_effective_version,
+ scm_version, scm_init_version): Use SCM_API instead of just extern,
+ for the benefit of mingw. Reported by Cesar Strauss.
+
+2007-01-03 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * gc.c (s_scm_gc_stats): return an entry for total-cells-allocated
+ too.
+ (gc_update_stats): update scm_gc_cells_allocated_acc too.
+
+2006-12-27 Kevin Ryde <user42@zip.com.au>
+
+ * threads.c (get_thread_stack_base): In mingw with pthreads we can use
+ the basic scm_get_stack_base. As advised by Nils Durner.
+
+ * threads.c (get_thread_stack_base): Add a version using
+ pthread_get_stackaddr_np (when available), for the benefit of MacOS.
+ As advised by Heikki Lindholm.
+
+ * scmsigs.c (signal_delivery_thread): Restrict scm_i_pthread_sigmask
+ to HAVE_PTHREAD_SIGMASK, it doesn't exist on mingw. Reported by Nils
+ Durner.
+
+2006-12-24 Kevin Ryde <user42@zip.com.au>
+
+ * posix.c (scm_kill): When only raise() is available, throw an ENOSYS
+ error if pid is not our own process, instead of silently doing nothing.
+
+ * print.c (scm_write, scm_display, scm_write_char): Disable port close
+ on EPIPE. This was previously disabled but introduction of HAVE_PIPE
+ check in configure.in unintentionally enabled it. Believe that
+ testing errno after scm_prin1 or scm_putc is bogus, a long ago error
+ can leave errno in that state. popen.test "no duplicates" output test
+ provoked that.
+
+2006-12-23 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * numbers.c (scm_i_fraction_reduce): move logic into
+ scm_i_make_ratio(), so fractions are only read.
+ scm_i_fraction_reduce() modifies a fraction when reading it. A
+ race condition might lead to fractions being corrupted by reading
+ them concurrently.
+
+ Also, the REDUCED bit alters the SCM_CELL_TYPE(), making
+ comparisons between reduced and unreduced fractions go wrong.
+
+ * numbers.h: remove SCM_FRACTION_SET_NUMERATOR,
+ SCM_FRACTION_SET_DENOMINATOR, SCM_FRACTION_REDUCED_BIT,
+ SCM_FRACTION_REDUCED_SET, SCM_FRACTION_REDUCED_CLEAR,
+ SCM_FRACTION_REDUCED.
+
+2006-12-16 Kevin Ryde <user42@zip.com.au>
+
+ * scmsigs.c (scm_raise): Use raise() rather than kill(), as this is
+ more direct for a procedure called raise.
+ (kill): Remove mingw fake fallback.
+
+2006-12-15 Kevin Ryde <user42@zip.com.au>
+
+ * scmsigs.c: Conditionalize process.h, add io.h believe needed for
+ _pipe on mingw.
+
+2006-12-14 Kevin Ryde <user42@zip.com.au>
+
+ * threads.c (thread_print): Cope with the case where pthread_t is a
+ struct, as found on mingw. Can't just cast to size_t for printing.
+ Reported by Nils Durner.
+
+ * scmsigs.c: Add <fcntl.h> and <process.h> needed by mingw. Copy the
+ fallback pipe() using _pipe() from posix.c. Reported by Nils Durner.
+
+2006-12-13 Kevin Ryde <user42@zip.com.au>
+
+ * eval.c (scm_m_define): Set 'name procedure property on any
+ scm_procedure_p, not just SCM_CLOSUREP. In particular this picks up
+ procedures with setters as used in srfi-17.
+
+ * posix.c (scm_crypt): Check for NULL return from crypt(), which the
+ linux man page says is a possibility.
+
+2006-12-12 Ludovic Courtès <ludovic.courtes@laas.fr>
+
+ * libguile/unif.c (read_decimal_integer): Let RESP be SIGN * RES
+ instead of RES (reported by Szavai Gyula). This allows the use of
+ negative lower bounds.
+ (scm_i_read_array): Make sure LEN is non-negative (reported by
+ Szavai Gyula).
+
+ (scm_array_in_bounds_p): Iterate over S instead of always
+ comparing indices with the bounds of S[0]. This fixes
+ `array-in-bounds?' for arrays with a rank greater than one and
+ with different lower bounds for each dimension.
+
+2006-12-05 Kevin Ryde <user42@zip.com.au>
+
+ * numbers.c (scm_product): For flonum*inum and complex*inum, return
+ exact 0 if inum==0. Already done for inum*flonum and inum*complex,
+ and as per R5RS section "Exactness".
+
+2006-12-03 Kevin Ryde <user42@zip.com.au>
+
+ * Makefile.am (.c.doc): Remove the "test -n" apparently attempting to
+ allow $AWK from the environment to override. It had syntax gremlins,
+ and the presence of a $(AWK) variable set by AC_PROG_AWK in the
+ Makefile stopped it having any effect. Use just $(AWK), which can be
+ overridden with "make AWK=xxx" in the usual way if desired.
+
+2006-11-29 Ludovic Courtès <ludovic.courtes@laas.fr>
+
+ * libguile/vectors.c (scm_vector_to_list): Fixed list
+ construction: elements were not copied when INC is zero (see
+ "shared array" example in `vectors.test'). Reported by
+ Szavai Gyula.
+
+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>
+
+ * script.c (scm_shell_usage): Note need for subscription to bug-guile@gnu.org.
+
+2006-11-08 Ludovic Courtès <ludovic.courtes@laas.fr>
+
+ * libguile/gc-freelist.c (scm_i_adjust_min_yield): Take two
+ "sweep_stats" arguments; use them instead of accessing the global
+ variables `scm_gc_cells_collected' and `scm_gc_cells_collected_1'.
+
+ * libguile/gc-segment.c (scm_i_sweep_some_cards): Reset SWEEP
+ before each iteration of the loop.
+ (scm_i_sweep_some_segments): Reset SWEEP at each iteration.
+ (scm_i_get_new_heap_segment): Take an additional argument
+ SWEEP_STATS. Compute MIN_CELLS as a function of it.
+
+ * libguile/gc.c (scm_gc_cells_collected,
+ scm_gc_cells_collected_1): Removed.
+ (scm_i_gc_sweep_stats, scm_i_gc_sweep_stats_1): New.
+ (scm_gc_cells_marked_acc, scm_gc_cells_swept_acc,
+ scm_gc_time_taken, scm_gc_mark_time_taken, scm_gc_times,
+ scm_gc_cell_yield_percentage, protected_obj_count): Made `static'.
+ (scm_gc_stats): Use `scm_i_gc_sweep_stats' instead of
+ `scm_gc_cells_(collected|swept)'.
+ (gc_update_stats): New.
+ (gc_end_stats): Use `scm_i_gc_sweep_stats' and
+ `scm_i_gc_sweep_stats_1' instead of the former globals.
+ (scm_gc_for_newcell): Invoke `gc_update_stats ()' after each
+ `scm_i_sweep_some_segments' call. This fixes a bug where the GC
+ would keep allocating new segments instead of re-using collected
+ cells (because `scm_gc_cells_collected' would remain zero).
+
+ * libguile/gc.h (scm_gc_cells_swept, scm_gc_cells_collected,
+ scm_gc_cell_yield_percentage): Removed.
+
+ * libguile/private-gc.h (scm_gc_cells_collected_1): Removed.
+ (scm_i_adjust_min_yield): Updated.
+ (scm_i_get_new_heap_segment): Updated.
+
+2006-11-02 Neil Jerram <neil@ossau.uklinux.net>
+
+ * modules.c: Correct comment saying that low-level environments
+ will be used "in the next release".
+
+ * init.c: Comment out #include of environments.h.
+ (scm_i_init_guile): Comment out scm_environments_prehistory() and
+ scm_init_environments() calls.
+
+ * Makefile.am (libguile_la_SOURCES): Remove environments.c.
+ (DOT_X_FILES): Remove environments.x.
+ (DOT_DOC_FILES): Remove environments.doc.
+ (modinclude_HEADERS): Remove environments.h.
+
+2006-10-25 Neil Jerram <neil@ossau.uklinux.net>
+
+ IA64 HP-UX GC patch from Hrvoje Nikšić. (Thanks!)
+
+ * threads.c (SCM_MARK_BACKING_STORE): Use scm_ia64_ar_bsp() and
+ scm_ia64_register_backing_store_base() instead of Linux-specific
+ implementations.
+
+ * gc.h (scm_ia64_register_backing_store_base, scm_ia64_ar_bsp):
+ New declarations.
+
+ * gc.c (__libc_ia64_register_backing_store_base): Declaration
+ removed.
+ (scm_ia64_register_backing_store_base, scm_ia64_ar_bsp): New, with
+ implementations for Linux and HP-UX.
+
+ * coop-pthreads.c (SCM_MARK_BACKING_STORE): Use scm_ia64_ar_bsp()
+ and scm_ia64_register_backing_store_base() instead of
+ Linux-specific implementations.
+
+ * continuations.h (__libc_ia64_register_backing_store_base):
+ Declaration removed.
+ (scm_t_contregs): New "fresh" field.
+
+ * continuations.c (ia64_getcontext): Removed.
+ (scm_make_continuation): Use continuation fresh field instead of
+ interpreting getcontext return values (which isn't portable). Use
+ scm_ia64_ar_bsp() and scm_ia64_register_backing_store_base()
+ instead of Linux-specific implementations.
+ (copy_stack_and_call): Use scm_ia64_register_backing_store_base()
+ instead of Linux-specific implementation.
+
+ * _scm.h (__ia64__): Also detect __ia64.
+
+2006-10-03 Kevin Ryde <user42@zip.com.au>
+
+ * eval.c (SCM_APPLY): For scm_tc7_subr_2o, throw wrong-num-args on 0
+ arguments or 3 or more arguments. Previously 0 called proc with
+ SCM_UNDEFINED, and 3 or more silently used just the first 2.
+
+2006-09-28 Kevin Ryde <user42@zip.com.au>
+
+ * fports.c, ports.c (ftruncate): Use "HAVE_CHSIZE && ! HAVE_FTRUNCATE"
+ for chsize fallback, instead of hard-coding mingw. Mingw in fact
+ supplies ftruncate itself these days.
+
+ * ports.c (fcntl.h): Can include this unconditionally, no need for
+ __MINGW32__.
+
+ * ports.c (truncate): Conditionalize on "HAVE_FTRUNCATE && !
+ HAVE_TRUNCATE" so as not to hard-code mingw. Use "const char *" and
+ "off_t" for parameters, per usual definition of this function, rather
+ than "char *" and "int". Use ftruncate instead of chsize. Check for
+ error on final close.
+
+2006-09-27 Kevin Ryde <user42@zip.com.au>
+
+ * numbers.c (scm_log10): Check HAVE_CLOG10, clog10() is not available
+ in mingw.
+
+ * posix.c (scm_execl, scm_execlp, scm_execle): Cast "const char *
+ const *" for mingw to suppress warnings from gcc (which are errors
+ under the configure default -Werror). Reported by Nils Durner.
+
+2006-09-26 Kevin Ryde <user42@zip.com.au>
+
+ * _scm.h (scm_to_off64_t, scm_from_off64_t): New macros.
+ * fports.c (scm_open_file): Use open_or_open64.
+ (fport_seek_or_seek64): New function, adapting fport_seek.
+ * fports.c, fports.h (scm_i_fport_seek, scm_i_fport_truncate): New
+ functions.
+ * ports.c (scm_seek, scm_truncate_file): Use scm_i_fport_seek and
+ scm_i_fport_truncate to allow 64-bit seeks and truncates on fports.
+
+ * ports.c (scm_truncate_file): Update docstring per manual.
+
+2006-09-23 Kevin Ryde <user42@zip.com.au>
+
+ * numbers.c, numbers.h (scm_log, scm_log10, scm_exp, scm_sqrt): New
+ functions.
+
+2006-09-20 Ludovic Courtès <ludovic.courtes@laas.fr>
+
+ * srfi-14.c: Include <config.h>. Define `_GNU_SOURCE'.
+ (make_predset, define_predset, make_strset, define_strset, false,
+ true): Removed.
+ (SCM_CHARSET_UNSET, CSET_BLANK_PRED, CSET_SYMBOL_PRED,
+ CSET_PUNCT_PRED, CSET_LOWER_PRED, CSET_UPPER_PRED,
+ CSET_LETTER_PRED, CSET_DIGIT_PRED, CSET_WHITESPACE_PRED,
+ CSET_CONTROL_PRED, CSET_HEX_DIGIT_PRED, CSET_ASCII_PRED,
+ CSET_LETTER_AND_DIGIT_PRED, CSET_GRAPHIC_PRED, CSET_PRINTING_PRED,
+ CSET_TRUE_PRED, CSET_FALSE_PRED, UPDATE_CSET): New macros.
+ (define_charset, scm_srfi_14_compute_char_sets): New functions.
+ (scm_init_srfi_14): Use `define_charset ()' instead of
+ `define_predset ()' and `define_strset ()'.
+
+ * srfi-14.h (scm_c_init_srfi_14): Removed.
+ (scm_srfi_14_compute_char_sets): New declaration.
+
+ * posix.h: Include "srfi-14.h".
+ (scm_setlocale): Invoke `scm_srfi_14_compute_char_sets ()' after a
+ successful `setlocale ()' call.
+
+2006-09-08 Kevin Ryde <user42@zip.com.au>
+
+ * socket.c (scm_init_socket): Add MSG_DONTWAIT.
+ (scm_recvfrom): Update docstring from manual.
+
+2006-08-31 Rob Browning <rlb@defaultvalue.org>
+
+ * ports.c (scm_c_port_for_each): Add a
+ scm_remember_upto_here_1(ports) at the end of the function to fix
+ a GC bug.
+
+2006-08-28 Neil Jerram <neil@ossau.uklinux.net>
+
+ * backtrace.c (scm_display_backtrace_with_highlights): Minor
+ improvements to docstring.
+ (scm_backtrace_with_highlights): Analogous improvements.
+
+2006-08-12 Kevin Ryde <user42@zip.com.au>
+
+ * gen-scmconfig.h.in (SCM_I_GSC_NEED_BRACES_ON_PTHREAD_ONCE_INIT):
+ New, set from configure.
+ * gen-scmconfig.c (SCM_NEED_BRACES_ON_PTHREAD_ONCE_INIT): New output
+ to scmconfig.h.
+ * pthread-threads.h (SCM_I_PTHREAD_ONCE_INIT): Use
+ SCM_NEED_BRACES_ON_PTHREAD_ONCE_INIT to cope with Solaris.
+ Reported by Claes Wallin.
+
+2006-08-11 Neil Jerram <neil@ossau.uklinux.net>
+
+ * stacks.c (scm_last_stack_frame): Correct docstring (returns a
+ frame, not a stack).
+
+2006-07-25 Kevin Ryde <user42@zip.com.au>
+
+ * threads.c (get_thread_stack_base): Restrict HAVE_PTHREAD_GETATTR_NP
+ on pthreads version, since pthread_getattr_np not available on solaris
+ and macos. Reported by Claes Wallin.
+
+2006-07-24 Kevin Ryde <user42@zip.com.au>
+
+ * filesys.c (dirfd): Test with #ifndef rather than HAVE_DIRFD, since
+ it's a macro on MacOS X. Reported by Claes Wallin.
+
+ * posix.c (sethostname): Give prototype if not HAVE_DECL_SETHOSTNAME,
+ for the benefit of Solaris 10. Reported by Claes Wallin.
+
+ * socket.c (scm_htonl, scm_ntohl): Use scm_to_uint32 rather than
+ NUM2ULONG, to enforce 32-bit range check on systems with 64-bit long.
+
+2006-07-21 Kevin Ryde <user42@zip.com.au>
+
+ * eval.c, filesys.c (alloca): Update <alloca.h> etc blob, per current
+ autoconf recommendation. Should fix Solaris 10 reported by Claes
+ Wallin.
+
+ * threads.c: Include <string.h>, needed for memset() which is used by
+ FD_ZERO() on Solaris 10. Reported by Claes Wallin.
+
+2006-07-18 Rob Browning <rlb@defaultvalue.org>
+
+ * continuations.c: Add __attribute__ ((returns_twice)) to the
+ ia64_getcontext prototype so that gcc will make the right
+ arrangements and avoid an illegal instruction during
+ call-with-current-continuation.
+
+2006-07-12 Ludovic Courtès <ludovic.courtes@laas.fr>
+
+ * numbers.c (guile_ieee_init): Use regular ANSI C casts rather
+ than C++-style `X_CAST ()'. Patch posted by by Mike Gran.
+
+2006-07-08 Kevin Ryde <user42@zip.com.au>
+
+ * environments.c (core_environments_unobserve): Use if/else rather
+ than ?: for "SET" bits, avoiding complaints from AIX xlc compiler
+ about them not being rvalues. Reported by Mike Gran.
+
+ * Makefile.am (version.h): Don't use $< in an explicit rule, it's not
+ portable and in particular fails on OpenBSD and AIX (see autoconf
+ manual too). Reported by Mike Gran.
+
+2006-06-25 Kevin Ryde <user42@zip.com.au>
+
+ * stime.c (bdtime2c): tm_gmtoff is seconds East, so take negative of
+ tm:gmtoff which is seconds West. Reported by Aaron VanDevender.
+ (bdtime2c): Test HAVE_STRUCT_TM_TM_GMTOFF for tm_gmtoff, rather than
+ HAVE_TM_ZONE.
+ (scm_strptime): Use tm_gmtoff from the strptime result when that field
+ exists, it's set by glibc strptime "%s".
+
+2006-06-13 Ludovic Courtès <ludovic.courtes@laas.fr>
+
+ * eq.c: Include "struct.h", "goops.h" and "objects.h".
+ (scm_equal_p): Invoke `scm_i_struct_equalp ()' on structures that
+ are not GOOPS instances.
+ * struct.c: Include "eq.h".
+ (scm_free_structs): Use `SCM_STRUCT_VTABLE_DATA ()' instead of
+ hand-written code.
+ (scm_i_struct_equalp): New.
+ * struct.h (scm_i_struct_equalp): New declaration.
+
+2006-06-06 Kevin Ryde <user42@zip.com.au>
+
+ * Makefile.am (BUILT_SOURCES): Remove guile.texi, only used by
+ maintainers (with doc/maint/docstring.el). Fixes parallel "make -j2"
+ reported by Mattias Holm.
+
+2006-06-03 Kevin Ryde <user42@zip.com.au>
+
+ * read.c (s_vector): Conditionalize on SCM_ENABLE_ELISP, to avoid
+ unused variable warning when elisp disabled. Reported by Ryan
+ VanderBijl.
+
+ * throw.c (scm_handle_by_message): Add dummy return value to avoid
+ compiler warning on cygwin. Reported by Ryan VanderBijl.
+
+ * Makefile.am (EXTRA_DOT_X_FILES): Typo in dependency rule, was a
+ duplicate of EXTRA_DOT_DOC_FILES.
+ (DOT_X_FILES, EXTRA_DOT_X_FILES, DOT_DOC_FILES, EXTRA_DOT_DOC_FILES):
+ Add scmconfig.h to dependencies, since these all run cpp. Helps a
+ parallel "make -j2". Reported by Mattias Holm.
+
+2006-05-30 Kevin Ryde <user42@zip.com.au>
+
+ * ports.c, ports.h (scm_set_port_mark, scm_set_port_free,
+ scm_set_port_print, scm_set_port_equalp, scm_set_port_flush,
+ scm_set_port_end_input, scm_set_port_close, scm_set_port_seek,
+ scm_set_port_truncate, scm_set_port_input_waiting): Use scm_t_bits for
+ port type descriptor, same as scm_make_port_type return value.
+
+2006-05-30 Marius Vollmer <mvo@zagadka.de>
+
+ * eq.c (scm_equal_p): Use scm_array_equal_p explicitely when one
+ of the arguments is a array. This allows vectors to be equal to
+ one-dimensional arrays.
+
+2006-05-29 Marius Vollmer <mvo@zagadka.de>
+
+ * throw.c (scm_ithrow): When looking for the jmpbuf, first test
+ that we have a pair before accessing its cdr. Thanks to Bill
+ Schottstaedt!
+
+2006-05-28 Kevin Ryde <user42@zip.com.au>
+
+ * eval.c, filesys.c: Add malloc.h to get alloca() on mingw. Reported
+ by "The Senator".
+
+2006-05-27 Marius Vollmer <mvo@zagadka.de>
+
+ * srfi-4.c, strings.c: Replace SCM_C_INLINE with
+ SCM_C_INLINE_KEYWORD. Thanks to Mark Gran!
+
+2006-05-26 Kevin Ryde <user42@zip.com.au>
+
+ * fports.c (fport_input_waiting): For ioctl, check HAVE_IOCTL as well
+ as defined(FIONREAD), since mingw has FIONREAD but not ioctl().
+ Reported by "The Senator".
+ For select and ioctl, move fdes into those conditionals, to avoid
+ unused variable warning when neither of those used.
+
+2006-05-23 Kevin Ryde <user42@zip.com.au>
+
+ * fports.c: Remove "fwrite" declaration under "! HAVE_UNISTD_H".
+ It's unused and will be in stdio.h anyway (if it's anywhere).
+
+2006-05-20 Kevin Ryde <user42@zip.com.au>
+
+ * filesys.c (scm_stat2scm): Test #ifdef S_ISLNK directly, rather than
+ HAVE_S_ISLNK from configure (it was only a #ifdef test anyway).
+
+ * posix.c (scm_mknod): Test #ifdef S_IFLNK before using that (for
+ symlink). Probably can't create symlinks with mknod anyway though.
+
+ * inline.h (scm_is_pair): Add a workaround for i386 gcc 2.95 bad code
+ generation.
+
+2006-05-15 Kevin Ryde <user42@zip.com.au>
+
+ * simpos.c, simpos.h (scm_primitive__exit): New function.
+ (scm_primitive_exit): Update docstring, no longer the best exit after
+ a fork.
+
+2006-05-09 Kevin Ryde <user42@zip.com.au>
+
+ * numbers.c (scm_i_divide): For big/big wanting inexact, use mpq_get_d
+ rather than converting to doubles, to avoid inf or nan when the inputs
+ are too big for a double but the quotient does fit. This affects
+ conversions exact->inexact of big fractions.
+
+ * filesys.c (scm_open_fdes): Use open64.
+ (scm_init_filesys): Add O_LARGEFILE.
+
+ * ports.c (scm_seek): Use lseek64.
+ (scm_truncate_file): Use ftruncate64.
+
+2006-05-08 Marius Vollmer <mvo@zagadka.de>
+
+ * private-gc.h (CELL_P): Also check that the potential pointer is
+ correctly aligned for a cell. Thanks to Miroslav Lichvar!
+
+2006-04-18 Rob Browning <rlb@defaultvalue.org>
+
+ * _scm.h: Add back error if the size of off_t is unknown. The bug
+ was actually in guile-readline's configuration.
+
+2006-04-18 Kevin Ryde <user42@zip.com.au>
+
+ * posix.c (scm_mkstemp): Update docstring from the manual, in
+ particular file mode 0600 is not guaranteed.
+
+2006-04-17 Kevin Ryde <user42@zip.com.au>
+
+ * _scm.h (scm_to_off_t, scm_from_off_t): No error if unknown off_t
+ size, to help the guile-readline build where off_t is unused.
+
+2006-04-16 Kevin Ryde <user42@zip.com.au>
+
+ * filesys.c (scm_stat2scm, scm_stat, scm_lstat): Use stat or stat64.
+ (scm_readdir): Use readdir64.
+ (scm_copy_file): Use open64 and fstat64, to cope with >2Gb files.
+ * ports.c (scm_truncate_file): Use truncate64. Correction truncate
+ and ftruncate take off_t not size_t.
+ * _scm.h (stat_or_stat64 etc): Macros for selecting LFS64 when
+ available.
+
+2006-04-06 Kevin Ryde <user42@zip.com.au>
+
+ * fports.c (scm_setvbuf): Fix for not _IOLBF, clear SCM_BUFLINE
+ instead of toggling it. Reported by Ludovic Courtès.
+
+2006-03-26 Marius Vollmer <mvo@zagadka.de>
+
+ * threads.c (get_thread_stack_base): Use scm_get_stack_base
+ instead of accessing __libc_stack_end directly, and only do this
+ when pthread_attr_getstack is known not to work for the main
+ thread or when not using pthreads at all.
+
+ * gc_os_dep.c (scm_get_stack_base): Abort when the machine type is
+ unknown instead of returning NULL.
+
+2006-03-21 Ludovic Courtès <ludovic.courtes@laas.fr>
+
+ * numbers.c (scm_i_mem2number): Renamed to
+ scm_c_locale_stringn_to_number.
+ * numbers.c, print.c, read.c: Updated callers.
+ * numbers.h: Update function declaration.
+
+2006-03-11 Neil Jerram <neil@ossau.uklinux.net>
+
+ * unif.c (string_set): Don't return in a void function. (Reported
+ by Mike Gran.)
+
+ * srfi-4.c (scm_uniform_vector_read_x): Declare base as char*
+ rather than void*, so we can do pointer arithmetic on it.
+ (Reported by Mike Gran.)
+ (s_scm_uniform_vector_write): Ditto.
+
+2006-03-10 Neil Jerram <neil@ossau.uklinux.net>
+
+ * unif.c (scm_make_shared_array): Don't use SCM_I_ARRAY_BASE when
+ oldra is not an array. (Reported by Steve Juranich.)
+
+ * threads.c (do_unlock): Renamed from "unlock", which is defined
+ in unistd.h on QNX. (Reported by Matt Kraai.)
+
+2006-03-04 Kevin Ryde <user42@zip.com.au>
+
+ * deprecated.c (scm_i_defer_ints_etc): Show SCM_DEFER_INTS in message,
+ not SCM_CRITICAL_SECTION_START.
+
+ * eval.c, posix.c: Change comments from C++ to C style. Reported by
+ Mike Gran.
+
+2006-02-28 Kevin Ryde <user42@zip.com.au>
+
+ * unif.c (bitvector_set): Use h->writable_elements not h->elements.
+
+2006-02-26 Kevin Ryde <user42@zip.com.au>
+
+ * filesys.c (scm_readdir): Use fpathconf for the dirent size when
+ NAME_MAX is not available, which is so on Solaris 10. Report and help
+ by Bill Schottstaedt.
+
+ * srfi-13.c (MY_VALIDATE_SUBSTRING_SPEC_UCOPY): New macro.
+ (scm_string_compare, scm_string_compare_ci, scm_string_lt,
+ scm_string_gt, scm_string_le, scm_string_ge, scm_string_ci_lt,
+ scm_string_ci_gt, scm_string_ci_le, scm_string_ci_ge): In comparisons
+ use "unsigned char", not signed char. This ensures comparisons are
+ the same as `char<?' etc, and is also the same as guile 1.6 did.
+ Reported by Sven Hartrumpf.
+
+2006-02-19 Mikael Djurfeldt <mdj@neurologic.cc>
+
+ * random.c: Test for SCM_HAVE_T_UINT64 instead of
+ SCM_HAVE_T_INT64.
+ (scm_i_uniform32, scm_i_uniform32, scm_i_init_rstate): Use
+ scm_t_uint64 and scm_t_uint32 instead of scm_t_int64 and
+ scm_t_int32.
+
+2006-01-04 Ludovic Court<E8>s <ludovic.courtes@laas.fr>
+
+ * gc-segment.c (scm_i_sweep_some_cards): Take a SWEEP_STATS
+ argument. Don't refer to SCM_GC_CELLS_COLLECTED and
+ SCM_CELLS_ALLOCATED. If SEG->FIRST_TIME, let CELLS_COLLECTED as zero.
+ Take into account SEG->SPAN when computing CELLS_SWEPT.
+ (scm_i_sweep_segment): Take one more argument, similarly.
+ (scm_i_sweep_all_segments): Likewise.
+ (scm_i_sweep_some_segments): Likewise.
+ (scm_i_adjust_min_yield): Change the way MIN_CELLS is computed: do not
+ refer to SCM_GC_CELLS_COLLECTED.
+
+ * gc-freelist.c (scm_i_adjust_min_yield): Take one more
+ argument, an `scm_i_sweep_statistics' object.
+ Change the way DELTA is collected: don't take into account
+ SCM_GC_CELLS_COLLECTED_1, only SWEEP_STATS.COLLECTED.
+
+ * gc-malloc.c (scm_realloc): Pass an extra argument
+ to `scm_i_sweep_all_segments ()'.
+
+ * gc.c (gc_start_stats): Updated accordingly.
+ (gc_end_stats): Take an additional SWEEP_STATS argument.
+ Decrement SCM_CELLS_ALLOCATED after calls to `scm_i_sweep_* ()'.
+ (scm_gc_for_newcell): Updated callers of `scm_i_sweep_*'.
+ Decrement SCM_CELLS_ALLOCATED.
+ (scm_i_gc): Likewise.
+
+ * private-gc.h (scm_i_sweep_*): Updated function
+ prototypes accordingly.
+ (scm_t_sweep_statistics): New type.
+ (scm_i_sweep_statistics_init): New macro.
+ (scm_i_sweep_statistics_sum): New macro
+
+2006-02-14 Ludovic Courtès <ludovic.courtes@laas.fr>
+
+ * strings.c (scm_i_take_stringbufn): Register LEN+1 bytes instead of
+ LEN. Without this, too much collectable memory gets unregistered,
+ which results in an underflow of SCM_MALLOCATED in
+ `decrease_mtrigger()'.
+
+ * gc-malloc.c (decrease_mtrigger): Make sure SIZE is lower than or
+ equal to SCM_MALLOCATED.
+
+2006-02-13 Marius Vollmer <mvo@zagadka.de>
+
+ * eval.c (scm_eval_body): Use scm_i_dynwind_pthread_mutex_lock
+ oinstead of scm_dynwind_pthread_mutex_lock so that it works when
+ configured --without-threads.
+ (SCM_APPLY, CEVAL): Likewise. Thanks to Han-Wen Nienhuys!
+
+2006-02-12 Marius Vollmer <mvo@zagadka.de>
+
+ * unif.c (scm_dimensions_to_uniform_array): Use the prototype for
+ filling when the fill parameter is omitted, as documented, but
+ turn #\nul into 0 since s8 arrays (signified by a #\nul prototype)
+ can not store characters.
+
+2006-02-09 Neil Jerram <neil@ossau.uklinux.net>
+
+ * socket.c (scm_c_make_socket_address): Pass address_size pointer
+ on to scm_fill_sockaddr call.
+
+2006-02-04 Neil Jerram <neil@ossau.uklinux.net>
+
+ * throw.h (scm_c_catch, scm_c_with_throw_handler,
+ scm_catch_with_pre_unwind_handler, scm_with_throw_handler): New.
+
+ * throw.c (SCM_JBPREUNWIND, SCM_SETJBPREUNWIND): New.
+ (struct pre_unwind_data): New, replaces struct lazy_catch.
+ (scm_c_catch): New, replaces scm_internal_catch as the primary
+ catch API for C code; adds pre-unwind handler support.
+ (scm_internal_catch): Now just a wrapper for scm_c_catch, for back
+ compatibility.
+ (tc16_pre_unwind_data, pre_unwind_data_print,
+ make_pre_unwind_data, SCM_PRE_UNWIND_DATA_P): Renamed from
+ "lazy_catch" equivalents.
+ (scm_c_with_throw_handler): New, replaces scm_internal_lazy_catch
+ as the primary C API for a "lazy" catch.
+ (scm_internal_lazy_catch): Now just a wrapper for
+ scm_c_with_throw_handler, for back compatibility.
+ (scm_catch_with_pre_unwind_handler): Renamed from scm_catch; adds
+ pre-unwind handler support.
+ (scm_catch): Now just a wrapper for
+ scm_catch_with_pre_unwind_handler, for back compatibility.
+ (scm_with_throw_handler): New.
+ (scm_lazy_catch): Update comment to say that the handler can
+ return, and what happens if it does.
+ (toggle_pre_unwind_running): New.
+ (scm_ithrow): When identifying the throw target, take running
+ flags into account. In general, change naming of things from
+ "lazy_catch" to "pre_unwind". When throwing to a throw handler,
+ don't unwind the dynamic context first. Add dynwind framing to
+ manage the running flag of a throw handler. If a lazy catch or
+ throw handler returns, rethrow the same exception again. Add
+ pre-unwind support to the normal catch case (SCM_JMPBUFP).
+
+ * root.c (scm_internal_cwdr): Add NULL args to
+ scm_i_with_continuation_barrier call.
+
+ * dynwind.c: Change comment mentioning lazy-catch to mention
+ pre-unwind data and throw handler also.
+
+ * continuations.h (scm_i_with_continuation_barrier): Add
+ pre-unwind handler args.
+
+ * continuations.c (scm_i_with_continuation_barrier): Add
+ pre-unwind handler args, and pass on to scm_c_catch (changed from
+ scm_internal_catch).
+ (c_handler): Remove scm_handle_by_message_noexit call.
+ (scm_c_with_continuation_barrier): Call
+ scm_i_with_continuation_barrier with scm_handle_by_message_noexit
+ as the pre-unwind handler.
+ (scm_handler): Remove scm_handle_by_message_noexit call.
+ (s_scm_with_continuation_barrier): Call
+ scm_i_with_continuation_barrier with scm_handle_by_message_noexit
+ as the pre-unwind handler.
+
+2006-02-04 Kevin Ryde <user42@zip.com.au>
+
+ * gc-mark.c (scm_mark_all): Fix c99-isms "loops" and "again" variables.
+
+2006-02-03 Kevin Ryde <user42@zip.com.au>
+
+ * list.c, list.h (scm_list): Restore this function for use from C.
+ It's a complete no-op but in theory might used by someone.
+
+2006-01-30 Marius Vollmer <mvo@zagadka.de>
+
+ * eval.c (scm_eval_body): Lock source_mutex with a dynwind context
+ so that it gets unlocked in all cases.
+ (SCM_APPLY, CEVAL): Likewise.
+
+2006-01-29 Marius Vollmer <mvo@zagadka.de>
+
+ * ramap.c: (scm_array_map_x): Don't use scm_array_p, use
+ scm_is_typed_array instead.
+
+ Renamed the "frames" that are related to dynamic-wind to "dynamic
+ contexts. Renamed all functions from scm_frame_ to scm_dynwind_.
+ Updated documentation.
+
+ Disabled "futures":
+
+ * futures.h, futures.c: Wrap whole contents in "#if 0"/"#endif".
+ * eval.c, init.c: Comment out all 'future' related things.
+
+2006-01-28 Marius Vollmer <mvo@zagadka.de>
+
+ * inline.h, pairs.c (scm_is_pair): Moved scm_is_pair from pairs.c
+ to inline.h to make it inline.
+
+2005-12-19 Ludovic Courtès <ludovic.courtes@laas.fr>
+
+ * strings.c (scm_i_take_stringbufn): New.
+ (scm_i_c_take_symbol): New.
+ (scm_take_locale_stringn): Use `scm_i_take_stringbufn ()'.
+
+ * strings.h (scm_i_c_take_symbol): New.
+ (scm_i_take_stringbufn): New.
+
+ * symbols.c (lookup_interned_symbol): New function.
+ (scm_i_c_mem2symbol): New function.
+ (scm_i_mem2symbol): Use `lookup_symbol ()'.
+ (scm_from_locale_symbol): Use `scm_i_c_mem2symbol ()'. This avoids
+ creating a new Scheme string.
+ (scm_from_locale_symboln): Likewise.
+ (scm_take_locale_symbol): New.
+ (scm_take_locale_symboln): New.
+
+ * symbols.h (scm_take_locale_symbol): New.
+ (scm_take_locale_symboln): New.
+
+2006-01-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * gc-card.c ("sweep_card"): don't count scm_tc_free_cell for
+ free_count.
+
+2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * regex-posix.c (s_scm_regexp_exec): list the offending pattern
+ upon error
+
+2005-12-29 Neil Jerram <neil@ossau.uklinux.net>
+
+ * fluids.c (next_fluid_num): [From Ludovic Courtès:] Don't trigger
+ the GC when allocated_fluids_len is zero.
+
+2005-12-14 Neil Jerram <neil@ossau.uklinux.net>
+
+ * load.c (the_reader, the_reader_fluid_num): New.
+ (scm_primitive_load): Support custom reader.
+ (scm_init_load): Init the_reader and the_reader_fluid_num; export
+ the_reader as `current-reader'.
+
+ * scmsigs.c (do_read_without_guile): Use the "raw_data" passed in
+ (rather than an uninitialized pointer on the stack).
+
+2005-12-07 Marius Vollmer <mvo@zagadka.de>
+
+ Reported by Bruce Korb:
+
+ * init.c (invoke_main_func): Don't call exit here. Throws that
+ are only caught by scm_with_guile will bypass us and would cause
+ scm_boot_guile to return erroneously.
+ (scm_boot_guile): Expect scm_with_guile to return and call exit
+ here, passing it an appropriate exit code.
+
+ From Andy Wingo:
+
+ * script.c (scm_find_executable): Compile fix -- fgetc returns an
+ unsigned char cast to an int, or -1 for EOS.
+
+2005-12-06 Marius Vollmer <mvo@zagadka.de>
+
+ * srfi-4.h, srfi-4.c, srfi-4.i.c (take_uvec): Make BASE pointer
+ non-const.
+ (scm_take_u8vector, etc): Likewise. Thanks to Ludovic Courtès!
+
+ * threads.h, threads.c (scm_t_guile_ticket, scm_leave_guile,
+ scm_enter_guile): Removed from public API. See comment at
+ scm_without_guile for the rationale.
+
+ * scmsigs.c (read_without_guile): New.
+ (signal_delivery_thread): Use it instead of
+ scm_leave_guile/read/scm_enter_guile.
+
+ From Stephen Compall:
+
+ * eval.c (scm_m_cond): Recognize SRFI 61 cond syntax.
+ (CEVAL): Evaluate SRFI 61 cond clauses.
+
+2005-12-06 Ludovic Courtès <ludovic.courtes@laas.fr>
+
+ * gc-card.c (scm_i_card_statistics): Return if BITVEC is NULL.
+ This was typically hit when running `gc-live-object-stats' right
+ after starting Guile.
+
2005-11-30 Kevin Ryde <user42@zip.com.au>
* srfi-13.c (scm_string_append_shared): No copying if just one
2005-11-26 Kevin Ryde <user42@zip.com.au>
* gc-mark.c (scm_mark_all): Change C++ comment to C comment. Reported
- by Ludovic Courtès.
+ by Ludovic Courtès.
* list.c (list): Should be "primitive" in SCM_SNARF_DOCS, not
"register".
* socket.c (scm_fill_sockaddr): Remove SCM_C_INLINE_KEYWORD, this is
much too big to want to inline.
-2005-11-17 Ludovic Courtès <ludovic.courtes@laas.fr>
+2005-11-17 Ludovic Courtès <ludovic.courtes@laas.fr>
* print.c (EXIT_NESTED_DATA): Before popping from the stack, reset
the value at its top. This fixes a reference leak.
`PSTATE_STACK_SET ()' in order to avoid undesired potential side
effects.
-2005-11-12 Ludovic Courtès <ludovic.courtes@laas.fr>
+2005-11-12 Ludovic Courtès <ludovic.courtes@laas.fr>
* gc.c (scm_weak_vectors): Removed.
2005-11-12 Kevin Ryde <user42@zip.com.au>
* socket.c (scm_setsockopt): Missing @defvar in docstring. Reported
- by Ludovic Courtès.
+ by Ludovic Courtès.
2005-11-07 Marius Vollmer <mvo@zagadka.de>
* debug.h (SCM_CHEAPTRAPS_P): Removed.
-2005-10-27 Ludovic Courtès <ludovic.courtes@laas.fr>
+2005-10-27 Ludovic Courtès <ludovic.courtes@laas.fr>
* socket.c (scm_fill_sockaddr): No need to check NULL from scm_malloc.
(scm_connect, scm_bind, scm_sendto): Accept sockaddr object.
2005-05-11 Neil Jerram <neil@ossau.uklinux.net>
- Fix C99isms reported by Ludovic Courtès:
+ Fix C99isms reported by Ludovic Courtès:
* threads.c (s_scm_lock_mutex): Don't declare msg in middle of
code.
2005-03-18 Kevin Ryde <user42@zip.com.au>
* arbiters.c (FETCH_STORE) [generic C]: Should be
- scm_i_scm_pthread_mutex_lock/unlock now. Reported by Ludovic Courtès.
+ scm_i_scm_pthread_mutex_lock/unlock now. Reported by Ludovic Courtès.
2005-03-13 Kevin Ryde <user42@zip.com.au>
2004-11-02 Marius Vollmer <mvo@zagadka.de>
- Mac OS X and OpenBSD compatibility patches from Andreas Vögele.
+ Mac OS X and OpenBSD compatibility patches from Andreas Vögele.
Thanks!
* backtrace.c (scm_display_backtrace_with_highlights): Join the
* numbers.h, numbers.c: Include <gmp.h> in numbers.h, not in
numbers.c.
(scm_to_mpz, scm_from_mpz): New.
- Thanks to Andreas Vögele!
+ Thanks to Andreas Vögele!
* read.c (skip_scsh_block_comment): Recognize "!#" everywhere, not
just on a line of its own.
scm_string_tabulate, string_upcase_x, string_down_case_x,
string_titlecase_x, string_reverse_x, scm_string_tokenize): Use
size_t instead of int for indices into strings. Make sure that no
- over- or underflow occurs. Thanks to Andreas Vögele!
+ over- or underflow occurs. Thanks to Andreas Vögele!
(scm_xsubstring, scm_string_xcopy_x): Use ints for 'extended'
indices, which can also be negative.
* filesys.c, stime.c (_POSIX_C_SOURCE): Use this only on hpux, it
causes too many problems elsewhere (glibc, freebsd, mingw). Reported
- by Andreas Vögele.
+ by Andreas Vögele.
2004-09-08 Marius Vollmer <marius.vollmer@uni-dortmund.de>
* gc_os_dep.c: update ifdefery for macosx.
(scm_get_stack_base): separate result initialization from
declaration to slience warnings with macosx and hp-ux using gcc
- 3.3. Thanks to Andreas Vögele.
+ 3.3. Thanks to Andreas Vögele.
2004-06-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
2004-05-02 Kevin Ryde <user42@zip.com.au>
* eval.c (scm_macroexp): Add prototype, since it's not in eval.h under
- --disable-deprecated. Reported by Andreas Vögele.
+ --disable-deprecated. Reported by Andreas Vögele.
* filesys.c (_POSIX_C_SOURCE): Define to 199506L to get readdir_r (in
- particular on HP-UX). Reported by Andreas Vögele.
+ particular on HP-UX). Reported by Andreas Vögele.
* list.c (varargs.h): Remove, leave just stdarg.h which is all the
code has support for. Fixes building with AIX cc, which is ansi but
2004-05-01 Kevin Ryde <user42@zip.com.au>
* continuations.c (scm_dynthrow): Use >= instead of SCM_PTR_GE which
- is now gone. Reported by Andreas Vögele.
+ is now gone. Reported by Andreas Vögele.
2004-04-28 Kevin Ryde <user42@zip.com.au>
* backtrace.c (display_frame_expr), numbers.c (XDIGIT2UINT,
mem2uinteger, mem2decimal_from_point, mem2ureal): Cast char to int for
ctype.h tests, to avoid warnings from gcc on HP-UX about char as array
- subscript. Reported by Andreas Vögele.
+ subscript. Reported by Andreas Vögele.
Also cast through unsigned char to avoid passing negatives to those
macros if input contains 8-bit values.
* numbers.c (scm_bit_extract): Use min instead of MIN.
(MIN): Remove, this conflicts with similar macro defined by limits.h
- on HP-UX. Reported by Andreas Vögele.
+ on HP-UX. Reported by Andreas Vögele.
* stime.c (_POSIX_C_SOURCE): Define to 199506L to get gmtime_r (in
- particular on HP-UX). Reported by Andreas Vögele.
+ particular on HP-UX). Reported by Andreas Vögele.
* threads.c (scm_threads_mark_stacks): Correction sizet -> size_t.
- Reported by Andreas Vögele.
+ Reported by Andreas Vögele.
* threads-plugin.h (SCM_MUTEX_MAXSIZE): Increase to 25*sizeof(long),
for the benefit of hpux11 where pthread_mutex_t is 88 bytes. Reported
- by Andreas Vögele.
+ by Andreas Vögele.
2004-04-22 Dirk Herrmann <dirk@dirk-herrmanns-seiten.de>
2002-08-26 Marius Vollmer <mvo@zagadka.ping.de>
* script.c (scm_compile_shell_switches): Added "2002" to Copyright
- years. Thanks to Martin Grabmüller!
+ years. Thanks to Martin Grabmüller!
2002-08-25 Han-Wen Nienhuys <hanwen@cs.uu.nl>
* deprecation.c (scm_include_deprecated_features): Simplified.
* eval.c (EVALCAR, unmemocopy), eval.h (SCM_XEVALCAR): Use
- `SCM_IMP' instead of `!SCM_CELLP´.
+ `SCM_IMP' instead of `!SCM_CELLP´.
* eval.c (unmemocopy): Eliminate redundant SCM_CELLP tests.
Extract side-effecting operations from macros.
2001-06-09 Marius Vollmer <mvo@zagadka.ping.de>
* ports.c (scm_lfwrite): Maintain columnd and row count in port.
- Thanks to Matthias Köppe!
+ Thanks to Matthias Köppe!
2001-06-08 Michael Livshin <mlivshin@bigfoot.com>
space-happy C preprocessors.
* filter-doc-snarfage.c, guile-snarf.in: try to cope with spaces
- inside cookies. thanks to Matthias Köppe!
+ inside cookies. thanks to Matthias Köppe!
2001-06-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
SCM_VARIABLE_INIT since that it what it used to be.
* deprecation.c (scm_include_deprecated_features): Make docstring
- ANSIsh. Thanks to Matthias Köppe!
+ ANSIsh. Thanks to Matthias Köppe!
2001-05-21 Marius Vollmer <mvo@zagadka.ping.de>
2001-05-15 Marius Vollmer <mvo@zagadka.ping.de>
* values.c (print_values): Print as a unreadable object, not as
- multiple lines. Thanks to Matthias Köppe!
+ multiple lines. Thanks to Matthias Köppe!
2001-05-14 Dirk Herrmann <D.Herrmann@tu-bs.de>
2001-05-09 Michael Livshin <mlivshin@bigfoot.com>
- from Matthias Köppe (thanks!):
+ from Matthias Köppe (thanks!):
* ports.c (scm_c_read): pointer arithmetic on void pointers isn't
portable.
2001-01-11 Michael Livshin <mlivshin@bigfoot.com>
- from Matthias Köppe:
+ from Matthias Köppe:
* objects.h (SCM_SET_ENTITY_SETTER): new macro. SCM_ENTITY_SETTER
casts its result, so doesn't yield an lvalue per ANSI C.
(write_all): new helper procedure.
The ChangeLog continues in the file: "ChangeLog-2000"
+
+;; Local Variables:
+;; coding: utf-8
+;; End: