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