Marius Vollmer [Sun, 28 Jan 2001 17:56:34 +0000 (17:56 +0000)]
* readline.scm (make-readline-port): PROMPT becomes PROMPT2 as
soon as GET-CHARACTER returns any character at all that was
previously read. This makes the continuation prompt appear
properly for partial expressions. Thanks to Neil Jerram!
Keisuke Nishida [Sat, 27 Jan 2001 00:13:55 +0000 (00:13 +0000)]
goops.c (s_scm_get_keyword): Bug fix.
Dirk Herrmann [Fri, 26 Jan 2001 18:04:32 +0000 (18:04 +0000)]
* Fix parameter error reporting and avoid redundant parameter checks.
Dirk Herrmann [Fri, 26 Jan 2001 17:30:54 +0000 (17:30 +0000)]
* Added missing includes of string.h.
Dirk Herrmann [Fri, 26 Jan 2001 16:58:48 +0000 (16:58 +0000)]
* Make readline run-time options accessible.
Dirk Herrmann [Fri, 26 Jan 2001 16:49:28 +0000 (16:49 +0000)]
* Fixed things that I had broken with the last patch :-(
Dirk Herrmann [Fri, 26 Jan 2001 13:47:53 +0000 (13:47 +0000)]
* Forgot to add the file check-guile.in with the latest commit.
Dirk Herrmann [Fri, 26 Jan 2001 13:44:57 +0000 (13:44 +0000)]
* Added Thien-Thi Nguyen's patch to support "make check".
Dirk Herrmann [Thu, 25 Jan 2001 23:34:31 +0000 (23:34 +0000)]
* On errors, show line and column information even for unnamed ports.
Dirk Herrmann [Thu, 25 Jan 2001 17:57:29 +0000 (17:57 +0000)]
* Make sure that only open file ports are used as readline ports.
Dirk Herrmann [Thu, 25 Jan 2001 17:40:50 +0000 (17:40 +0000)]
* Added a file-port? primitive.
Dirk Herrmann [Thu, 25 Jan 2001 17:18:41 +0000 (17:18 +0000)]
* Made the port implementations less tightly coupled within guile.
Dirk Herrmann [Thu, 25 Jan 2001 11:09:21 +0000 (11:09 +0000)]
* Fix handling of (set-source-property! <obj> 'copy <datum>).
Gary Houston [Wed, 24 Jan 2001 21:47:23 +0000 (21:47 +0000)]
*** empty log message ***
Gary Houston [Wed, 24 Jan 2001 21:46:04 +0000 (21:46 +0000)]
* tests/ports.test: include (ice-9 rdelim) module.
Gary Houston [Wed, 24 Jan 2001 21:45:09 +0000 (21:45 +0000)]
* boot-9.scm: don't import (ice-9 rdelim) here. it's done
in C for now.
* rdelim.scm: export the C primitives too.
* documentation.scm: use (ice-9 rdelim).
* filesys.c (scm_link): docstring fix.
* fports.h (scm_setfileno): obsolete declaration removed.
* posix.c: bogus popen declaration removed.
* rdelim.c: new file, split from ioext.c with new proc
scm_init_rdelim.
* rdelim.h: new file.
* Makefile.am: add rdelim.c and related files.
* init.c: call scm_init_rdelim. include rdelim.h.
Gary Houston [Wed, 24 Jan 2001 21:31:39 +0000 (21:31 +0000)]
*** empty log message ***
Dirk Herrmann [Wed, 24 Jan 2001 18:07:29 +0000 (18:07 +0000)]
* Make sure that parameter errors are reported correctly.
Thanks to Martin Grabmueller for sending this patch.
Dirk Herrmann [Wed, 24 Jan 2001 16:06:20 +0000 (16:06 +0000)]
* Ooops: Forgot to credit Neil for the bug report.
Dirk Herrmann [Wed, 24 Jan 2001 15:58:46 +0000 (15:58 +0000)]
* Make sure that scm_display_error validates its port argument.
Mikael Djurfeldt [Wed, 24 Jan 2001 01:26:44 +0000 (01:26 +0000)]
* eval.c (SCM_APPLY): Added # args check for application of
procedures with arity 3. (Thanks to Anders Holst.)
Dirk Herrmann [Wed, 24 Jan 2001 00:02:43 +0000 (00:02 +0000)]
* Separate the handling of OPEN flags between ports and directories.
Dirk Herrmann [Mon, 22 Jan 2001 13:32:08 +0000 (13:32 +0000)]
* Move all real functionality from scm_eval into inner_eval.
* Avoid to copy the evaluated expression twice.
Gary Houston [Sun, 21 Jan 2001 22:11:29 +0000 (22:11 +0000)]
* rdelim.scm: new file implementing module (ice-9 rdelim).
* ice-9.scm (scm-line-incrementors read-line! read-delimited!
read-delimited read-line): moved to rdelim.scm.
scm-line-incrementors is not exported.
* boot-9.scm: import (ice-9 rdelim) for backwards compatibility,
for now.
* lineio.scm: use module (ice-9 rdelim).
* Makefile.am (ice9_sources): add rdelim.scm.
Dirk Herrmann [Fri, 19 Jan 2001 17:16:52 +0000 (17:16 +0000)]
* Applied Martin Grabmueller's fix of case's handling of 'else.
Neil Jerram [Fri, 19 Jan 2001 09:00:05 +0000 (09:00 +0000)]
* Make the readline port input-only.
Gary Houston [Thu, 18 Jan 2001 22:54:54 +0000 (22:54 +0000)]
* ioext.c: further simplify scm_read_string_x_partial by defining
a macro SCM_EBLOCK.
Dirk Herrmann [Thu, 18 Jan 2001 17:24:10 +0000 (17:24 +0000)]
* Converted to real boundary testing.
Dirk Herrmann [Thu, 18 Jan 2001 15:12:51 +0000 (15:12 +0000)]
* Simplified gh_ints2scm by using SCM_FIXABLE.
Dirk Herrmann [Thu, 18 Jan 2001 13:35:45 +0000 (13:35 +0000)]
* Cleaned up some limits-definitions.
Dirk Herrmann [Wed, 17 Jan 2001 18:22:26 +0000 (18:22 +0000)]
* Added tests for bit-operations.
Dirk Herrmann [Wed, 17 Jan 2001 18:15:30 +0000 (18:15 +0000)]
* Fixed a couple of bugs with quotient, remainder, bit-extract and logand.
Dirk Herrmann [Tue, 16 Jan 2001 11:19:36 +0000 (11:19 +0000)]
* Comment fixed.
Dirk Herrmann [Mon, 15 Jan 2001 17:15:13 +0000 (17:15 +0000)]
* Return type of scm_make_smob_type is scm_bits_t now.
Michael Livshin [Thu, 11 Jan 2001 21:03:18 +0000 (21:03 +0000)]
* objects.h (SCM_SET_ENTITY_SETTER): new macro. SCM_ENTITY_SETTER
casts its result, so doesn't yield an lvalue per ANSI C.
* goops.c (s_scm_sys_set_object_setter_x): use
SCM_SET_ENTITY_SETTER.
(clear_method_cache): use SCM_SET_ENTITY_PROCEDURE.
* gc.h (SCM_GC_SET_CARD_BVEC): new macro. SCM_GC_CARD_BVEC casts
its result, so doesn't yield an lvalue per ANSI C.
(SCM_GC_SET_CARD_FLAGS): ditto for SCM_GC_GET_CARD_FLAGS.
(SCM_GC_CLR_CARD_FLAGS): redefined in terms of
SCM_GC_SET_CARD_FLAGS.
(SCM_GC_SET_CARD_FLAG, SCM_GC_CLR_CARD_FLAGS): ditto.
* gc.c (INIT_CARD): use the explicit setter macro to set the bvec.
Gary Houston [Mon, 8 Jan 2001 23:10:06 +0000 (23:10 +0000)]
* validate.h (SCM_VALIDATE_SUBSTRING_SPEC_COPY): new macro.
* ioext.c (scm_read_string_x_partial, scm_read_delimited_x),
socket.c (scm_recvfrom): use the new macro, plus minor docstring
changes.
* ioext.c (scm_read_string_x_partial): don't crash if -1 is supplied
for fdes. if current input port is used, check that it's a file
port.
Gary Houston [Sat, 6 Jan 2001 22:04:04 +0000 (22:04 +0000)]
*** empty log message ***
Gary Houston [Sat, 6 Jan 2001 22:03:07 +0000 (22:03 +0000)]
* ioext.c (scm_read_string_x_partial): new procedure, implements
read-string!/partial.
* ports.c (scm_take_from_input_buffers): new procedure used by
scm_read_string_x_partial.
(scm_drain_input): use scm_take_from_input_buffers.
Marius Vollmer [Sat, 6 Jan 2001 18:47:12 +0000 (18:47 +0000)]
*** empty log message ***
Marius Vollmer [Sat, 6 Jan 2001 18:46:48 +0000 (18:46 +0000)]
* validate.h (SCM_VALIDATE_NUMBER): New.
Neil Jerram [Fri, 5 Jan 2001 09:29:12 +0000 (09:29 +0000)]
* Fix typos in entry about guardian semantic changes.
Michael Livshin [Thu, 4 Jan 2001 13:00:31 +0000 (13:00 +0000)]
* guardians.c (F_GREEDY, F_LISTED, F_DESTROYED, GREEDY_P,
SET_GREEDY, LISTED_P, SET_LISTED, CLR_LISTED, DESTROYED_P,
SET_DESTROYED): new defines/macros.
(GUARDIAN_LIVE, GUARDIAN_ZOMBIES, GUARDIAN_NEXT): deleted.
(add_to_live_list): takes a `guardian_t *' now, not SCM.
(guardian_print): print more info.
(guardian_apply): check if the guardian is destroyed, and throw an
error if so. take one more optional argument `throw_p'.
(scm_guard): depending on the value of `throw_p', return a boolean
result.
(scm_get_one_zombie): remove redundant property test.
(guardian_t): represent the various (currently 3, I hope nothing
more gets added) boolean fields as bit flags.
(scm_guardian_destroyed_p, scm_guardian_greedy_p): new predicates.
(scm_destroy_guardian_x): new procedure.
* guardians.h: added prototypes for `scm_guardian_greedy_p' and
`scm_guardian_destroyed_p'. changed prototype for `scm_guard'.
Gary Houston [Tue, 2 Jan 2001 00:38:41 +0000 (00:38 +0000)]
* fports.c (fport_write): bugfix: handle short writes for
unbuffered ports too. optimize the buffered case by minimizing
the number of write/flush calls.
(write_all): new helper procedure.
Michael Livshin [Sat, 30 Dec 2000 19:26:37 +0000 (19:26 +0000)]
* guardians.c (guardian_print): for sharing guardians, print that
they are sharing.
(scm_guard, scm_get_one_zombie): place the critical section
barriers more correctly.
Michael Livshin [Fri, 29 Dec 2000 22:18:06 +0000 (22:18 +0000)]
* weaks.c (scm_scan_weak_vectors): move the calculation of the
`weak_keys' and `weak_values' flags out of the inner loop.
* guardians.c: (greedily_guarded_prop): deleted.
(greedily_guarded_whash): new variable. a doubly-weak hash table
used to keep the "greedily hashed" object property. the previous
implementation (via primitive object properties) was incorrect due
to its only-the-key-is-weak semantics.
(scm_guard, get_one_zombie, scm_init_guardians): use/init
`greedily_guarded_whash'.
Dirk Herrmann [Fri, 29 Dec 2000 15:47:16 +0000 (15:47 +0000)]
* Remove calls to symbol-interned? which have always been useless, but now
have become wrong since symbols and bindings are separated.
Dirk Herrmann [Thu, 28 Dec 2000 16:49:09 +0000 (16:49 +0000)]
* Fixed the changelog entry regarding re-introduction of struct member
properties (I continuously talked of member 'documentation' instead)
* Replace calls to scm_remember with calls to scm_remember_upto_here_1.
Dirk Herrmann [Thu, 28 Dec 2000 16:06:56 +0000 (16:06 +0000)]
* Get rid of the annoying variable-gets-clobbered-by-longjmp warning.
Dirk Herrmann [Thu, 28 Dec 2000 15:09:56 +0000 (15:09 +0000)]
* Re-introduces the unused member "documentation" of struct scm_subr_entry.
Michael Livshin [Thu, 28 Dec 2000 14:26:12 +0000 (14:26 +0000)]
* guardians.c (mark_dependencies_in_tconc): new function.
(mark_dependencies): bug fix. mark the dependencies of the known
zombies, too. duh.
Michael Livshin [Sun, 24 Dec 2000 09:54:24 +0000 (09:54 +0000)]
* gc.c: (scm_gc_mark_dependencies): use SCM_EQ_P for SCMs, not
'=='. also, return after calling `scm_gc_mark'.
Michael Livshin [Sun, 24 Dec 2000 00:41:14 +0000 (00:41 +0000)]
*** empty log message ***
Michael Livshin [Sat, 23 Dec 2000 23:00:23 +0000 (23:00 +0000)]
* gc.c: (scm_gc_mark_dependencies): new function. like
`scm_gc_mark', but doesn't mark the argument itself. defined
using an arrangement similar to that in eval.c: `scm_gc_mark' and
`scm_gc_mark_dependencies' are derived from the same "template"
by ugly preprocessor magic.
* gc.h: added prototype for `scm_gc_mark_dependencies'.
* init.c (scm_init_guile_1): call the renamed
`scm_init_guardians'.
* guardians.h: changed prototypes for `scm_make_guardian' and
`scm_init_guardians'.
* guardians.c (guardian_t): added new fields `greedy_p' and
`listed_p'.
(GUARDIAN_P): predicate that says whether its argument is a
guardian.
(GUARDIAN_GREEDY_P, GUARDIAN_LISTED_P): new predicates.
(greedy_guardians, sharing_guardians): new variables. hold the
greedy and sharing live guardian lists, respectively.
(first_live_guardian, current_link_field): removed.
(greedily_guarded_prop): new variable. holds the "is greedily
guarded" object property.
(self_centered_zombies): new variable. stores guarded objects
that are parts of cycles.
(add_to_live_list): new function, introduced to decouple marking a
guardian and adding it to the live list.
(guardian_mark): call `add_to_live_list'.
(guardian_print): print whether the guardian is greedy or not.
also change "live" and "zombie" to "reachable" and "unreachable"
respectively, to be less confusing.
(scm_guard): if the guardian is greedy, test whether the object is
already greedily marked. throw an error if so.
(scm_get_one_zombie): if the guardian is greedy, remove the
"greedily guarded" property from the object.
(scm_make_guardian): add a new optional boolean argument which
says whether the guardian is greedy or sharing.
(guardian_gc_init): init the new live lists.
(mark_dependencies): new function.
(mark_and_zombify): new function.
(guardian_zombify): reworked to support the new guardian
semantics. move some logic to `mark_dependencies' and
`mark_and_zombify'.
(whine_about_self_centered_zombies): new function. installed in
the `after-gc-hook' to complain about guarded objects which are
parts of cycles.
(scm_init_guardians): init the new stuff. renamed from
`scm_init_guardian'.
Marius Vollmer [Sat, 23 Dec 2000 17:27:04 +0000 (17:27 +0000)]
Doc fixes from Martin Grabmüller.
Dirk Herrmann [Sat, 23 Dec 2000 11:38:06 +0000 (11:38 +0000)]
* Removed unused member "properties" from struct scm_subr_entry.
Dirk Herrmann [Fri, 22 Dec 2000 16:46:17 +0000 (16:46 +0000)]
* Removed unused member "documentation" from struct scm_subr_entry.
* Eliminate use of scm_intern0/scm_sysintern0 in procs.c.
Dirk Herrmann [Thu, 21 Dec 2000 17:51:55 +0000 (17:51 +0000)]
* Make sure, re-entering the dynamic scope of an eval statement will
restore the latest selected module.
Dirk Herrmann [Thu, 21 Dec 2000 17:07:38 +0000 (17:07 +0000)]
* Simplify the use of SCM_PUREGENERICP.
Gary Houston [Wed, 20 Dec 2000 22:27:09 +0000 (22:27 +0000)]
* continuations.c (continuation_apply): subtract the length of
continuation->dynenv, not the dynenv itself. I broke it last
time I changed this file. thanks to Bernard Urban.
Dirk Herrmann [Mon, 18 Dec 2000 17:36:44 +0000 (17:36 +0000)]
* Remove some redundant SCM_N?IMP tests.
Mikael Djurfeldt [Sun, 17 Dec 2000 04:00:52 +0000 (04:00 +0000)]
*** empty log message ***
Keisuke Nishida [Sat, 16 Dec 2000 20:25:08 +0000 (20:25 +0000)]
Some GOOPS cleanup.
Keisuke Nishida [Sat, 16 Dec 2000 19:58:28 +0000 (19:58 +0000)]
Ignore guile.texi.
Michael Livshin [Sat, 16 Dec 2000 19:25:05 +0000 (19:25 +0000)]
*** empty log message ***
Keisuke Nishida [Sat, 16 Dec 2000 18:27:40 +0000 (18:27 +0000)]
Added prototype.
Dirk Herrmann [Fri, 15 Dec 2000 23:21:06 +0000 (23:21 +0000)]
* New environment variable scm_system_environment to replace scm_symhash.
Dirk Herrmann [Fri, 15 Dec 2000 22:01:30 +0000 (22:01 +0000)]
* Avoid using eval-in-module in example code. Thanks to Neil Jerram.
Dirk Herrmann [Fri, 15 Dec 2000 14:00:18 +0000 (14:00 +0000)]
* Fix a bug in scm_eval.
Dirk Herrmann [Fri, 15 Dec 2000 09:53:56 +0000 (09:53 +0000)]
* Use eval instead of eval-in-module.
Dirk Herrmann [Thu, 14 Dec 2000 00:08:56 +0000 (00:08 +0000)]
* Re-introduced most-positive-fixnum and most-negative-fixnum.
Dirk Herrmann [Wed, 13 Dec 2000 11:38:30 +0000 (11:38 +0000)]
* Renamed scm_symbols to symbols and made it static in symbols.c.
Dirk Herrmann [Wed, 13 Dec 2000 09:44:28 +0000 (09:44 +0000)]
* Fixed the last patch (which was uncomplete). Thanks to Dale P. Smith.
Dirk Herrmann [Tue, 12 Dec 2000 18:36:35 +0000 (18:36 +0000)]
* The creation of symbols and bindings are two separate issues now.
Dirk Herrmann [Tue, 12 Dec 2000 18:10:56 +0000 (18:10 +0000)]
* Lookup 'use-emacs-interface in the-root-module.
Dirk Herrmann [Tue, 12 Dec 2000 14:07:06 +0000 (14:07 +0000)]
* Make the creation of bindings more straightforward.
Dirk Herrmann [Tue, 12 Dec 2000 13:57:26 +0000 (13:57 +0000)]
* Moved function scm_string_hash to hash.c.
Marius Vollmer [Mon, 11 Dec 2000 18:09:35 +0000 (18:09 +0000)]
*** empty log message ***
Marius Vollmer [Mon, 11 Dec 2000 18:09:07 +0000 (18:09 +0000)]
* gc_os_dep.c (scm_get_stack_base) [MSWIN32]: Added detection of
page size on the w32 architecture. Updated from Boehms gc5.2.
Thanks to Lars J. Aas!
Dirk Herrmann [Mon, 11 Dec 2000 14:48:23 +0000 (14:48 +0000)]
* Initialize symbols using SCM_(GLOBAL_)?SYMBOL instead of scm_sysintern...
* Use scm_str2symbol instead of scm_sysintern0.
* Garbage collection initialization code now within gc.c only.
Mikael Djurfeldt [Sun, 10 Dec 2000 20:34:12 +0000 (20:34 +0000)]
*** empty log message ***
Mikael Djurfeldt [Sun, 10 Dec 2000 20:34:01 +0000 (20:34 +0000)]
* threads.h (SCM_MUTEXP): Typo: removed extra parenthesis.
Keisuke Nishida [Fri, 8 Dec 2000 18:10:57 +0000 (18:10 +0000)]
Added entries of smob_mfpe and smob_apply
Keisuke Nishida [Fri, 8 Dec 2000 17:32:56 +0000 (17:32 +0000)]
Smob-related creanup.
Dirk Herrmann [Fri, 8 Dec 2000 17:08:34 +0000 (17:08 +0000)]
* Use scm_mem2symbol or scm_str2symbol to create symbol objects.
Dirk Herrmann [Fri, 8 Dec 2000 16:32:36 +0000 (16:32 +0000)]
* New functions: scm_str2symbol, scm_mem2symbol
Neil Jerram [Fri, 8 Dec 2000 15:39:10 +0000 (15:39 +0000)]
* Fix spelling mistake.
Dirk Herrmann [Fri, 8 Dec 2000 13:41:56 +0000 (13:41 +0000)]
* Guile does not assume a hash table size of scm_symhash_dim any more.
Dirk Herrmann [Thu, 7 Dec 2000 13:46:33 +0000 (13:46 +0000)]
* Undid my last patch and added a comment why it was unnecessary.
Keisuke Nishida [Thu, 7 Dec 2000 12:04:48 +0000 (12:04 +0000)]
Deprecated scm_make_smob_type_mfpe and scm_set_smob_mfpe.
Some optimization on applicable smobs. (Thanks to Dirk Herrmann)
Keisuke Nishida [Thu, 7 Dec 2000 07:10:26 +0000 (07:10 +0000)]
Some cleanup on smob calls.
Keisuke Nishida [Thu, 7 Dec 2000 01:40:55 +0000 (01:40 +0000)]
Test suite for applicable smobs.
Keisuke Nishida [Thu, 7 Dec 2000 00:55:12 +0000 (00:55 +0000)]
Improved smob calls.
Keisuke Nishida [Thu, 7 Dec 2000 00:40:31 +0000 (00:40 +0000)]
.cvsignore
Keisuke Nishida [Thu, 7 Dec 2000 00:39:51 +0000 (00:39 +0000)]
Added some ignorable files.
Dirk Herrmann [Wed, 6 Dec 2000 17:11:46 +0000 (17:11 +0000)]
* Fixed: gc_async must be protected from gc.
Dirk Herrmann [Wed, 6 Dec 2000 16:42:16 +0000 (16:42 +0000)]
* No binding is created for %gc-thunk any more.
Dirk Herrmann [Wed, 6 Dec 2000 16:24:00 +0000 (16:24 +0000)]
* Various minor cleanups.
Dirk Herrmann [Wed, 6 Dec 2000 15:16:59 +0000 (15:16 +0000)]
* eval.c: remove commented code, remove #ifdef CCLO conditionals
* remove uses of older GC marking and cell accessing macros
Dirk Herrmann [Tue, 5 Dec 2000 14:07:03 +0000 (14:07 +0000)]
* Use scm_tc3_* codes instead of hardcoded values.
Dirk Herrmann [Tue, 5 Dec 2000 03:04:20 +0000 (03:04 +0000)]
* Changed guardian representation to applicable smob.
* Improved error reporting for dynamic loading.