1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-04 14:20:26 +02:00
Commit graph

5232 commits

Author SHA1 Message Date
Marius Vollmer
9864812182 (scm_t_guile_ticket, scm_leave_guile, scm_enter_guile): Removed from
public API.  See comment at scm_without_guile for the rationale.
2005-12-06 20:15:24 +00:00
Marius Vollmer
324a5aa97a (read_without_guile): New.
(signal_delivery_thread): Use it instead of
scm_leave_guile/read/scm_enter_guile.
2005-12-06 20:02:19 +00:00
Neil Jerram
9fb5c8f95c * gc-card.c (scm_i_card_statistics): Return if BITVEC is NULL.
This was typically hit when running `gc-live-object-stats' right
after starting Guile.
2005-12-06 19:15:16 +00:00
Kevin Ryde
efeac8aed0 *** empty log message *** 2005-11-30 00:30:36 +00:00
Kevin Ryde
a003f3eb60 (scm_string_append_shared): No copying if just one
non-empty string in args.
2005-11-30 00:26:08 +00:00
Kevin Ryde
606183ba1b *** empty log message *** 2005-11-26 00:55:45 +00:00
Kevin Ryde
94b33dfe46 * random.c (scm_i_copy_rstate, scm_c_make_rstate): Don't test for
scm_malloc returning NULL, it never does that.
	* putenv.c (putenv): Likewise.
2005-11-26 00:54:06 +00:00
Kevin Ryde
c224262bd1 (scm_i_copy_rstate, scm_c_make_rstate): Don't test for
scm_malloc returning NULL, it never does that.
2005-11-26 00:53:27 +00:00
Kevin Ryde
bc73234284 (scm_fill_sockaddr): Remove SCM_C_INLINE_KEYWORD, this is
much too big to want to inline.
2005-11-26 00:52:52 +00:00
Kevin Ryde
123a1b629e (list): Should be "primitive" in SCM_SNARF_DOCS, not "register". 2005-11-26 00:50:12 +00:00
Kevin Ryde
1f65cc174d (scm_mark_all): Change C++ comment to C comment. Reported by Ludovic Courtès. 2005-11-26 00:49:24 +00:00
Kevin Ryde
f07d2b20f3 *** empty log message *** 2005-11-18 23:27:28 +00:00
Neil Jerram
dbb5de2949 * print.c (EXIT_NESTED_DATA): Before popping from the stack, reset
the value at its top.  This fixes a reference leak.
	(PUSH_REF): Perform `pstate->top++' after calling
	`PSTATE_STACK_SET ()' in order to avoid undesired potential side
	effects.
2005-11-17 18:50:01 +00:00
Neil Jerram
3f98874a96 * gc.c (scm_weak_vectors): Removed. 2005-11-12 08:58:51 +00:00
Kevin Ryde
f1b7209b2d (scm_setsockopt): Missing @defvar in docstring. Reported
by Ludovic Courtès.
2005-11-12 00:59:28 +00:00
Marius Vollmer
bedd3f5fff *** empty log message *** 2005-11-06 22:12:25 +00:00
Marius Vollmer
9291479faa (scm_mktime): Use scm_frame_critical_section instead of
SCM_CRITICAL_SECTION_START/END since the code inside the critical
section might exit non-locally.
2005-11-06 22:12:04 +00:00
Neil Jerram
7c9c0169b4 * eval.c (sym_instead): New symbol.
(ENTER_APPLY): Remove optional use of a continuation when making
trap call.
(scm_debug_opts): Change doc for 'cheap option to make clear that
it is now obsolete.
(CEVAL, SCM_APPLY): Remove optional use of a continuation when
making trap calls, and implement substitution of eval expressions
and return values using the values that the trap call handlers
return.

* debug.h (SCM_CHEAPTRAPS_P): Removed.
2005-11-04 21:20:24 +00:00
Kevin Ryde
64cdbfc7af *** empty log message *** 2005-10-27 00:37:09 +00:00
Kevin Ryde
6fc0a1b599 2005-10-27 Ludovic Courtès <ludovic.courtes@laas.fr>
* socket.c (scm_fill_sockaddr): No need to check NULL from scm_malloc.
	(scm_connect, scm_bind, scm_sendto): Accept sockaddr object.
	(scm_addr_vector): Renamed to _scm_from_sockaddr, update usages.
	(scm_from_sockaddr, scm_to_sockaddr, scm_make_socket_address,
	scm_c_make_socket_address): New functions.
	* socket.h: Add prototypes.
2005-10-27 00:28:40 +00:00
Kevin Ryde
9c0129aca2 2005-10-27 Ludovic Courtès <ludovic.courtes@laas.fr>
* socket.c (scm_fill_sockaddr): No need to check NULL from scm_malloc.
	(scm_connect, scm_bind, scm_sendto): Accept sockaddr object.
	(scm_addr_vector): Renamed to _scm_from_sockaddr, update usages.
	(scm_from_sockaddr, scm_to_sockaddr, scm_make_socket_address,
	scm_c_make_socket_address): New functions.
2005-10-27 00:22:54 +00:00
Kevin Ryde
fc9f596c96 *** empty log message *** 2005-10-23 22:45:52 +00:00
Kevin Ryde
5cd87f557d (scm_strftime): Update docstring from posix.texi. 2005-10-23 22:29:25 +00:00
Kevin Ryde
72e3dae1e3 (scm_getsockopt, scm_setsockopt): Update docstrings from posix.texi. 2005-10-23 21:56:09 +00:00
Kevin Ryde
8fae2bf483 (scm_init_socket): Add IPPROTO_IP, IPPROTO_TCP,
IPPROTO_UDP.  Remove SOL_IP, SOL_TCP, SOL_UDP.  The former are in
POSIX spec examples, the latter are not available on for instance
NetBSD.
2005-10-23 21:35:01 +00:00
Marius Vollmer
0460c6e10f *** empty log message *** 2005-10-23 20:48:11 +00:00
Marius Vollmer
d1138028c9 * null-threads.h, pthread-threads.h
(SCM_I_PTHREAD_RECURSIVE_MUTEX_INITIALIZER): Removed.
(scm_i_pthread_mutexattr_recursive): New.

* threads.c (scm_i_pthread_mutexattr_recursive): Declare.
(scm_i_critical_section_mutex): Do not initialize statically.
(scm_threads_prehistory): Initialize
scm_i_pthread_mutexattr_recursive and scm_i_critical_section_mutex
here.

* eval.c (source_mutex): Do not initialiaze statically.
(scm_init_eval): Do it here, using
scm_i_pthread_mutexattr_recursive.
2005-10-23 20:47:49 +00:00
Kevin Ryde
5c347f8c9b *** empty log message *** 2005-10-05 00:36:04 +00:00
Marius Vollmer
7b4a9e526e *** empty log message *** 2005-09-04 21:30:24 +00:00
Marius Vollmer
475fa9a5d7 (SCM_PRINT_KEYWORD_STYLE_I, SCM_PRINT_KEYWORD_STYLE):
New.
(sym_reader): New.
(scm_print_opts): Added "quote-keywordish-symbols" option.
(quote_keywordish_symbol): New, for evaluating the option.
(scm_print_symbol_name): Use it.
(scm_init_print): Initialize new option to sym_reader.
2005-09-04 21:30:01 +00:00
Neil Jerram
5defc05d45 * eval.c (eval_letrec_inits): New.
(CEVAL): Eval letrec initializer forms using eval_letrec_inits.

* tests/r5rs_pitfall.test (1.1): Now passes.
2005-08-15 20:43:16 +00:00
Kevin Ryde
1729055bcf (scm_string_for_each_index): Correction to docstring. 2005-08-12 01:14:02 +00:00
Marius Vollmer
036482e9cd *** empty log message *** 2005-08-11 21:04:31 +00:00
Marius Vollmer
3a1b45fdf7 Use scm_from_bool instead of SCM_BOOL. Thanks to Peter Gavin! 2005-08-11 21:03:58 +00:00
Kevin Ryde
bc721aa21d *** empty log message *** 2005-08-06 01:49:43 +00:00
Kevin Ryde
3540b91548 (scm_string_any, scm_string_every, scm_string_tabulate,
scm_string_trim, scm_string_trim_right, scm_string_trim_both,
scm_string_index, scm_string_index_right, scm_string_skip,
scm_string_skip_right, scm_string_count, scm_string_map,
scm_string_map_x, scm_string_for_each, scm_string_for_each_index,
scm_string_filter, scm_string_delete): Use scm_t_trampoline_1 for
procedures called in loops.
2005-08-06 01:44:30 +00:00
Kevin Ryde
126c81dbb4 *** empty log message *** 2005-08-02 00:12:09 +00:00
Kevin Ryde
bf5ad0dac5 (st_flush): Increase buffer by 1.5x when growing, to
avoid lots of copying where previoulsy growing by only 80 bytes at a
time.
2005-08-02 00:03:01 +00:00
Marius Vollmer
7f278dc67a *** empty log message *** 2005-07-31 23:37:03 +00:00
Marius Vollmer
fc95d019cc (scm_eval_closure_module): Removed, we already have
scm_lookup_closure_module, which does the same thing.
2005-07-31 23:36:14 +00:00
Marius Vollmer
930888e8e8 *** empty log message *** 2005-07-31 23:16:59 +00:00
Marius Vollmer
cb5c4b0722 *** empty log message *** 2005-07-31 23:05:00 +00:00
Marius Vollmer
06c1d90009 * gc-mark.c (scm_mark_all): Do not rely on hooks to run the weak
hashtable and guardian machinery but call the relevant functions
directly.

* guardians.h, guardians.c, deprecated.h,
deprecated.c (scm_destroy_guardian_x, scm_guardian_greedy_p,
scm_guardian_destroyed_p, scm_guard, scm_get_one_zombie):
Deprecated and moved into deprecated.[ch].

* guardians.h, guardians.c: Mostly rewritten.
(scm_i_init_guardians_for_gc,
scm_i_identify_inaccessible_guardeds,
scm_i_mark_inaccessible_guardeds): New.

* weaks.h, weaks.c (SCM_I_WVECT_TYPE, SCM_I_SET_WVECT_TYPE): New.
(SCM_I_WVECT_N_ITEMS, SCM_I_SET_WVECT_N_ITEMS): New.
(SCM_WVECTF_NOSCAN, SCM_WVECT_NOSCAN_P): Removed.
(scm_weaks_prehistory): Removed.
(scm_i_init_weak_vectors_for_gc, scm_i_mark_weak_vector,
scm_i_mark_weak_vectors_non_weaks,
scm_i_remove_weaks_from_weak_vectors, scm_i_remove_weaks): New.
(scm_weak_vector_gc_init, scm_mark_weak_vector_spines,
scm_scan_weak_vectors): Removed.

* hashtab.h (scm_i_scan_weak_hashtables): New.
* hashtab.c (make_hash_table, scm_i_rehash): Do not use
SCM_WVECTF_NOSCAN.
(hashtable_print): Use SCM_HASHTABLE_N_ITEMS instead of
t->n_items.
(scan_weak_hashtables, scm_i_scan_weak_hashtables): Renamed former
to latter.  Do not scan the alists themselves, this is done by the
weak vector code now.  Just update the element count.

* vectors.h (SCM_I_WVECT_TYPE, SCM_I_WVECT_EXTRA): Renamed former
to latter.  The type is now only part of the cell word.
(SCM_I_SET_WVECT_TYPE, SCM_I_SET_WVECT_EXTRA): Likewise.

* init.c (scm_i_init_guile): Do not call scm_weaks_prehistory.
2005-07-31 23:04:36 +00:00
Mikael Djurfeldt
3e2073bd24 * gc.c (scm_gc_stats): Bugfix: Measure size of the type we are
mallocating for (unsigned long *bounds).

* hashtab.c (scm_i_rehash): Cast SCM_HASHTABLE_FLAGS (table) to
scm_t_bits before storing them in the type word.

* gc.c (tag_table_to_type_alist): Modified type of c_tag from
scm_t_bits to int.
2005-07-18 13:55:44 +00:00
Kevin Ryde
c3c97a34e7 (scm_dbg_make_iloc): Should be SCM_IFRAMEMAX and
SCM_IDISTMAX, and cast uints through scm_t_bits to make gcc happy.
Reported by Ken Raeburn.
2005-07-12 00:28:09 +00:00
Kevin Ryde
ea2c396807 Plain ascii quote char. 2005-07-12 00:26:04 +00:00
Kevin Ryde
e8ac8e7583 *** empty log message *** 2005-07-12 00:11:52 +00:00
Kevin Ryde
8591234398 (scm_string_filter, scm_string_delete): Strip leading and
trailing deletions, so as to return a substring if those are the only
changes.
2005-07-11 23:59:57 +00:00
Kevin Ryde
f71e4d8c09 (scm_dbg_gc_get_bvec): Change return from long* to
scm_t_c_bvec_long*, gcc 4 doesn't like different pointer targets when
returning SCM_GC_CARD_BVEC.
2005-07-11 23:57:50 +00:00
Kevin Ryde
f32632e6cd (scm_error_pair_access): Plain ascii ' in error message
rather than latin-1 acute accent, the latter may not print on all
terminals.
2005-07-11 23:55:17 +00:00