Jim Blandy [Sat, 5 Dec 1998 18:52:15 +0000 (18:52 +0000)]
* pairs.h (SCM_NEWCELL): When DEBUG_FREELIST is defined, don't
take the address of _into; it might be a register. Just have
scm_debug_newcell return the new cell.
* gc.c (scm_debug_newcell): Just return the new cell, instead of
taking the address of a place to store it as an argument.
* gc.h (scm_debug_newcell): Change declaration.
(Thanks to Greg Harvey.)
Jim Blandy [Sat, 5 Dec 1998 18:07:41 +0000 (18:07 +0000)]
Remove list of things to do for 1.3 release.
Jim Blandy [Sat, 5 Dec 1998 16:55:41 +0000 (16:55 +0000)]
*** empty log message ***
Jim Blandy [Sat, 5 Dec 1998 16:52:34 +0000 (16:52 +0000)]
* smob.c (freeprint): New function.
(freecell): Use it to print freed objects, for slightly easier
debugging.
Mikael Djurfeldt [Fri, 4 Dec 1998 11:41:18 +0000 (11:41 +0000)]
*** empty log message ***
Mikael Djurfeldt [Fri, 4 Dec 1998 11:41:03 +0000 (11:41 +0000)]
* backtrace.c (display_frame): Made more robust. Doesn't throw an
error if no source properties can be found for a frame. (Thanks
to Christian Lynbech.)
Jim Blandy [Wed, 2 Dec 1998 14:31:21 +0000 (14:31 +0000)]
*** empty log message ***
Jim Blandy [Wed, 2 Dec 1998 11:55:00 +0000 (11:55 +0000)]
*** empty log message ***
Mikael Djurfeldt [Tue, 1 Dec 1998 17:06:34 +0000 (17:06 +0000)]
* boot-9.scm (process-define-module): Added new specifier
:autoload MODULENAME BINDINGS to the define-module form.
The autoload specifier tells the module system to load the module
MODULENAME at the first occasion that any variable with its name
among BINDINGS is referenced.
(make-autoload-interface): New procedure: Constructs a stand-in
for the public interface for the module to be autoloaded.
Mikael Djurfeldt [Tue, 1 Dec 1998 11:28:24 +0000 (11:28 +0000)]
* boot-9.scm (*suppress-old-style-hook-warning*): Set this to #t
if you don't want the old style hook warnings.
Mikael Djurfeldt [Tue, 1 Dec 1998 07:35:00 +0000 (07:35 +0000)]
* boot-9.scm (try-using-libtool-name): Fix check on dlname to make
sure that it isn't empty, as it is when we are only buidling
static libraries.
Mikael Djurfeldt [Thu, 26 Nov 1998 18:05:20 +0000 (18:05 +0000)]
*** empty log message ***
Mikael Djurfeldt [Thu, 26 Nov 1998 18:04:46 +0000 (18:04 +0000)]
* session.scm (arity): New procedure.
Mikael Djurfeldt [Thu, 26 Nov 1998 18:04:33 +0000 (18:04 +0000)]
* objects.h: Removed slots direct_supers and direct_slots from the
definitions of the rudimentary classes described by objects.h.
* objects.c, objects.h (scm_entity_p): New procedure. Together
with the predicates scm_procedure_p and scm_struct_p, this
predicate makes it possible to differ between structs, entities
and operators.
Mikael Djurfeldt [Thu, 26 Nov 1998 18:03:02 +0000 (18:03 +0000)]
* objects.c, objects.h (scm_entity_p): New procedure. Together
with the predicates scm_procedure_p and scm_struct_p, this
predicate makes it possible to differ between structs, entities
and operators.
Mikael Djurfeldt [Thu, 26 Nov 1998 17:59:15 +0000 (17:59 +0000)]
* modules.c, modules.h (scm_resolve_module): New function.
Mikael Djurfeldt [Thu, 26 Nov 1998 17:56:36 +0000 (17:56 +0000)]
Warn that resolve-module is used by modules.c
Mikael Djurfeldt [Thu, 26 Nov 1998 08:42:27 +0000 (08:42 +0000)]
*** empty log message ***
Mikael Djurfeldt [Thu, 26 Nov 1998 08:41:56 +0000 (08:41 +0000)]
Just synchronizing to my copy...
Mikael Djurfeldt [Thu, 26 Nov 1998 08:36:23 +0000 (08:36 +0000)]
Updated
Mikael Djurfeldt [Thu, 26 Nov 1998 08:33:49 +0000 (08:33 +0000)]
* procprop.c (scm_i_procedure_arity): Bugfix: Return correct value
for asubrs, rpsubrs, lsubrs and lsubr_2s.
Mikael Djurfeldt [Thu, 26 Nov 1998 08:33:38 +0000 (08:33 +0000)]
fix
Mikael Djurfeldt [Thu, 26 Nov 1998 08:31:02 +0000 (08:31 +0000)]
* boot-9.scm: Use run-hook instead of run-hooks everywhere.
Mikael Djurfeldt [Thu, 26 Nov 1998 07:58:53 +0000 (07:58 +0000)]
*** empty log message ***
Mikael Djurfeldt [Thu, 26 Nov 1998 07:44:53 +0000 (07:44 +0000)]
* procprop.h (scm_i_procedure_arity): Added declaration.
Mikael Djurfeldt [Thu, 26 Nov 1998 07:44:35 +0000 (07:44 +0000)]
* procprop.c (scm_i_procedure_arity): Made global; New code to
handle operators and entities.
(scm_procedure_property): No need to call scm_procedure_p since
scm_i_procedure_arity now does all necessary type checking.
Added #include "objects.h".
Mikael Djurfeldt [Thu, 26 Nov 1998 07:44:22 +0000 (07:44 +0000)]
* feature.c, feature.h (scm_reset_hook_x): New procedure.
(scm_make_hook): Optional argument defines number of arguments to
the hook.
(scm_make_named_hook): Take number of args as second arg.
(scm_run_hook): Renamed from scm_run_hooks (old name kept for a
while); First arg is the hook. The rest are arguments passed on
to the hook procedures.
Mikael Djurfeldt [Thu, 26 Nov 1998 07:44:09 +0000 (07:44 +0000)]
* feature.c (scm_remove_hook_x): Bugfix: Changed reference to
s_add_hook_x --> s_remove_hook_x.
(scm_add_hook_x, scm_remove_hook_x): Hooks now takes arguments.
Added #include "procprop.h"
* feature.c, feature.h (scm_reset_hook_x): New procedure.
(scm_make_hook): Optional argument defines number of arguments to
the hook.
(scm_make_named_hook): Take number of args as second arg.
(scm_run_hook): Renamed from scm_run_hooks (old name kept for a
while); First arg is the hook. The rest are arguments passed on
to the hook procedures.
Mikael Djurfeldt [Wed, 25 Nov 1998 15:17:41 +0000 (15:17 +0000)]
*** empty log message ***
Mikael Djurfeldt [Wed, 25 Nov 1998 15:17:12 +0000 (15:17 +0000)]
* boot-9.scm (run-hooks, add-hook!, remove-hook!): Added temporary
code for backward compatibility until people have had time to
adapt to the new hooks.
Jim Blandy [Mon, 23 Nov 1998 10:27:27 +0000 (10:27 +0000)]
*** empty log message ***
Jim Blandy [Mon, 23 Nov 1998 10:24:35 +0000 (10:24 +0000)]
* 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.)
Jim Blandy [Mon, 23 Nov 1998 10:24:09 +0000 (10:24 +0000)]
* regex-posix.c (scm_regexp_exec): Reliably mark unmatched
subexpressions. (Thanks to Charbel Jacquin.)
Mikael Djurfeldt [Mon, 23 Nov 1998 03:05:57 +0000 (03:05 +0000)]
Fix
Mikael Djurfeldt [Mon, 23 Nov 1998 02:39:47 +0000 (02:39 +0000)]
*** empty log message ***
Mikael Djurfeldt [Mon, 23 Nov 1998 02:36:43 +0000 (02:36 +0000)]
* boot-9.scm (beautify-user-module!): Beautify also if public
interface is set to the module itself. In this way we can use
beautify-user-module! to beautify a module prepared for object
code.
(process-define-module): Special case: Try to load object code as
well if a module does :use-module on itself.
* boot-9.scm: Bugfix: Since boot-9.scm is now loaded from
invoke_main_func, we can no longer be sure that all modules have
been registered when boot-9.scm is loaded.
(register-modules): New function: Register and tag modules
registered by scm_register_module_xxx since last call to this
function. Modules are tagged with the dynamic object passed as
argument. (Already linked modules should be tagged with #f.)
(init-dynamic-module, link-dynamic-module): Call register-modules
first to register linked modules.
* boot-9.scm (init-dynamic-module): Remove module from
registered-modules as soon as possible in case we are recursively
invoked; Set public interface before doing the dynamic-call.
* boot-9.scm (map-in-order): Removed (replaced by scm_serial_map).
(abort-hook, before-error-hook, after-error-hook,
before-backtrace-hook, after-backtrace-hook, before-read-hook,
after-read-hook, exit-hook): Make hooks with `make-hook'.
* boot-9.scm: Make hooks first class citizens and make them easier
to use from C:
(make-hook, add-hook!, remove-hook!, run-hooks): Moved to
libguile/feature.c.
* boot-9.scm: Added warnings about bindings used in
libguile/modules.c: the-module, set-current-module,
make-modules-in, beautify-user-module!, module-eval-closure.
Mikael Djurfeldt [Mon, 23 Nov 1998 02:35:11 +0000 (02:35 +0000)]
* modules.c (scm_make_module): Beautify the module.
Mikael Djurfeldt [Mon, 23 Nov 1998 02:34:49 +0000 (02:34 +0000)]
* 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".
Mikael Djurfeldt [Sun, 22 Nov 1998 12:06:41 +0000 (12:06 +0000)]
*** empty log message ***
Mikael Djurfeldt [Sun, 22 Nov 1998 12:05:35 +0000 (12:05 +0000)]
Updated
Mikael Djurfeldt [Sun, 22 Nov 1998 12:05:14 +0000 (12:05 +0000)]
* 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.)
Mikael Djurfeldt [Sun, 22 Nov 1998 12:04:27 +0000 (12:04 +0000)]
* init.c: Added #include "modules.h"
(scm_boot_guile_1): Call scm_init_modules.
(invoke_main_func): Call scm_post_boot_init_modules.
Mikael Djurfeldt [Sun, 22 Nov 1998 12:04:00 +0000 (12:04 +0000)]
* Makefile.am: Added modules.c, modules.x, modules.h.
Mikael Djurfeldt [Sun, 22 Nov 1998 12:03:34 +0000 (12:03 +0000)]
* boot-9.scm: Added warnings about bindings used in
libguile/modules.c: the-module, set-current-module,
make-modules-in, module-eval-closure.
Jim Blandy [Sat, 21 Nov 1998 19:19:15 +0000 (19:19 +0000)]
*** empty log message ***
Mikael Djurfeldt [Sat, 21 Nov 1998 17:02:36 +0000 (17:02 +0000)]
*** empty log message ***
Mikael Djurfeldt [Sat, 21 Nov 1998 17:01:48 +0000 (17:01 +0000)]
* procs.c: #include "objects.h"
(scm_procedure_p): Return #t also on structs which are operators.
Mikael Djurfeldt [Sat, 21 Nov 1998 17:01:33 +0000 (17:01 +0000)]
* 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.
Mikael Djurfeldt [Sat, 21 Nov 1998 17:00:44 +0000 (17:00 +0000)]
* 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.
Mikael Djurfeldt [Fri, 20 Nov 1998 17:14:41 +0000 (17:14 +0000)]
* 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.
Mikael Djurfeldt [Fri, 20 Nov 1998 17:14:07 +0000 (17:14 +0000)]
* 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.
Mikael Djurfeldt [Fri, 20 Nov 1998 17:12:45 +0000 (17:12 +0000)]
* boot-9.scm (the-environment): New special form: Returns an
object representing the current local evaluation environment.
This object can be used in `local-eval' and `defined?'.
Mikael Djurfeldt [Thu, 19 Nov 1998 08:15:22 +0000 (08:15 +0000)]
* 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.)
Mikael Djurfeldt [Thu, 19 Nov 1998 04:48:50 +0000 (04:48 +0000)]
* readline.c (scm_init_readline): Set
rl_basic_word_break_characters. (Thanks to Ian Grant.)
Mikael Djurfeldt [Tue, 17 Nov 1998 08:03:18 +0000 (08:03 +0000)]
* eval.c (SCM_CEVAL): Added missing case for cclo. (Thanks to
Christian Lynbech.)
Mikael Djurfeldt [Sun, 15 Nov 1998 16:16:06 +0000 (16:16 +0000)]
* 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.
Mikael Djurfeldt [Fri, 13 Nov 1998 15:58:00 +0000 (15:58 +0000)]
* 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.)
Radey Shouman [Thu, 12 Nov 1998 22:52:45 +0000 (22:52 +0000)]
*** empty log message ***
Radey Shouman [Thu, 12 Nov 1998 22:47:18 +0000 (22:47 +0000)]
(scm_array_contents): removed unnecessary test for 0 base.
Mikael Djurfeldt [Thu, 12 Nov 1998 16:05:57 +0000 (16:05 +0000)]
Renamed sequence->list --> collect
Mikael Djurfeldt [Thu, 12 Nov 1998 16:03:11 +0000 (16:03 +0000)]
* boot-9.scm (collect): New syntax. Similar to begin but returns
a list of the results of all forms in the sequence instead of the
result of the last form.
Mikael Djurfeldt [Thu, 12 Nov 1998 16:00:41 +0000 (16:00 +0000)]
* evalext.c, evalext.h (scm_m_sequence_to_list): Removed.
Replaced by macro `collect' in boot-9.scm.
Jim Blandy [Wed, 11 Nov 1998 09:00:39 +0000 (09:00 +0000)]
*** empty log message ***
Mikael Djurfeldt [Tue, 10 Nov 1998 14:42:04 +0000 (14:42 +0000)]
*** empty log message ***
Mikael Djurfeldt [Tue, 10 Nov 1998 14:41:40 +0000 (14:41 +0000)]
* syncase.scm (values, call-with-values): Moved to boot-9.scm.
Mikael Djurfeldt [Tue, 10 Nov 1998 14:40:28 +0000 (14:40 +0000)]
* boot-9.scm (values, call-with-values): Moved here from
syncase.scm.
Mikael Djurfeldt [Tue, 10 Nov 1998 14:18:42 +0000 (14:18 +0000)]
*** empty log message ***
Mikael Djurfeldt [Tue, 10 Nov 1998 14:17:24 +0000 (14:17 +0000)]
* eval.c (scm_copy_tree): Copy source properties if existent.
Mikael Djurfeldt [Tue, 10 Nov 1998 14:16:55 +0000 (14:16 +0000)]
* debug.c (scm_start_stack): Copy source when evaluating. (If we
don't, we may end up passing memoized source to a transformer.)
Mikael Djurfeldt [Tue, 10 Nov 1998 07:58:32 +0000 (07:58 +0000)]
Removed last change. (Replaced by a better change.)
Mikael Djurfeldt [Tue, 10 Nov 1998 07:57:51 +0000 (07:57 +0000)]
* stacks.c (read_frame): Bugfix: Removed lingering `else'
statement.
(read_frames): Use SCM_MACROEXPP.
Mikael Djurfeldt [Tue, 10 Nov 1998 07:41:35 +0000 (07:41 +0000)]
* backtrace.c (get_applybody): Help function which lookups the
first body form of the apply closure.
(display_error_body): Prevent the source of the first form of the
apply closure from being printed in error messages.
Mikael Djurfeldt [Tue, 10 Nov 1998 06:12:12 +0000 (06:12 +0000)]
*** empty log message ***
Mikael Djurfeldt [Tue, 10 Nov 1998 06:10:33 +0000 (06:10 +0000)]
* stacks.c (read_frame): Bugfix: Removed lingering `else'
statement.
(read_frames): Use SCM_MACROEXPP.
Mikael Djurfeldt [Tue, 10 Nov 1998 06:10:11 +0000 (06:10 +0000)]
* eval.c (SCM_CEVAL): Use SCM_SET/CLEAR_MACROEXP.
Mikael Djurfeldt [Tue, 10 Nov 1998 06:09:55 +0000 (06:09 +0000)]
* debug.h (SCM_SET_MACROEXP, SCM_CLEAR_MACROEXP, SCM_MACROEXPP):
Replaces SCM_MACROFRAME, SCM_MACROFRAMEP.
Mikael Djurfeldt [Mon, 9 Nov 1998 16:46:08 +0000 (16:46 +0000)]
* 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.
Mikael Djurfeldt [Mon, 9 Nov 1998 15:52:29 +0000 (15:52 +0000)]
* print.c (scm_iprin1): Print gsubrs as primitives.
Mikael Djurfeldt [Mon, 9 Nov 1998 15:51:30 +0000 (15:51 +0000)]
* readline.scm (readline-port): Use readline-options-interface.
Mikael Djurfeldt [Mon, 9 Nov 1998 14:32:17 +0000 (14:32 +0000)]
Updated
Mikael Djurfeldt [Mon, 9 Nov 1998 14:26:47 +0000 (14:26 +0000)]
* boot-9.scm (readline-options, readline-enable, readline.disable,
readline-set!: New options interface.
Mikael Djurfeldt [Mon, 9 Nov 1998 14:16:21 +0000 (14:16 +0000)]
*** empty log message ***
Mikael Djurfeldt [Mon, 9 Nov 1998 14:15:30 +0000 (14:15 +0000)]
* readline.c, readline.h (scm_readline_options,
scm_readline_opts): Moved readline options here.
Mikael Djurfeldt [Mon, 9 Nov 1998 14:14:49 +0000 (14:14 +0000)]
* read.c, read.h (scm_read_options, scm_read_opts): Removed
readline options. They should reside in their own options array.
Mikael Djurfeldt [Mon, 9 Nov 1998 14:13:31 +0000 (14:13 +0000)]
* 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.
Mikael Djurfeldt [Mon, 9 Nov 1998 14:13:06 +0000 (14:13 +0000)]
* debug.h (SCM_MACROFRAME, SCM_MACROFRAMEP): New frame type.
Jim Blandy [Sat, 7 Nov 1998 14:41:05 +0000 (14:41 +0000)]
*** empty log message ***
Mikael Djurfeldt [Fri, 6 Nov 1998 18:16:45 +0000 (18:16 +0000)]
*** empty log message ***
Mikael Djurfeldt [Fri, 6 Nov 1998 18:15:40 +0000 (18:15 +0000)]
* readline.c (scm_read_history, scm_write_history): Bugfix: Use
SCM_ROCHARS instead of SCM_CHARS.
Mikael Djurfeldt [Fri, 6 Nov 1998 18:15:12 +0000 (18:15 +0000)]
* ports.c (scm_unread_string): Bugfixes: Check for SCM_STRINGP,
not SCM_ROSTRINGP; use SCM_ROUCHARS instead of SCM_UCHARS.
Mikael Djurfeldt [Thu, 5 Nov 1998 16:02:55 +0000 (16:02 +0000)]
* 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...
Mikael Djurfeldt [Thu, 5 Nov 1998 15:06:30 +0000 (15:06 +0000)]
Removed lingering declaration of removed function sloppy_mem_check.
Mikael Djurfeldt [Thu, 5 Nov 1998 14:44:08 +0000 (14:44 +0000)]
* boot-9.scm: Set the repl start module in `top-repl' instead of
at the end of boot-9.scm.
Mikael Djurfeldt [Tue, 3 Nov 1998 16:17:29 +0000 (16:17 +0000)]
Updated
Mikael Djurfeldt [Tue, 3 Nov 1998 16:11:33 +0000 (16:11 +0000)]
*** empty log message ***
Mikael Djurfeldt [Tue, 3 Nov 1998 16:09:29 +0000 (16:09 +0000)]
* print.c (scm_iprin1): Removed suspect looking (and indeed
malevolent) semicolon after test for user supplied closure print
procedure. (Thanks to Telford Tendys.)
Mikael Djurfeldt [Tue, 3 Nov 1998 16:09:11 +0000 (16:09 +0000)]
* options.c (scm_options, scm_init_options): GC-protect option
values of type SCM. (Thanks to Telford Tendys.)
Mikael Djurfeldt [Tue, 3 Nov 1998 16:08:53 +0000 (16:08 +0000)]
* 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.
Mikael Djurfeldt [Tue, 3 Nov 1998 16:08:28 +0000 (16:08 +0000)]
* 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.
Mikael Djurfeldt [Sun, 1 Nov 1998 16:57:40 +0000 (16:57 +0000)]
Removed some #if 0 which slipped through in previous change