/* process-lib-version */ obj_t BGl_processzd2libzd2versionz00zzinit_libzd2dirzd2(obj_t BgL_pz00_4, obj_t BgL_fz00_5) { AN_OBJECT; { /* Init/lib_dir.scm 39 */ { /* Init/lib_dir.scm 40 */ obj_t BgL_libzd2versionzd2_106; BgL_libzd2versionzd2_106 = BGl_safezd2readzd2zzinit_libzd2dirzd2(BgL_pz00_4, CNST_TABLE_REF(((long) 0)), BgL_fz00_5); { /* Init/lib_dir.scm 40 */ obj_t BgL_libzd2specificzd2versionz00_107; BgL_libzd2specificzd2versionz00_107 = BGl_safezd2readzd2zzinit_libzd2dirzd2(BgL_pz00_4, CNST_TABLE_REF(((long) 0)), BgL_fz00_5); { /* Init/lib_dir.scm 41 */ { /* Init/lib_dir.scm 42 */ bool_t BgL_testz00_221; if (bigloo_strcmp(BGl_za2bigloozd2versionza2zd2zzengine_paramz00, BgL_libzd2versionzd2_106)) { /* Init/lib_dir.scm 42 */ BgL_testz00_221 = bigloo_strcmp (BGl_za2bigloozd2specificzd2versionza2z00zzengine_paramz00, BgL_libzd2specificzd2versionz00_107); } else { /* Init/lib_dir.scm 42 */ BgL_testz00_221 = ((bool_t) 0); } if (BgL_testz00_221) { /* Init/lib_dir.scm 42 */ return BFALSE; } else { /* Init/lib_dir.scm 46 */ obj_t BgL_list1518z00_109; BgL_list1518z00_109 = MAKE_PAIR(BGl_string1534z00zzinit_libzd2dirzd2, BNIL); return BGl_warningz00zz__errorz00(BgL_list1518z00_109); } } } } } } }
/*---------------------------------------------------------------------*/ int bgl_dunload( obj_t filename ) { #if HAVE_DLOPEN extern bool_t bigloo_strcmp( obj_t, obj_t ); obj_t p = dload_list; BGL_MUTEX_LOCK( dload_mutex ); if ( NULLP( dload_list) ) { BGL_MUTEX_UNLOCK( dload_mutex ); return 0; } if( bigloo_strcmp( CAR( CAR( p ) ), filename ) ) { dload_list = CDR( dload_list ); dlclose( CDR( CAR( p ) ) ); BGL_MUTEX_UNLOCK( dload_mutex ); return 0; } else { obj_t r = CDR( p ); while( PAIRP( r ) ) { if( bigloo_strcmp( CAR( CAR( r ) ), filename ) ) { SET_CDR( p, CDR( r ) ); dlclose( CDR( CAR( r ) ) ); BGL_MUTEX_UNLOCK( dload_mutex ); return 0; } } } BGL_MUTEX_UNLOCK( dload_mutex ); #endif return 1; }
/*---------------------------------------------------------------------*/ static obj_t bgl_bstring_to_symbol( obj_t name ) { long hash_number; obj_t bucket; char *cname = BSTRING_TO_STRING( name ); hash_number = ____get_hash_power_number( cname, SYMBOL_HASH_TABLE_SIZE_SHIFT ); bucket = VECTOR_REF( ____bgl_get_symtab(), hash_number ); if( NULLP( bucket ) ) { obj_t symbol = make_symbol( name ); obj_t pair = MAKE_PAIR( symbol, BNIL ); VECTOR_SET( ____bgl_get_symtab(), hash_number, pair ); return symbol; } else { obj_t run = bucket, back = bucket; while( !NULLP( run ) && SYMBOL( CAR( run ) ).string && !bigloo_strcmp( SYMBOL( CAR( run ) ).string, name ) ) back = run, run = CDR( run ); if( !NULLP( run ) ) { return CAR( run ); } else { obj_t symbol = make_symbol( name ); obj_t pair = MAKE_PAIR( symbol, BNIL ); SET_CDR( back, pair ); return symbol; } } }
/* <anonymous:1965> */ obj_t BGl_zc3anonymousza31965ze3z83zz__modulez00(obj_t BgL_envz00_1666, obj_t BgL_fz00_1668) { AN_OBJECT; { /* Llib/module.scm 213 */ { /* Llib/module.scm 214 */ obj_t BgL_abasez00_1667; BgL_abasez00_1667 = PROCEDURE_REF(BgL_envz00_1666, (int)(((long)0))); { obj_t BgL_fz00_896; BgL_fz00_896 = BgL_fz00_1668; { obj_t BgL_fz00_903;obj_t BgL_abasez00_904; BgL_fz00_903 = BgL_fz00_896; BgL_abasez00_904 = BgL_abasez00_1667; if( STRINGP(BgL_fz00_903)) { /* Llib/module.scm 203 */ bool_t BgL_testz00_2175; if( bigloo_strcmp(BgL_fz00_903, BGl_string2367z00zz__modulez00)) { /* Llib/module.scm 203 */ BgL_testz00_2175 = ((bool_t)1) ; } else { /* Llib/module.scm 203 */ unsigned char BgL_arg1972z00_909;obj_t BgL_arg1973z00_910; { /* Llib/module.scm 203 */ obj_t BgL_s2257z00_1669; BgL_s2257z00_1669 = BgL_fz00_903; { /* Llib/module.scm 203 */ long BgL_l2259z00_1671; BgL_l2259z00_1671 = STRING_LENGTH(BgL_s2257z00_1669); if( BOUND_CHECK(((long)0), BgL_l2259z00_1671)) { /* Llib/module.scm 203 */ BgL_arg1972z00_909 = STRING_REF(BgL_s2257z00_1669, ((long)0)); } else { obj_t BgL_auxz00_2182; BgL_auxz00_2182 = BGl_indexzd2outzd2ofzd2boundszd2errorz00zz__errorz00(BGl_string2330z00zz__modulez00, BINT(((long)7865)), BGl_string2368z00zz__modulez00, BINT(((long)0)), BgL_s2257z00_1669); FAILURE(BgL_auxz00_2182,BFALSE,BFALSE);} } } BgL_arg1973z00_910 = BGl_filezd2separatorzd2zz__osz00(); { /* Llib/module.scm 203 */ unsigned char BgL_char2z00_1445; { /* Llib/module.scm 203 */ obj_t BgL_auxz00_2188; if( CHARP(BgL_arg1973z00_910)) { /* Llib/module.scm 203 */ BgL_auxz00_2188 = BgL_arg1973z00_910 ; } else { obj_t BgL_auxz00_2191; BgL_auxz00_2191 = BGl_typezd2errorzd2zz__errorz00(BGl_string2330z00zz__modulez00, BINT(((long)7897)), BGl_string2369z00zz__modulez00, BGl_string2370z00zz__modulez00, BgL_arg1973z00_910); FAILURE(BgL_auxz00_2191,BFALSE,BFALSE);} BgL_char2z00_1445 = CCHAR(BgL_auxz00_2188); } BgL_testz00_2175 = (BgL_arg1972z00_909==BgL_char2z00_1445); } } if(BgL_testz00_2175) { /* Llib/module.scm 203 */ return BgL_fz00_903;} else { /* Llib/module.scm 204 */ obj_t BgL_auxz00_2197; if( STRINGP(BgL_abasez00_904)) { /* Llib/module.scm 204 */ BgL_auxz00_2197 = BgL_abasez00_904 ; } else { obj_t BgL_auxz00_2200; BgL_auxz00_2200 = BGl_typezd2errorzd2zz__errorz00(BGl_string2330z00zz__modulez00, BINT(((long)7928)), BGl_string2369z00zz__modulez00, BGl_string2355z00zz__modulez00, BgL_abasez00_904); FAILURE(BgL_auxz00_2200,BFALSE,BFALSE);} return BGl_makezd2filezd2namez00zz__osz00(BgL_auxz00_2197, BgL_fz00_903);} } else { /* Llib/module.scm 202 */ return BgL_fz00_903;} } } } } }
/* <anonymous:1957> */ obj_t BGl_zc3anonymousza31957ze3z83zz__modulez00(obj_t BgL_envz00_1663, obj_t BgL_portz00_1665) { AN_OBJECT; { /* Llib/module.scm 208 */ { /* Llib/module.scm 209 */ obj_t BgL_namez00_1664; BgL_namez00_1664 = PROCEDURE_REF(BgL_envz00_1663, (int)(((long)0))); { obj_t BgL_portz00_881; BgL_portz00_881 = BgL_portz00_1665; { /* Llib/module.scm 209 */ obj_t BgL_abasez00_883; { /* Llib/module.scm 209 */ obj_t BgL_auxz00_2116; if( STRINGP(BgL_namez00_1664)) { /* Llib/module.scm 209 */ BgL_auxz00_2116 = BgL_namez00_1664 ; } else { obj_t BgL_auxz00_2119; BgL_auxz00_2119 = BGl_typezd2errorzd2zz__errorz00(BGl_string2330z00zz__modulez00, BINT(((long)8050)), BGl_string2363z00zz__modulez00, BGl_string2355z00zz__modulez00, BgL_namez00_1664); FAILURE(BgL_auxz00_2119,BFALSE,BFALSE);} BgL_abasez00_883 = BGl_dirnamez00zz__osz00(BgL_auxz00_2116); } { /* Llib/module.scm 210 */ obj_t BgL_g1846z00_884; { /* Llib/module.scm 217 */ obj_t BgL_auxz00_2124; if( INPUT_PORTP(BgL_portz00_881)) { /* Llib/module.scm 217 */ BgL_auxz00_2124 = BgL_portz00_881 ; } else { obj_t BgL_auxz00_2127; BgL_auxz00_2127 = BGl_typezd2errorzd2zz__errorz00(BGl_string2330z00zz__modulez00, BINT(((long)8329)), BGl_string2363z00zz__modulez00, BGl_string2359z00zz__modulez00, BgL_portz00_881); FAILURE(BgL_auxz00_2127,BFALSE,BFALSE);} BgL_g1846z00_884 = BGl_modulezd2readzd2accesszd2filezd2zz__modulez00(BgL_auxz00_2124); } { obj_t BgL_l1844z00_886; BgL_l1844z00_886 = BgL_g1846z00_884; BgL_zc3anonymousza31958ze3z83_887: if( PAIRP(BgL_l1844z00_886)) { /* Llib/module.scm 217 */ { /* Llib/module.scm 211 */ obj_t BgL_accessz00_889; BgL_accessz00_889 = CAR(BgL_l1844z00_886); { /* Llib/module.scm 211 */ obj_t BgL_infoz00_890; if( bigloo_strcmp(BgL_abasez00_883, BGl_string2339z00zz__modulez00)) { /* Llib/module.scm 212 */ obj_t BgL_pairz00_1433; if( PAIRP(BgL_accessz00_889)) { /* Llib/module.scm 212 */ BgL_pairz00_1433 = BgL_accessz00_889; } else { obj_t BgL_auxz00_2139; BgL_auxz00_2139 = BGl_typezd2errorzd2zz__errorz00(BGl_string2330z00zz__modulez00, BINT(((long)8142)), BGl_string2364z00zz__modulez00, BGl_string2343z00zz__modulez00, BgL_accessz00_889); FAILURE(BgL_auxz00_2139,BFALSE,BFALSE);} BgL_infoz00_890 = CDR(BgL_pairz00_1433); } else { /* Llib/module.scm 213 */ obj_t BgL_arg1963z00_894; { /* Llib/module.scm 215 */ obj_t BgL_pairz00_1434; if( PAIRP(BgL_accessz00_889)) { /* Llib/module.scm 215 */ BgL_pairz00_1434 = BgL_accessz00_889; } else { obj_t BgL_auxz00_2146; BgL_auxz00_2146 = BGl_typezd2errorzd2zz__errorz00(BGl_string2330z00zz__modulez00, BINT(((long)8224)), BGl_string2364z00zz__modulez00, BGl_string2343z00zz__modulez00, BgL_accessz00_889); FAILURE(BgL_auxz00_2146,BFALSE,BFALSE);} BgL_arg1963z00_894 = CDR(BgL_pairz00_1434); } { /* Llib/module.scm 214 */ obj_t BgL_zc3anonymousza31965ze3z83_1659; BgL_zc3anonymousza31965ze3z83_1659 = make_fx_procedure(BGl_zc3anonymousza31965ze3z83zz__modulez00, (int)(((long)1)), (int)(((long)1))); PROCEDURE_SET(BgL_zc3anonymousza31965ze3z83_1659, (int)(((long)0)), BgL_abasez00_883); { /* Llib/module.scm 213 */ obj_t BgL_list1964z00_895; BgL_list1964z00_895 = MAKE_PAIR(BgL_arg1963z00_894, BNIL); BgL_infoz00_890 = BGl_mapz12z12zz__r4_control_features_6_9z00(BgL_zc3anonymousza31965ze3z83_1659, BgL_list1964z00_895); } } } { /* Llib/module.scm 216 */ obj_t BgL_arg1960z00_891; { /* Llib/module.scm 216 */ obj_t BgL_pairz00_1435; if( PAIRP(BgL_accessz00_889)) { /* Llib/module.scm 216 */ BgL_pairz00_1435 = BgL_accessz00_889; } else { obj_t BgL_auxz00_2160; BgL_auxz00_2160 = BGl_typezd2errorzd2zz__errorz00(BGl_string2330z00zz__modulez00, BINT(((long)8274)), BGl_string2364z00zz__modulez00, BGl_string2343z00zz__modulez00, BgL_accessz00_889); FAILURE(BgL_auxz00_2160,BFALSE,BFALSE);} BgL_arg1960z00_891 = CAR(BgL_pairz00_1435); } BGl_modulezd2addzd2accesszd2innerz12zc0zz__modulez00(BgL_arg1960z00_891, BgL_infoz00_890, BgL_abasez00_883); } } } { obj_t BgL_l1844z00_2166; BgL_l1844z00_2166 = CDR(BgL_l1844z00_886); BgL_l1844z00_886 = BgL_l1844z00_2166; goto BgL_zc3anonymousza31958ze3z83_887;} } else { /* Llib/module.scm 217 */ if( NULLP(BgL_l1844z00_886)) { /* Llib/module.scm 217 */ return BTRUE;} else { /* Llib/module.scm 217 */ return BGl_errorz00zz__errorz00(BGl_string2365z00zz__modulez00, BGl_string2366z00zz__modulez00, BgL_l1844z00_886);} } } } } } } } }
/* user-error/location */ BGL_EXPORTED_DEF obj_t BGl_userzd2errorzf2locationz20zztools_errorz00(obj_t BgL_locz00_32, obj_t BgL_procz00_33, obj_t BgL_msgz00_34, obj_t BgL_objz00_35, obj_t BgL_continuez00_36) { AN_OBJECT; { /* Tools/error.scm 114 */ if (OUTPUT_PORTP(BGl_za2tracezd2portza2zd2zztools_tracez00)) { /* Tools/error.scm 116 */ obj_t BgL_port3252z00_864; BgL_port3252z00_864 = BGl_za2tracezd2portza2zd2zztools_tracez00; bgl_display_string(BGl_string3381z00zztools_errorz00, BgL_port3252z00_864); bgl_display_obj(BgL_procz00_33, BgL_port3252z00_864); bgl_display_string(BGl_string3375z00zztools_errorz00, BgL_port3252z00_864); bgl_display_obj(BgL_msgz00_34, BgL_port3252z00_864); bgl_display_string(BGl_string3375z00zztools_errorz00, BgL_port3252z00_864); bgl_display_obj(BgL_objz00_35, BgL_port3252z00_864); bgl_display_char(((unsigned char) '\n'), BgL_port3252z00_864); } else { /* Tools/error.scm 115 */ BFALSE; } { /* Tools/error.scm 117 */ long BgL_za71za7_1348; BgL_za71za7_1348 = (long) CINT(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00); BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00 = BINT((BgL_za71za7_1348 + ((long) 1))); } { /* Tools/error.scm 118 */ obj_t BgL_proczd2stringzd2_865; if (STRINGP(BgL_procz00_33)) { /* Tools/error.scm 119 */ BgL_proczd2stringzd2_865 = BgL_procz00_33; } else { /* Tools/error.scm 119 */ if (SYMBOLP(BgL_procz00_33)) { /* Tools/error.scm 122 */ obj_t BgL_res3370z00_1354; { /* Tools/error.scm 122 */ obj_t BgL_symbolz00_1352; BgL_symbolz00_1352 = BgL_procz00_33; { /* Tools/error.scm 122 */ obj_t BgL_arg2063z00_1353; BgL_arg2063z00_1353 = SYMBOL_TO_STRING(BgL_symbolz00_1352); BgL_res3370z00_1354 = BGl_stringzd2copyzd2zz__r4_strings_6_7z00 (BgL_arg2063z00_1353); } } BgL_proczd2stringzd2_865 = BgL_res3370z00_1354; } else { /* Tools/error.scm 121 */ BgL_proczd2stringzd2_865 = BFALSE; } } { /* Tools/error.scm 118 */ obj_t BgL_funzd2stringzd2_866; { /* Tools/error.scm 125 */ obj_t BgL_arg3312z00_899; BgL_arg3312z00_899 = CAR(BGl_za2sfunzd2stackza2zd2zztools_errorz00); { /* Tools/error.scm 125 */ obj_t BgL_res3371z00_1358; { /* Tools/error.scm 125 */ obj_t BgL_symbolz00_1356; BgL_symbolz00_1356 = BgL_arg3312z00_899; { /* Tools/error.scm 125 */ obj_t BgL_arg2063z00_1357; BgL_arg2063z00_1357 = SYMBOL_TO_STRING(BgL_symbolz00_1356); BgL_res3371z00_1358 = BGl_stringzd2copyzd2zz__r4_strings_6_7z00 (BgL_arg2063z00_1357); } } BgL_funzd2stringzd2_866 = BgL_res3371z00_1358; } } { /* Tools/error.scm 125 */ obj_t BgL_procz00_867; { /* Tools/error.scm 126 */ bool_t BgL_testz00_1602; if (STRINGP(BgL_proczd2stringzd2_865)) { /* Tools/error.scm 126 */ if (bigloo_strcmp(BgL_proczd2stringzd2_865, BgL_funzd2stringzd2_866)) { /* Tools/error.scm 127 */ BgL_testz00_1602 = ((bool_t) 0); } else { /* Tools/error.scm 127 */ BgL_testz00_1602 = ((bool_t) 1); } } else { /* Tools/error.scm 126 */ BgL_testz00_1602 = ((bool_t) 0); } if (BgL_testz00_1602) { /* Tools/error.scm 126 */ BgL_procz00_867 = string_append_3(BgL_funzd2stringzd2_866, BGl_string3375z00zztools_errorz00, BgL_proczd2stringzd2_865); } else { /* Tools/error.scm 126 */ BgL_procz00_867 = BgL_funzd2stringzd2_866; } } { /* Tools/error.scm 126 */ obj_t BgL_objzd2prnzd2_868; { /* Tools/error.scm 130 */ obj_t BgL_portz00_888; { /* Tools/error.scm 130 */ { /* Tools/error.scm 130 */ BgL_portz00_888 = BGl_openzd2outputzd2stringz00zz__r4_ports_6_10_1z00 (BTRUE); } } BGl_displayzd2circlezd2zz__pp_circlez00(BgL_objz00_35, BgL_portz00_888); { /* Tools/error.scm 132 */ obj_t BgL_stringz00_889; BgL_stringz00_889 = bgl_close_output_port(BgL_portz00_888); if ((STRING_LENGTH(BgL_stringz00_889) > ((long) 45))) { /* Tools/error.scm 133 */ BgL_objzd2prnzd2_868 = string_append(c_substring(BgL_stringz00_889, ((long) 0), ((long) 44)), BGl_string3382z00zztools_errorz00); } else { /* Tools/error.scm 133 */ BgL_objzd2prnzd2_868 = BgL_stringz00_889; } } } { /* Tools/error.scm 130 */ return BGl_zc3exitza33295ze3z83zztools_errorz00(BgL_continuez00_36, BgL_locz00_32, BgL_objzd2prnzd2_868, BgL_msgz00_34, BgL_procz00_867); } } } } } } }
/* system/kill */ obj_t BGl_systemzf2killzf2zzcc_execz00(obj_t BgL_cmdz00_5) { AN_OBJECT; { /* Cc/exec.scm 63 */ if (bigloo_strcmp(BGl_oszd2classzd2zz__osz00(), BGl_string1529z00zzcc_execz00)) { /* Cc/exec.scm 66 */ obj_t BgL_port1512z00_103; { /* Cc/exec.scm 66 */ obj_t BgL_res1526z00_116; { /* Cc/exec.scm 66 */ obj_t BgL_auxz00_163; BgL_auxz00_163 = BGL_CURRENT_DYNAMIC_ENV(); BgL_res1526z00_116 = BGL_ENV_CURRENT_OUTPUT_PORT(BgL_auxz00_163); } BgL_port1512z00_103 = BgL_res1526z00_116; } { /* Cc/exec.scm 66 */ obj_t BgL_arg1521z00_104; { /* Cc/exec.scm 66 */ obj_t BgL_list1522z00_105; BgL_list1522z00_105 = MAKE_PAIR(BgL_cmdz00_5, BNIL); BgL_arg1521z00_104 = BGl_systemz00zz__osz00(BgL_list1522z00_105); } bgl_display_obj(BgL_arg1521z00_104, BgL_port1512z00_103); } return bgl_display_char(((unsigned char) '\n'), BgL_port1512z00_103); } else { /* Cc/exec.scm 64 */ { /* Cc/exec.scm 74 */ obj_t BgL_port1513z00_106; { /* Cc/exec.scm 74 */ obj_t BgL_res1527z00_119; { /* Cc/exec.scm 74 */ obj_t BgL_auxz00_170; BgL_auxz00_170 = BGL_CURRENT_DYNAMIC_ENV(); BgL_res1527z00_119 = BGL_ENV_CURRENT_OUTPUT_PORT(BgL_auxz00_170); } BgL_port1513z00_106 = BgL_res1527z00_119; } { /* Cc/exec.scm 74 */ int BgL_arg1523z00_107; { /* Cc/exec.scm 74 */ char *BgL_auxz00_179; char *BgL_auxz00_177; char *BgL_auxz00_175; char *BgL_auxz00_173; BgL_auxz00_179 = BSTRING_TO_STRING(BgL_cmdz00_5); BgL_auxz00_177 = BSTRING_TO_STRING(BGl_string1530z00zzcc_execz00); BgL_auxz00_175 = BSTRING_TO_STRING(BGl_za2shellza2z00zzengine_paramz00); BgL_auxz00_173 = BSTRING_TO_STRING(BGl_za2shellza2z00zzengine_paramz00); BgL_arg1523z00_107 = execl(BgL_auxz00_173, BgL_auxz00_175, BgL_auxz00_177, BgL_auxz00_179, ((long) 0)); } bgl_display_obj(BINT(BgL_arg1523z00_107), BgL_port1513z00_106); } bgl_display_char(((unsigned char) '\n'), BgL_port1513z00_106); } return BGl_internalzd2errorzd2zztools_errorz00 (BGl_string1531z00zzcc_execz00, BGl_string1532z00zzcc_execz00, BgL_cmdz00_5); } } }