* fluids.c: Removed use of assert.h (in order to avoid
[bpt/guile.git] / libguile / ChangeLog
index 53d160d..d28bd05 100644 (file)
@@ -1,3 +1,130 @@
+1998-05-02  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * fluids.c: Removed use of assert.h (in order to avoid
+       __eprintf).
+
+       * Makefile.am (libguile_la_LDFLAGS): Added -export-dynamic.
+
+       * dynl.c (maybe_drag_in_eprintf): Disabled through #ifdef 0.
+
+       * eval.c (SCM_CEVAL): Do more thorough argument checking.  This
+       change makes the evaluator safer at the cost of evaluation speed.
+       It handles the case when the user has added a non-immediate
+       improper end of the application form, e.g., `(+ 0 . x)'.
+       (Earlier only cases like `(+ 0 . 0)' were handled.)  I've tried to
+       minimize the extra cost as much as possible.  The new code is
+       enclosed in #ifdef CAUTIOUS regions.  NOTE: This also fixes the
+       problem with structs planted directly in the code (e.g. by a
+       macro).  This no longer causes segmentation fault.  (Thanks to
+       Eric Hanchrow.)
+       
+       * eval.c, eval.h (scm_eval_args, scm_deval_args): Take one extra
+       arg `proc' in order to be able to throw errors; New argument
+       checking code.
+
+       * Removed extra #include "debug.h"
+
+1998-04-25  Mikael Djurfeldt  <mdj@kenneth>
+
+       * scmsigs.c: Declare usleep as returning void on some systems.
+       (scm_usleep): Return SCM_INUM0 on those systems. (Thanks to Julian
+       Satchell.)
+
+       * coop.c (usleep): Return void on some systems.
+
+1998-04-20  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * Makefile.am (libguile_la_LDFLAGS): Removed redundant -rpath.
+
+       * coop.c: Changed return type of usleep to int.
+
+       * scmsigs.c (scm_usleep): New procedure; Declare usleep if it
+       isn't found in the OS.
+
+       * iselect.h: #define scm_internal_select select if GUILE_ISELECT
+       isn't enabled.  (Thought that I had made this change ages ago...)
+
+       * iselect.c: Declare bzero if not defined by OS.
+
+1998-04-19  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * dynl.c (scm_must_free_argv): Fixed memory leak due to negated
+       condition.  (Thanks to John Tobey.)
+
+       * continuations.c (scm_make_cont), debug.c (scm_make_memoized,
+       scm_make_debugobj), eval.c (scm_makprom): SCM_DEFER/ALLOW_INTS -->
+       A section.
+
+       * __scm.h: Start the long-term project of moving to POSIX threads.
+       Phase 1: Classification of all critical sections.
+       (SCM_ENTER_A_SECTION, SCM_EXIT_A_SECTION): New macros: Delimiters
+       for A sections.  (See comments in __scm.h for details.)
+
+       * dynl.c: Only check that HAVE_DLOPEN is defined before loading
+       dynl-dl.c; Test on HAVE_LIBDLD instead of HAVE_DLD.
+
+1998-04-18  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * Makefile.am (BUILT_SOURCES): Added cpp_err_symbols.c,
+       cpp_sig_symbols.c, libpath.h and versiondat.h to BUILT_SOURCES
+       (libpath.h, versiondat.h): Replaced dependency on Makefile with
+       dependencies on $(srcdir)/Makefile.in
+       $(top_builddir)/config.status in order to avoid circularity.
+
+       * script.c (scm_compile_shell_switches): Bugfix: Don't discount i
+       from argc if argc was 0 initially.
+
+       * Makefile.am (Makefile.am): Replaced THREAD_LIBS --> GUILE_LIBS
+       in generation of libpath.h.
+
+1998-04-15  Mikael Djurfeldt  <mdj@nada.kth.se>
+
+       * Makefile.am (libguile_la_LDFLAGS): Bumped version number of
+       libguile from 2 to 3.
+
+1998-04-14  Mikael Djurfeldt  <mdj@nada.kth.se>
+
+       * Makefile.am: Added .x-dependencies to variable BUILT_SOURCES.
+
+1998-04-13  Mikael Djurfeldt  <mdj@kenneth>
+
+       * ports.c (scm_port_line, scm_set_port_line_x, scm_port_column,
+       scm_set_port_column_x, scm_port_filename,
+       scm_set_port_filename_x): Removed optional arguments.  Added
+       proper argument checking.
+
+       * eval.c, eval.h, coop.c (scm_eval_stack, SCM_EVAL_STACK): Measure
+       stack size in machine words.
+
+       * unif.c (scm_uniform_vector_ref, scm_cvref, scm_array_set_x,
+       rapr1): Use SCM_UCHARS instead of SCM_CHARS for strings.  (Thanks
+       to Ole Myren Röhne.)
+
+1998-04-12  Mikael Djurfeldt  <mdj@kenneth>
+
+       * socket.c: Check for HAVE_UNIX_DOMAIN_SOCKETS instead of
+       UNIX_DOMAIN_SOCKETS.  (Thanks to Lauri Alanko.)
+
+       * gc.c (scm_gc_sweep): Count cells correctly.  (Thanks to Ben
+       Caradoc-Davies.)
+
+       * eval.c (SCM_CEVAL, SCM_APPLY): In SCM_IM_APPLY and in the
+       procedure apply: Copy argument lists before pushing them unto the
+       environment so that the environment won't get mutated due to
+       manipulation of procedure arguments.  This should perhaps be
+       regarded as a temporary solution until someone finds a more
+       efficient one.  (Thanks to Maciej Stachowiak.)
+
+1998-04-10  Mikael Djurfeldt  <mdj@kenneth>
+
+       * script.c (scm_compile_shell_switches): Use "guile" as default
+       zero arg if argc is NULL.
+
+1998-04-02  Mikael Djurfeldt  <mdj@nada.kth.se>
+
+       * script.c (scm_compile_shell_switches): Allow NULL argv if argc
+       is zero.  (Thanks to Dirk Herrmann.)
+
 1998-03-30  Mikael Djurfeldt  <mdj@nada.kth.se>
 
        * ports.c (scm_add_to_port_table): First line is now line 0