*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
4d6aae71
ML
12001-07-12 Michael Livshin <mlivshin@bigfoot.com>
2
3 * strings.c (s_scm_string): fix arg position in assert.
4
4b8ec619
GH
52001-07-11 Gary Houston <ghouston@arglist.com>
6
7 * strports.c (st_write): use memcpy, not strncpy. thanks to
8 Dale P. Smith.
9
dbb640bd
TTN
102001-07-09 Thien-Thi Nguyen <ttn@revel.glug.org>
11
12 * alist.c, alloca.c, arbiters.c, async.c, async.h, backtrace.c,
13 boolean.c, chars.c, continuations.c, coop-defs.h, coop-threads.c,
14 debug-malloc.h, debug.c, debug.h, dynl.c, dynwind.c, eq.c,
15 error.c, eval.c, evalext.c, feature.c, feature.h, filesys.c,
16 filesys.h, fluids.c, fluids.h, fports.c, fports.h, gc.c, gc.h,
17 gdbint.c, gsubr.c, guardians.c, hash.c, hashtab.c, hooks.c,
18 hooks.h, inet_aton.c, init.c, ioext.c, keywords.c, keywords.h,
19 lang.c, list.c, load.c, macros.c, mallocs.c, memmove.c, modules.c,
20 net_db.c, numbers.c, numbers.h, objects.c, objprop.c, options.c,
21 pairs.c, pairs.h, ports.c, ports.h, posix.c, print.c, print.h,
22 procprop.c, procs.c, procs.h, properties.c, putenv.c, ramap.c,
23 random.c, random.h, read.c, regex-posix.c, regex-posix.h, root.c,
24 root.h, scmsigs.c, script.c, simpos.c, smob.c, snarf.h, socket.c,
25 sort.c, srcprop.c, srcprop.h, stackchk.c, stacks.c, stacks.h,
26 stime.c, strerror.c, strings.c, strings.h, strop.c, strorder.c,
27 strports.c, struct.c, struct.h, symbols-deprecated.c, symbols.c,
28 symbols.h, tags.h, threads.c, threads.h, throw.c, unif.c, unif.h,
29 variable.c, variable.h, vectors.c, vectors.h, version.c, vports.c,
30 weaks.c, weaks.h: Remove "face-lift" comment.
31
fd6c6321
RB
322001-07-08 Rob Browning <rlb@defaultvalue.org>
33
34 * .cvsignore: add stamp-h.in.
35
f91e4547
MG
362001-07-04 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
37
38 * hooks.c (scm_make_hook, scm_add_hook_x),
39 (scm_remove_hook_x, scm_reset_hook_x, scm_run_hook): Added return
40 value info to the docstrings.
41
7beabedb
MG
422001-07-03 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
43
44 Some more compatibility patches for Windows.
dbb640bd 45
7beabedb
MG
46 * posix.c (getlogin): getlogin() implementation for Windows.
47
48 * backtrace.c, ioext.c: Include <stdio.h>.
49
50 * unif.c, script.c, rw.c, error.c: Include <io.h>, if it does
51 exist.
52
53 * cpp_sig_symbols.in: Added SIGBREAK.
54
0d0560d0
MV
552001-07-01 Marius Vollmer <mvo@zagadka.ping.de>
56
57 * strports.c (scm_read_0str, scm_eval_0str): Call
58 scm_c_read_string and scm_c_eval_string respectively, not
59 themselves. Thanks to Dale P. Smith!
60
9a97e362
DH
612001-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
62
63 * unif.c (scm_array_set_x): The variable args does not
64 necessarily have to be a list. Further, got rid of a redundant
65 SCM_NIMP test.
66
592996c9
DH
672001-06-30 Dirk Herrmann <D.Herrmann@tu-bs.de>
68
69 * list.c (SCM_I_CONS): Make sure the cell type is initialized
70 last.
71
72 * gc.c (s_scm_map_free_list, scm_igc, scm_gc_sweep,
f91e4547 73 init_heap_seg): Fixed signedness.
592996c9
DH
74
75 (init_heap_seg): Replaced strange for-loop with a while loop.
76
77 * weaks.h (WEAKSH, SCM_WEAKS_H): Rename <foo>H to SCM_<foo>_H.
78
79 (SCM_WVECTP): Prefer !SCM_<pred> over SCM_N<pred>.
80
81 The following patch adds conservative marking for the elements of
82 free or allocated cells.
83
84 * gc.c (allocated_mark, heap_segment): New static functions.
85
86 (which_seg): Deleted, since the functionality is now provided by
87 function heap_segment.
88
89 (map_free_list): Use heap_segment instead of which_seg.
90
91 (MARK): If cell debugging is disabled, mark free cells
92 conservatively.
93
94 (scm_mark_locations, scm_cellp): Extracted the search for the
95 heap segment of a SCM value into function heap_segment.
96
97 (scm_init_storage): Allocated cells must be marked
98 conservatively.
99
100 * gc.[ch] (scm_gc_mark_cell_conservatively): New function.
101
102 The following patch changes the representation of weak vectors to
103 double cells instead of using an extension of the vector's
104 allocated memory.
105
106 * gc.c (MARK): Use SCM_SET_WVECT_GC_CHAIN instead of assigning to
107 the result of SCM_WVECT_GC_CHAIN.
108
109 (scm_gc_sweep): Weak vectors don't have extra fields any more.
110
111 * weaks.c (allocate_weak_vector): New static function. It does
112 not patch any previously created vector object during the
113 construction of a weak vector, and thus doesn't need to switch
114 off interrupts during vector creation.
115
116 (scm_make_weak_vector, scm_make_weak_key_hash_table,
117 scm_make_weak_value_hash_table, scm_make_doubly_weak_hash_table):
118 Use allocate_weak_vector to provide the new weak vector object.
119
120 * weaks.h (SCM_WVECT_TYPE, SCM_SET_WVECT_TYPE,
121 SCM_SET_WVECT_GC_CHAIN): New macros. The weak vector subtype is
122 now stored in the double cell.
123
124 (SCM_IS_WHVEC, SCM_IS_WHVEC_V, SCM_IS_WHVEC_B, SCM_IS_WHVEC_ANY):
125 Use SCM_WVECT_TYPE.
126
127 (SCM_WVECT_GC_CHAIN): The weak objects are now chained together
128 using an entry of the double cell.
129
4dadf664
TTN
1302001-06-30 Thien-Thi Nguyen <ttn@revel.glug.org>
131
132 * stamp-h.in: bye bye
133
02202352
MV
1342001-06-30 Marius Vollmer <mvo@zagadka.ping.de>
135
136 * gh_eval.c (gh_eval_str): Use scm_c_eval_string instead of
137 scm_eval_0str.
138
139 * load.c, load.h (scm_c_primitive_load,
140 scm_c_primitive_load_path): New.
141
142 * strports.c, strports.h (scm_c_read_string): Renamed from
143 scm_read_0str. Also, added "const" qualifier to argument.
144 (scm_c_eval_string): Renamed from scm_eval_0str.
145 (scm_read_0str, scm_eval_0str): Deprecated.
146
df1ad0d1
MG
1472001-06-28 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
148
149 * fluids.c (scm_c_with_fluid): Use scm_list_1() instead of
150 SCM_LIST1.
151
1afff620
KN
1522001-06-28 Keisuke Nishida <kxn30@po.cwru.edu>
153
154 * list.h (scm_list_1, scm_list_2, scm_list_3, scm_list_4, scm_list_5,
155 scm_list_n): New functions.
156 (SCM_LIST0, SCM_LIST1, SCM_LIST2, SCM_LIST3, SCM_LIST4, SCM_LIST5,
157 SCM_LIST6, SCM_LIST7, SCM_LIST8, SCM_LIST9, scm_listify): Deprecated.
158 (lots of files): Use the new functions.
4dadf664 159
1afff620
KN
160 * goops.c (CALL_GF1, CALL_GF2, CALL_GF3, CALL_GF4): Use scm_call_N.
161
162 * strings.c: #include "libguile/deprecation.h".
163
b858464a
MG
1642001-06-27 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
165
166 * read.c (scm_lreadr): When reading a hash token, check for a
167 user-defined hash procedure first, so that overriding the builtin
168 hash characters is possible (this was needed for implementing
169 SRFI-4's read synax `f32(...)').
4dadf664 170
b858464a
MG
171 * num2integral.i.c: Use scm_t_signed_bits instead of scm_t_bits,
172 because the latter is unsigned now and breaks comparisons like
173 (n < (scm_t_signed_bits)MIN_VALUE).
4dadf664 174
d95c0b76
NJ
1752001-06-26 Neil Jerram <neil@ossau.uklinux.net>
176
177 * eval.h, eval.c (scm_call_4): New function.
178
179 * eval.c (SCM_APPLY, SCM_CEVAL, ENTER_APPLY): Call trap handlers
180 directly rather than dispatching to them via scm_ithrow and a lazy
181 catch.
4dadf664 182
d95c0b76
NJ
183 * eval.c (scm_evaluator_trap_table), eval.h (SCM_ENTER_FRAME_HDLR,
184 SCM_APPLY_FRAME_HDLR, SCM_EXIT_FRAME_HDLR): Add three new options
185 for trap handler procedures.
186
187 * debug.h (SCM_RESET_DEBUG_MODE): Add checks for trap handler
188 procedures not being #f.
189
30e3be5a
ML
1902001-06-27 Michael Livshin <mlivshin@bigfoot.com>
191
192 * Makefile.am (c-tokenize.c): add rule to generate it.
193 (EXTRA_DIST): add c-tokenize.lex, so it gets distributed.
194
195 filter-doc-snarfage.c: remove.
196
82893676
MG
1972001-06-26 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
198
199 * ports.c (scm_output_port_p): Use result of SCM_COERCE_OUTPORT.
200
201 The following set of changes makes compiling Guile under various
202 Windows compilers easier. Compilation under GNU systems should
203 not be affected at all.
204
205 Thanks to Stefan Jahn for all necessary information, patches and
206 testing.
4dadf664 207
82893676
MG
208 * posix.c: Conditialize getpwent, getgrent, kill, getppid, getuid,
209 getpgrp, ttyname, primitive-fork and some header inclusion for
210 Windows.
211
212 * random.c: Define M_PI, if not predefined and use __int64 for
213 LONG64 under Windows.
214
215 * scmsigs.c: Emulate some functions (alarm, sleep, kill) under
216 Windows and conditionalize some signal names.
217
4dadf664 218 * socket.c (scm_getsockopt): Added missing comma.
82893676
MG
219 Include socket library header under Windows.
220
221 * stime.c (CLKTCK): Add cast to int, to make it compile under
222 Windows.
223
224 * ports.c (truncate): New function, compiled only under Windows.
225
226 * net_db.c: Do not declare errno under Windows.
227
228 * iselect.h, inet_aton.c: Include socket library headers under
229 Windows.
230
231 * guile.c (inner_main): Under Windows, initialize socket library
232 and initialize gdb_interface data structures.
233
234 * gdb_interface.h: Under Windows, gdb_interface cannot be
235 initialized statically. Initialize at runtime instead.
236
237 * fports.c (write_all): ssize_t -> size_t.
238 (fport_print): Conditionalize call to ttyname().
239 (getflags): New function, compiled only under Windows.
240
241 * filesys.c: Conditionalize inclusion of <pwd.h>. Conditionalize
242 primitives chown, link, fcntl.
243 (scm_basename, scm_dirname): Under Windows, handle \ as well as /
244 as path seperator.
245
246 * backtrace.c: Include <io.h> under Windows.
247
248 * async.h (ASYNCH, SCM_ASYNC_H): Rename <foo>H to SCM_<foo>_H.
249
250 * _scm.h: Added preprocessor conditional for __MINGW32__ for errno
251 declaration.
252
fdc28395
KN
2532001-06-27 Keisuke Nishida <kxn30@po.cwru.edu>
254
255 * eval.c (scm_call_0, scm_call_1, scm_call_2, scm_call_3,
256 scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3): New functions.
257 * eval.h (scm_call_0, scm_call_1, scm_call_2, scm_call_3,
258 scm_apply_0, scm_apply_1, scm_apply_2, scm_apply_3): Declared.
259 * async.c (scm_run_asyncs), coop-threads.c (scheme_body_bootstrip,
260 scheme_handler_bootstrip), debug.c (with_traps_inner), dynwind.c
261 (scm_dynamic_wind, scm_dowinds), environments.c
262 (import_environment_conflict), eval.c (scm_macroexp, scm_force,
263 scm_primitive_eval_x, scm_primitive_eval), fluids.c (apply_thunk),
264 goops.c (GETVAR, purgatory, make_class_from_template,
265 scm_ensure_accessor), hashtab.c (scm_ihashx, scm_sloppy_assx,
266 scm_delx_x, fold_proc), hooks.c (scm_c_run_hook), load.c
267 (scm_primitive_load), modules.c (scm_resolve_module,
268 scm_c_define_module, scm_c_use_module, scm_c_export,
269 module_variable, scm_eval_closure_lookup, scm_sym2var,
270 scm_make_module, scm_ensure_user_module, scm_load_scheme_module),
271 ports.c (scm_port_for_each), print.c (scm_printer_apply),
272 properties.c (scm_primitive_property_ref), ramap.c (ramap,
273 ramap_cxr, rafe, scm_array_index_map_x, read.c (scm_lreadr),
274 scmsigs.c (sys_deliver_signals), sort.c (applyless), strports.c
275 (scm_object_to_string, scm_call_with_output_string,
276 scm_call_with_input_string), throw.c (scm_body_thunk,
277 scm_handle_by_proc, hbpca_body), unif.c (scm_make_shared_array,
278 scm_make_shared_array), vports.c (sf_flush, sf_write,
279 sf_fill_input, sf_close): Use one of the above functions.
280 * goops.c, hashtab.c, scmsigs.c, sort.c: #include "libguile/root.h".
281
36284627
DH
2822001-06-26 Dirk Herrmann <D.Herrmann@tu-bs.de>
283
284 * filesys.c (scm_close), ports.c (scm_close_port,
285 scm_port_closed_p), strop.c (scm_string_null_p): Use SCM_BOOL
286 instead of SCM_NEGATE_BOOL.
287
288 * filesys.c (scm_stat): Clean up type dispatch.
289
290 * filesys.c (scm_stat), ports.c (scm_input_port_p,
291 scm_output_port_p): Get rid of redundant IM type check.
292
293 * filesys.c (scm_readdir, scm_getcwd, scm_readlink), gh_data.c
294 (gh_str2scm), load.c (scm_primitive_load, scm_internal_parse_path,
295 scm_search_path), net_db.c (scm_gethost, scm_getnet, scm_getproto,
296 scm_return_entry), numbers.c (scm_number_to_string), objects.c
297 (scm_make_subclass_object), ports.c (scm_port_mode), read.c
298 (scm_lreadr), simpos.c (scm_getenv), socket.c (scm_inet_ntoa,
299 scm_addr_vector), stime.c (scm_strftime), strings.c
300 (scm_makfromstrs, scm_makfrom0str, scm_substring), strings.h
301 (SCM_STRING_COERCE_0TERMINATION_X), strop.c (string_copy,
302 scm_string_split), strports.c (scm_strport_to_string), symbols.c
303 (scm_symbol_to_string), vports.c (sf_write): Use scm_mem2string
304 instead of scm_makfromstr.
305
306 * net_db.c (scm_sethost, scm_setnet, scm_setproto, scm_setserv),
307 ports.c (scm_close_all_ports_except), read.c (scm_lreadr,
308 scm_read_hash_extend), stime.c (scm_strftime), strings.c
309 (scm_string_append, scm_string), strings.h (SCM_STRINGP,
310 SCM_STRING_COERCE_0TERMINATION_X, SCM_RWSTRINGP), strop.c
311 (string_capitalize_x): Prefer explicit type check over SCM_N?IMP,
312 !SCM_<pred> over SCM_N<pred>.
313
314 * strings.[ch] (scm_makfromstr): Deprecated.
315
316 (scm_mem2string): New function, replaces scm_makfromstr.
317
318 * strings.c (scm_substring), strop.c (string_copy,
319 scm_string_split), strports.c (scm_strport_to_string), symbols.c
320 (scm_symbol_to_string): Fix gc problem.
321
322 * strings.h (STRINGSH, SCM_STRINGS_H): Rename <foo>H to
323 SCM_<foo>_H.
324
325 * validate.h (SCM_VALIDATE_SUBSTRING_SPEC_COPY): Eliminate
326 warning about comparing signed and unsigned values. This fix is
327 not optimal, since it won't work reliably if sizeof (c_start) >
328 sizeof (size_t) or sizeof (c_end) > sizeof (size_t). A better
329 solution is to define this macro as an inline function, thus
330 allowing to specifiy the types of c_start and c_end.
331
13dcb666
DH
3322001-06-25 Dirk Herrmann <D.Herrmann@tu-bs.de>
333
334 * debug.h (SCM_DEBUGOBJ_FRAME): Deliver result as a
335 scm_t_debug_frame*.
336
337 * debug.h (DEBUGH, SCM_DEBUG_H), stacks.h (STACKSH, SCM_STACKSH):
338 Rename <foo>H to SCM_<foo>_H.
339
340 * stacks.c (NEXT_FRAME, narrow_stack): Prefer explicit type check
341 over SCM_N?IMP, !SCM_<pred> over SCM_N<pred>.
342
343 (narrow_stack): Make i unsigned. Don't use side-effecting
344 operations in conditions.
345
346 (narrow_stack, scm_make_stack, scm_stack_id,
347 scm_last_stack_frame): Get rid of redundant SCM_N?IMP checks.
348
349 (scm_make_stack, scm_stack_id, scm_last_stack_frame): Clean up
350 type dispatch. No need to cast result of SCM_DEBUGOBJ_FRAME any
351 more.
352
353 (scm_stack_ref, scm_frame_previous, scm_frame_next): Fix
354 signedness.
355
356