X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/0573ddaea37945932adbf1df1e6ad9544a0342ea..62b82274396c7147fded4138638727b4b838bec1:/libguile/ChangeLog diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 03f0be3c8..9a567e900 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,372 @@ +Sun Dec 12 19:39:00 1999 Greg J. Badros + + * Makefile.am: Fix ETAGS_ARGS to recognize GUILE_PROC, + GUILE_PROC1. Build guile-procedures.txt, and add that file to + pkgdata_DATA. + + * load.c: Added `pkgdata-dir', `site-dir', `library-dir' + primitives. + + * guile-doc-snarf.awk: Drop trailing space when no arguments: + e.g., "(foo )" is now "(foo)". + + * *.c, alist.c: moved all the documentation for primitives from + guile-doc/ref/{appendices,posix,scheme}.texi into the source code. + This leaves about half of the primitives undocumented. Also, all + the markup is currently still texinfo. I don't have a problem + with texinfo per se, but the markup is not very descriptive or + accurate. + +Sun Dec 12 16:50:26 1999 Greg J. Badros + + * scm_validate.h: Drop the SCM_DOCSTRING_SNARF for turning off + SCM_VALIDATE macros; the SCM_VALIDATE macros should be checked for + argument mismatches (along with the FUNC_NAME macro checking) by a + static tool that runs directly over the .c files. + + * snarf.h: Handle SCM_REGISTER_PROC better when snarfing. The + docstring is still missing from the .doc file; it just gives the + name of the C function that gets called instead. + + * guile-doc-snarf.awk: Be sure to touch the output files to help + make out. Also handle SCM_REGISTER_PROC better, and change the + output format slightly. + +Sun Dec 12 15:33:40 1999 Greg J. Badros + + * snarf.h: Drop SCM_PROC, SCM_PROC1. Added extra output for + guile-doc-snarf script. + + * guile-doc-snarf.in, guile-doc-snarf.awk: New, simple doc + extraction system. Builds foo.x, foo.doc from foo.{c,cc}. + There are dependencies between these files and snarf.h. This + replaces guile-snarf. + + * guile-snarf.in: Drop everything after $$$ for the new snarf.h + macros. This is obsoleted by guile-doc-snarf, but kept here for + now for good measure. + + * Makefile.am: Added guile-doc-snarf, guile-doc-snarf.awk to + bin_SCRIPTS. Added .doc to SUFFIXES, and give rule for creating + .doc files to use guile-doc-snarf. Update the rule for creating + .x files to use guile-doc-snarf. + +Sun Dec 12 12:31:38 1999 Greg J. Badros + + * *.c: Finish replacing K&R style prototypes with ANSI C + prototypes. + + * eval.c: Make scm_m_mody's 3rd argument be a const char *, not a + char *. ANSI prototypes caught this. + + * strorder.c: Use GUILE_PROC1 for the couple SCM_PROC1 expansions + that I missed. + + * scm_validate.h: Use SCM_BOOLP for validating bools. Do not + expand macros if SCM_DOCSTRING_SNARF. + +Sun Dec 12 11:23:22 1999 Greg J. Badros + + * *.c, srcprop.h: Use SCM_BOOL(f) instead of (f? SCM_BOOL_T: + SCM_BOOL_F) and use SCM_NEGATE_BOOL(f) instead of (f? SCM_BOOL_F: + SCM_BOOL_T). + +Sun Dec 12 11:08:51 1999 Greg J. Badros + + * boolean.h: Added SCM_BOOL, SCM_NEGATE_BOOL, SCM_BOOLP to here, + from scm_validate.h. + + * scm_validate.h: Moved above out into boolean.h, fix typo in + SCM_VALIDATE_NIM macro. + +Sun Dec 12 10:29:12 1999 Greg J. Badros + + * *.c, scm_validate.h: Use SCM_VALIDATE_NIM, not SCM_VALIDATE_NIMP + (none of the other validate macros have the trailing P). + +Sun Dec 12 10:07:29 1999 Greg J. Badros + + * scm_validate.h: Added the FSF copyright to the top. + + * strings.c: Use SCM_ASSERT_RANGE in a couple of places instead of + SCM_ASSERT w/ SCM_OUT_OF_RANGE. + +Sat Dec 11 18:34:12 1999 Greg J. Badros + + * Makefile.am: Added scm_validate.h to modinclude_HEADERS. + + * *.c: Pervasive software-engineering-motivated rewrite of + function headers and argument checking. Switched SCM_PROC, + SCM_PROC1 macros to be GUILE_PROC, GUILE_PROC1 (may change names + later, but was useful to keep old versions around while migrate) + that has docstrings and argument lists embedded in the GUILE_PROC + macro invocations that expand into a function header. Use lots of + new SCM_VALIDATE_* macros to simplify error checking and reduce + tons of redundancy. This is very similar to what I did for Scwm. + + Note that none of the extraction of the docstrings, nor software + engineering checks of Scwm is yet added to Guile. I'll work on + that tomorrow, I expect. + + * chars.c: Added docstrings for the primitives defined in here. + + * snarf.h: Added GUILE_PROC, GUILE_PROC1. Added + SCM_REGISTER_PROC to be like old SCM_PROC, though old SCM_PROC + still remains for now. Changed naming convention for the s_foo + string name of the primitive to be s_scm_foo for ease of use with + the macro. + + * scm_validate.h: Lots of new SCM_VALIDATE macros to simplify + argument checking through guile. Maybe some of these should be + folded into the header file for the types they check, but for now + it was easiest to just stick them all in one place. + +1999-12-10 Greg Harvey (applied --12/10/99 gjb) + + * smob.c (scm_smob_prehistory): initialize allocated smob + + * tags.h: new tag: scm_tc16_allocated + + * gc.c (scm_gc_for_newcell): set the car of the new cell + to scm_tc16_allocated + * pairs.h (SCM_NEWCELL): set the car to scm_tc16_allocated + (scm_gc_mark): mark allocated cells. + +1999-12-09 Greg J. Badros + + * strports.h, strports.c (scm_eval_0str): Fix constness. Some + thanks to Dirk Hermann. + + * gh_eval.c (gh_eval_str, gh_eval_file, gh_eval_str_with_catch, + gh_eval_str_with_standard_handler, + gh_eval_str_with_stack_saving_handler): Fix constness. Some + thanks to Dirk Hermann. + + * gh_data.c (gh_str02scm): Fix constness. + + * gh.h: Fix constness of prototypes for the above. + + * vectors.c: Include "unif.h" to avoid a warning about missing + prototype for scm_uniform_element_size(). + +1999-12-09 Mikael Djurfeldt + + * vectors.c (scm_vector_length, scm_vector_ref, scm_vector_set_x): + Turned into primitive generics. + +1999-12-04 Gary Houston + + * ports.c (scm_port_closed_p): new procedure, implements + "port-closed?" suggested by Bernard Urban. + ports.h: added prototype, removed the SCM_P macros. + +1999-11-30 Gary Houston + + * unif.h: added some comments, removed the SCM_P macros. + +1999-11-29 Gary Houston + + * vports.c (sf_write): use scm_makfromstr, not scm_makfrom0str + (thanks to Daniel Skarda). + +1999-11-22 Jim Blandy + + * gscm.c, gscm.h: Deleted. They were unused. + +1999-11-20 Gary Houston + + * unif.c (scm_list_to_uniform_array): call + scm_dimensions_to_uniform_array with a third argument of + SCM_UNDEFINED instead of SCM_EOL. + +1999-11-19 Gary Houston + + * the following changes allow guile to be built with the array + "module" omitted. some of this stuff is just tc7 type support, + which wouldn't be needed if uniform array types were converted + to smobs. + + * tag.c (scm_utag_bvect ... scm_utag_cvect): don't define unless + HAVE_ARRAYS. + (scm_tag): don't check array types unless HAVE_ARRAYS. + + * sort.c (scm_restricted_vector_sort_x, scm_sorted_p): + remove the unused array types. + * (scm_stable_sort, scm_sort): don't support vectors if not + HAVE_ARRAYS. a bit excessive. + + * random.c (vector_scale, vector_sum_squares, + scm_random_solid_sphere_x, scm_random_hollow_sphere_x, + scm_random_normal_vector_x): don't define unless HAVE_ARRAYS. + + * gh_data.c (makvect, gh_chars2byvect, gh_shorts2svect, + gh_longs2ivect, gh_ulongs2uvect, gh_floats2fvect, gh_doubles2dvect, + gh_uniform_vector_length, gh_uniform_vector_ref): + don't define unless HAVE_ARRAYS. + (gh_scm2chars, gh_scm2shorts, gh_scm2longs, gh_scm2floats, + gh_scm2doubles): + don't check vector types if not HAVE_ARRAYS. + + * eq.c (scm_equal_p), eval.c (SCM_CEVAL), print.c (scm_iprin1), + gc.c (scm_gc_mark, scm_gc_sweep), objects.c (scm_class_of): + don't support the array types unless HAVE_ARRAYS is defined. + + * tags.h: make nine tc7 types conditional on HAVE_ARRAYS. + + * read.c (scm_lreadr): don't check for #* unless HAVE_ARRAYS is + defined (this should use read-hash-extend). + + * ramap.c, unif.c: don't check whether ARRAYS is defined. + + * vectors.c (scm_vector_set_length_x): moved here from unif.c. call + scm_uniform_element_size if HAVE_ARRAYS. + vectors.h: prototype too. + + * unif.c (scm_uniform_element_size): new procedure. + + * init.c (scm_boot_guile_1): don't call scm_init_ramap or + scm_init_unif unless HAVE_ARRAYS is defined. + + * __scm.h: don't define ARRAYS. + + * Makefile.am (EXTRA_libguile_la_SOURCES): unif.c and ramap.c + moved here from libguile_la_SOURCES. + +1999-11-18 Gary Houston + + * socket.c (scm_htons, scm_ntohs, scm_htonl, scm_ntohl): new + functions for network data conversion. + + * numbers.c (scm_num2long, scm_num2longlong): + throw out-of-range instead of wrong-type-arg if appropriate. + (scm_iint2str): handle -2^31 correctly. + (scm_num2long): handle -2^31 bignum correctly. + (scm_num2long_long): rewrite the bigdig case: basically copied + from scm_num2long. + numbers.h: (SCM_BITSPERLONGLONG): deleted. + + * unif.c (rapr1): use sprintf instead of intprint for unsigned + longs: intprint can't cope with large values. + + * numbers.c (scm_num2ulong): check more consistently that the + input is not negative. if it is, throw out-of-range instead of + wrong-type-arg. + + * ramap.c (scm_array_fill_int): don't limit fill to INUM for + uvect, ivect or llvect. + Check that fill doesn't overflow short uniform array. + + * __scm.h: add another long to the definition of long_long and + ulong_long. + + * unif.c (scm_raprin1): use 'l' instead of "long_long" in the + print representation of llvect. read can't handle more than + one character. + (scm_dimensions_to_uniform_array): make "fill" an optional argument + instead of a rest argument. + + * tags.h (scm_tc7_llvect): wasn't defined anywhere, so use the free + tag 29 for now. + + * __scm.h: don't mention LONGLONGS. + + * unif.c, numbers.c, eq.c, gc.c, print.c, eval.c, ramap.c: + replace LONGLONGS with HAVE_LONG_LONGS as set by configure. + +1999-11-17 Gary Houston + + * net_db.c (scm_inet_aton): throw errors using the misc-error key + instead of system-error. inet_aton doesn't set errno. + system-error isn't right in gethost either, since it's throwing + the value of h_errno instead of errno. so: + (scm_host_not_found_key, scm_try_again_key, + scm_no_recovery_key, scm_no_data_key): new error keys. + (scm_resolv_error): new procedure, use the new keys. + (scm_gethost): call scm_resolv_error not scm_syserror_msg. + +1999-11-16 Gary Houston + + * error.c: (various): use scm_cons instead of scm_listify + to build short lists. + +1999-11-03 Gary Houston + + * socket.c (scm_fill_sockaddr): zero the address structure before + use, in case it has a sin_len field and the OS doesn't like random + values (thanks to Bertrand Petit). + +1999-10-26 Mark Galassi + + * gh.h, gh_data.c (gh_symbol2scm): changed gh_symbol2scm() to take + a const char * argument, upon suggestion from Lynn Winebarger. + +1999-10-26 Gary Houston + + * strports.c (st_end_input): avoid dubious pointer arithmetic. + +1999-10-24 Gary Houston + + * Move the responsibility for resetting port buffers from the + caller of the ptob seek procedure to the implementation. This + gives more control in general to the ptob seek: in particular the + change of 1999-10-20 can be made to work without breaking seek on + string ports. There's a comment in NEWS about upgrading port + types. + + * ports.c (scm_seek): don't reset the port buffers here. + + * fports.c (fport_seek): reset the buffers, except for the + 0 SEEK_CUR case. + + * strports.c (st_end_input): (bug fix): decrement pt->read_pos by + offset. check that it's not less than read_buf. + (st_seek): reset the buffers first, unless it's the 0 SEEK_CUR + case and currently reading. + +1999-10-20 Gary Houston + + * ports.c (scm_seek): Add a special case for SEEK_CUR, offset 0, + so that unread chars are not needlessly discarded. (thanks to + Roland Orre). + +1999-10-18 Gary Houston + + * fports.c (scm_fdes_to_port): always set rw_random if the fdes is + random access. rw_active needs to be maintained even for single + directional ports, otherwise scm_seek and probably other things are + broken. (thanks to Roland Orre). + + * strports.c (scm_mkstrport): set rw_random to 1 unconditionally. + + * ports.c (scm_add_to_port_table): initialise rw_random to 0. + + * ports.h (scm_port): change the comments on rw_random and rw_active. + +1999-10-11 Mikael Djurfeldt + + * ioext.c: Added #include "feature.h". + + These changes turns `delay' into a memoizing macro. This is + because it may be expanded before evaluation if it occurs at the + beginning of a body. (Thanks to Lauri Alanko.) + + * eval.c, eval.h (scm_sym_delay): New global symbol. + + * tags.h (SCM_IM_DELAY): New immediate symbol. + + * print.c (scm_isymnames): Printed representation. + + * eval.c (unmemocopy, SCM_CEVAL): Handle SCM_IM_DELAY. + (scm_m_delay): Turned into a memoizing macro. + + * Makefile.am (libguile_la_LDFLAGS): Bumped libguile version. + +1999-10-11 Jim Blandy + + * gh_data.c (gh_ints2scm, gh_doubles2scm): Make sure elements are + protected from GC while building the vector. (Thanks to Bernard + Urban and Greg Harvey.) + 1999-10-08 Mikael Djurfeldt * throw.c (handler_message): Display backtrace if backtraces