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