* numbers.c (s_scm_integer_expt): (expt 0 1) should be 1.
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
497092c9
MV
12002-10-04 Marius Vollmer <mvo@zagadka.ping.de>
2
3 * scmsigs.h (scm_sigaction_for_thread): New prototype.
4 * scmsigs.c (got_signal): Removed.
5 (signal_handler_cells, signal_handler_threads): New.
6 (take_signal): Queue the cell of the signal for the specified
7 thread. Reset the signal handler on systems that don't have
8 sigaction.
9 (sys_deliver_signals): Removed.
10 (close_1): New.
11 (scm_sigaction_for_thread): Renamed from scm_sigaction and
12 extended to also set the thread of a signal and allocate a cell
13 for it. Keep the Scheme name "sigaction". Check that signum is
14 within range. Also, use SCM_VECTOR_REF instead of SCM_VELTS.
15 (scm_sigaction): Implement in terms of scm_sigaction_for_thread.
16 (scm_init_scmsigs): Allocate signal_handler_cells and
17 signal_handler_threads vectors.
18
19 * async.c: Removed GUILE_OLD_ASYNC_CLICK code. Reorganized so
20 that system asnycs and user asyncs are separated. Reimplemented
21 system asyncs to work per-thread.
22
23 * gc.c (scm_init_gc): Do not use scm_system_async.
24
25 * async.h (scm_asyncs_pending, scm_set_tick_rate,
26 scm_set_switch_rate, scm_system_async_mark_from_signal_handler):
27 Removed prototypes.
28 (scm_i_queue_async_cell): New.
29
30 * __scm.h (scm_asyncs_pending_p): Removed.
31 (SCM_ASYNC_CLICK): Check scm_active_asyncs instead of
32 scm_asyncs_pending_p.
33
34 * async.h (scm_system_async_mark_for_thread): New prototype.
35
36 * __scm.h: Removed GUILE_OLD_ASYNC_CLICK code.
37
38 * root.h (scm_root_state): Added new "active_asyncs" slot.
39 * root.c (scm_make_root): Initialize it to SCM_EOL.
40
41 * coop-defs.h (coop_t): Added new "handle" slot.
42 * coop-threads.c (all_threads, scm_current_thread,
43 scm_all_threads, scm_i_thread_root): New.
44 (scm_threads_init): Add main thread to all_threads.
45 (scheme_launch_thread): Remove thread from all_threads when it
46 terminates.
47 (scm_call_with_new_thread): Initialize handle slot of coop_t
48 structure and add new thread to all_threads.
49 (scm_spawn_thread): Likewise.
50
51 * threads.h (scm_current_thread, scm_all_threads): New prototypes.
52 * threads.c (scm_current_thread, scm_all_threads): Register as
53 primitives.
54
55 * dynl.c: Use scm_lt_ prefix for libltdl functions.
56
480fa28d
NJ
572002-09-29 Neil Jerram <neil@ossau.uklinux.net>
58
59 * script.c (scm_compile_shell_switches): Fix bad spelling of
60 `explicitly' in comment.
61
622002-09-28 Neil Jerram <neil@ossau.uklinux.net>
63
64 * posix.c (scm_geteuid, scm_getegid, scm_seteuid, scm_setegid):
65 Refer to provided? in doc string rather than deprecated feature?.
66
3553e1d1
GH
672002-09-24 Gary Houston <ghouston@arglist.com>
68
69 * inline.h (scm_double_cell): prevent reordering of statements
70 with any following code (for GCC 3 strict-aliasing).
71 * numbers.c (scm_make_real), num2float.i.c (FLOAT2NUM): removed
72 the earlier version of the reordering prevention.
73
4ad0814a
HWN
742002-09-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
75
76 * inline.h (scm_double_cell): move SET_GCMARK set out of if body.
77
e88e4f2e
HWN
782002-09-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>
79
80 * gc-malloc.c (scm_gc_register_collectable_memory): more overflow
81 protection.
82
1e71eafb
HWN
832002-09-08 Han-Wen Nienhuys <hanwen@cs.uu.nl>
84
85 * inline.h: include stdio.h
86
87 * smob.c (free_print): abort if scm_debug_cell_accesses_p is set
88
61ef9c1f
HWN
892002-09-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
90
dac04e9f
HWN
91 * gc-segment.c (scm_i_make_initial_segment): check user settings
92 for sanity.
93
94 * gc-malloc.c (scm_gc_init_malloc): check user settings for
95 sanity.
dac04e9f
HWN
96
97 * gc-freelist.c (scm_init_freelist): check user settings for sanity.
98
ffd72400
HWN
99 * struct.h: change scm_structs_to_free to scm_i_structs_to_free
100
101 * gc-malloc.c (scm_gc_register_collectable_memory): use floats;
1e71eafb
HWN
102 these won't ever wrap around with high memory usage. Thanks to
103 Sven Hartrumpf for finding this.
ffd72400 104
5bd4a949
HWN
105 * gc-freelist.c: include <stdio.h>
106
61ef9c1f
HWN
107 * gc-malloc.c: add DEBUGINFO for mtrigger GCs.
108
ffd0ef3b
MV
1092002-09-01 Marius Vollmer <mvo@zagadka.ping.de>
110
a27e3d14
MV
111 * vectors.h (SCM_VECTOR_REF): New.
112
ffd0ef3b
MV
113 * snarf.h (SCM_DEFINE_PUBLIC): New.
114
f8a1712b
MV
1152002-08-30 Marius Vollmer <mvo@zagadka.ping.de>
116
117 * socket.c (scm_addr_vector): Added size of address to arguments.
118 Use it to avoid accessing a non-existent path in a sockaddr_un.
119 Changed all callers.
120
7200a36b
HWN
1212002-08-29 Han-Wen Nienhuys <hanwen@cs.uu.nl>
122
1383773b
HWN
123 * gc.h: remove DOUBLECELL card flags.
124
125 * gc-malloc.c (scm_calloc): try to use calloc() before calling
126 scm_realloc().
127
128 * gc-segment.c (scm_i_initialize_heap_segment_data): remove card
129 init loop; handle this from scm_init_card_freelist()
130
131 * gc-card.c (scm_init_card_freelist): init bit vector here.
132
7200a36b 133 * numbers.c (scm_make_real): prevent reordering of statements
8fa5786d 134 num2float.i.c (FLOAT2NUM): idem
7200a36b 135
9981de3a
HWN
1362002-08-27 Han-Wen Nienhuys <hanwen@cs.uu.nl>
137
138 * eval.h: prepend libguile/ to include path
139
19647556
MV
1402002-08-26 Marius Vollmer <mvo@zagadka.ping.de>
141
142 * script.c (scm_compile_shell_switches): Added "2002" to Copyright
143