mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 11:50:28 +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:
parent
3a3e9e09b8
commit
b377f53e56
2 changed files with 14 additions and 4 deletions
|
@ -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
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue