Commit | Line | Data |
---|---|---|
7beabedb MG |
1 | 2001-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 |
14 | 2001-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 |
20 | 2001-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 |
26 | 2001-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 |
89 | 2001-06-30 Thien-Thi Nguyen <ttn@revel.glug.org> |
90 | ||
91 | * stamp-h.in: bye bye | |
92 | ||
02202352 MV |
93 | 2001-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 |
106 | 2001-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 |
111 | 2001-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 |
123 | 2001-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 |
134 | 2001-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 |
149 | 2001-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 |
156 | 2001-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 |
212 | 2001-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 |
241 | 2001-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 |
291 | 2001-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 |