-/* Copyright (C) 1995,1996,1997 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,1998, 2000 Free Software Foundation, Inc.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include <stdio.h>
-#include <gh.h>
+#include "libguile/gh.h"
typedef SCM (*gh_eval_t) (void *data, SCM jmpbuf);
/* Evaluate the string; toss the value. */
-#if 0
-void
-gh_eval_str (char *scheme_code)
-{
- /* Create a port that reads characters from SCHEME_CODE. */
- SCM port = scm_mkstrport (SCM_MAKINUM (0),
- scm_makfrom0str (scheme_code),
- SCM_OPN | SCM_RDNG,
- "guile_main");
- SCM form;
-
- /* Read expressions from that port; ignore the values. */
- while ((form = scm_read (port, SCM_BOOL_F, SCM_BOOL_F)) != SCM_EOF_VAL)
- scm_eval_x (form);
-
- /* Dispose of the port when done. (Oh icky.) */
- scm_close_port (port);
-}
-#endif /* 0 */
-
SCM
-gh_eval_str (char *scheme_code)
+gh_eval_str (const char *scheme_code)
{
return scm_eval_0str (scheme_code);
}
/* evaluate the file by passing it to the lower level scm_primitive_load() */
SCM
-gh_eval_file (char *fname)
+gh_eval_file (const char *fname)
{
return scm_primitive_load (gh_str02scm (fname));
}
static SCM
-eval_str_wrapper (void *data, SCM jmpbuf)
+eval_str_wrapper (void *data)
{
/* gh_eval_t real_eval_proc = (gh_eval_t) (* ((gh_eval_t *) data)); */
}
SCM
-gh_eval_str_with_catch (char *scheme_code, scm_catch_handler_t handler)
+gh_eval_str_with_catch (const char *scheme_code, scm_catch_handler_t handler)
{
/* FIXME: not there yet */
- return gh_catch (SCM_BOOL_T, (scm_catch_body_t) eval_str_wrapper, scheme_code,
- (scm_catch_handler_t) gh_standard_handler, scheme_code);
+ return gh_catch (SCM_BOOL_T, (scm_catch_body_t) eval_str_wrapper, (void *) scheme_code,
+ (scm_catch_handler_t) handler, (void *) scheme_code);
}
SCM
-gh_eval_str_with_standard_handler (char *scheme_code)
+gh_eval_str_with_standard_handler (const char *scheme_code)
{
return gh_eval_str_with_catch (scheme_code, gh_standard_handler);
}
SCM
-gh_eval_str_with_stack_saving_handler (char *scheme_code)
+gh_eval_str_with_stack_saving_handler (const char *scheme_code)
{
return scm_internal_stack_catch (SCM_BOOL_T,
(scm_catch_body_t) eval_str_wrapper,
- scheme_code,
+ (void *) scheme_code,
(scm_catch_handler_t)
gh_standard_handler,
- scheme_code);
+ (void *) scheme_code);
}
static SCM
-eval_file_wrapper (void *data, SCM jmpbuf)
+eval_file_wrapper (void *data)
{
/* gh_eval_t real_eval_proc = (gh_eval_t) (* ((gh_eval_t *) data)); */
}
SCM
-gh_eval_file_with_catch (char *scheme_code, scm_catch_handler_t handler)
+gh_eval_file_with_catch (const char *scheme_code, scm_catch_handler_t handler)
{
/* FIXME: not there yet */
return gh_catch (SCM_BOOL_T, (scm_catch_body_t) eval_file_wrapper,
- scheme_code, (scm_catch_handler_t) gh_standard_handler,
- scheme_code);
+ (void *) scheme_code, (scm_catch_handler_t) handler,
+ (void *) scheme_code);
}
SCM
-gh_eval_file_with_standard_handler (char *scheme_code)
+gh_eval_file_with_standard_handler (const char *scheme_code)
{
return gh_eval_file_with_catch (scheme_code, gh_standard_handler);
}
+
+/*
+ Local Variables:
+ c-file-style: "gnu"
+ End:
+*/