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

3453 commits

Author SHA1 Message Date
Marius Vollmer
d678e25cf9 (SCM_GC_SET_ALLOCATED, scm_debug_newcell,
scm_debug_newcell2, scm_tc16_allocated): Removed from header.
(scm_deprecated_newcell, scm_deprecated_newcell2): New.
(SCM_NEWCELL, SCM_NEWCELL2): Implement in terms of
scm_deprecated_newcell and scm_deprecated_newcell2.

gc.c (scm_tc16_allocated): Only define when including deprecated
features.
(scm_debug_newcell, scm_debug_newcell2): Removed.
(scm_init_storage): Do not initialize scm_tc16_allocated.
(scm_init_gc): Do it here.
(allocated_mark): New, from old code.
(scm_deprecated_newcell, scm_deprecated_newcell2): New.
2001-11-25 15:00:31 +00:00
Marius Vollmer
9b7ee9d8a7 * inline.c, inline.h: New files.
* Makefile.am: Added them in all the right places.
2001-11-25 14:53:00 +00:00
Marius Vollmer
16ea96206d New files. 2001-11-25 14:45:17 +00:00
Marius Vollmer
d2bc7faea7 *** empty log message *** 2001-11-23 21:40:39 +00:00
Marius Vollmer
b64f4200f4 (scm_c_use_module): Adapt to changes to `process-use-modules'. 2001-11-23 21:38:33 +00:00
Dirk Herrmann
5eec27e9c5 * numbers.c (scm_divide): Fix more division by zero errors. 2001-11-22 21:30:24 +00:00
Gary Houston
8978878fd8 * Makefile.am (OMIT_DEPENDENCIES): removed, since it seems to be
obsolete.  autogen.sh says:
	invalid unused variable name: `OMIT_DEPENDENCIES'
2001-11-21 23:35:15 +00:00
Dirk Herrmann
164826d3ae * numbers.c (scm_divide): Fix (/ 0). Thanks to Keith Wright for
reporting the bug.
2001-11-21 23:23:53 +00:00
Marius Vollmer
84aff7a7f2 *** empty log message *** 2001-11-21 20:22:01 +00:00
Marius Vollmer
b27b814d4c (install-exec-hook): Prepend $(DESTDIR) to filename. Thanks to Eric
Gillespie, Jr!
2001-11-21 20:21:39 +00:00
Stefan Jahn
6063dc1ddd 2001-11-21 Stefan Jahn <stefan@lkcc.org>
* win32-socket.c (getservent, setservent, endservent,
        getprotoent, setprotoent, endprotoent): New functions.
        Appropriate replacements for M$-Windows.

        * numbers.c (SIZE_MAX, PTRDIFF_MAX, PTRDIFF_MIN): Reintroduced
        these definitions for GUILE_DEBUG.

        * net_db.c: Include "win32-socket.h" if compiling with a native
        M$-Windows compiler.  Include some pieces of code (protoent and
        servent interface) protected by HAVE_* macros when using a
        native M$-Windows compiler.
2001-11-21 07:59:53 +00:00
Marius Vollmer
351982f656 *** empty log message *** 2001-11-20 22:45:37 +00:00
Marius Vollmer
eb880cef29 (scm_c_export): Do nothing when the first argument is
already the terminating NULL.  Thanks to Han-Wen Nienhuys!
2001-11-20 22:45:24 +00:00
Thien-Thi Nguyen
849038b542 *** empty log message *** 2001-11-20 10:54:56 +00:00
Thien-Thi Nguyen
54f16aecf9 (libpath.h): In SCM_BUILD_INFO, also include `buildstamp'. 2001-11-20 10:53:19 +00:00
Rob Browning
6acaff8204 * version.h.in
(SCM_MAJOR_VERSION): renamed from SCM_GUILE_MAJOR_VERSION.
(SCM_MINOR_VERSION): renamed from SCM_GUILE_MINOR_VERSION.
(SCM_MICRO_VERSION): renamed from SCM_GUILE_MICRO_VERSION.
2001-11-18 23:04:32 +00:00
Rob Browning
76f33258bb * version.c
(s_scm_major_version): use SCM_MAJOR_VERSION.
(s_scm_minor_version): use SCM_MINOR_VERSION.
(s_scm_micro_version): use SCM_MICRO_VERSION.
(s_scm_version): use SCM_MAJOR_VERSION, SCM_MINOR_VERSION, and
SCM_MICRO_VERSION.
2001-11-18 23:04:10 +00:00
Rob Browning
5c790b44f8 *** empty log message *** 2001-11-18 23:03:10 +00:00
Neil Jerram
694a9bb34e * Updates for string- and vector-move-right/left! docstrings.
* Update Tcl war URLs.
2001-11-18 22:10:41 +00:00
Dirk Herrmann
3096b33f0d * Oops, this belongs to the previous ChangeLog entry... 2001-11-17 12:16:05 +00:00
Dirk Herrmann
302c12b4b7 * eval.c: Removed bogus comment about acros.
(scm_unmemocar):  Use !SCM_CONSP instead of SCM_IMP.
Minimize scope of local variable.  Eliminate dependency on
macro DEBUG_EXTENSIONS.

(s_splicing):  New error message string.

(scm_m_body):  Issue 'bad body' message rather than 'missing
expression' message.

(scm_m_quote):  Eliminate unnecessary copying.

(scm_m_lambda, scm_m_letstar, scm_m_letrec, scm_m_let):  Leave the
checking of the body to scm_m_body.

(scm_m_do):  Move comment to function header.  Rename arg1 to
binding.  Made the code a bit easier to read.

(evalcar):  Removed.

(iqq):  Added a comment.  Changed the depth parameter to
unsigned.  Use size_t for vector lengths.  Make sure vector object
is gc protected as long as its contents are read.  Add some syntax
checks.  Get rid of unnecessary SCM_IMP test.  Clean up the
control structure a bit.

(scm_m_delay):  Added comment about the implementation of
scm_m_delay.

(scm_m_define):  Add comment about guile's currying define
syntax.  Renamed 'proc' to 'name'.  Eliminate dependency on macro
DEBUG_EXTENSIONS.  Simplified code a bit.  Eliminate SICP code.

(scm_m_letrec1):  Removed.  Part of the functionality is taken
over by the new function 'transform_bindings'.

(transform_bindings):  New function.  Takes over some of the
functionality of removed function 'scm_m_letrec1', namely to split
a list of bindings into a reversed list of variables and a list of
initializers.

(scm_m_letrec):  Call 'transform_bindings'.

(scm_m_let):  Minimized scope of local variables.  Renamed 'proc'
to 'temp' and 'arg1' to 'binding'.  Eliminated redundant SCM_NIMP
test.  Use 'transform_bindings'.  Fixed scoping error with named
let (Thanks to Aubrey Jaffer for reporting the bug and to Neil
Jerram for suggesting the fix).  Cleaned up the control structure
a bit.

(scm_m_expand_body):  Use 'transform_bindings'.  Eliminated
unnecessary consing.  Eliminated unnecessary
SCM_DEFER/ALLOW_INTS.

(SCM_CEVAL):  Un-obfuscated some loops.
2001-11-17 11:43:28 +00:00
Neil Jerram
8f85c0c6c3 * Adding C function declarations from the SCM interface to the
reference manual documentation.
2001-11-16 15:04:17 +00:00
Neil Jerram
cecb4a5e9d * These changes add a @deffnx C function declaration and function
index entries for each Guile primitive to the copy of the doc
  snarf output that is used for reference manual synchronization.
  Online help is unchanged.
2001-11-16 09:55:54 +00:00
Dirk Herrmann
ddea3325eb * eval.c (RETURN): Wrap in do{}while(0) in order to make it
safely usable as a single statement followed by a ';', for example
in an if statement.

(SCM_CEVAL, SCM_APPLY):  Clean up code using 'RETURN'.
2001-11-15 17:19:53 +00:00
Neil Jerram
72dd0a03e0 * Miscellaneous small doc updates and fixes. 2001-11-13 23:44:29 +00:00
Marius Vollmer
409b85880d *** empty log message *** 2001-11-13 22:17:08 +00:00
Marius Vollmer
e713cd28c8 (scm_c_export): Call va_end after collecting the symbols. 2001-11-13 22:15:42 +00:00
Marius Vollmer
adb8c0f235 *** empty log message *** 2001-11-13 15:46:56 +00:00
Marius Vollmer
0534158ad0 (scm_substring_move_left_x, scm_substring_move_right_x): Removed. 2001-11-13 15:46:29 +00:00
Marius Vollmer
6558eda6e7 *** empty log message *** 2001-11-13 14:29:02 +00:00
Marius Vollmer
cd99053982 (HAVE_UINTPTR_T, HAVE_PTRDIFF_T, HAVE_LONG_LONG, HAVE_LONG_LONGS):
Define to "1" when defining them, to mirror what configure does.
2001-11-13 14:28:42 +00:00
Marius Vollmer
5d8fc6409a *** empty log message *** 2001-11-12 01:14:26 +00:00
Marius Vollmer
08ae876872 (SIZEOF_SCM_T_BITS): Define it appropriately. 2001-11-12 01:13:00 +00:00
Marius Vollmer
3d2e8ceb97 * numbers.c: Document macros to define when including
num2integral.i.c.  MAX_VALUE and MIN_VALU are no longer used, we
now rely on SIZEOF_ macros that have been figured out at
configure time.

* num2integral.i.c: Adapt to new interface.
(NUM2INTEGRAL): Test whether a fixnum can be represented in the
target type by casting it and checking whether it is still the
same.  Do not try to handle bignums for integral types that are
smaller than fixnums.  When handling bignums, collect the
magnituse first into a unsigned type, and correctly check for
overflow.
(INTEGRAL2BIG): Do not use MIN_VALUE explicitely by observing that
only -MIN_VALUE can still be negative of all negative numbers (in
twos-complement).
2001-11-12 01:12:37 +00:00
Marius Vollmer
fdf773fa8f Define HAVE_UINTPTR_T, HAVE_PTRDIFF_T and HAVE_LONG_LONG depending on
whether their size is non-zero.
2001-11-12 01:00:40 +00:00
Thien-Thi Nguyen
d6b8cf1192 *** empty log message *** 2001-11-11 20:51:44 +00:00
Thien-Thi Nguyen
9c4c86c623 (scm_string_null_p): Docfix; nfc. 2001-11-11 20:49:24 +00:00
Neil Jerram
9401323e63 * Documentation work. 2001-11-11 15:01:52 +00:00
Stefan Jahn
b4e15479e9 2001-11-07 Stefan Jahn <stefan@lkcc.org>
* configure.in: Include `win32-socket.o' in the list of object
        files if networking is enabled on Win32.

2001-11-07  Stefan Jahn  <stefan@lkcc.org>

        * win32-socket.[ch]: New files.  Defines Winsock-API error codes
        and makes them available through Guile.  That is because the
        Winsock-API does not store its errors in `errno' and thus cannot
        return error messages via `strerror (errno)'.

        * socket.c (scm_init_socket): Initialize `win32-socket' part
        here under M$-Windows.

        * numbers.h: Added missing declaration of
        `scm_sys_check_number_conversions()'.

        * error.c: Local definition of SCM_I_STRERROR and SCM_I_ERRNO
        and use in `(strerror)' and `(system-error)'.

        * Makefile.am (EXTRA_libguile_la_SOURCES): Added
        `win32-socket.[ch]' to extra source and header files.
2001-11-07 15:08:45 +00:00
Marius Vollmer
53e82297cd Turn off debugging output in scm_compile_shell_switches. 2001-11-06 12:53:22 +00:00
Marius Vollmer
7ab89df17c *** empty log message *** 2001-11-05 23:12:20 +00:00
Marius Vollmer
3682a51a35 (scm_shell_usage, scm_compile_shell_switches): Prepend
a call to turn-on-debugging when --debug has been given instead of
turning it on directly.  Also, handle new `--no-debug' option,
which might suppress the call to turn-on-debugging.
2001-11-05 23:11:50 +00:00
Stefan Jahn
0233bfc11b 2001-11-05 Stefan Jahn <stefan@lkcc.org>
* struct.c (s_scm_struct_vtable_p): Corrected docstring.
2001-11-05 21:12:33 +00:00
Stefan Jahn
8f99e3f38b 2001-11-04 Stefan Jahn <stefan@lkcc.org>
* NEWS: Corrected remarks about SCM_API.

        * configure.in: Defining USE_DLL_IMPORT definition to indicate
        usage of DLL import macros in `libguile/__scm.h'.
        (LIBOBJS): Removed `fileblocks.o' from the list of object files.
        Somehow Jim Blandy's patch from 1997 did not survive.

2001-11-04  Stefan Jahn  <stefan@lkcc.org>

        * configure.in (EXTRA_DEFS): Follow-up patch.  Using SCM_IMPORT
        instead of __SCM_IMPORT__.

        * readline.c (scm_readline_init_ports): Disable input/output
        stream redirection for Win32.  The readline package for Win32
        does not support this.  The guile-readline library works fine
        for command line editing.

        * readline.h (SCM_RL_API): Renamed __FOO__ macros into FOO.

2001-11-04  Stefan Jahn  <stefan@lkcc.org>

        * Makefile.am (libguile_la_LIBADD): Added $(THREAD_LIBS_LOCAL)
        here (was at guile_LDADD) which describes the dependency
        correctly and allows a clean build on Win32.

        * __scm.h (SCM_API): Follow-up patch.  Renamed __FOO__ macros
        into FOO.

        * __scm.h: USE_DLL_IMPORT indicates the usage of the DLL
        import macros for external libraries (libcrypt, libqthreads,
        libreadline and libregex).

        * coop-defs.h: Include <winsock2.h> for `struct timeval'.

        * posix.c (flock): Added support for flock() in M$-Windows.

        * guile.c (SCM_IMPORT): Follow-up patch.  Use SCM_IMPORT instead
        of __SCM_IMPORT__.

        * fports.c (getflags): Differentiate reading and writing pipes
        descriptors.

        * filesys.c (S_IS*): Redefine all of the S_IS*() macros for
        M$-Windows.

        * coop.c (coop_condition_variable_timed_wait_mutex): Use
        conditionalized error code if `ETIMEDOUT' is not available.
        (scm_thread_usleep): Remove bogus declaration of `struct timeval
        timeout'.

        * numbers.c (PTRDIFF_MIN): Moved this definition where it actually
        belongs.  That is because NO_PREPRO_MAGIC gets undefined after
        each inclusion of `num2integral.i.c'.
        (SIZE_MAX): Define NO_PREPRO_MAGIC if SIZE_MAX is undefined.

2001-11-04  Stefan Jahn  <stefan@lkcc.org>

        * md/Makefile.am (EXTRA_DIST): Added `i386.asm'.

        * md/i386.asm: New file.  Contains the Intel syntax version for
        nasm/tasm/masm of the file `i386.s'.

        * qt.h.in: Definition of QT_API, QT_IMPORT and QT_EXPORT.
        Prefixed each symbols which is meant to go into a DLL.

        * Makefile.am (libqthreads_la_LDFLAGS):  Put `-no-undefined'
        into LDFLAGS to support linkers which do not allow unresolved
        symbols inside shared libraries.
        (EXTRA_DIST): Add `libqthreads.def', which is an export file
        definition for M$-Windows.  It defines exported symbols.  This is
        necessary because the M$VC linker does not know how to export
        assembler symbols into a DLL.

2001-11-04  Stefan Jahn  <stefan@lkcc.org>

        * srfi-13.h, srfi-14.h, srfi-4.h: Follow-up patch.  Renamed
        __FOO__ macros into FOO.

2001-11-04  Stefan Jahn  <stefan@lkcc.org>

        * tests/ports.test: Run (close-port) before (delete-file) if
        necessary/advisory.
2001-11-04 15:52:30 +00:00
Marius Vollmer
4e21fa6096 *** empty log message *** 2001-11-03 18:46:31 +00:00
Marius Vollmer
b8113bc8dc (scm_m_begin): Allow (begin), with no subforms.
(SCM_CEVAL): Evaluate an empty `begin' to SCM_UNSPECIFIED.
2001-11-03 18:45:33 +00:00
Mikael Djurfeldt
7663c008a5 * print.c (scm_iprin1): Mark print state as revealed when
dispatching to generic write or display.
2001-11-02 13:55:38 +00:00
Mikael Djurfeldt
08112c957b * unif.c (scm_ra2contig): Fixed memory overwrite bug. 2001-11-02 12:31:50 +00:00
Marius Vollmer
f712d833cc *** empty log message *** 2001-11-02 00:21:34 +00:00
Marius Vollmer
33b001fd89 Prefixed each each exported symbol with SCM_API. 2001-11-02 00:19:12 +00:00