1
/* Guile interface (scripting engine) */
2
/* $Id: core.c,v 1.12 2003/12/21 06:55:16 miciah Exp $ */
14
#include "lowlevel/home.h"
15
#include "modules/module.h"
16
#include "scripting/guile/core.h"
17
#include "scripting/guile/hooks.h"
18
#include "scripting/scripting.h"
19
#include "util/error.h"
20
#include "util/string.h"
27
/* static SCM c_current_url(void) */
29
/* struct view_state *vs; */
31
/* if (have_location(ses) && (vs = ses ? &cur_loc(ses)->vs : 0)) */
32
/* return scm_makfrom0str(vs->url); */
34
/* return SCM_BOOL_F; */
38
/* c_current_document */
39
/* c_current_document_formatted */
45
init_guile(struct module *module)
53
if (!elinks_home) return;
55
/* Remember the current module. */
56
user_module = scm_current_module();
58
/* Load ~/.elinks/internal-hooks.scm. */
59
path = straconcat(elinks_home, "internal-hooks.scm", NULL);
61
scm_c_primitive_load_path(path);
64
/* internal-hooks.scm should have created a new module (elinks
65
* internal). Let's remember it, even though I haven't
66
* figured out how to use it directly yet...
68
internal_module = scm_current_module();
70
/* Return to the user module, import bindings from (elinks
71
* internal), then load ~/.elinks/user-hooks.scm.
73
scm_set_current_module(user_module);
74
scm_c_use_module("elinks internal"); /* XXX: better way? i want to use internal_module directly */
75
path = straconcat(elinks_home, "user-hooks.scm", NULL);
77
scm_c_primitive_load_path(path);
82
struct module guile_scripting_module = struct_module(
85
/* events: */ guile_scripting_hooks,
86
/* submodules: */ NULL,
88
/* init: */ init_guile,
92
#endif /* HAVE_GUILE */