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