*** empty log message ***
[bpt/guile.git] / libguile / ChangeLog
index ea52248..4857917 100644 (file)
@@ -1,3 +1,538 @@
+1998-11-23  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       * numbers.c (scm_logand, scm_logior, scm_logxor, scm_logtest,
+       scm_logbit_p): Do the computation in ulongs.  This is not as nice
+       as doing it in bignums, but at least it's good enough for
+       manipulating flags in 32-bit words.  (Thanks to Jim Wilson.)
+       
+       * regex-posix.c (scm_regexp_exec): Reliably mark unmatched
+       subexpressions.  (Thanks to Charbel Jacquin.)
+
+1998-11-23  Mikael Djurfeldt  <mdj@kenneth>
+
+       * feature.c, feature.h (scm_make_hook, scm_add_hook_x,
+       scm_remove_hook_x, scm_run_hooks): Moved from ice-9/boot-9.scm.
+       (scm_make_named_hook): New function.
+
+       * feature.c: Added #include "eval.h".
+       
+       * modules.c (scm_make_module): Beautify the module.
+
+1998-11-22  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * modules.c, modules.h: New files: C interface to modules.  (This
+       is necessary in order to interface the object system to Guile
+       properly.  The guts of these modules will be replaced by the new
+       module system in the future.)
+       
+       * init.c: Added #include "modules.h"
+       (scm_boot_guile_1): Call scm_init_modules.
+       (invoke_main_func): Call scm_post_boot_init_modules.
+
+       * Makefile.am: Added modules.c, modules.x, modules.h.
+
+1998-11-22  Mikael Djurfeldt  <mdj@kenneth>
+
+       * procs.c: #include "objects.h"
+       (scm_procedure_p): Return #t also on structs which are operators.
+
+       * objects.c (scm_init_objects): Renamed <standard-metaclass>,
+       <operator-metaclass> and <entity-class> to <standard-class>,
+       <operator-class> and <entity> in order to conform with STKlos
+       naming conventions.
+
+       * eval.c (SCM_CEVAL): Jump to badfun if trying to apply a struct
+       which isn't an operator.
+       (SCM_APPLY): Ditto, but jump to badproc.
+
+1998-11-21  Mikael Djurfeldt  <mdj@kenneth>
+
+       * eval.c (SCM_CEVAL): Allow structs implanted in code.
+       Previously, structs implanted in code were interpreted as forms
+       the operator of which was a gloc.  We solve this by checking for
+       the zero in the emulated vcell in the struct vtable.  Since
+       implanted structs always will look like forms with a gloc
+       operator, execution will only be slowed down by maximally one
+       extra test-and-branch per application.
+
+       * evalext.c (scm_definedp): Removed check for isyms; Added a
+       second optional argument: It is now possible to supply an
+       evaluation environment in which to look for the symbol.
+
+1998-11-19  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * readline.c (scm_init_readline): Set
+       rl_basic_word_break_characters.  (Thanks to Ian Grant.)
+
+       * coop.c (coop_condition_variable_wait): Removed
+       (coop_condition_variable_wait_mutex): Folded logic of
+       coop_mutex_unlock into coop_condition_variable_wait_mutex to
+       prevent condvar signal lossage.  Previously, another thread could
+       start to run after unlocking the mutex but before putting the
+       current thread on the wait queue.  If that thread then would
+       signal the first, the signal would be lost.  (Thanks to Christian
+       Lynbech.)
+
+1998-11-17  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * eval.c (SCM_CEVAL): Added missing case for cclo.  (Thanks to
+       Christian Lynbech.)
+
+1998-11-14  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * objects.c (scm_i_make_class_object): Renamed from
+       make_class_object; exported; error checking moved to
+       scm_make_class_object and scm_make_subclass_object.
+       (scm_make_class_object, scm_make_subclass_object): Use
+       scm_i_make_class_object.
+       (scm_make_subclass_object): Let the subclass have same metaclass
+       as the superclass.
+
+1998-11-14  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * debug.c (scm_debug_options): Bugfix: Set the value of
+       scm_stack_checking_enabled_p after setting debug options;
+       #include "stackchk.h".  (Thanks to Richard Polton.)
+
+1998-11-13  Radey Shouman  <rshouman@metro2000.com>
+
+       * unif.c (scm_array_contents): removed unnecessary test for 0
+       base.
+
+1998-11-13  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * evalext.c, evalext.h (scm_m_sequence_to_list): Removed.
+       Replaced by macro `collect' in boot-9.scm.
+
+1998-11-10  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * eval.c (scm_copy_tree): Copy source properties if existent.
+
+       * debug.c (scm_start_stack): Copy source when evaluating.  (If we
+       don't, we may end up passing memoized source to a transformer.)
+
+1998-11-10  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * stack.c (get_applybody): Help function which lookups the first
+       body form of the apply closure.
+       (read_frames): Prevent the source of the first form of the apply
+       closure from being recorded.  This would only be confusing.
+
+       * debug.h (SCM_SET_MACROEXP, SCM_CLEAR_MACROEXP, SCM_MACROEXPP):
+       Replaces SCM_MACROFRAME, SCM_MACROFRAMEP.
+       
+       * eval.c (SCM_CEVAL): Use SCM_SET/CLEAR_MACROEXP.
+
+       * stacks.c (read_frame): Bugfix: Removed lingering `else'
+       statement.
+       (read_frames): Use SCM_MACROEXPP.
+
+1998-11-10  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * stacks.c (read_frames): Skip gsubr frames in backtraces.  (They
+       don't contain interesting information since all arguments are
+       present in the frame which applies the compiled closure anyway.);
+       Skip the transformer application frames.
+
+       * print.c (scm_iprin1): Print gsubrs as primitives.
+
+1998-11-09  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * debug.h (SCM_MACROFRAME, SCM_MACROFRAMEP): New frame type.
+
+       * eval.c (SCM_CEVAL): Mark macro frames at `handle_a_macro' so
+       that we can identify these in a backtrace.  (This change doesn't
+       introduce any significant speed penalty.)
+
+       * eval.c: Added note about `serial-map' using scm_map.
+
+       * read.c, read.h (scm_read_options, scm_read_opts): Removed
+       readline options.  They should reside in their own options array.
+       
+       * readline.c, readline.h (scm_readline_options,
+       scm_readline_opts): Moved readline options here.
+
+1998-11-07  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * readline.c (scm_read_history, scm_write_history): Bugfix: Use
+       SCM_ROCHARS instead of SCM_CHARS.
+
+       * ports.c (scm_unread_string): Bugfixes: Check for SCM_STRINGP,
+       not SCM_ROSTRINGP; use SCM_ROUCHARS instead of SCM_UCHARS.
+
+1998-11-06  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * ports.h (SCM_CUC): #define as ~SCM_CRDY instead of 0x001fffffL.
+       This is quite important since the latter clears the
+       FPORT_READ_SAFE and FPORT_WRITE_SAFE flags causing flushes at
+       every single character read...
+
+1998-11-03  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * print.c (scm_iprin1): Removed suspect looking (and indeed
+       malevolent) semicolon after test for user supplied closure print
+       procedure.  (Thanks to Telford Tendys.)
+
+       * list.c (scm_sloppy_memq): Removed sloppy_mem_check.
+       (scm_memq, scm_memv, scm_member): Do argument checking *before*
+       starting to search the list.  Removed call to sloppy_mem_check.
+
+       * list.c, list.h (scm_delq1_x, scm_delv1_x, scm_delete1_x): New
+       procedures: Same as scm_delq_x et al, but delete maximally one
+       element.
+
+       * options.c (scm_options, scm_init_options): GC-protect option
+       values of type SCM.  (Thanks to Telford Tendys.)
+
+1998-11-01  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * eval.c: Don't #define scm_lookupcar to scm_lookupcar1.  Instead
+       make sure that there always is a "real" scm_lookupcar.
+
+1998-11-01  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * read.c, read.h (scm_read_opts): New read options
+       "history-length" and "history-file".
+       (scm_read_options): Stifle history to history length.
+
+       * readline.c (scm_read_history, scm_write_history): New procedures.
+
+1998-10-31  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * eval.h (scm_macro_eval_x): Removed declaration.
+
+       * eval.c (scm_s_expression, scm_s_test, scm_s_body,
+       scm_s_bindings, scm_s_variable, scm_s_clauses, scm_s_formals):
+       Renamed and made global.
+
+       * eval.c, eval.h (SCM_EVALIM): Renamed from EVALIM.
+       (SCM_XEVAL, SCM_XEVALCAR): Renamed from XEVAL, XEVALCAR.
+
+       * evalext.c, evalext.h: New files.  Contain non-R5RS things
+       having to do with evaluation.
+       
+       * evalext.c (scm_serial_map): New procedure: Version of `map'
+       which guarantees that the procedure is applied to the lists in
+       serial order.
+       (scm_m_sequence_to_list): New syntax: Version of `begin' which
+       returns a list of the results of the body forms instead of the
+       result of the last body form.
+       (scm_definedp, scm_m_undefine): Moved from eval.c
+
+       * evalext.h (scm_m_sequence_to_list): Added declaration.
+
+       * macros.c, macros.h: New files.
+       (scm_procedure_to_syntax, scm_procedure_to_macro,
+       scm_procedure_to_memoizing_macro, scm_macro_p, scm_macro_type,
+       scm_macro_name, scm_macro_transformer): Moved from eval.c
+       (scm_make_synt): Moved from eval.c
+
+       * procs.c, procs.h (scm_procedure_documentation): Moved from eval.c.
+
+       * init.c (scm_boot_guile_1): Added calls to scm_init_macros and
+       scm_init_evalext.
+
+       * Makefile.am: Added evalext.c, evalext.h, macros.c, macros.h.
+
+       * debug.c, print.c: Added #include "macros.h".
+
+1998-10-29  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       This change adds the ability to use `unread-char' multiple times
+       without interspersed reads and adds the new procedure
+       `unread-string'.  The change is optimized for the common case of
+       unreading a single character.  This is also the reason behind the
+       choice to store characters in the port itself: in most cases no
+       extra malloc is required.
+
+       The amount of code in some macros in ports.h has been increased to
+       the extent that they would fit better as C functions, but, since
+       this code belongs to the port representation, such functions
+       should be placed in ports.c which would cause calls back and forth
+       between ports.c and genio.c.  That is not good for performance.
+       Also, keeping them as macros allows the compiler to do some
+       optimizations which are needed to make the current interface
+       (SCM_CRDYP, SCM_CGETUN, SCM_TRY_CLRDY) efficient.
+
+       One benchmark (Guile startup time) indicates an increase of
+       loading speed of 1%.  Another (reading (using `read') boot-9.scm
+       10 times) shows no change in performance.
+
+       (Caveat: Since Gary is redesigning I/O anyway, no big efforts were
+       made to find a beautiful solution.)
+       
+       * ports.h (SCM_CLRDY, SCM_CUNGET, SCM_CGETUN): Rewritten.
+       (SCM_TRY_CLRDY): New macro: Only clear the first unread
+       character. (SCM_CLRDY clears all.)
+       (SCM_N_READY_CHARS): New macro: Returns number of unread
+       characters in a port.  Returns wrong answer if SCM_CRDYP is false.
+       (struct scm_port_table): New fields: `entry' contains port table
+       index, `cp' points to last unread char, `cbuf' is the buffer for
+       unread chars, `cbufend' points after end of the character buffer.
+
+       * ports.h, ports.c (scm_unread_string): New procedure.
+       (scm_grow_port_cbuf): New function.
+
+       * ports.c (scm_add_to_port_table, scm_remove_from_port_table):
+       Handle new fields.
+       (scm_generic_fgets), fports.c (local_fgets): Use a loop
+       to read unread characters.  Use SCM_TRY_CLRDY instead of
+       SCM_CLRDY.
+       
+       * ioext.c (scm_ftell): Use SCM_N_READY_CHARS to correct position.
+
+       * genio.c (scm_getc): Use SCM_TRY_CLRDY instead of SCM_CLRDY.
+
+       * genio.c, genio.h (scm_ungets): New function.
+
+       * genio.c (scm_puts): Removed mysterious TRANSCRIPT_SUPPORT code
+       sections.
+
+1998-10-28  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
+
+       * threads.h (scm_thread_sleep, scm_thread_usleep): Fixed
+       declarations. (Thanks to Russ McManus.)
+
+1998-10-26  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * numbers.c (num2long): As a software archeologist, I'm proud of
+       this finding! :) Preliminary dating suggests an almost 4 year old
+       remnant from the SCM ancestor.  The sample has been removed from
+       the finding site and is now safely stored in the repository.
+
+       * numbers.h: Removed prototype for num2long.
+
+       * unif.c (scm_array_set_x): Use scm_num2long instead of num2long.
+
+       * gh_data.c (gh_scm2doubles): Make it possible to pass result
+       array as second arg.
+       (gh_chars2byvect, gh_shorts2svect, gh_floats2fvect, gh_scm2chars,
+       gh_scm2shorts, gh_scm2longs, gh_scm2floats): New functions.
+       * gh.h: Updated and added prototypes.
+
+       * gh_data.c (gh_ints2scm): Handle integers outside INUM limits.
+
+1998-10-24  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       * gc.h: Remove all uses of SCM_P.  (Thanks to Richard Polton.)
+
+       * guile-snarf.in: Never generate an empty file.  (Thanks to
+       Richard Polton.)
+
+       * gh.h (gh_enter, gh_new_procedure0_0, gh_new_procedure0_1,
+       gh_new_procedure0_2, gh_new_procedure1_0, gh_new_procedure1_1,
+       gh_new_procedure1_2, gh_new_procedure2_0, gh_new_procedure2_1,
+       gh_new_procedure2_2, gh_new_procedure3_0, gh_new_procedure4_0,
+       gh_new_procedure5_0): Specify argument types, to appease C++
+       compilers.  (Thanks to Brad Bowman.)
+
+       Bug reports from Russ McManus:
+       * guile-snarf.in: If the CPP environment variable is set, use that
+       as the C preprocessor, instead of the preprocessor autoconf
+       found.
+       * snarf.h (SCM_PROC): Cast the function pointer passed to
+       scm_make_gsubr, to satisfy C++.
+
+       * gh_eval.c (gh_eval_str_with_catch, gh_eval_file_with_catch):
+       Use the handler passed, instead of ignoring it and using
+       gh_standard_handler.  (Thanks to Etienne Bernard.)
+       
+1998-10-20  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       * ports.h: Put text after #endif in comment.  (Thanks to Nicolas
+       Neuss.)
+
+1998-10-19  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       * __scm.h, alist.c, async.c, async.h, backtrace.h, chars.c,
+       continuations.c, debug.c, debug.h, dynl-dl.c, dynl.c, dynl.h,
+       dynwind.c, dynwind.h, eq.c, error.c, error.h, eval.c, eval.h,
+       feature.c, filesys.c, filesys.h, fports.c, fports.h, gc.c, gc.h,
+       genio.c, genio.h, gh.h, gh_data.c, gsubr.c, gsubr.h, hash.c,
+       hashtab.c, init.c, init.h, ioext.c, ioext.h, kw.c, libguile.h,
+       list.c, list.h, load.c, load.h, mallocs.c, markers.c,
+       mit-pthreads.c, net_db.c, numbers.c, numbers.h, options.c,
+       ports.c, ports.h, posix.c, posix.h, print.c, print.h, procprop.c,
+       procprop.h, procs.c, procs.h, ramap.c, ramap.h, regex-posix.c,
+       regex-posix.h, root.c, root.h, scmsigs.c, scmsigs.h, script.c,
+       script.h, simpos.c, simpos.h, smob.c, smob.h, snarf.h, socket.c,
+       srcprop.c, stackchk.c, stackchk.h, stacks.c, stime.c, stime.h,
+       strings.c, strings.h, strports.c, struct.c, struct.h, symbols.c,
+       symbols.h, tags.h, threads.c, throw.h, unif.c, variable.c,
+       vectors.c, vectors.h, version.h, vports.c, weaks.c: Update
+       copyright years.
+
+       * script.c (scm_compile_shell_switches): Define
+       use-emacs-interface in the root module, so the repl code can see
+       it.  See today's change to top-repl in ice-9/boot-9.scm.
+
+       * filesys.c (set_element, get_element): Make sure that `element'
+       is a cell before applying SCM_FPORTP to it.  (Thanks to Jost
+       Boekemeier and Jorgen "forcer" Schaefer.)
+
+1998-10-18  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       * chars.c (scm_charnames): In ASCII character name table, make
+       newlines print as #\newline by default, not #\nl.
+
+       * Makefile.am (libguile_la_SOURCES, BUILT_SOURCES): Put these in
+       alphabetical order.  Oh thrills.  But it helps me know how far
+       along in the compilation I am. 
+       * Makefile.in: Regenerated.
+
+1998-10-18  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * unif.c (scm_raprin1): Changed print syntax for byte vectors from
+       #bytes(...) to #y(...), and syntax for short vectors from
+       #short(...) to #h(...).  This may seem nutty, but, like the other
+       uniform vectors, byte vectors and short vectors want to have the
+       same print and read syntax (and, more basic, want to have read
+       syntax!).  Changing the read syntax to use multiple characters
+       after the hash sign breaks with the conventions used in R5RS and
+       the conventions used for the other uniform vectors.  It also
+       introduces complexity in the current reader, both on the C and
+       Scheme levels.  (The Right solution is probably to change the
+       syntax and prototypes for uniform vectors entirely.)
+
+1998-10-17  Jim Blandy  <jimb@savonarola.red-bean.com>
+
+       Don't use local_fgets on sockets; ftell doesn't work on sockets.
+       (Thanks to Jorgen "forcer" Schaefer.)
+       * ports.h (SCM_NOFTELL): New flag.
+       * fports.c (local_fgets): If it's set, use the generic fgets.
+       * socket.c (scm_socket): Set SCM_NOFTELL on the ports we produce.
+
+1998-10-17  Mikael Djurfeldt  <mdj@barbara.nada.kth.se>
+
+       * script.c (scm_compile_shell_switches): Add handling of -q switch
+       (inhibit loading of user init file).
+       (scm_shell_usage): Add usage text for -q switch.
+       (scm_compile_shell_switches): Always load user init file first if
+       it is loaded at all.
+
+1998-10-16  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       * stime.c: The CPP hair to determine a value for CLKTCK is weird,
+       and is now broken under NetBSD.  I can't fathom what it's trying
+       to do, so I've replaced it with something that I do understand,
+       which seems to work, and which isn't broken on NetBSD.  "Progress?
+       You Decide."  (Thanks to Perry Metzger.)
+
+       * regex-posix.c (scm_regexp_exec): Add a cast to remove a
+       signed/unsigned comparison.
+
+1998-10-15  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       Warning fixes from Greg Harvey:
+       * unif.c (scm_array_set_x): initializer for pos
+       * throw.c (scm_ithrow): added initializer for jmpbuf (SCM_UNDEFINED)
+       * struct.c (scm_struct_ref, scm_struct_set_x): Added
+       initializers for field_type, since EGCS so desparately wants to
+       play dumb
+       * debug.h (scm_make_gloc, scm_gloc_p, scm_make_iloc, scm_memcons,
+       scm_mem_to_proc, scm_proc_to_mem, scm_debug_hang): Added prototypes
+       when GUILE_DEBUG is defined.
+       * dynwind.h (scm_wind_chain): Same.
+       * ports.h (scm_pt_size, scm_pt_member): Same.
+       * print.h (scm_current_pstate): Same.
+       * procs.h (scm_make_cclo): Same.
+
+1998-10-14  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       Handle short and long long uniform arrays properly.  (Thanks to
+       Clark McGrew.)
+       * ramap.c (scm_ra_matchp, scm_array_fill_int, scm_array_index_map_x,
+       raeql_1): Add cases for scm_tc7_svect (short vectors) and
+       scm_tc7_llvect (long long vectors).
+
+       Change the way libguile and boot-9.scm are timestamped, to try to
+       get rid of these spurious mismatch warnings.  Now both
+       libguile/versiondat.h and ice-9/version.scm are generated directly
+       by the configuration process, rather than having version.scm
+       generated directly, and libguile/versiondat.h generated by the
+       Makefile, which is generated by configure.  It seems that
+       sometimes the Makefile would change, but versiondat.h depends on
+       Makefile.in, not Makefile, so it wouldn't get rebuilt.
+       * Makefile.am (versiondat.h): Target removed; this is generated
+       directly by the configure script now.
+       (BUILT_SOURCES): Remove versiondat.h.
+       * versiondat.h.in: New file, transformed by the configure script
+       into versiondat.h.
+       * Makefile.in: Regenerated.
+
+       * (__scm.h, alist.c, eval.c, feature.c, gsubr.c, numbers.c,
+       options.c): Rename RECKLESS -> SCM_RECKLESS, CAUTIOUS ->
+       SCM_CAUTIOUS; this way, 1) there's only one version of each flag
+       to define (we used to have both RECKLESS and SCM_RECKLESS), and 2)
+       if we want to use them in a header file some day, we can.  (Thanks
+       to Michael Livshin.)
+
+       * stime.c (scm_get_internal_real_time): Do the arithmetic using
+       SCM numbers, so we won't have rollover problems; the range of a
+       signed long in milliseconds is about 25 days.  (Thanks to Karl
+       Hegbloom.)
+
+       Don't redefine sleep and usleep; fix this problem now.
+       * coop.c (sleep, usleep): Remove declarations; we don't use or
+       redefine these any more.
+       (scm_thread_usleep, scm_thread_sleep): New functions which do the
+       job of usleep and sleep in a thread-friendly way.  We can use
+       these in the rest of Guile.  Define versions for systems both with
+       and without iselect.
+       * threads.h (scm_thread_usleep, scm_thread_sleep): New declarations.
+       * scmsigs.c (usleep): Clean up oddities declaring usleep; since
+       we're just using it, not redefining it, we can use a K&R style
+       declaration here.
+       (sleep): Declare this, too, if the system hasn't.
+       (scm_sleep, scm_usleep): Use scm_thread_sleep and
+       scm_uthread_sleep if they're available; otherwise, just call the
+       system functions.
+       * scmconfig.h.in: Regenerated.
+
+       * coop.c (scm_thread_sleep): Make `slept' an unsigned long.
+
+       * coop.c (coop_sleephelp): Remove ANSI #ifdef hair.
+
+1998-10-12  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       * threads.c: Doc fix.
+
+       The argument type of usleep varies from system to system,
+       as does the return type.  We really shouldn't be redefining usleep
+       at all, but I don't have time to clean that up before the 1.3.
+       release.  It's on the schedule for afterwards.  (Thanks to Julian
+       Satchell.)
+       * coop.c (usleep): Use USLEEP_ARG_TYPE in prototype and
+       definition.
+       * scmsigs.c (usleep): Use USLEEP_ARG_TYPE in prototype.
+       * scmconfig.h: Regenerated.
+
+       * simpos.c (scm_software_type): Procedure deleted.  This isn't the
+       right way to handle system variation.  Autoconf's approach is the
+       way and the light.
+       * simpos.h (scm_software_type): Declaration deleted.
+
+       * script.c (scm_find_executable): Don't test if unix is #defined
+       here; first, NetBSD doesn't #define it, and second, it's the wrong
+       way to go about these things.  (Thanks to Perry Metzger.)
+       (dld_find_executable): Delete this MSDOS support code.  This isn't
+       the way we want to support this; it needs to be rethunk at a
+       larger scale.
+
+       * genio.c (scm_do_read_line): Don't just politely check that the
+       line was either non-empty or EOF.  Abort if it's empty and not
+       EOF.
+
+1998-10-11  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+       * scmconfig.h.in: Regenerated.
+
+       * libguile.h: Don't omit the dynamic linking functions.  (Thanks
+       to Greg Badros.)
+
+       * genio.c (scm_do_read_line): Count lines correctly when the file
+       doesn't end in a newline.
+
 1998-10-10  Jim Blandy  <jimb@zwingli.cygnus.com>
 
        * genio.c (scm_do_read_line): Maintain the line count correctly.
        * init.c (scm_load_startup_files): Prototype for new function.
        * gh_init.c (gh_enter): Doc fix.
 
-1998-10-03    <jimb@savonarola.red-bean.com>
+1998-10-03  Jim Blandy  <jimb@savonarola.red-bean.com>
 
        Some anti-warning changes from Greg Harvey.
        * gh_data.c (gh_scm2doubles): Initialize m, to avoid compiler
        own message, instead of using scm_syserror --- the getpwMUMBLE
        functions don't set `errno' to anything interesting.
 
-1998-10-03    <jimb@savonarola.red-bean.com>
+1998-10-03  Jim Blandy  <jimb@savonarola.red-bean.com>
 
        Get rid of warnings from the cooperative threading system.
        * threads.h (scm_single_thread_p, scm_yield,
        arguments to the <ctype.h> macros are all unsigned characters, not
        signed characters.
 
-1998-10-03    <jimb@savonarola.red-bean.com>
+1998-10-03  Jim Blandy  <jimb@savonarola.red-bean.com>
 
        Getting rid of more warnings...
        * iselect.c: Test for MISSING_BZERO_DECL, not DECLARE_BZERO; see
        * readline.c (scm_filename_completion_function): Use SCM_PROC to
        declare this, instead of calling scm_make_subr manually.
 
-1998-10-02    <jimb@savonarola.red-bean.com>
+1998-10-02  Jim Blandy  <jimb@savonarola.red-bean.com>
 
        * readline.h (scm_init_readline): Add prototype for this.
        (scm_init_readline): Make this a real prototype.
@@ -1635,7 +2170,7 @@ Thu Sep 11 00:59:17 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
 
 Wed Sep 10 20:52:18 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
 
-*      * eval.c (macro?, macro-type, macro-name, macro-transfomer): New
+       * eval.c (macro?, macro-type, macro-name, macro-transformer): New
        procedures;
        (prinmacro): Removed.  The code has been moved/merged into print.c
        in order to decrease code redundancy.  We want macros to print in
@@ -1647,7 +2182,7 @@ Wed Sep 10 20:52:18 1997  Mikael Djurfeldt  <mdj@mdj.nada.kth.se>
        scm_macro_transformer): New prototypes.
        (scm_tc16_macro): Declared.
 
-*      * print.c (scm_iprin1): Added code for printing of macros.  Macros
+       * print.c (scm_iprin1): Added code for printing of macros.  Macros
        are now printed in a way equivalent to procedures.
 
 Sat Sep  6 12:20:42 1997  Mikael Djurfeldt  <mdj@kenneth>