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

6928 commits

Author SHA1 Message Date
Marius Vollmer
143883dd3f (EXTRA_libguile_la_SOURCES): Added "mkstemp.c". 2001-10-13 15:42:07 +00:00
Marius Vollmer
4110fa69b0 (display_backtrace_file_and_line): Only use scm_basename when POSIX
support is compiled in.  Thanks to Chris Cramer.
2001-10-13 15:41:40 +00:00
Marius Vollmer
311f67823d (scm_m_atbind): First try to find the variable without defining it
locally; when it has not been found, define it locally.
2001-10-13 15:41:12 +00:00
Marius Vollmer
dc187f33fd (module_variable): Pass over variables that exist but are unbound. 2001-10-13 15:40:29 +00:00
Marius Vollmer
3756da52d9 Set NO_PREPRO_MAGIC when defining our version of PTRDIFF_MIN. Thanks
to Ken Raeburn.
2001-10-13 15:39:53 +00:00
Dirk Herrmann
1fe5e088ff * numbers.c (mem2uinteger): Return number read so far when coming
across a hexdigit after having read a # or if not reading a hex
value.  This will enable the calling code to correctly handle
forms like 1e2.  (The background is, that the exponent markers d,
e and f are also hexdigits.)  Thanks to Mikael Djurfeldt for
providing this patch.

(mem2complex):  Fix erroneous double-negation.  Now, numbers like
1-i will be read correctly.
2001-10-13 12:39:26 +00:00
Dirk Herrmann
b7d9b1cf5a * tests/numbers.test: Added a test case that checks if valid
number strings are transformed correctly by string->number.
2001-10-13 12:29:44 +00:00
Mikael Djurfeldt
aa5e5d63eb * debug.c (scm_mem_to_proc): Fixed typo in previous change. 2001-10-12 09:02:03 +00:00
Mikael Djurfeldt
f29d1d2265 * validate.h (SCM_VALIDATE_DOUBLE_DEF_COPY): New macro. 2001-10-12 09:00:24 +00:00
Mikael Djurfeldt
68665a9708 * validate.h (SCM_VALIDATE_DOUBLE_DEF_COPY): New macro. 2001-10-12 08:55:05 +00:00
Dirk Herrmann
d5cf5324a3 * print.c (scm_print_state_vtable, print_state_pool):
Initialize.  These variables are now registered as gc roots.

(scm_current_pstate):  Update documentation.

(scm_current_pstate, scm_make_print_state, scm_free_print_state,
scm_prin1, scm_init_print):  print_state_pool is registered as a
gc root and thus does not need to be protected by a surrounding
pair any more.

(make_print_state):  The car of print_state_pool no longer holds
the scm_print_state_vtable.

(scm_current_pstate, scm_make_print_state, print_circref,
scm_iprin1, scm_prin1, scm_iprlist):  Prefer !SCM_<foo> over
SCM_N<foo>.

(scm_prin1):  When building lists, prefer scm_list_<n> over
scm_cons[2]?.

(scm_iprlist):  Removed a redundant SCM_IMP test.

(scm_simple_format):  Use SCM_EQ_P to compare SCM values.
2001-10-11 23:20:52 +00:00
Dirk Herrmann
37c56aecf8 * debug.c (scm_make_iloc): Prefer !SCM_<foo> over SCM_N<foo>.
(scm_memcons, scm_mem_to_proc):  When building lists, prefer
scm_list_<n> over scm_cons[2]?.

(scm_mem_to_proc):  Prefer SCM_CONSP over SCM_NIMP.

(scm_procedure_name):  Use SCM_CADR instead of explicit form.

(debugobj_print):  Coerce scm_intprint arg 1 to long, not int.
Thanks to Rob Browning for the patch (see log entry 2001-09-21) -
for some reason his patch didn't make it into the cvs.
2001-10-11 22:26:25 +00:00
Dirk Herrmann
79d34f68e7 * numbers.c (mem2decimal_from_point): Cleaned up the parsing a
little bit - should even be somewhat more accurate now.
2001-10-09 20:56:36 +00:00
Rob Browning
d918965272 * gc.c: support ia64 register backing store.
(SCM_MARK_BACKING_STORE): new macro.
2001-10-09 03:33:16 +00:00
Rob Browning
766c5eaf49 * continuations.h: support ia64 register backing store.
(struct scm_t_contregs): add ia64 register backing store.
2001-10-09 03:33:06 +00:00
Rob Browning
193297d8b5 * continuations.c: support ia64 register backing store.
(continuation_mark): mark ia64 register backing store.
(continuation_free): free ia64 register backing store.
(scm_make_continuation): capture ia64 register backing store.
(copy_stack_and_call): copy ia64 register backing store.
2001-10-09 03:32:20 +00:00
Rob Browning
5e137c657b *** empty log message *** 2001-10-09 03:32:12 +00:00
Rob Browning
f8071ff3fb *** empty log message *** 2001-10-08 22:51:15 +00:00
Rob Browning
c3b87b6fa1 * continuations.c: support ia64 register backing store.
(continuation_mark): mark ia64 register backing store.
(continuation_free): free ia64 register backing store.
(scm_make_continuation): capture ia64 register backing store.
(copy_stack_and_call): copy ia64 register backing store.
2001-10-08 22:50:36 +00:00
Rob Browning
95aaa8a7c5 * continuations.h: support ia64 register backing store.
(struct scm_t_contregs): add ia64 register backing store.
2001-10-08 22:50:24 +00:00
Rob Browning
043a5b0f94 * gc.c: support ia64 register backing store.
(SCM_MARK_BACKING_STORE): new macro.
2001-10-08 22:50:13 +00:00
Dirk Herrmann
ee083ac29f * hashtab.c (scm_hash_fn_create_handle_x): The result of assoc_fn
is known to be #f if no entry is found.  Thus, use !SCM_FALSEP
instead of SCM_NIMP to test for that case.

* strings.h (SCM_SET_STRING_LENGTH):  Cast the length to
scm_t_bits instead of long.
2001-10-08 21:23:00 +00:00
Mikael Djurfeldt
075acefc27 * emacs.scm (%%load-port, %%emacs-load, %%emacs-eval-request,
%%emacs-select-frame, %%emacs-frame-eval, %%emacs-symdoc,
%%apropos-internal): Use module-define! instead of
builtin-variable.
2001-10-08 12:42:10 +00:00
Mikael Djurfeldt
c81f296a08 * emacs.scm (%%load-port, %%emacs-load, %%emacs-eval-request,
%%emacs-select-frame, %%emacs-frame-eval, %%emacs-symdoc,
%%apropos-internal): Use module-define! instead of
builtin-variable.
2001-10-08 12:40:14 +00:00
Marius Vollmer
ce191a26e6 Correct cut and paste error: use SCM_POSFIXABLE for unsigned types. 2001-10-06 20:49:10 +00:00
Marius Vollmer
c0060c9589 Corrected definition of SCM_MOST_POSITIVE_FIXNUM. Boy was I confused. 2001-10-06 20:48:27 +00:00
Marius Vollmer
71dcdbf9a0 *** empty log message *** 2001-10-06 20:01:36 +00:00
Marius Vollmer
801ba33101 (INTEGRAL2NUM): Let the preprocessor test
whether the integral type fits in a fixnum, not the compiler.
This removes a spurious compiler warning.  Also, honor the
NO_PREPRO_MAGIC flag to suppress any preprocessor tests.  This is
needed for `long long's.
2001-10-06 20:00:43 +00:00
Marius Vollmer
dcb6a296dc Define NO_PREPRO_MAGOC when including
num2integral.c.i for `long long' and `signed long long'.
2001-10-06 19:58:24 +00:00
Marius Vollmer
004c0902ff * tags.h (SCM_T_BITS_MAX, SCM_T_SIGNED_BITS_MAX,
SCM_T_SIGNED_BITS_MIN): New.
* numbers.h (SCM_MOST_POSITIVE_FIXNUM, SCM_MOST_NEGATIVE_FIXNUM):
Use them to make these macros computable by the preprocessor.
2001-10-06 19:58:02 +00:00
Mikael Djurfeldt
152812c057 * coop.c (mother_awake_p): New variable.
(coop_create): Set mother_awake_p before creating or signalling
mother; wait until mother is going to sleep before returning.
(mother): Reset mother_awake_p before going to sleep.
2001-10-06 16:30:20 +00:00
Mikael Djurfeldt
9cff15e346 * coop.c (mother_awake_p): New variable.
(coop_create): Set mother_awake_p before creating or signalling
mother; wait until mother is going to sleep before returning.
(mother): Reset mother_awake_p before going to sleep.
2001-10-06 16:28:34 +00:00
Thien-Thi Nguyen
b44f159eae *** empty log message *** 2001-10-06 06:47:42 +00:00
Thien-Thi Nguyen
76a008e2e0 (quoted?, clump): New procs, exported. 2001-10-06 06:47:07 +00:00
Thien-Thi Nguyen
2d7cbf9e0b *** empty log message *** 2001-10-06 06:45:54 +00:00
Thien-Thi Nguyen
6f2ec1d1f3 (quoted?, clump): New procs, exported. 2001-10-06 06:44:48 +00:00
Dirk Herrmann
11d49f5489 * options.c (protected_objects, scm_init_options): The content of
protected_objects is now protected from garbage collection using
scm_gc_register_root instead of scm_permanent_object.

(get_option_setting):  New static function that	computes an option
setting as it was formerly done in the function scm_options.

(get_documented_option_setting):  New static function that
returns option documentation as it was formerly done in the
function scm_options.  Note that documentation C strings are no
longer precomputed into SCM objects.  Instead, they are converted
into SCM strings every time get_documented_option_setting is
called.

(change_option_setting):  New static functions that modifies the
option setting as it was formerly done in the function
scm_options.  The function is now exception safe, i. e. won't
cause a memory leak when interrupted.  Further, only non-immediate
option values are added to the protection list.

(scm_options):  This function now has only the purpose to dispatch
to to get_option_setting, get_documented_option_setting or
change_option_setting, depending on the arguments given to
scm_options.

(scm_init_opts):  Don't convert documentation C strings into SCM
strings.  Further, don't protect any object values:  They _must_
be immediate values, otherwise there is no guarantee that they
have not been collected before anyway.

* options.[ch] (scm_t_option):  Made type unsigned, name into a
constant char* and val into a scm_t_bits type.

(scm_options, scm_init_opts):  The number of options is guaranteed
to be larger or equal to zero.  Thus, the type is changed to
unsigned.
2001-10-05 20:18:30 +00:00
Dirk Herrmann
3dbacabc55 * num2integral.i.c (NUM2INTEGRAL): Eliminated some warnings about
testing an unsigned value for being >= 0.
2001-10-05 18:26:46 +00:00
Neil Jerram
a599743cdc * Remove doc for read-and-eval! and eval2. 2001-10-05 18:05:10 +00:00
Dirk Herrmann
2fa1c1d46b * numbers.h: Removed old comment about using SCM_CAR to access
non-pair cells.

(SCM_MOST_POSITIVE_FIXNUM, SCM_MOST_NEGATIVE_FIXNUM):  Make sure
the return value is signed.  Thanks to Brian Crowder for the bug
report.

(SCM_SRS):  Avoid unnecessary casting and don't unpack input
values.  With this patch, SCM_SRS can be safely used for other
types than scm_t_signed_bits.  However, it should still better be
an internal macro and thus be renamed to SCM_I_SRS.

(SCM_MAKINUM, SCM_INUM):  Use proper casting.
2001-10-05 17:55:31 +00:00
Dirk Herrmann
14282d0f5c * numbers.h: Removed old comment about using SCM_CAR to access
non-pair cells.

(SCM_MOST_POSITIVE_FIXNUM, SCM_MOST_NEGATIVE_FIXNUM):  Make sure
the return value is signed.  Thanks to Brian Crowder for the bug
report.

(SCM_SRS):  Avoid unnecessary casting and don't unpack input
values.  With this patch, SCM_SRS can be safely used for other
types than scm_t_signed_bits.  However, it should still better be
an internal macro and thus be renamed to SCM_I_SRS.

(SCM_MAKINUM, SCM_INUM):  Use proper casting.
2001-10-05 17:43:49 +00:00
Thien-Thi Nguyen
36d7fa6434 *** empty log message *** 2001-10-05 17:05:24 +00:00
Thien-Thi Nguyen
2c41c2704a *** empty log message *** 2001-10-05 17:03:33 +00:00
Thien-Thi Nguyen
3ac56740e5 (install-data-local): Look in `$(srcdir)'
for file and-let-star-compat.scm.
2001-10-05 17:02:46 +00:00
Thien-Thi Nguyen
c1775bc45f *** empty log message *** 2001-10-05 16:02:15 +00:00
Thien-Thi Nguyen
8e628376f8 (Writing): Add entry for `display'. Include in R5RS Index. 2001-10-05 16:01:29 +00:00
Thien-Thi Nguyen
74e0de864b *** empty log message *** 2001-10-05 16:00:24 +00:00
Thien-Thi Nguyen
9eb96786d0 (Writing): Add entry for `display'. Include in R5RS Index. 2001-10-05 15:58:51 +00:00
Thien-Thi Nguyen
a2ee75bc8f *** empty log message *** 2001-10-04 21:02:45 +00:00
Thien-Thi Nguyen
70adc1ba85 (scm_wta): Replace intptr_t' use w/ scm_t_bits'.
Thanks to I. N. Golubev.
2001-10-04 20:59:15 +00:00