*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
311b6a3c
MV
12001-05-21 Marius Vollmer <mvo@zagadka.ping.de>
2
9dfc4faa
MV
3 * symbols.c (scm_mem2symbol): Re-introduce indirect cell. It is
4 needed for weak-key hashtables.
5
6 * procs.c (scm_make_subr_with_generic): Add missing last argument
7 in call to scm_c_define_gsubr_with_generic. Thanks to Ariel Rios.
8
9 * eval.c: Use SCM_EQ_P instead of `==' or `!=' in certain
10 places. (scm_c_improper_memq): Return 1 instead of SCM_BOOL_T.
311b6a3c
MV
11
12 * eval.h (SCM_EVALIM2): Use SCM_EQ_P instead of `=='.
13
2fc933fe
MV
142001-05-20 Marius Vollmer <mvo@zagadka.ping.de>
15
57ae112d
MV
16 * symbols.c (scm_mem2symbol): Call `scm_must_strndup' instead of
17 `duplicate_string'. Do not use an indirect cell, store symbol
18 directly in collision list of hash table.
19 (duplicate_string): Removed.
20
21 * init.c (scm_init_guile_1): Call scm_init_extensions.
22
23 * Makefile.am: Add "extensions.c" and related files in all the
24 right places.
25
26 * extensions.h, extension.c: New files.
27
28 * gc.h, gc.c (scm_must_strdup, scm_must_strndup): New.
29
2fc933fe
MV
30 * modules.h (scm_system_module_env_p): Move out of deprecated
31 section.
32
33 * rw.h (scm_init_rw): Added prototype.
34
35 * gsubr.h, gsubr.c (scm_c_make_gsubr, scm_c_define_gsubr,
36 scm_c_make_gsubr_with_generic, scm_c_define_gsubr_with_generic):
37 New functions. They replace scm_make_gsubr and
38 scm_make_gsubr_with_generic. The `make' variants only create the
39 gsubr object, while the `define' variants also put it into the
40 current module. Changed all callers.
41 (scm_make_gsubr, scm_make_gsubr_with_generic): Deprecated.
42
43 * procs.h, procs.c (scm_c_make_subr, scm_c_define_subr,
44 scm_c_make_subr_with_generic, scm_c_define_subr_with_generic): New
45 functions. They replace scm_make_subr, scm_make_subr_opt and
46 scm_make_subr_with_generic. The `make' variants only create the
47 subr object, while the `define' variants also put it into the
48 current module. Changed all callers.
49 (scm_make_subr, scm_make_subr_opt, scm_make_subr_with_generic):
50 Deprecated.
51
52 * eval.c, gc.c, gh_funcs.c, goops.c, macros.c, pairs.c, ramap.c,
53 rdelim.c, rw.c, scmsigs.c, snarf.h, values.c: Changed according to
54 the comments above.
55
18928596
NJ
562001-05-19 Neil Jerram <neil@ossau.uklinux.net>
57
58 * throw.c (scm_lazy_catch): Slight docstring clarification.
59
21a13beb
MV
602001-05-19 Marius Vollmer <mvo@zagadka.ping.de>
61
e2b6ddc6
MV
62 * throw.c: Lazy-catch handlers are no longer allowed to return.
63 Fixed comments throughout.
64 (scm_ithrow): Signal an error when a lazy-catch handler returns.
65 Moved actual jump to jmpbuf into if-branch where the jmpbuf is
66 recognized as such.
67
21a13beb
MV
68 * version.c (s_scm_micro_version): Fix typo in FUNC_NAME, it
69 refered to s_scm_minor_version previously.
70
71 * modules.h, modules.c: Moved around a lot of code so that
72 deprecated features appear at the bottom.
73 (root_module_lookup_closure, scm_sym_app, scm_sym_modules,
74 module_prefix, make_modules_in_var, beautify_user_module_x_var,
75 scm_the_root_module, scm_make_module, scm_ensure_user_module,
76 scm_load_scheme_module): Deprecated.
77 (scm_system_module_env_p): Return SCM_BOOL_T directly for
78 environments corresponding to the root module.
79 (convert_module_name, scm_c_resolve_module,
80 scm_c_call_with_current_module, scm_c_define_module,
81 scm_c_use_module, scm_c_export): New.
82 (the_root_module): New static variant of scm_the_root_module. Use
83 it everywhere instead of scm_the_root_module.
84
85 * fluids.h, fluids.c (scm_internal_with_fluids): Deprecated.
86 (scm_c_with_fluids): Renamed from scm_internal_with_fluids.
87 (scm_c_with_fluid): New.
88 (scm_with_fluids): Use scm_c_with_fluids instead of
89 scm_internal_with_fluids.
90
91 * goops.h, goops.c (scm_init_goops_builtins): Renamed from
92 `scm_init_goops'. Do not explicitly create/switch modules.
93 Return SCM_UNSPECIFIED.
94 (scm_init_goops): Only register `%init-goops-builtins' procedure.
95 (scm_load_goops): Use scm_c_resolve_module instead of
96 scm_resolve_module.
97
98 * init.c (scm_init_guile_1): Call `scm_init_goops' instead of
99 `scm_init_oop_goops_goopscore_module'. Call `scm_init_rdelim' and
100 `scm_init_rw' prior to loading the startup files.
101
102 * rdelim.h, rdelim.c: (scm_init_rdelim_builtins): Renamed from
103 scm_init_rdelim. Do not explicitly create/switch modules.
104 Return SCM_UNSPECIFIED.
105 (scm_init_rdelim): Only register `%init-rdelim-builtins'
106 procedure.
107
108 * rw.c (scm_init_rw_builtins): Renamed from scm_init_rw. Do not
109 explicitly create/switch modules. Return SCM_UNSPECIFIED.
110 (scm_init_rw): Only register `%init-rw-builtins' procedure.
111
112 * script.c (scm_shell): Evaluate the compiled switches in the
113 current module, not in the root module.
114
1152001-05-18 Marius Vollmer <mvo@zagadka.ping.de>
116
117 * fluids.c (scm_c_with_fluids): Rename from
118 scm_internal_with_fluids.
119 (scm_internal_with_fluids): Deprecated.
120 (scm_c_with_fluid): New.
121
09cb9e73
DH
1222001-05-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
123
124 * print.h (PRINTH, SCM_PRINT_H): Renamed PRINTH to SCM_PRINT_H.
125
126 (SCM_PORT_WITH_PS_PORT, SCM_PORT_WITH_PS_PS): Only pairs may be
127 accessed with SCM_C[AD]R.
128
129 (SCM_COERCE_OUTPORT): Removed redundant SCM_NIMP test.
130
c81ea65d
RB
1312001-05-16 Rob Browning <rlb@cs.utexas.edu>
132
133 * version.c (s_scm_major_version): doc fixes.
134 (s_scm_minor_version): doc fixes.
135 (s_scm_minor_version): new function.
136
137 * version.h (scm_init_version): new function.
138
139 * versiondat.h.in: add GUILE_MICRO_VERSION.
140
887dfa7d
DH
1412001-05-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
142
143 * deprecation.c (scm_init_deprecation): Renamed
144 GUILE_WARN_DEPRECATED_DEFAULT to SCM_WARN_DEPRECATED_DEFAULT.
145
78930a69
MV
1462001-05-16 Marius Vollmer <mvo@zagadka.ping.de>
147
148 * Makefile.am (cpp_sig_symbols.c, cpp_err_symbols.c): Make
149 dependent on cpp_cnvt.awk
150
39cde5c5
MG
1512001-05-15 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
152
153 * script.c (scm_compile_shell_switches): New command line option
154 `--use-srfi' for loading a list of SRFIs on startup.
155 (scm_shell_usage): Added `--use-srfi' to help message.
156
f3f9dcbc
MV
1572001-05-10 Marius Vollmer <mvo@zagadka.ping.de>
158
78930a69 159 Merged from mvo-vcell-cleanup-1-branch.
887dfa7d 160
f3f9dcbc
MV
161 The concept of vcells has been removed from Guile. With it,
162 explicit obarrays and associated operations are gone. Use
163 hashtables instead of obarrays.
887dfa7d 164
f3f9dcbc
MV
165 Throughout: use scm_sym2var instead of scm_sym2vcell and treat
166 result as variable instead of vcell. Glocs no longer point to a
167 vcell but to a variable. Use scm_c_define instead of
168 scm_sysintern and treat the result as a variable (which it is),
169 not a vcell.
887dfa7d 170
f3f9dcbc
MV
171 * variable.c, variable.h (SCM_VARVCELL, SCM_UDVARIABLEP,
172 SCM_DEFVARIABLEP): Deprecated.
173 (SCM_VARIABLE_REF, SCM_VARIABLE_SET, SCM_VARIABLE_LOC): New.
174 (variable_print): Do not print name of variable.
175 (variable_equalp): Compare values, not vcells.
176 (anonymous_variable_sym): Removed.
177 (make_vcell_variable): Removed.
178 (make_variable): New, as replacement.
179 (scm_make_variable, scm_make_undefined_variable): Do not take name
180 hint parameter.
181 (scm_variable_ref): Check for SCM_UNDEFINED and throw "unbound"
182 error in that case.
183 (scm_builtin_variable): Deprecated.
184
185 * symbols.c, symbols.h (scm_sym2vcell, scm_sym2ovcell_soft,
186 scm_sym2ovcell, scm_intern_obarray_soft, scm_intern_obarray,
187 scm_intern, scm_intern0, scm_sysintern0_no_module_lookup,
188 scm_sysintern, scm_sysintern0, scm_symbol_value0,
189 scm_string_to_obarray_symbol, scm_intern_symbol,
190 scm_unintern_symbol, scm_symbol_binding, scm_symbol_interned,
191 scm_symbol_bound_p, scm_symbol_set_x, scm_gentmp, gentmp_counter):
192 Deprecated and moved to "symbols-deprecated.c".
193 (copy_and_prune_obarray, scm_builtin_bindings): Removed.
194 (scm_init_symbols): Call scm_init_symbols_deprecated.
195 * symbols-deprecated.c: New file.
196 * Makefile.am: Added symbols-deprecated.c and related files in all
197 the right places.
887dfa7d 198
f3f9dcbc
MV
199 * snarf.h (SCM_VCELL, SCM_GLOBAL_VCELL, SCM_VCELL_INIT,
200 SCM_GLOBAL_VCELL_INIT): Deprecated.
201 (SCM_VARIABLE, SCM_GLOBAL_VARIABLE, SCM_VARIABLE_INIT,
202 SCM_GLOBAL_VARIABLE_INIT): New, as replacement. Changed all uses.
887dfa7d 203
f3f9dcbc
MV
204 * print.c (scm_iprin1): Use scm_module_reverse_lookup instead of
205 SCM_GLOC_SYM.
206
207 * evalext.c, filesys.c, fports.c, gdbint.c, gh_data.c, gsubr.c,
208 hooks.c, load.c, numbers.c, objects.c, ports.c, posix.c, procs.c,
209 ramap.c, random.c, read.c, regex-posix.c, scmsigs.c, script.c,
210 socket.c, srcprop.c, stacks.c, stime.c, struct.c, tag.c, throw.c:
211 Changed according to the `throughout' comments.
212
213 * modules.h, modules.c (scm_module_system_booted_p): Changed type
214 to `int'.
215 (scm_module_type): Removed.
216 (the_root_module): Renamed to the_root_module_var. Now points to
217 a variable instead of a vcell. Updated all uses.
218 (scm_the_root_module): Return SCM_BOOL_F when module systems
219 hasn't been booted yet.
220 (SCM_VALIDATE_STRUCT_TYPE): Removed.
221 (scm_post_boot_init_modules): Made static.
222 (scm_set_current_module): Call scm_post_boot_init_modules on first
223 call.
224 (make_modules_in, beautify_user_module_x, resolve_module,
225 try_module_autoload, module_make_local_var_x): Tacked on "_var"
226 suffix. Now point to variables instead of vcells. Updated all
227 uses.
228 (scm_module_lookup_closure): Deal with the module being SCM_BOOL_F
229 and return SCM_BOOL_F in that case.
230 (scm_module_transformer): Likewise.
231 (sym_module, scm_lookup_closure_module, scm_env_module): New.
232 (SCM_F_EVAL_CLOSURE_INTERFACE, SCM_EVAL_CLOSURE_INTERFACE_P): New.
233 (scm_eval_closure_lookup): Do not allow new definitions when
234 `interface' flag is set.
235 (scm_standard_interface_eval_closure): New.
236 (scm_pre_modules_obarray, scm_sym2var, scm_module_lookup,
237 scm_lookup, scm_module_define, scm_define, scm_c_module_lookup,
238 scm_c_lookup, scm_c_module_define, scm_c_define,
239 scm_module_reverse_lookup, scm_get_pre_modules_obarray,
240 scm_modules_prehistory): New.
241 (scm_post_boot_init_modules): Use scm_c_define and scm_c_lookup
242 instead of scm_intern0.
887dfa7d 243
f3f9dcbc
MV
244 * macros.c (scm_make_synt): Return SCM_UNSPECIFIED instead of the
245 symbol.
246
247 * keywords.c (s_scm_make_keyword_from_dash_symbol): Use a regular
248 hashtable operations to maintain the keywords, not obarray ones.
249
250 * init.c (scm_load_startup_files): Do not call
251 scm_post_boot_init_modules. This is done by
252 scm_set_current_module now.
253 (scm_init_guile_1): Call scm_modules_prehistory. Call
254 scm_init_variable early on.
255
256 * goops.c (s_scm_sys_goops_loaded): Get
257 var_compute_applicable_methods from scm_sym2var, not from a direct
258 invocation of scm_goops_lookup_closure.
259
260 * gh_funcs.c (gh_define): Return SCM_UNSPECIFIED instead of vcell.
261
262 * gc.c: Added simple debugging hack to mark phase of GC: When
263 activated, do not tail-call scm_gc_mark. This gives nice
264 backtraces.
265 (scm_unhash_name): Removed.
266
267 * feature.c (features): Renamed to features_var. Now points to a
268 variable instead of a vcell. Updated all uses.
269
270 * eval.h (SCM_TOP_LEVEL_LOOKUP_CLOSURE): Use
271 `scm_current_module_lookup_closure' which will do the right thing
272 when the module system hasn't been booted yet.
273 (SCM_GLOC_SYM): Removed.
274 (SCM_GLOC_VAR, SCM_GLOC_SET_VAL): New.
275 (SCM_GLOC_VAL, SCM_GLOC_LOC): Reimplemented in terms of variables.
887dfa7d 276
f3f9dcbc
MV
277 * eval.c (scm_lookupcar, scm_lookupcar1): Deal with variables
278 instead of with vcells. Do not overwrite `var' with the result of
279 the lookup, use the new `real_var' instead. Remove `var2' in
280 exchange (which was only used with threads).
281 (sym_three_question_marks): New.
282 (scm_unmemocar): Use `scm_module_reverse_lookup' instead of
283 `SCM_GLOC_SYM'.
284 (scm_lisp_nil, scm_lisp_t): Directly define as symbols.
285 (scm_m_atfop): Expect the function definition to be a variable
286 instead of a vcell.
287 (scm_macroexp): Do not use `unmemocar', explicitely remember the
288 symbol instead.
289 (scm_unmemocopy): Removed thoughts about anti-macro interface.
290 (scm_eval_args): Use more explicit code in the gloc branch of the
291 atrocious struct ambiguity test. The optimizer will sort this
292 out.
293 (scm_deval_args): Likewise.
294 (SCM_CEVAL): Likewise. Also, do not use unmemocar, explicitely
295 remember the symbol instead. Added some comments where
296 scm_tc3_cons_gloc really exclusively refers to structs.
297 (scm_init_eval): Use scm_define to initialize "nil" and "t" to
298 scm_lisp_nil and scm_lisp_t, respectively. Use scm_define instead
299 of scm_sysintern in general.
300
301 * dynwind.c (scm_swap_bindings): Use SCM_GLOC_SET_VAL instead of
302 explicit magic.
303
304 * debug.c (s_scm_make_gloc): Only allow proper variables, no
305 pairs. Put the variable directly in the gloc.
306 (s_scm_gloc_p): Use `scm_tc3_cons_gloc' instead of the magic `1'.
307 (scm_init_debug): Use scm_c_define instead scm_sysintern.
308
309 * cpp_cnvt.awk: Emit "scm_c_define" instead of "scm_sysintern".
310
311 * backtrace.h, backtrace.c (scm_the_last_stack_fluid): Renamed to
312 scm_the_last_stack_fluid_var. It now points to a variable instead
313 of a vcell. Updated all uses.
314 (scm_has_shown_backtrace_hint_p_var): Now points to a variable
315 instead of a vcell. Updated all uses.
316
317 * _scm.h: Include "variables.h" and "modules.h" since almost
318 everybody needs them now.
319
320 * root.h (scm_symhash, scm_symhash_vars): Removed.
321 * gc.c (scm_init_storage): Do not initialize them.
887dfa7d 322
7c33806a
DH
3232001-05-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
324
325 * eval.c (scm_init_eval): Initialize scm_undefineds and
326 scm_listofnull.
327
328 * gc.c (scm_debug_newcell, scm_debug_newcell2): Fixed to behave
329 like the SCM_NEWCELL macro counterparts.
330
331 (scm_init_storage, scm_init_gc): Moved initialization of
332 scm_tc16_allocated from scm_init_gc to scm_init_storage.
333
334 (scm_init_storage): Moved initialization of scm_undefineds and
335 scm_listofnull to eval.c, initializion of scm_nullstr to
336 strings.c, initializion of scm_nullvect to vectors.c.
337
338 * gc.h (SCM_NEWCELL, SCM_NEWCELL2): Prefer SCM_NULLP over
339 SCM_IMP, as in scm_debug_newcell and scm_debug_newcell2.
340
341 * init.c (scm_init_guile_1): Reordered some initializations and
342 added dependcy information comments.
343
344 * load.c (scm_init_load): Use scm_nullstr.
345
346 * strings.c (scm_init_strings): Initialize scm_nullstr.
347
348 * vectors.c (scm_init_vectors): Initialize scm_nullvect.
349
11bbab47
MV
3502001-05-15 Marius Vollmer <mvo@zagadka.ping.de>
351
352 * values.c (print_values): Print as a unreadable object, not as
353