示例#1
0
int scm_symbol_exists(SCM sym) {
    SCM var;

    var = scm_sym2var(sym,
                      scm_current_module_lookup_closure(),
                      SCM_BOOL_F);
    if (var != SCM_BOOL_F)
        return 1;
    return 0;
}
示例#2
0
SCM
guile_lookup (const char *name)
{
    SCM var;

    var = scm_sym2var (scm_from_locale_symbol (name),
                       scm_current_module_lookup_closure (),
                       SCM_BOOL_F);
    if (scm_is_false (var))
        return SCM_UNDEFINED;
    else
        return scm_variable_ref (var);
};
示例#3
0
SWIGINTERN void
SWIG_Guile_SetModule(swig_module_info *swig_module)
{
  SCM module;
  SCM variable;

  module = SWIG_Guile_Init();
    
  variable = scm_sym2var(scm_from_locale_symbol("swig-type-list-address" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME),
			       scm_module_lookup_closure(module),
			       SCM_BOOL_T);

  SCM_VARIABLE_SET(variable, scm_from_ulong((unsigned long) swig_module));
}
示例#4
0
int scm_c_symbol_exists(const char *name) { 
	SCM sym; 
	SCM var;
	
	sym = scm_str2symbol(name);

	/* Check to see if the symbol exists */
	var = scm_sym2var (sym, 
					   scm_current_module_lookup_closure(), 
					   SCM_BOOL_F
					  );

	if (var != SCM_BOOL_F)
			return 1;
	return 0;
}
示例#5
0
SWIGINTERN swig_module_info *
SWIG_Guile_GetModule(void)
{
  SCM module;
  SCM variable;

  module = SWIG_Guile_Init();

  variable = scm_sym2var(scm_from_locale_symbol("swig-type-list-address" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME),
			       scm_module_lookup_closure(module),
			       SCM_BOOL_T);
  if (SCM_UNBNDP(SCM_VARIABLE_REF(variable))) {
    return NULL;
  } else {
    return (swig_module_info *) scm_to_ulong(SCM_VARIABLE_REF(variable));
  }
}
示例#6
0
SWIGINTERN int
ensure_smob_tag(SCM swig_module,
		scm_t_bits *tag_variable,
		const char *smob_name,
		const char *scheme_variable_name)
{
  SCM variable = scm_sym2var(scm_from_locale_symbol(scheme_variable_name),
			     scm_module_lookup_closure(swig_module),
			     SCM_BOOL_T);
  if (SCM_UNBNDP(SCM_VARIABLE_REF(variable))) {
    *tag_variable = scm_make_smob_type((char*)scheme_variable_name, 0);
    SCM_VARIABLE_SET(variable,
		     scm_from_ulong(*tag_variable));
    return 1;
  }
  else {
    *tag_variable = scm_to_ulong(SCM_VARIABLE_REF(variable));
    return 0;
  }
}