*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
index 5899510..4857917 100644 (file)
@@ -1,3 +1,202 @@
+1998-11-23  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       * numbers.c (scm_logand, scm_logior, scm_logxor, scm_logtest,
+       scm_logbit_p): Do the computation in ulongs.  This is not as nice
+       as doing it in bignums, but at least it's good enough for
+       manipulating flags in 32-bit words.  (Thanks to Jim Wilson.)
+       
+       * regex-posix.c (scm_regexp_exec): Reliably mark unmatched
+       subexpressions.  (Thanks to Charbel Jacquin.)
+
+1998-11-23  Mikael Djurfeldt  <mdj@kenneth>
+
+       * feature.c, feature.h (scm_make_hook, scm_add_hook_x,
+       scm_remove_hook_x, scm_run_hooks): Moved from ice-9/boot-9.scm.
+       (scm_make_named_hook): New function.
+
+       * feature.c: Added #include "eval.h".
+       
+       * modules.c (scm_make_module): Beautify the module.
+
+1998-11-22  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * modules.c, modules.h: New files: C interface to modules.  (This
+       is necessary in order to interface the object system to Guile
+       properly.  The guts of these modules will be replaced by the new
+       module system in the future.)
+       
+       * init.c: Added #include "modules.h"
+       (scm_boot_guile_1): Call scm_init_modules.
+       (invoke_main_func): Call scm_post_boot_init_modules.
+
+       * Makefile.am: Added modules.c, modules.x, modules.h.
+
+1998-11-22  Mikael Djurfeldt  <mdj@kenneth>
+
+       * procs.c: #include "objects.h"
+       (scm_procedure_p): Return #t also on structs which are operators.
+
+       * objects.c (scm_init_objects): Renamed <standard-metaclass>,
+       <operator-metaclass> and <entity-class> to <standard-class>,
+       <operator-class> and <entity> in order to conform with STKlos
+       naming conventions.
+
+       * eval.c (SCM_CEVAL): Jump to badfun if trying to apply a struct
+       which isn't an operator.
+       (SCM_APPLY): Ditto, but jump to badproc.
+
+1998-11-21  Mikael Djurfeldt  <mdj@kenneth>
+
+       * eval.c (SCM_CEVAL): Allow structs implanted in code.
+       Previously, structs implanted in code were interpreted as forms
+       the operator of which was a gloc.  We solve this by checking for
+       the zero in the emulated vcell in the struct vtable.  Since
+       implanted structs always will look like forms with a gloc
+       operator, execution will only be slowed down by maximally one
+       extra test-and-branch per application.
+
+       * evalext.c (scm_definedp): Removed check for isyms; Added a
+       second optional argument: It is now possible to supply an
+       evaluation environment in which to look for the symbol.
+
+1998-11-19  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * readline.c (scm_init_readline): Set
+       rl_basic_word_break_characters.  (Thanks to Ian Grant.)
+
+       * coop.c (coop_condition_variable_wait): Removed
+       (coop_condition_variable_wait_mutex): Folded logic of
+       coop_mutex_unlock into coop_condition_variable_wait_mutex to
+       prevent condvar signal lossage.  Previously, another thread could
+       start to run after unlocking the mutex but before putting the
+       current thread on the wait queue.  If that thread then would
+       signal the first, the signal would be lost.  (Thanks to Christian
+       Lynbech.)
+
+1998-11-17  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * eval.c (SCM_CEVAL): Added missing case for cclo.  (Thanks to
+       Christian Lynbech.)
+
+1998-11-14  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * objects.c (scm_i_make_class_object): Renamed from
+       make_class_object; exported; error checking moved to
+       scm_make_class_object and scm_make_subclass_object.
+       (scm_make_class_object, scm_make_subclass_object): Use
+       scm_i_make_class_object.
+       (scm_make_subclass_object): Let the subclass have same metaclass
+       as the superclass.
+
+1998-11-14  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * debug.c (scm_debug_options): Bugfix: Set the value of
+       scm_stack_checking_enabled_p after setting debug options;
+       #include "stackchk.h".  (Thanks to Richard Polton.)
+
+1998-11-13  Radey Shouman  <rshouman@metro2000.com>
+
+       * unif.c (scm_array_contents): removed unnecessary test for 0
+       base.
+
+1998-11-13  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * evalext.c, evalext.h (scm_m_sequence_to_list): Removed.
+       Replaced by macro `collect' in boot-9.scm.
+
+1998-11-10  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * eval.c (scm_copy_tree): Copy source properties if existent.
+
+       * debug.c (scm_start_stack): Copy source when evaluating.  (If we
+       don't, we may end up passing memoized source to a transformer.)
+
+1998-11-10  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * stack.c (get_applybody): Help function which lookups the first
+       body form of the apply closure.
+       (read_frames): Prevent the source of the first form of the apply
+       closure from being recorded.  This would only be confusing.
+
+       * debug.h (SCM_SET_MACROEXP, SCM_CLEAR_MACROEXP, SCM_MACROEXPP):
+       Replaces SCM_MACROFRAME, SCM_MACROFRAMEP.
+       
+       * eval.c (SCM_CEVAL): Use SCM_SET/CLEAR_MACROEXP.
+
+       * stacks.c (read_frame): Bugfix: Removed lingering `else'
+       statement.
+       (read_frames): Use SCM_MACROEXPP.
+
+1998-11-10  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * stacks.c (read_frames): Skip gsubr frames in backtraces.  (They
+       don't contain interesting information since all arguments are
+       present in the frame which applies the compiled closure anyway.);
+       Skip the transformer application frames.
+
+       * print.c (scm_iprin1): Print gsubrs as primitives.
+
+1998-11-09  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * debug.h (SCM_MACROFRAME, SCM_MACROFRAMEP): New frame type.
+
+       * eval.c (SCM_CEVAL): Mark macro frames at `handle_a_macro' so
+       that we can identify these in a backtrace.  (This change doesn't
+       introduce any significant speed penalty.)
+
+       * eval.c: Added note about `serial-map' using scm_map.
+
+       * read.c, read.h (scm_read_options, scm_read_opts): Removed
+       readline options.  They should reside in their own options array.
+       
+       * readline.c, readline.h (scm_readline_options,
+       scm_readline_opts): Moved readline options here.
+
+1998-11-07  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * readline.c (scm_read_history, scm_write_history): Bugfix: Use
+       SCM_ROCHARS instead of SCM_CHARS.
+
+       * ports.c (scm_unread_string): Bugfixes: Check for SCM_STRINGP,
+       not SCM_ROSTRINGP; use SCM_ROUCHARS instead of SCM_UCHARS.
+
+1998-11-06  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * ports.h (SCM_CUC): #define as ~SCM_CRDY instead of 0x001fffffL.
+       This is quite important since the latter clears the
+       FPORT_READ_SAFE and FPORT_WRITE_SAFE flags causing flushes at
+       every single character read...
+
+1998-11-03  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * print.c (scm_iprin1): Removed suspect looking (and indeed
+       malevolent) semicolon after test for user supplied closure print
+       procedure.  (Thanks to Telford Tendys.)
+
+       * list.c (scm_sloppy_memq): Removed sloppy_mem_check.
+       (scm_memq, scm_memv, scm_member): Do argument checking *before*
+       starting to search the list.  Removed call to sloppy_mem_check.
+
+       * list.c, list.h (scm_delq1_x, scm_delv1_x, scm_delete1_x): New
+       procedures: Same as scm_delq_x et al, but delete maximally one
+       element.
+
+       * options.c (scm_options, scm_init_options): GC-protect option
+       values of type SCM.  (Thanks to Telford Tendys.)
+
+1998-11-01  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * eval.c: Don't #define scm_lookupcar to scm_lookupcar1.  Instead
+       make sure that there always is a "real" scm_lookupcar.
+
+1998-11-01  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * read.c, read.h (scm_read_opts): New read options
+       "history-length" and "history-file".
+       (scm_read_options): Stifle history to history length.
+
+       * readline.c (scm_read_history, scm_write_history): New procedures.
+
 1998-10-31  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
 
        * eval.h (scm_macro_eval_x): Removed declaration.
        * evalext.c, evalext.h: New files.  Contain non-R5RS things
        having to do with evaluation.
        
-       * evalext.c (serial-map): New procedure: Version of `map' which
-       guarantees that the procedure is applied to the lists in serial
-       order.
-       (sequence->list): New syntax: Version of `begin' which returns a
-       list of the results of the body forms instead of the result of the
-       last body form.
+       * evalext.c (scm_serial_map): New procedure: Version of `map'
+       which guarantees that the procedure is applied to the lists in
+       serial order.
+       (scm_m_sequence_to_list): New syntax: Version of `begin' which
+       returns a list of the results of the body forms instead of the
+       result of the last body form.
        (scm_definedp, scm_m_undefine): Moved from eval.c
 
        * evalext.h (scm_m_sequence_to_list): Added declaration.
 
        * macros.c, macros.h: New files.
-       (procedure->syntax, procedure->macro, procedure->memoizing-macro,
-       macro?, macro-type, macro-name, macro-transformer): Moved from
-       eval.c
+       (scm_procedure_to_syntax, scm_procedure_to_macro,
+       scm_procedure_to_memoizing_macro, scm_macro_p, scm_macro_type,
+       scm_macro_name, scm_macro_transformer): Moved from eval.c
        (scm_make_synt): Moved from eval.c
 
-       * procs.c, procs.h (procedure-documentation): Moved from eval.c.
+       * procs.c, procs.h (scm_procedure_documentation): Moved from eval.c.
 
        * init.c (scm_boot_guile_1): Added calls to scm_init_macros and
        scm_init_evalext.
 
        * Makefile.am: Added evalext.c, evalext.h, macros.c, macros.h.
 
+       * debug.c, print.c: Added #include "macros.h".
+
 1998-10-29  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
 
        This change adds the ability to use `unread-char' multiple times