*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
CommitLineData
1f5ae2fd
JB
11998-07-28 Jim Blandy <jimb@zwingli.cygnus.com>
2
3 Remove Totoro kludge.
4 * Makefile.in, scmconfig.h.in: Regenerated.
5 * init.c, readline.c: Don't check if TOTORO is #defined.
6
e99cbcd6
JB
71998-07-26 Jim Blandy <jimb@zwingli.cygnus.com>
8
9 * Makefile.am: Adjust for new thread configuration system.
10 (INCLUDES): Include the value of THREAD_CPPFLAGS.
11 (guile_LDADD, check_ldadd): THREAD_LIBS_LOCAL has been renamed from
12 THREAD_LIBS.
13 (THREAD_LIBS): Definition deleted; automake will generate such
14 things automatically.
15 * Makefile.in: Regenerated.
16
87148d9e
JB
171998-07-23 Jim Blandy <jimb@zwingli.cygnus.com>
18
19 Simplify smob and port marking; set the mark bit in the generic
20 marking code, and make marker routines only responsible for
21 turning up outgoing pointers.
22 * gc.c (scm_gc_mark): Set the mark bit on ports and smobs here,
23 before calling the marking function. Don't call the marking
24 function if it's zero.
25 * markers.c (scm_mark0): Just return #f. This function isn't
26 necessary at all now, but it's harmless to call it. We'll leave
27 it in so other folks' code doesn't croak at link time.
28 (scm_markcdr): Don't call SCM_SETGC8MARK.
29 * async.c (mark_async): Don't call SCM_SETGC8MARK.
30 * dynl.c (mark_dynl_obj): Same.
31 * root.c (mark_root): Same.
32 * srcprop.c (marksrcprops): Same.
33 * unif.c (markra): Same.
34 * variable.c (scm_markvar): Same.
35 * ports.c (scm_markstream): Same.
36 (void_port_ptob): Specify zero for our marking function.
37 * debug.c (debugobjsmob): Same.
38 * dynwind.c (guardsmob): Same.
39 * filesys.c (dir_smob): Same.
40 * fluids.c (fluid_smob): Same.
41 * fports.c (scm_fptob, scm_pipob): Same.
42 * mallocs.c (mallocsmob): Same.
43 * regex-posix.c (regex_t_smob): Same.
44 * smob.c (freecell, flob, bigob): Same.
45 * threads.c (thread_smob, mutex_smob, condvar_smob): Same.
46 * throw.c (jbsmob, lazy_catch_funs): Same.
47
3910272e
MD
481998-07-17 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
49
50 * eval.c (scm_copy_tree): Reverted last change: `eval' uses
51 scm_copy_tree on code in order not to let memoized code to leak
52 out. Thus, scm_copy_tree needs to copy vectors as well since
53 quasiquote can introduce evaluated code also inside vector
54 constants.
55
240ed1e5
MD
561998-07-17 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
57
58 * eval.c (scm_copy_tree): Removed ability to copy vectors.
59
60 * gh_data.c, gh.h (gh_ints2scm, gh_longs2ivect,
61 gh_ulongs2uvect): New procedures. (Complements gh_doubles2scm and
62 gh_doubles2dvect.)
63
64 * unif.c: Say that ivect and uvect are of type signed and unsigned
65 long instead of int in commentary so that it correctly describes
66 the implementation.
67
5ef81022
MD
681998-07-12 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
69
70 * stime.c: Removed declaration of strptime. (It should be
71 declared by the system headers. If it turns out that some systems
72 don't, we'll handle that then.) (Thanks to Greg Troxel.)
73
74 * stime.h: Renamed TIMEH --> STIMEH
75
76 * backtrace.c (scm_display_error, scm_display_backtrace): In order
77 to increase portability, don't use structure assignment.
78 (Thanks to Nicolas Neuss.)
79
80 * iselect.c: Use LONG_MAX instead of ULONG_MAX for increased
81 portability.
82 (finalize_fd_sets): Added empty statement after last case label.
83 (Thanks to Nicolas Neuss.)
84
85 * gc.c (scm_igc): Changed //-comment into /*-comment. (Thanks to
86 Nicolas Neuss.)
87
212d45b8
MD
88Sat Jul 11 22:08:21 1998 Mikael Djurfeldt <mdj@totoro.red-bean.com>
89
90 * init.c, readline.c: OK, I won't have these readline.x bug
91 reports anymore. We've had them since April. The current reason
92 is a completely unintelligible failure of totoro.red-bean.com to
93 do the test for rl_getc_function in libreadline correctly. This
94 kludge overrides the test if we're on totoro so that the snapshot
95 generation process can work.
96
97 * readline.c: Define a strdup replacement if not existent on system.
98
43eeb5a6
MD
991998-07-12 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
100
101 * vectors.c, vectors.h (scm_make_vector): Removed third argument.
102 This change makes scm_make_vector R5RS compatible. We cannot keep
103 the third argument since people want to be able to deduce the form
104 of the C function call only by looking at R5RS. (At the same time
105 we have removed some unnecessary complexity!)
106
107 * eval.c, filesys.c, fluids.c, gc.c, gh_data.c, init.c, kw.c,
108 net_db.c, posix.c, print.c, regex-posix.c, scmsigs.c, socket.c,
109 stime.c, symbols.c, unif.c, vectors.c, weaks.c: Removed third
110 argument in call to scm_make_vector.
111
9d0b279f
MD
1121998-07-02 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
113
114 * numbers.h (SCM_NUM2DBL): New macro. Complements SCM_NUMBERP.
115 This macro is useful in applications.
116
dbb25e7f
MD
1171998-06-21 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
118
119 * load.c (scm_internal_parse_path): Renamed from scm_parse_path.
120 (scm_parse_path, scm_search_path): New Scheme level procedures.
121
122 * load.h (scm_internal_parse_path, scm_parse_path,
123 scm_search_path): Declared.
124
74d6650d
MD
1251998-06-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
126
127 * filesys.c (dirname, basename): New procedures.
128
129 * init.c (scm_boot_guile_1): Removed condition around
130 scm_init_options.
131
132 * dynwind.c: #include "genio.h"; #include "smob.h"; Implemented a
133 new data type (guards) for representation of C level guards and
134 data on the wind chain.
135 (scm_internal_dynamic_wind): New function.
136
137 * dynwind.h: Declare scm_internal_dynamic_wind.
138
139 * root.h (scm_root_state): Added scm_cur_loadp.
140
141 * root.c (mark_root): Added comment about cur_loadp.
142
143 * load.c: #include "dynwind.h";
144 (scm_primitive_load): Use scm_inner_dynamic_wind to update
145 scm_cur_loadp.
146
147 * init.c (scm_init_standard_ports): Initialize scm_def_loadp.
148
149 * ports.c (current-load-port): New procedure.
150
391aebfc
MD
1511998-06-09 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
152
10ccfad7
MD
153 * ioext.c (scm_isatty_p): Accept any kind of data as argument. If
154 not a tty, return #f.
155
391aebfc
MD
156 * regex-posix.c (scm_regexp_exec): Free malloced memory. (Thanks
157 to Julian Satchell and Roland Kaufmann.)
158
159 * gh.h (gh_memv, gh_member): Fixed typos in macro definitions.
160 (gh_write): Added declaration. (Thanks to Eiichi Takamori.)
161
6dabf6a9
MD
1621998-06-07 Mikael Djurfeldt <mdj@barbara.nada.kth.se>
163
164 * debug.h, debug.c (scm_start_stack): New function. Implements
165 the guts of old scm_m_start_stack.
166
167 * debug.c (scm_m_start_stack): Use scm_start_stack.
168
169 * init.c (scm_start_stack, scm_restart_stack): Renamed to
170 start_stack and restart_stack. (These have static scope.)
171
daca2816
MD
1721998-05-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
173
174 * readline.c (rl_cleanup_after_signals, rl_free_line_state): New
175 readline functions to come in release 2.3. (Thanks to Chet
176 Ramey.)
177 (handle_errors): Use the above functions.
178
be0ea988
MD
1791998-05-12 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
180
181 * readline.c: Improvements for readline support: Handle errors
182 better; Implement before-read-hook.
183
1841998-05-11 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
185
186 * init.c (scm_boot_guile_1), readline.c: Test for
187 HAVE_RL_GETC_FUNCTION instead of HAVE_LIBREADLINE. (Need to
188 assure that we have version >= 2.1.)
189
e158e4f4
MD
1901998-05-11 Mikael Djurfeldt <mdj@kenneth>
191
192 * readline.c (scm_add_history): Bugfix: Do strdup before giving
193 away the string to add_history.
56600c45
MD
194 (completion_function): Do completion for readline. (Thanks to
195 Andrew Archibald.)
e158e4f4
MD
196 (scm_filename_completion_function): New procedure: Filename
197 completer.
198 (current_input_getc): New function. Use this one instead of
199 standard getc from readline.
200
201 * throw.c, throw.h (scm_handle_by_throw): New function: This
202 handler throws errors to next handler on the dynwind chain.
203
2041998-05-09 Mikael Djurfeldt <mdj@kenneth>
205
206 * scmsigs.c (scm_usleep): Bugfix: Don't define j if it isn't
207 used.
208
8bb51def
MD
2091998-05-03 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
210
211 * procprop.c (scm_i_procedure_arity): New function. Returns arity
212 of procedure.
213 (scm_procedure_properties): Modified to return arity together with
214 other properties.
215 (scm_procedure_property): Added the read-only property `arity'.
216 (scm_set_procedure_property_x): It is an error to set the `arity'
217 property.
218
219 * gsubr.h, gsubr.c: Moved macros from gsubr.c to gsubr.h and added
220 prefix SCM_; Made f_gsubr_apply global and added prefix scm_.
221
222 * procprop.h (scm_sym_arity): New symbol.
223
224 * objects.c (scm_set_object_procedure_x): New procedure: Use this
225 to set the dispatch procedure of an operator or entity object.
226
227 * objects.h (SCM_METACLASS_OPERATOR_LAYOUT, SCM_ENTITY_LAYOUT):
228 Made procedure slots read-only.
229
230 * eval.c (SCM_CEVAL): Moved scm_tc7_contin case above
231 scm_tcs_cons_gloc case in zero args switch; Fixed args
232 construction for operators in scm_tcs_cons_gloc case in two args
233 switch.
234
680ed4a8
MD
2351998-05-02 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
236
104d4533
MD
237 * fluids.c: Removed use of assert.h (in order to avoid
238 __eprintf).
239
240 * Makefile.am (libguile_la_LDFLAGS): Added -export-dynamic.
241
242 * dynl.c (maybe_drag_in_eprintf): Disabled through #ifdef 0.
243
680ed4a8
MD
244 * eval.c (SCM_CEVAL): Do more thorough argument checking. This
245 change makes the evaluator safer at the cost of evaluation speed.
246 It handles the case when the user has added a non-immediate
247 improper end of the application form, e.g., `(+ 0 . x)'.
248 (Earlier only cases like `(+ 0 . 0)' were handled.) I've tried to
249 minimize the extra cost as much as possible. The new code is
250 enclosed in #ifdef CAUTIOUS regions. NOTE: This also fixes the
251 problem with structs planted directly in the code (e.g. by a
252 macro). This no longer causes segmentation fault. (Thanks to
253 Eric Hanchrow.)
254
255 * eval.c, eval.h (scm_eval_args, scm_deval_args): Take one extra
256 arg `proc' in order to be able to throw errors; New argument
257 checking code.
258
259 * Removed extra #include "debug.h"
260
0935d604
MD
2611998-04-25 Mikael Djurfeldt <mdj@kenneth>
262
263 * scmsigs.c: Declare usleep as returning void on some systems.
2c36126d
MD
264 (scm_usleep): Return SCM_INUM0 on those systems. (Thanks to Julian
265 Satchell.)
0935d604
MD
266
267 * coop.c (usleep): Return void on some systems.
268
f1a5fa3c
MD
2691998-04-20 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
270
271 * Makefile.am (libguile_la_LDFLAGS): Removed redundant -rpath.
272
273 * coop.c: Changed return type of usleep to int.
274
275 * scmsigs.c (scm_usleep): New procedure; Declare usleep if it
276 isn't found in the OS.
277
278 * iselect.h: #define scm_internal_select select if GUILE_ISELECT
279 isn't enabled. (Thought that I had made this change ages ago...)
280
281 * iselect.c: Declare bzero if not defined by OS.
282
26c41b99
MD
2831998-04-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
284
c3e09ef9
MD
285 * dynl.c (scm_must_free_argv): Fixed memory leak due to negated
286 condition. (Thanks to John Tobey.)
287
288 * continuations.c (scm_make_cont), debug.c (scm_make_memoized,
289 scm_make_debugobj), eval.c (scm_makprom): SCM_DEFER/ALLOW_INTS -->
290 A section.
291
292 * __scm.h: Start the long-term project of moving to POSIX threads.
293 Phase 1: Classification of all critical sections.
294 (SCM_ENTER_A_SECTION, SCM_EXIT_A_SECTION): New macros: Delimiters
295 for A sections. (See comments in __scm.h for details.)
296
26c41b99
MD
297 * dynl.c: Only check that HAVE_DLOPEN is defined before loading
298 dynl-dl.c; Test on HAVE_LIBDLD instead of HAVE_DLD.
299
28795b1f
MD
3001998-04-18 Mikael Djurfeldt <mdj@mdj.nada.kth.se>
301
302 * Makefile.am (BUILT_SOURCES): Added cpp_err_symbols.c,
303 cpp_sig_symbols.c, libpath.h and versiondat.h to BUILT_SOURCES
304 (libpath.h, versiondat.h): Replaced dependency on Makefile with
305 dependencies on $(srcdir)/Makefile.in
306 $(top_builddir)/config.status in order to avoid circularity.
307
308 * script.c (scm_compile_shell_switches): Bugfix: Don't discount i
309 from argc if argc was 0 initially.
310
311 * Makefile.am (Makefile.am): Replaced THREAD_LIBS --> GUILE_LIBS
312 in generation of libpath.h.
313
f2e5c92c
MD
3141998-04-15 Mikael Djurfeldt <mdj@nada.kth.se>
315
316 * Makefile.am (libguile_la_LDFLAGS): Bumped version number of
317 libguile from 2 to 3.
318
a3365d47
MD
3191998-04-14 Mikael Djurfeldt <mdj@nada.kth.se>
320
321 * Makefile.am: Added .x-dependencies to variable BUILT_SOURCES.
322
fc1d67c4
MD
3231998-04-13 Mikael Djurfeldt <mdj@kenneth>
324
325 * ports.c (scm_port_line, scm_set_port_line_x, scm_port_column,
326 scm_set_port_column_x, scm_port_filename,
327 scm_set_port_filename_x): Removed optional arguments. Added
328 proper argument checking.
329
330 * eval.c, eval.h, coop.c (scm_eval_stack, SCM_EVAL_STACK): Measure
331 stack size in machine words.
332
333 * unif.c (scm_uniform_vector_ref, scm_cvref, scm_array_set_x,
334 rapr1): Use SCM_UCHARS instead of SCM_CHARS for strings. (Thanks
335