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

1283 commits

Author SHA1 Message Date
Mikael Djurfeldt
067affe319 * eval.c (scm_copy_tree): Copy source properties if existent. 1998-11-10 14:17:24 +00:00
Mikael Djurfeldt
cb412265a7 * 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 14:16:55 +00:00
Mikael Djurfeldt
26e1985495 Removed last change. (Replaced by a better change.) 1998-11-10 07:58:32 +00:00
Mikael Djurfeldt
7a13c3ae7b * stacks.c (read_frame): Bugfix: Removed lingering `else'
statement.
(read_frames): Use SCM_MACROEXPP.
1998-11-10 07:57:51 +00:00
Mikael Djurfeldt
e40a5fc8ce * backtrace.c (get_applybody): Help function which lookups the
first body form of the apply closure.
(display_error_body): Prevent the source of the first form of the
apply closure from being printed in error messages.
1998-11-10 07:41:35 +00:00
Mikael Djurfeldt
29672a5c18 *** empty log message *** 1998-11-10 06:12:12 +00:00
Mikael Djurfeldt
6629eb1ca7 * stacks.c (read_frame): Bugfix: Removed lingering `else'
statement.
(read_frames): Use SCM_MACROEXPP.
1998-11-10 06:10:33 +00:00
Mikael Djurfeldt
7c3540523f * eval.c (SCM_CEVAL): Use SCM_SET/CLEAR_MACROEXP. 1998-11-10 06:10:11 +00:00
Mikael Djurfeldt
77debe3c6b * debug.h (SCM_SET_MACROEXP, SCM_CLEAR_MACROEXP, SCM_MACROEXPP):
Replaces SCM_MACROFRAME, SCM_MACROFRAMEP.
1998-11-10 06:09:55 +00:00
Mikael Djurfeldt
7c9398015e * 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.
1998-11-09 16:46:08 +00:00
Mikael Djurfeldt
56977059e4 * print.c (scm_iprin1): Print gsubrs as primitives. 1998-11-09 15:52:29 +00:00
Mikael Djurfeldt
fc4c5795b4 *** empty log message *** 1998-11-09 14:16:21 +00:00
Mikael Djurfeldt
358785a62e * readline.c, readline.h (scm_readline_options,
scm_readline_opts): Moved readline options here.
1998-11-09 14:15:30 +00:00
Mikael Djurfeldt
3f2f0599c3 * read.c, read.h (scm_read_options, scm_read_opts): Removed
readline options.  They should reside in their own options array.
1998-11-09 14:14:49 +00:00
Mikael Djurfeldt
368bf056f9 * 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.
1998-11-09 14:13:31 +00:00
Mikael Djurfeldt
e28748e4f0 * debug.h (SCM_MACROFRAME, SCM_MACROFRAMEP): New frame type. 1998-11-09 14:13:06 +00:00
Mikael Djurfeldt
68d15e3ed4 *** empty log message *** 1998-11-06 18:16:45 +00:00
Mikael Djurfeldt
9fdba2fee5 * readline.c (scm_read_history, scm_write_history): Bugfix: Use
SCM_ROCHARS instead of SCM_CHARS.
1998-11-06 18:15:40 +00:00
Mikael Djurfeldt
d1c90db5d6 * ports.c (scm_unread_string): Bugfixes: Check for SCM_STRINGP,
not SCM_ROSTRINGP; use SCM_ROUCHARS instead of SCM_UCHARS.
1998-11-06 18:15:12 +00:00
Mikael Djurfeldt
44e0a162a2 * 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-05 16:02:55 +00:00
Mikael Djurfeldt
94b16acb85 Removed lingering declaration of removed function sloppy_mem_check. 1998-11-05 15:06:30 +00:00
Mikael Djurfeldt
9931765428 *** empty log message *** 1998-11-03 16:11:33 +00:00
Mikael Djurfeldt
77c25af7d1 * print.c (scm_iprin1): Removed suspect looking (and indeed
malevolent) semicolon after test for user supplied closure print
procedure.  (Thanks to Telford Tendys.)
1998-11-03 16:09:29 +00:00
Mikael Djurfeldt
263a691f04 * options.c (scm_options, scm_init_options): GC-protect option
values of type SCM.  (Thanks to Telford Tendys.)
1998-11-03 16:09:11 +00:00
Mikael Djurfeldt
d79fec7537 * 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.
1998-11-03 16:08:53 +00:00
Mikael Djurfeldt
82dc9f574f * 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.
1998-11-03 16:08:28 +00:00
Mikael Djurfeldt
83336ffd60 Removed some #if 0 which slipped through in previous change 1998-11-01 16:57:40 +00:00
Mikael Djurfeldt
d0b7bad785 * eval.c: Don't #define scm_lookupcar to scm_lookupcar1. Instead
make sure that there always is a "real" scm_lookupcar.
1998-11-01 04:40:33 +00:00
Mikael Djurfeldt
d1306c276b Updated 1998-11-01 04:16:40 +00:00
Mikael Djurfeldt
9cb84fbb0c *** empty log message *** 1998-10-31 16:42:33 +00:00
Mikael Djurfeldt
254de08949 * readline.c (read-history, write-history): New procedures. 1998-10-31 16:40:46 +00:00
Mikael Djurfeldt
ad382b2dcc * read.c, read.h (history-length, history-file): New read options.
(scm_read_options): Stifle history to history length.
1998-10-31 16:40:15 +00:00
Mikael Djurfeldt
64921cdd76 * evalext.c (sequence->list): Fix 1998-10-31 14:18:07 +00:00
Mikael Djurfeldt
35c969658f *** empty log message *** 1998-10-31 13:59:23 +00:00
Mikael Djurfeldt
ddeae7caff * debug.c, print.c: Added #include "macros.h". 1998-10-31 13:57:13 +00:00
Mikael Djurfeldt
99027e3c78 * macros.c, macros.h: New files.
(procedure->syntax, procedure->macro, procedure->memoizing-macro,
macro?, macro-type, macro-name, macro-transformer): Moved from
eval.c
(scm_make_synt): Moved from eval.c
* Makefile.am: Added evalext.c, evalext.h, macros.c, macros.h.
1998-10-31 13:32:21 +00:00
Mikael Djurfeldt
40cf7e92b2 * evalext.c, evalext.h: New files. Contain non-R5RS things
having to do with evaluation.
* evalext.c (serial-map): New procedure: Version of `map' which
guarantees that the procedure is applied to the lists in serial
order.
(sequence->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.
* Makefile.am: Added evalext.c, evalext.h, macros.c, macros.h.
1998-10-31 13:31:25 +00:00
Mikael Djurfeldt
4ecb84284b *** empty log message *** 1998-10-31 13:09:27 +00:00
Mikael Djurfeldt
09e3ccd790 * Makefile.am: Added evalext.c, evalext.h, macros.c, macros.h. 1998-10-31 13:07:55 +00:00
Mikael Djurfeldt
c2c82fba2f * procs.c, procs.h (procedure-documentation): Moved from eval.c. 1998-10-31 13:07:16 +00:00
Mikael Djurfeldt
27a69f9382 * init.c (scm_boot_guile_1): Added calls to scm_init_macros and
scm_init_evalext.
1998-10-31 13:06:08 +00:00
Mikael Djurfeldt
2a758f6f91 * eval.h (scm_macro_eval_x): Removed declaration.
* eval.c, eval.h (SCM_EVALIM): Renamed from EVALIM.
(SCM_XEVAL, SCM_XEVALCAR): Renamed from XEVAL, XEVALCAR.
1998-10-31 13:05:43 +00:00
Mikael Djurfeldt
6cb702daed * 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 (serial-map): New procedure: Version of `map' which
guarantees that the procedure is applied to the lists in serial
order.
(sequence->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
* macros.c, macros.h: New files.
(procedure->syntax, procedure->macro, procedure->memoizing-macro,
macro?, macro-type, macro-name, macro-transformer): Moved from
eval.c
(scm_make_synt): Moved from eval.c
* procs.c, procs.h (procedure-documentation): Moved from eval.c.
1998-10-31 13:05:07 +00:00
Mikael Djurfeldt
41d3b325c7 Added #include "macros.h" 1998-10-31 13:04:12 +00:00
Mikael Djurfeldt
4d362308da *** empty log message *** 1998-10-30 08:25:05 +00:00
Mikael Djurfeldt
e6a207b366 * ioext.c (scm_ftell): Use SCM_N_READY_CHARS to correct position. 1998-10-30 08:24:23 +00:00
Mikael Djurfeldt
64e764482e * 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.
1998-10-30 08:24:07 +00:00
Mikael Djurfeldt
b8af68db88 * 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-30 08:23:52 +00:00
Mikael Djurfeldt
327ff831a0 * genio.c, genio.h (scm_ungets): New function. 1998-10-30 08:23:33 +00:00
Mikael Djurfeldt
ee1e7e13b3 * 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.
1998-10-30 08:23:13 +00:00