1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

* strports.c (scm_eval_string): New function.

(scm_eval_0str): Trivially re-implemented in terms of
scm_eval_string.
* strports.h (scm_eval_string): New extern decl.
This commit is contained in:
Jim Blandy 1997-05-15 02:02:40 +00:00
parent 3a3e9e09b8
commit b377f53e56
2 changed files with 14 additions and 4 deletions

View file

@ -254,12 +254,20 @@ SCM
scm_eval_0str (expr) scm_eval_0str (expr)
char *expr; char *expr;
{ {
SCM port = scm_mkstrport (SCM_MAKINUM (0), return scm_eval_string (scm_makfrom0str (expr));
scm_makfrom0str (expr), }
SCM_OPN | SCM_RDNG,
SCM_PROC (s_eval_string, "eval-string", 1, 0, 0, scm_eval_string);
SCM
scm_eval_string (string)
SCM string;
{
SCM port = scm_mkstrport (SCM_MAKINUM (0), string, SCM_OPN | SCM_RDNG,
"scm_eval_0str"); "scm_eval_0str");
SCM form; SCM form;
SCM ans = SCM_EOL; SCM ans = SCM_UNSPECIFIED;
/* Read expressions from that port; ignore the values. */ /* Read expressions from that port; ignore the values. */
while ((form = scm_read (port)) != SCM_EOF_VAL) while ((form = scm_read (port)) != SCM_EOF_VAL)
@ -270,6 +278,7 @@ scm_eval_0str (expr)
} }
static int noop0 SCM_P ((SCM stream)); static int noop0 SCM_P ((SCM stream));
static int static int

View file

@ -56,6 +56,7 @@ extern SCM scm_strprint_obj SCM_P ((SCM obj));
extern SCM scm_call_with_input_string SCM_P ((SCM str, SCM proc)); extern SCM scm_call_with_input_string SCM_P ((SCM str, SCM proc));
extern SCM scm_read_0str SCM_P ((char *expr)); extern SCM scm_read_0str SCM_P ((char *expr));
extern SCM scm_eval_0str SCM_P ((char *expr)); extern SCM scm_eval_0str SCM_P ((char *expr));
extern SCM scm_eval_string SCM_P ((SCM string));
extern void scm_init_strports SCM_P ((void)); extern void scm_init_strports SCM_P ((void));
#endif /* STRPORTSH */ #endif /* STRPORTSH */