+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