fix bug field counts for struct-type-info result
svn: r5894
This commit is contained in:
parent
bdcb50603b
commit
b45664c279
File diff suppressed because it is too large
Load Diff
|
@ -4131,7 +4131,7 @@ static Scheme_Object *do_module_begin(Scheme_Object *form, Scheme_Comp_Env *env,
|
|||
fm = scheme_append(fst, scheme_make_pair(e, fm));
|
||||
SCHEME_EXPAND_OBSERVE_MODULE_LIFT_LOOP(observer, fst);
|
||||
} else {
|
||||
/* No lifts added... */
|
||||
/* No definition lifts added... */
|
||||
if (SCHEME_STX_PAIRP(e))
|
||||
fst = SCHEME_STX_CAR(e);
|
||||
else
|
||||
|
@ -4155,7 +4155,7 @@ static Scheme_Object *do_module_begin(Scheme_Object *form, Scheme_Comp_Env *env,
|
|||
}
|
||||
}
|
||||
} else
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!e) break; /* (begin) expansion at end */
|
||||
|
|
|
@ -2523,9 +2523,15 @@
|
|||
" letrec-syntaxes+values"
|
||||
" fluid-let-syntax"
|
||||
" with-continuation-mark"
|
||||
" #%expression"
|
||||
" #%variable-reference"
|
||||
" #%app"
|
||||
" #%top"
|
||||
" #%datum)))))"
|
||||
" #%datum"
|
||||
" provide "
|
||||
" require"
|
||||
" require-for-syntax"
|
||||
" require-for-template)))))"
|
||||
"(syntax-case* e(begin define-values define-syntaxes require require-for-template) "
|
||||
" module-transformer-identifier=?"
|
||||
"((begin v ...)"
|
||||
|
|
|
@ -2904,9 +2904,15 @@
|
|||
letrec-syntaxes+values
|
||||
fluid-let-syntax
|
||||
with-continuation-mark
|
||||
#%expression
|
||||
#%variable-reference
|
||||
#%app
|
||||
#%top
|
||||
#%datum)))])
|
||||
#%datum
|
||||
provide
|
||||
require
|
||||
require-for-syntax
|
||||
require-for-template)))])
|
||||
(syntax-case* e (begin define-values define-syntaxes require require-for-template)
|
||||
module-transformer-identifier=?
|
||||
[(begin v ...)
|
||||
|
|
|
@ -1395,7 +1395,7 @@ static void get_struct_type_info(int argc, Scheme_Object *argv[], Scheme_Object
|
|||
{
|
||||
Scheme_Struct_Type *stype, *parent;
|
||||
Scheme_Object *insp, *ims;
|
||||
int p;
|
||||
int p, cnt;
|
||||
|
||||
insp = check_type_and_inspector("struct-type-info", always, argc, argv);
|
||||
stype = (Scheme_Struct_Type *)argv[0];
|
||||
|
@ -1419,8 +1419,9 @@ static void get_struct_type_info(int argc, Scheme_Object *argv[], Scheme_Object
|
|||
parent = NULL;
|
||||
|
||||
a[0] = stype->name;
|
||||
a[1] = scheme_make_integer(stype->num_islots);
|
||||
a[2] = scheme_make_integer(stype->num_slots - (parent ? parent->num_slots : 0) - stype->num_islots);
|
||||
cnt = stype->num_islots - (parent ? parent->num_islots : 0);
|
||||
a[1] = scheme_make_integer(cnt);
|
||||
a[2] = scheme_make_integer(stype->num_slots - (parent ? parent->num_slots : 0) - cnt);
|
||||
a[3] = stype->accessor;
|
||||
a[4] = stype->mutator;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user