Handle thread package "coop-pthread" with alias "copt" and define
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
087ed40d
MV
12002-10-21 Marius Vollmer <mvo@zagadka.ping.de>
2
65a23095
MV
3 * null-threads.c: Include <time.h>. Also, use <...> for inclusion
4 of system headers.
5
087ed40d
MV
6 * async.c, goops.h, modules.h, validate.h (SCM_MAKE_VALIDATE_MSG):
7 New. Use it instead of SCM_MAKE_VALIDATE in lots of places to
8 gove better error messages. Thanks to Bill Schottstaedt!
9
5ec1d2c8
DH
102002-10-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
11
12 * evalext.h, evalext.c (scm_definedp, scm_defined_p): Renamed
13 scm_definedp to scm_defined_p and deprecated scm_definedp.
14
100ae50d
DH
152002-10-19 Dirk Herrmann <D.Herrmann@tu-bs.de>
16
17 * async.h, async.c (scm_system_async): Fixed deprecation to work
18 correctly when deprecated features are excluded.
19
2794cb50
MV
202002-10-16 Marius Vollmer <marius.vollmer@uni-dortmund.de>
21
22 * async.c (scm_system_async_mark_for_thread): Validate thread
23 argument.
24
25 * coop-threads.c (scm_i_thread_root): Do not validate argument.
26
27 * feature.c (scm_init_feature): Don't add 'threads' for
28 USE_NULL_THREADS.
29
30 * inline.h (scm_cell, scm_double_cell): Also allow
31 USE_NULL_THREADS to not protect the slot initializers.
32
33 * scmsigs.c (scm_sigaction_for_thread): It's "USE_THREADS" not
34 "USE_THREAD".
35
36 * Makefile.am (noinst_HEADERS): Added null-threads.c.
37 (modinclude_HEADERS): Added null-threads.h.
38
39 * threads.h: Include null-threads.h when !USE_COOP_THREADS.
40 * threads.c: Include null-threads.c when !USE_COOP_THREADS.
41 (scm_init_threads): Use generic type names scm_t_mutex and
42 scm_t_cond instead of coop_m and coop_c.
43
44 * null-threads.c, null-threads.h: New files.
45
ff810d7a
MV
462002-10-15 Marius Vollmer <mvo@zagadka.ping.de>
47
48 * Makefile.am: Replaced "$<" in non-pattern rules with its value.
49 This is to support makes that know about "$<" only in pattern
50 rules, like Sun's make.
51
a90bdb73
MV
522002-10-13 Marius Vollmer <mvo@zagadka.ping.de>
53
54 * Makefile.am (libpath.h): Fixed typo in top_srcdir_absolute
55 substitution. Thanks to David Allouche!
56
e71a8bf2
DH
572002-10-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
58
59 * evalext.h: Replaced SCM_DEBUG_DEPRECATED with
60 !SCM_ENABLE_DEPRECATED.
61
41f77ff5
MV
622002-10-11 Marius Vollmer <marius.vollmer@uni-dortmund.de>
63
64 * async.c (s_scm_system_async_mark_for_thread): Only call
65 scm_i_thread_root when USE_THREADS is defined. Use scm_root
66 otherwise.
67
68 * scmsigs.c (take_signal): Only call scm_i_thread_root when
69 USE_THREADS is defined. Use scm_root otherwise.
70 (scm_sigaction_for_thread): Ignore THREAD argument when
71 USE_THREADS is not defined. Also, move THREAD argument defaulting
72 out of HAVE_SIGACTION section, which was a bug.
73
6d16b125
MV
742002-10-10 Marius Vollmer <marius.vollmer@uni-dortmund.de>
75
76 * scmsigs.c (scm_sigaction_for_thread): Store original handler in
77 signal_handlers, not the closure that is used as the async.
78 The closure is stored in signal_handler_cells, as previously.
79
acfa1f52
MV
802002-10-10 Marius Vollmer <mvo@zagadka.ping.de>
81
82 * root.h (scm_root_state): Added 'block_async' slot.
83 (scm_active_asyncs): Removed abbrev.
84 * root.c (scm_make_root): Initialize 'block_asyncs' slot.
85
86 * __scm.h (SCM_ASYNC_TICK): Do without the scm_active_asyncs
87 abbrev.
88
89 * async.h (scm_call_with_blocked_asyncs,
90 scm_call_with_unblocked_asyncs, scm_c_call_with_blocked_asyncs,
91 scm_c_call_with_unblocked_asyncs): New prototypes.
92 (scm_mask_signals, scm_unmask_signals): Deprecated.
93 (scm_mask_ints): Turned into a macro.
94 * async.c (scm_mask_ints): Removed.
95 (scm_run_asyncs): Do not set scm_mask_ints while running an async.
96 this should not be necessary.
97 (scm_async_click): Test block_asyncs instead of scm_mask_ints.
98 (scm_mask_signals, scm_unmask_signals): Deprecated. Emit
99 deprecation warning and check for errornous use. Set block_asyncs
100 instead of scm_mask_ints.
101 (increase_block, decrease_block, scm_call_with_blocked_asyncs,
102 scm_call_with_unblocked_asyncs, scm_c_call_with_blocked_asyncs,
103 scm_c_call_with_unblocked_asyncs): New.
104
105 * script.c (scm_compile_shell_switches): Do not set scm_mask_ints.
106 Asyncs are enabled by default.
107
34010f56
NJ
1082002-10-09 Neil Jerram <neil@ossau.uklinux.net>
109
110 * vports.c (scm_make_soft_port): Allow vector argument to carry a
111 6th element: an input waiting thunk.
112 (sf_input_waiting): New.
113
9310d6f2
MV
1142002-10-05 Marius Vollmer <mvo@zagadka.ping.de>
115
116 * root.c (root_mark): Mark active_asyncs slot.
117
118 * async.c (scm_async_click): Set the cdr of a executed handler
119 cell to SCM_BOOL_F, not SCM_EOL.
120 (scm_i_queue_async_cell): Queue the cell at the end of the list,
121 and only if the handler procedure is not already present.
122 (scm_system_async_mark_for_thread): Initialize cdr of handler cell
123 with SCM_BOOL_F.
124 * scmsigs.c (scm_sigaction_for_thread): Likewise.
125
ac48c719
RB
1262002-10-04 Rob Browning <rlb@defaultvalue.org>
127
1360a142
RB
128 * guile.c (main): switch to scm_lt_dlset_preloaded_symbols;
129
130 * dynl.c (sysdep_dynl_link): switch to scm_lt_dlhandle,
131 scm_lt_dlopenext, and scm_lt_dlerror.
132 (sysdep_dynl_unlink): switch to scm_lt_dlhandle, scm_lt_dlclose,
133 and scm_lt_dlerror.
134 (sysdep_dynl_func): switch to scm_lt_dlhandle, scm_lt_dlsym,
135 and scm_lt_dlerror.
136 (sysdep_dynl_init): switch to scm_lt_dlinit();
137
138 * Makefile.am (libguile_la_LIBADD): switch to use
139 libguile-ltdl.la.
140
ac48c719
RB
141 * numbers.c (s_scm_integer_expt): (expt 0 1) should be 1.
142
497092c9
MV
1432002-10-04 Marius Vollmer <mvo@zagadka.ping.de>
144
145 * scmsigs.h (scm_sigaction_for_thread): New prototype.
146 * scmsigs.c (got_signal): Removed.
147 (signal_handler_cells, signal_handler_threads): New.
148 (take_signal): Queue the cell of the signal for the specified
149 thread. Reset the signal handler on systems that don't have
150 sigaction.
151 (sys_deliver_signals): Removed.
152 (close_1): New.
153 (scm_sigaction_for_thread): Renamed from scm_sigaction and
154 extended to also set the thread of a signal and allocate a cell
155 for it. Keep the Scheme name "sigaction". Check that signum is
156 within range. Also, use SCM_VECTOR_REF instead of SCM_VELTS.
157 (scm_sigaction): Implement in terms of scm_sigaction_for_thread.
158 (scm_init_scmsigs): Allocate signal_handler_cells and
159 signal_handler_threads vectors.
160
161 * async.c: Removed GUILE_OLD_ASYNC_CLICK code. Reorganized so
162 that system asnycs and user asyncs are separated. Reimplemented
163 system asyncs to work per-thread.
164
165 * gc.c (scm_init_gc): Do not use scm_system_async.
166
167 * async.h (scm_asyncs_pending, scm_set_tick_rate,
168 scm_set_switch_rate, scm_system_async_mark_from_signal_handler):
169 Removed prototypes.
170 (scm_i_queue_async_cell): New.
171
172 * __scm.h (scm_asyncs_pending_p): Removed.
173 (SCM_ASYNC_CLICK): Check scm_active_asyncs instead of
174 scm_asyncs_pending_p.
175
176 * async.h (scm_system_async_mark_for_thread): New prototype.
177
178 * __scm.h: Removed GUILE_OLD_ASYNC_CLICK code.
179
180 * root.h (scm_root_state): Added new "active_asyncs" slot.
181 * root.c (scm_make_root): Initialize it to SCM_EOL.
182
183 * coop-defs.h (coop_t): Added new "handle" slot.
184 * coop-threads.c (all_threads, scm_current_thread,
185 scm_all_threads, scm_i_thread_root): New.
186 (scm_threads_init): Add main thread to all_threads.
187 (scheme_launch_thread): Remove thread from all_threads when it
188 terminates.
189 (scm_call_with_new_thread): Initialize handle slot of coop_t
190 structure and add new thread to all_threads.
191 (scm_spawn_thread): Likewise.
192
193 * threads.h (scm_current_thread, scm_all_threads): New prototypes.
194 * threads.c (scm_current_thread, scm_all_threads): Register as
195 primitives.
196
197 * dynl.c: Use scm_lt_ prefix for libltdl functions.
198
480fa28d
NJ
1992002-09-29 Neil Jerram <neil@ossau.uklinux.net>
200
201 * script.c (scm_compile_shell_switches): Fix bad spelling of
202 `explicitly' in comment.
203
2042002-09-28 Neil Jerram <neil@ossau.uklinux.net>
205
206 * posix.c (scm_geteuid, scm_getegid, scm_seteuid, scm_setegid):
207 Refer to provided? in doc string rather than deprecated feature?.
208
3553e1d1
GH
2092002-09-24 Gary Houston <ghouston@arglist.com>
210
211 * inline.h (scm_double_cell): prevent reordering of statements
212 with any following code (for GCC 3 strict-aliasing).
213 * numbers.c (scm_make_real), num2float.i.c (FLOAT2NUM): removed
214 the earlier version of the reordering prevention.
215
4ad0814a
HWN
2162002-09-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
217
218 * inline.h (scm_double_cell): move SET_GCMARK set out of if body.
219
e88e4f2e
HWN
2202002-09-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>
221
222 * gc-malloc.c (scm_gc_register_collectable_memory): more overflow
223 protection.
224
1e71eafb
HWN
2252002-09-08 Han-Wen Nienhuys <hanwen@cs.uu.nl>
226
227 * inline.h: include stdio.h
228
229 * smob.c (free_print): abort if scm_debug_cell_accesses_p is set
230
61ef9c1f
HWN
2312002-09-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
232
dac04e9f
HWN
233 * gc-segment.c (scm_i_make_initial_segment): check user settings
234 for sanity.
235
236 * gc-malloc.c (scm_gc_init_malloc): check user settings for
237 sanity.
dac04e9f
HWN
238
239 * gc-freelist.c (scm_init_freelist): check user settings for sanity.
240
ffd72400
HWN
241 * struct.h: change scm_structs_to_free to scm_i_structs_to_free
242
243 * gc-malloc.c (scm_gc_register_collectable_memory): use floats;
1e71eafb
HWN
244 these won't ever wrap around with high memory usage. Thanks to
245 Sven Hartrumpf for finding this.
ffd72400 246
5bd4a949
HWN
247 * gc-freelist.c: include <stdio.h>
248
61ef9c1f
HWN
249 * gc-malloc.c: add DEBUGINFO for mtrigger GCs.
250
ffd0ef3b
MV
2512002-09-01 Marius Vollmer <mvo@zagadka.ping.de>
252
a27e3d14
MV
253 * vectors.h (SCM_VECTOR_REF): New.
254
ffd0ef3b
MV
255 * snarf.h (SCM_DEFINE_PUBLIC): New.
256
f8a1712b
MV
2572002-08-30 Marius Vollmer <mvo@zagadka.ping.de>
258
259 * socket.c (scm_addr_vector): Added size of address to arguments.
260 Use it to avoid accessing a non-existent path in a sockaddr_un.
261 Changed all callers.
262
7200a36b
HWN
2632002-08-29 Han-Wen Nienhuys <hanwen@cs.uu.nl>
264
1383773b
HWN
265 * gc.h: remove DOUBLECELL card flags.
266
267 * gc-malloc.c (scm_calloc): try to use calloc() before calling
268 scm_realloc().
269
270 * gc-segment.c (scm_i_initialize_heap_segment_data): remove card
271 init loop; handle this from scm_init_card_freelist()
272
273 * gc-card.c (scm_init_card_freelist): init bit vector here.
274
7200a36b 275 * numbers.c (scm_make_real): prevent reordering of statements
8fa5786d 276 num2float.i.c (FLOAT2NUM): idem
7200a36b 277
9981de3a
HWN
2782002-08-27 Han-Wen Nienhuys <hanwen@cs.uu.nl>
279
280 * eval.h: prepend libguile/ to include path
281
19647556
MV
2822002-08-26 Marius Vollmer <mvo@zagadka.ping.de>
283
284 * script.c (scm_compile_shell_switches): Added "2002" to Copyright
285