1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-04 14:20:26 +02:00
Commit graph

1988 commits

Author SHA1 Message Date
Greg J. Badros
b7ac28372c *** empty log message *** 2000-01-12 01:53:13 +00:00
Greg J. Badros
c1bfcf602b * scm_validate.h: Added SCM_NUM2LONG_DEF macro. Make
SCM_OUT_OF_RANGE use SCM_MAKINUM, not scm_long2num.  Added
SCM_COERCE_ROSTRING macro.  Added SCM_VALIDATE_NONEMPTYLIST
macro.  Fix SCM_VALIDATE_STRINGORSUBSTR macro to not use SLOPPY
variants.

* ports.c (scm_port_closed_p): Validate that the arg is a PORT,
then return whether it's an open port (was validating that it was
an open port -- this was a bug I introduced back in December, but
my careful reading of diffs caught it).

* numbers.c: Recombine the two conditional-compilation paths for
all the log* primitives -- they were split based on #ifndef
scm_long2num;  factored out a SCM_LOGOP_RETURN macro, and fixed
some bugs and inconsistencies in the two sets of implementations.
(scm_lognot) Fixed *atrocious* re-use of a SCM as an integer!

* ioext.c: Use SCM_ASSERT_RANGE in a couple places, and
SCM_VALIDATE_INUM_COPY once where it should've been used.

* fluids.c (scm_internal_with_fluids): Use
SCM_VALIDATE_LIST_COPYLEN.

* filesys.c: Use SCM_NUM2LONG instead of SCM_VALIDATE_INUM_COPY;
this is questionable as it relaxes type safety, but other changes
were useful and all SCM_NUM2LONG's should probably be
revisited. Use SCM_OUT_OF_RANGE, SCM_WRONG_TYPE_ARG.

* evalext.c: line-break change on 1 line.

* eval.c (nconc2last): Takes a non-empty list as its first
argument, not just a list.

* dynl.c: Use new SCM_COERCE_ROSTRING macro.
2000-01-12 01:51:18 +00:00
Mikael Djurfeldt
d61f6b0288 *** empty log message *** 2000-01-12 01:29:50 +00:00
Mikael Djurfeldt
fd61ba9ee2 * snarf.h (SCM_PROC1): Replaced SCM (*) (...) with
SCM_FUNC_CAST_ARBITRARY_ARGS.
2000-01-12 01:29:42 +00:00
Greg J. Badros
5d2d2ffca7 * dynl.c, feature.c, filesys.c, fports.c, list.c, load.c,
net_db.c, sort.c, stacks.c, unif.c: Use SCM_WTA, SCM_MISC_ERROR
where possible.

* symbols.c (scm_sysintern0): Fixed the function name in a
scm_misc_error invocation.

* print.c (scm_simple_format): Do not need SCM_COERCE_SUBSTR, and
use scm_return_first to ward off latent GC bug that Mikael caught.

* async.c: Use SCM_VALIDATE_ASYNC_COPY one place where it wasn't
used before but should've been.
2000-01-11 23:56:47 +00:00
Greg J. Badros
88423ab1ab *** empty log message *** 2000-01-11 21:50:28 +00:00
Greg J. Badros
0f981281fd * guile-func-name-check.in: Added this script to statically check
#define FUNC_NAME, #undef FUNC_NAME in the source.

* sort.c, posix.c: Fix #undef FUNC_NAME lines to not have trailing
redundant comment, semicolon; caught by new guile-func-name-check
script.

* debug.c: Fix mistaken #define FUNC_NAME for scm_make_iloc.
Caught by new guile-func-name-check-script.

* Makefile.am: Added guile-func-name-check to bin_SCRIPTS

* ramap.c: Fix #if 0'd out code to be syntactically acceptable to
guile-func-name-check.

* guile-doc-snarf.in: Run guile-func-name-check on the file before
doing the snarf.
2000-01-11 21:47:57 +00:00
Greg J. Badros
7f15e6359b *** empty log message *** 2000-01-11 19:33:39 +00:00
Greg J. Badros
8aa011a12c * fports.c, ports.c, ports.h, strports.c, vports.c: Make write
port function take const void*, not void*.
2000-01-11 19:32:10 +00:00
Greg J. Badros
bf121b5955 *** empty log message *** 2000-01-11 19:20:17 +00:00
Greg J. Badros
9a8351bc15 * scm_validate.h, chars.c, ports.c, print.c, read.c, strings.c,
strop.c: Use SCM_VALIDATE_ICHR, SCM_VALIDATE_ICHR_COPY instead of
SCM_VALIDATE_CHAR, SCM_VALIDATE_CHAR_COPY.  Change made for
consistency with the other macros dealing with immediate
characters.  (Similar to INT -> INUM change a week or so ago).
2000-01-11 19:19:59 +00:00
Greg J. Badros
7965d98fd6 *** empty log message *** 2000-01-11 18:52:55 +00:00
Greg J. Badros
70d6375376 * dynl.c, error.c, eval.c, feature.c, filesys.c, fports.c, list.c, load.c,
net_db.c, read.c, socket.c: Update error messages to use ~A for
%s, ~S for %S to work with new `simple-format' format and be
standardized better.

* print.h, print.c (scm_simple_format): Added `simple-format'
primitive.  It's the old scm_display_error, with ARGS now a rest
parameter, and the destination first instead of last (and a couple
new capabilities inspired by `format' -- #t as destination means
current-output-port, #f means return the formatted text as a
string.

* gh.h, gh_data.c, ports.h, ports.c: Added some missing const specifications.

* backtrace.c (scm_display_error_message): Rewrote to use
scm_simple_format() procedure.

* __scm.h: Added commented-out #define of GUILE_DEBUG_FREELIST
2000-01-11 18:48:57 +00:00
Marius Vollmer
3370bcf262 * dynl-dl.c, dynl-dld.c, dynl-shl.c, dynl-vms.c: deleted
(obsolete)
2000-01-10 00:48:00 +00:00
Marius Vollmer
6faea98919 * DYNAMIC-LINKING: Removed because it is obsolete. 2000-01-10 00:47:17 +00:00
Marius Vollmer
f73d2411a5 *** empty log message *** 2000-01-10 00:38:02 +00:00
Marius Vollmer
4ed6bae2fc * guile.c: register preloaded modules 2000-01-10 00:37:47 +00:00
Marius Vollmer
4feb69af5a * dynl.c: Use ANSI prototypes.
(sysdep_dynl_link): Use lt_dlopenext instead of lt_dlopen.
* dynl.c: use libltdl if DYNAMIC_LINKING is enabled,
2000-01-10 00:36:26 +00:00
Marius Vollmer
6165ede38b * dynl-dl.c, dynl-dld.c, dynl-shl.c, dynl-vms.c: deleted
(obsolete)
* Makefile.am: likewise, add INCLTDL (libltdl headers) to
INCLUDES, set dlpreopened files in LDFLAGS, link libguile
against libltdl
* DYNAMIC-LINKING: Removed because it is obsolete.
2000-01-10 00:35:30 +00:00
Gary Houston
38c1d3c4d5 * configure.in: check whether localtime caches TZ. copied from
Emacs 20.5.
	* acconfig.h: add LOCALTIME_CACHE.

	* These changes should make it unnecessary to call tzset from
	Scheme after modifying the TZ environment variable, even if the
	system date facilities cache the value.
	* stime.c (setzone, scm_localtime): added comments.
	(tzset): don't define a noop tzset macro if HAVE_TZSET not defined.
	(setzone): don't call tzset.
	(restorezone): call tzset only if HAVE_TZSET is defined.
	(scm_tzset): don't define if HAVE_TZSET not defined.  Change the
	doc string to indicate that this procedure isn't likely to do
	anything useful.
	(scm_localtime, scm_strftime, scm_mktime): call tzset if
	LOCALTIME_CACHE is defined.
2000-01-09 20:50:03 +00:00
Mikael Djurfeldt
9359d6578a *** empty log message *** 2000-01-09 16:09:22 +00:00
Mikael Djurfeldt
127ec750f7 * posix.c (scm_sync): Return SCM_UNSPECIFIED. 2000-01-09 16:09:15 +00:00
Gary Houston
f25f761dac * eval.c: define scm_unbound_variable_key ('unbound-variable).
scm_lookupcar1: throw an error with key 'unbound-variable instead
	of 'misc-error when an unbound variable is encountered.

	* filesys.c (scm_mkdir, scm_rmdir, scm_getcwd, scm_select,
	scm_symlink, scm_readlink, scm_lstat),
	posix.c (scm_setpgid, scm_setsid, scm_ctermid, scm_tcgetpgrp,
	scm_tcsetpgrp, scm_uname, scm_setlocale, scm_mknod, scm_nice,
	scm_sync),
	simpos.c (scm_system),
	stime.c (scm_times, scm_strptime):
	move the HAVE_XXX feature tests out of the procedure bodies.
	don't use SCM_SYSMISSING.
	scm_validate.h (SCM_SYSMISSING): removed.
	error.h, error.c (scm_sysmissing): comment that this is deprecated.
	see ChangeLog entry for 1999-12-28.
2000-01-09 13:41:53 +00:00
Greg J. Badros
a4dd2611b1 *** empty log message *** 2000-01-09 03:52:36 +00:00
Greg J. Badros
0274863396 * scm_validate.h (SCM_VALIDATE_BOOL_COPY): Fix typo. 2000-01-09 03:52:29 +00:00
Greg J. Badros
2fdcf8bdf0 * backtrace.c: Fix spelling typo in a comment.
* snarf.h: Use new SCM_DOCS macro to encapsulate the non SCM_INIT
text.  Reformatted some of the expansions.
2000-01-09 01:07:17 +00:00
Mikael Djurfeldt
2de257bd05 Cosmetic fixes 2000-01-08 01:09:11 +00:00
Greg J. Badros
5ac3645178 *** empty log message *** 2000-01-07 23:54:40 +00:00
Greg J. Badros
1e76143f0f * scm_validate.h (SCM_OUT_OF_RANGE): Use scm_out_of_range_pos to
report the position of the argument.

* error.h, error.c (scm_out_of_range_pos):  Added this function to
take extra "pos" argument, the position number of the errant
argument.

* debug.c: Use SCM_OUT_OF_RANGE instead of scm_out_of_range.

* snarf.h: Use SCM_HERE and SCM_INIT as names, not SCM_NOTSNARF
and SCM_SNARFING.  Also put the %%% in the SCM_INIT since Mikael
prefers that and I'm reasonably indifferent.
2000-01-07 23:53:20 +00:00
Mikael Djurfeldt
73d8385e9f * snarf.h (SCM_INSITU, SCM_INIT): Resurrected. 2000-01-07 23:33:29 +00:00
Greg J. Badros
4b4d0898a6 * snarf.h: Factor out differences between C++ and non-C++ into
SCM_FUNC_CAST_ARBITRARY_ARGS macro.  Modify all the snarf macro
definitions to use SCM_NOTSNARF and SCM_SNARFING macros (like
Mikael's macros, below, but changed names and SCM_SNARFING no
longer expands to include %%% -- that must appear in the argument
so that the token appears at the call-site as a reminder).
2000-01-07 23:05:04 +00:00
Mikael Djurfeldt
03ec84b88b Added extra newline in SCM_INIT macro. 2000-01-07 00:51:16 +00:00
Mikael Djurfeldt
088bb1d4c1 *** empty log message *** 2000-01-07 00:29:39 +00:00
Mikael Djurfeldt
bfe19b466f * snarf.h (SCM_INSITU, SCM_INIT): New snarf macros for use in user
snarf macro definitions.
2000-01-07 00:29:28 +00:00
Mikael Djurfeldt
636480e686 *** empty log message *** 2000-01-06 22:13:34 +00:00
Mikael Djurfeldt
90e49489b2 * chars.c (scm_integer_to_char): Use Greg's nice
SCM_VALIDATE_INUM_RANGE macro for argument checking for closer
adherence to R5RS.
2000-01-06 22:13:25 +00:00
Greg J. Badros
7c5628e2a8 *** empty log message *** 2000-01-06 19:52:01 +00:00
Greg J. Badros
c3ee75204c * *.c, snarf.h: Replace GUILE_PROC1 with SCM_DEFINE1 throughout. 2000-01-06 19:51:45 +00:00
Greg J. Badros
2cc0f8cb17 *** empty log message *** 2000-01-06 19:23:55 +00:00
Greg J. Badros
abc049a9b9 * Makefile.am (ETAGS_ARGS): Switch to SCM_DEFINE, SCM_DEFINE1
instead of GUILE_PROC.
2000-01-06 19:23:40 +00:00
Greg J. Badros
7e9f965801 * alist.c: Do not report mismatch errors on some uses of `tmp' (do
this by using SCM_ARG2 instead of `2' in the SCM_VALIDATE_CONS
macro call.
2000-01-06 19:22:43 +00:00
Greg J. Badros
9179dcdd2e *** empty log message *** 2000-01-06 18:16:44 +00:00
Greg J. Badros
921a7441d4 scm_validate.h: Remove some redundant NIMP tests. 2000-01-06 18:04:14 +00:00
Greg J. Badros
bc00b4625c scm_validate.h: Remove some redundant NIMP tests. 2000-01-06 18:02:16 +00:00
Greg J. Badros
e1385ffcd6 * alist.c: minimize scope of the tmp variables, and initialize
them when declared. The strange SCM_NIMP tests are replaced by
SCM_CONSP tests that more closely reflect the intended semantics.
However, we don't get a performance penalty here, because the
SCM_CONSP test was performed by the ALISTCELL test anyway.  * The
extremely ugly use of ASRTGO macros was removed: The calls to
ASRTGO were not encapsulated by "#ifndef SCM_RECKLESS", but got a
label parameter that only exists when SCM_RECKLESS is not defined.
This works, because ASRTGO itself is defined in a way that it only
makes use of the label parameter if SCM_RECKLESS is not defined
(shudder!).  Does guile make at all use of the possibility to
define SCM_RECKLESS?  * Codesize is likely to be reduced, since
instead of two calls to SCM_ASSERT performed by the ALISTCELL test
we now only get one test.

* list.c: Use SCM_NNULLP, not SCM_NIMP as appropriate.  Also use
SCM_NULLP instead of SCM_IMP.  Drop use of "register" keyword on
some variables in `list?'.  Fix `reverse' and `reverse!'
primitives to handle improper lists better.
2000-01-06 18:00:33 +00:00
Greg J. Badros
15b3328066 *** empty log message *** 2000-01-06 16:44:56 +00:00
Greg J. Badros
3b3b36ddb7 * *.[ch]: Whitespace changes -- added space after SCM_VALIDATE_*
macros and SCM_DEFINE macros to match GNU coding standards.
2000-01-05 19:25:37 +00:00
Greg J. Badros
ca8cd13072 *** empty log message *** 2000-01-05 19:12:12 +00:00
Greg J. Badros
a1ec69163d *.[ch]: Replace GUILE_PROC w/ SCM_DEFINE. 2000-01-05 19:05:23 +00:00
Greg J. Badros
fb76446506 *** empty log message *** 2000-01-05 19:00:31 +00:00