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