*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
41f77ff5
MV
12002-10-11 Marius Vollmer <marius.vollmer@uni-dortmund.de>
2
3 * async.c (s_scm_system_async_mark_for_thread): Only call
4 scm_i_thread_root when USE_THREADS is defined. Use scm_root
5 otherwise.
6
7 * scmsigs.c (take_signal): Only call scm_i_thread_root when
8 USE_THREADS is defined. Use scm_root otherwise.
9 (scm_sigaction_for_thread): Ignore THREAD argument when
10 USE_THREADS is not defined. Also, move THREAD argument defaulting
11 out of HAVE_SIGACTION section, which was a bug.
12
6d16b125
MV
132002-10-10 Marius Vollmer <marius.vollmer@uni-dortmund.de>
14
15 * scmsigs.c (scm_sigaction_for_thread): Store original handler in
16 signal_handlers, not the closure that is used as the async.
17 The closure is stored in signal_handler_cells, as previously.
18
acfa1f52
MV
192002-10-10 Marius Vollmer <mvo@zagadka.ping.de>
20
21 * root.h (scm_root_state): Added 'block_async' slot.
22 (scm_active_asyncs): Removed abbrev.
23 * root.c (scm_make_root): Initialize 'block_asyncs' slot.
24
25 * __scm.h (SCM_ASYNC_TICK): Do without the scm_active_asyncs
26 abbrev.
27
28 * async.h (scm_call_with_blocked_asyncs,
29 scm_call_with_unblocked_asyncs, scm_c_call_with_blocked_asyncs,
30 scm_c_call_with_unblocked_asyncs): New prototypes.
31 (scm_mask_signals, scm_unmask_signals): Deprecated.
32 (scm_mask_ints): Turned into a macro.
33 * async.c (scm_mask_ints): Removed.
34 (scm_run_asyncs): Do not set scm_mask_ints while running an async.
35 this should not be necessary.
36 (scm_async_click): Test block_asyncs instead of scm_mask_ints.
37 (scm_mask_signals, scm_unmask_signals): Deprecated. Emit
38 deprecation warning and check for errornous use. Set block_asyncs
39 instead of scm_mask_ints.
40 (increase_block, decrease_block, scm_call_with_blocked_asyncs,
41 scm_call_with_unblocked_asyncs, scm_c_call_with_blocked_asyncs,
42 scm_c_call_with_unblocked_asyncs): New.
43
44 * script.c (scm_compile_shell_switches): Do not set scm_mask_ints.
45 Asyncs are enabled by default.
46
34010f56
NJ
472002-10-09 Neil Jerram <neil@ossau.uklinux.net>
48
49 * vports.c (scm_make_soft_port): Allow vector argument to carry a
50 6th element: an input waiting thunk.
51 (sf_input_waiting): New.
52
9310d6f2
MV
532002-10-05 Marius Vollmer <mvo@zagadka.ping.de>
54
55 * root.c (root_mark): Mark active_asyncs slot.
56
57 * async.c (scm_async_click): Set the cdr of a executed handler
58 cell to SCM_BOOL_F, not SCM_EOL.
59 (scm_i_queue_async_cell): Queue the cell at the end of the list,
60 and only if the handler procedure is not already present.
61 (scm_system_async_mark_for_thread): Initialize cdr of handler cell
62 with SCM_BOOL_F.
63 * scmsigs.c (scm_sigaction_for_thread): Likewise.
64
ac48c719
RB
652002-10-04 Rob Browning <rlb@defaultvalue.org>
66
1360a142
RB
67 * guile.c (main): switch to scm_lt_dlset_preloaded_symbols;
68
69 * dynl.c (sysdep_dynl_link): switch to scm_lt_dlhandle,
70 scm_lt_dlopenext, and scm_lt_dlerror.
71 (sysdep_dynl_unlink): switch to scm_lt_dlhandle, scm_lt_dlclose,
72 and scm_lt_dlerror.
73 (sysdep_dynl_func): switch to scm_lt_dlhandle, scm_lt_dlsym,
74 and scm_lt_dlerror.
75 (sysdep_dynl_init): switch to scm_lt_dlinit();
76
77 * Makefile.am (libguile_la_LIBADD): switch to use
78 libguile-ltdl.la.
79
ac48c719
RB
80 * numbers.c (s_scm_integer_expt): (expt 0 1) should be 1.
81
497092c9
MV
822002-10-04 Marius Vollmer <mvo@zagadka.ping.de>
83
84 * scmsigs.h (scm_sigaction_for_thread): New prototype.
85 * scmsigs.c (got_signal): Removed.
86 (signal_handler_cells, signal_handler_threads): New.
87 (take_signal): Queue the cell of the signal for the specified
88 thread. Reset the signal handler on systems that don't have
89 sigaction.
90 (sys_deliver_signals): Removed.
91 (close_1): New.
92 (scm_sigaction_for_thread): Renamed from scm_sigaction and
93 extended to also set the thread of a signal and allocate a cell
94 for it. Keep the Scheme name "sigaction". Check that signum is
95 within range. Also, use SCM_VECTOR_REF instead of SCM_VELTS.
96 (scm_sigaction): Implement in terms of scm_sigaction_for_thread.
97 (scm_init_scmsigs): Allocate signal_handler_cells and
98 signal_handler_threads vectors.
99
100 * async.c: Removed GUILE_OLD_ASYNC_CLICK code. Reorganized so
101 that system asnycs and user asyncs are separated. Reimplemented
102 system asyncs to work per-thread.
103
104 * gc.c (scm_init_gc): Do not use scm_system_async.
105
106 * async.h (scm_asyncs_pending, scm_set_tick_rate,
107 scm_set_switch_rate, scm_system_async_mark_from_signal_handler):
108 Removed prototypes.
109 (scm_i_queue_async_cell): New.
110
111 * __scm.h (scm_asyncs_pending_p): Removed.
112 (SCM_ASYNC_CLICK): Check scm_active_asyncs instead of
113 scm_asyncs_pending_p.
114
115 * async.h (scm_system_async_mark_for_thread): New prototype.
116
117 * __scm.h: Removed GUILE_OLD_ASYNC_CLICK code.
118
119 * root.h (scm_root_state): Added new "active_asyncs" slot.
120 * root.c (scm_make_root): Initialize it to SCM_EOL.
121
122 * coop-defs.h (coop_t): Added new "handle" slot.
123 * coop-threads.c (all_threads, scm_current_thread,
124 scm_all_threads, scm_i_thread_root): New.
125 (scm_threads_init): Add main thread to all_threads.
126 (scheme_launch_thread): Remove thread from all_threads when it
127 terminates.
128 (scm_call_with_new_thread): Initialize handle slot of coop_t
129 structure and add new thread to all_threads.
130 (scm_spawn_thread): Likewise.
131
132 * threads.h (scm_current_thread, scm_all_threads): New prototypes.
133 * threads.c (scm_current_thread, scm_all_threads): Register as
134 primitives.
135
136 * dynl.c: Use scm_lt_ prefix for libltdl functions.
137
480fa28d
NJ
1382002-09-29 Neil Jerram <neil@ossau.uklinux.net>
139
140 * script.c (scm_compile_shell_switches): Fix bad spelling of
141 `explicitly' in comment.
142
1432002-09-28 Neil Jerram <neil@ossau.uklinux.net>
144
145 * posix.c (scm_geteuid, scm_getegid, scm_seteuid, scm_setegid):
146 Refer to provided? in doc string rather than deprecated feature?.
147
3553e1d1
GH
1482002-09-24 Gary Houston <ghouston@arglist.com>
149
150 * inline.h (scm_double_cell): prevent reordering of statements
151 with any following code (for GCC 3 strict-aliasing).
152 * numbers.c (scm_make_real), num2float.i.c (FLOAT2NUM): removed
153 the earlier version of the reordering prevention.
154
4ad0814a
HWN
1552002-09-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
156
157 * inline.h (scm_double_cell): move SET_GCMARK set out of if body.
158
e88e4f2e
HWN
1592002-09-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>
160
161 * gc-malloc.c (scm_gc_register_collectable_memory): more overflow
162 protection.
163
1e71eafb
HWN
1642002-09-08 Han-Wen Nienhuys <hanwen@cs.uu.nl>
165
166 * inline.h: include stdio.h
167
168 * smob.c (free_print): abort if scm_debug_cell_accesses_p is set
169
61ef9c1f
HWN
1702002-09-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
171
dac04e9f
HWN
172 * gc-segment.c (scm_i_make_initial_segment): check user settings
173 for sanity.
174
175 * gc-malloc.c (scm_gc_init_malloc): check user settings for
176 sanity.
dac04e9f
HWN
177
178 * gc-freelist.c (scm_init_freelist): check user settings for sanity.
179
ffd72400
HWN
180 * struct.h: change scm_structs_to_free to scm_i_structs_to_free
181
182 * gc-malloc.c (scm_gc_register_collectable_memory): use floats;
1e71eafb
HWN
183 these won't ever wrap around with high memory usage. Thanks to
184 Sven Hartrumpf for finding this.
ffd72400 185
5bd4a949
HWN
186 * gc-freelist.c: include <stdio.h>
187
61ef9c1f
HWN
188 * gc-malloc.c: add DEBUGINFO for mtrigger GCs.
189
ffd0ef3b
MV
1902002-09-01 Marius Vollmer <mvo@zagadka.ping.de>
191
a27e3d14
MV
192 * vectors.h (SCM_VECTOR_REF): New.
193
ffd0ef3b
MV
194 * snarf.h (SCM_DEFINE_PUBLIC): New.
195
f8a1712b
MV
1962002-08-30 Marius Vollmer <mvo@zagadka.ping.de>
197
198 * socket.c (scm_addr_vector): Added size of address to arguments.
199 Use it to avoid accessing a non-existent path in a sockaddr_un.
200 Changed all callers.
201
7200a36b
HWN
2022002-08-29 Han-Wen Nienhuys <hanwen@cs.uu.nl>
203
1383773b
HWN
204 * gc.h: remove DOUBLECELL card flags.
205
206 * gc-malloc.c (scm_calloc): try to use calloc() before calling
207 scm_realloc().
208
209 * gc-segment.c (scm_i_initialize_heap_segment_data): remove card
210 init loop; handle this from scm_init_card_freelist()
211
212 * gc-card.c (scm_init_card_freelist): init bit vector here.
213
7200a36b 214 * numbers.c (scm_make_real): prevent reordering of statements
8fa5786d 215 num2float.i.c (FLOAT2NUM): idem
7200a36b 216
9981de3a
HWN
2172002-08-27 Han-Wen Nienhuys <hanwen@cs.uu.nl>
218
219 * eval.h: prepend libguile/ to include path
220
19647556
MV
2212002-08-26 Marius Vollmer <mvo@zagadka.ping.de>
222
223 * script.c (scm_compile_shell_switches): Added "2002" to Copyright
224