Re: load-from-port

Maciej Stachowiak (mstachow@mit.edu)
Fri, 24 Oct 1997 15:26:32 EDT

If people think there should be a load-from-port, here's a quick
implementation modelled on eval-string. eval-string and primitve-load
could probably be changed to use this internally, but I leave such
tinkering to wiser heads.

- Maciej Stachowiak

*** load.c Sun Sep 21 20:43:47 1997
--- load.c.mod Fri Oct 24 14:47:59 1997
***************
*** 322,327 ****
--- 322,343 ----
return scm_eval_x (form);
}

+ SCM_PROC (s_load_from_port, "load-from-port", 1, 0, 0, scm_load_from_port);
+
+ SCM
+ scm_load_from_port (port)
+ SCM port;
+ {
+ SCM form;
+ SCM ans = SCM_UNSPECIFIED;
+
+ /* Read expressions from that port; ignore the values. */
+ while (!SCM_EOF_OBJECT_P (form = scm_read (port)))
+ ans = scm_eval_x (form);
+
+ return ans;
+ }
+

/* Information about the build environment. */

*** load.h Mon May 26 18:33:03 1997
--- load.h.mod Fri Oct 24 14:47:03 1997
***************
*** 52,57 ****
--- 52,58 ----
extern SCM scm_sys_search_load_path SCM_P ((SCM filename));
extern SCM scm_primitive_load_path SCM_P ((SCM filename));
extern SCM scm_read_and_eval_x SCM_P ((SCM port));
+ extern SCM scm_load_from_port ((SCM port));
extern void scm_init_load SCM_P ((void));

#endif /* LOADH */