| 1 | 1998-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 | |
| 7 | 1998-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 | |
| 17 | 1998-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 | |
| 48 | 1998-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 | |
| 56 | 1998-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 | |
| 68 | 1998-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 | |
| 88 | Sat 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 | |
| 99 | 1998-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 | |
| 112 | 1998-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 | |
| 117 | 1998-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 | |
| 125 | 1998-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 | |
| 151 | 1998-06-09 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
| 152 | |
| 153 | * ioext.c (scm_isatty_p): Accept any kind of data as argument. If |
| 154 | not a tty, return #f. |
| 155 | |
| 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 | |
| 162 | 1998-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 | |
| 172 | 1998-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 | |
| 179 | 1998-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 | |
| 184 | 1998-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 | |
| 190 | 1998-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. |
| 194 | (completion_function): Do completion for readline. (Thanks to |
| 195 | Andrew Archibald.) |
| 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 | |
| 204 | 1998-05-09 Mikael Djurfeldt <mdj@kenneth> |
| 205 | |
| 206 | * scmsigs.c (scm_usleep): Bugfix: Don't define j if it isn't |
| 207 | used. |
| 208 | |
| 209 | 1998-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 | |
| 235 | 1998-05-02 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
| 236 | |
| 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 | |
| 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 | |
| 261 | 1998-04-25 Mikael Djurfeldt <mdj@kenneth> |
| 262 | |
| 263 | * scmsigs.c: Declare usleep as returning void on some systems. |
| 264 | (scm_usleep): Return SCM_INUM0 on those systems. (Thanks to Julian |
| 265 | Satchell.) |
| 266 | |
| 267 | * coop.c (usleep): Return void on some systems. |
| 268 | |
| 269 | 1998-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 | |
| 283 | 1998-04-19 Mikael Djurfeldt <mdj@mdj.nada.kth.se> |
| 284 | |
| 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 | |
| 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 | |
| 300 | 1998-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 | |
| 314 | 1998-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 | |
| 319 | 1998-04-14 Mikael Djurfeldt <mdj@nada.kth.se> |
| 320 | |
| 321 | * Makefile.am: Added .x-dependencies to variable BUILT_SOURCES. |
| 322 | |
| 323 | 1998-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 |