Commit | Line | Data |
---|---|---|
311b6a3c MV |
1 | 2001-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 |
14 | 2001-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 |
56 | 2001-05-19 Neil Jerram <neil@ossau.uklinux.net> |
57 | ||
58 | * throw.c (scm_lazy_catch): Slight docstring clarification. | |
59 | ||
21a13beb MV |
60 | 2001-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 | ||
115 | 2001-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 |
122 | 2001-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 |
131 | 2001-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 |
141 | 2001-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 |
146 | 2001-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 |
151 | 2001-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 |
157 | 2001-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 |
323 | 2001-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 |
350 | 2001-05-15 Marius Vollmer <mvo@zagadka.ping.de> |
351 | ||
352 | * values.c (print_values): Print as a unreadable object, not as | |
353 |