mirror of https://github.com/djcb/mu.git
* lib: fix mu-script for !BUILD_GUILE
This commit is contained in:
parent
11ecc65109
commit
b2b18aee75
|
@ -246,54 +246,51 @@ mu_script_find_script_with_name (GSList *lst, const char *name)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef BUILD_GUILE
|
#ifdef BUILD_GUILE
|
||||||
|
|
||||||
static void
|
static void
|
||||||
guile_shell (void *closure, int argc, char **argv)
|
guile_shell (void *closure, int argc, char **argv)
|
||||||
{
|
{
|
||||||
scm_shell (argc, argv);
|
scm_shell (argc, argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
mu_script_guile_run (MuScriptInfo *msi, const char *muhome,
|
mu_script_guile_run (MuScriptInfo *msi, const char *muhome,
|
||||||
const char **args, GError **err)
|
const char **args, GError **err)
|
||||||
{
|
{
|
||||||
char *mainargs, *expr;
|
char *mainargs, *expr;
|
||||||
char *argv[] = {
|
char *argv[] = {
|
||||||
"guile", "-l", NULL, "-c", NULL, NULL
|
"guile", "-l", NULL, "-c", NULL, NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
g_return_val_if_fail (msi, FALSE);
|
g_return_val_if_fail (msi, FALSE);
|
||||||
g_return_val_if_fail (muhome, FALSE);
|
g_return_val_if_fail (muhome, FALSE);
|
||||||
|
|
||||||
if (access (mu_script_info_path (msi), R_OK) != 0) {
|
if (access (mu_script_info_path (msi), R_OK) != 0) {
|
||||||
mu_util_g_set_error (err, MU_ERROR_FILE_CANNOT_READ,
|
mu_util_g_set_error (err, MU_ERROR_FILE_CANNOT_READ,
|
||||||
strerror(errno));
|
strerror(errno));
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
argv[2] = (char*)mu_script_info_path (msi);
|
argv[2] = (char*)mu_script_info_path (msi);
|
||||||
|
|
||||||
mainargs = mu_str_quoted_from_strv (args);
|
mainargs = mu_str_quoted_from_strv (args);
|
||||||
expr = g_strdup_printf (
|
expr = g_strdup_printf (
|
||||||
"(main '(\"%s\" \"--muhome=%s\" %s))",
|
"(main '(\"%s\" \"--muhome=%s\" %s))",
|
||||||
mu_script_info_name (msi),
|
mu_script_info_name (msi),
|
||||||
muhome,
|
muhome,
|
||||||
mainargs ? mainargs : "");
|
mainargs ? mainargs : "");
|
||||||
|
|
||||||
g_free (mainargs);
|
g_free (mainargs);
|
||||||
argv[4] = expr;
|
argv[4] = expr;
|
||||||
|
|
||||||
scm_boot_guile (5, argv, guile_shell, NULL);
|
scm_boot_guile (5, argv, guile_shell, NULL);
|
||||||
|
|
||||||
/* never reached but let's be correct(TM)*/
|
/* never reached but let's be correct(TM)*/
|
||||||
g_free (expr);
|
g_free (expr);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
#else /*!BUILD_GUILE*/
|
||||||
#else
|
|
||||||
gboolean
|
gboolean
|
||||||
mu_script_guile_run (MuScriptInfo *msi, const char *muhome,
|
mu_script_guile_run (MuScriptInfo *msi, const char *muhome,
|
||||||
const char *query, gboolean textonly, GError **err)
|
const char **args, GError **err)
|
||||||
{
|
{
|
||||||
mu_util_g_set_error (err, MU_ERROR_INTERNAL,
|
mu_util_g_set_error (err, MU_ERROR_INTERNAL,
|
||||||
"this mu does not have guile support");
|
"this mu does not have guile support");
|
||||||
|
|
Loading…
Reference in New Issue