@@ -237,7 +237,7 @@ fn expand_item_mac(exts: HashMap<~str, syntax_extension>,
237
237
);
238
238
239
239
let extname = cx.parse_sess().interner.get(pth.idents[0]);
240
- let ( expanded, ex_span) = match exts.find(*extname) {
240
+ let expanded = match exts.find(*extname) {
241
241
None => cx.span_fatal(pth.span,
242
242
fmt!(" macro undefined: ' %s!' ", *extname)),
243
243
@@ -248,22 +248,26 @@ fn expand_item_mac(exts: HashMap<~str, syntax_extension>,
248
248
given ' %s' ", *extname,
249
249
*cx.parse_sess().interner.get(it.ident)));
250
250
}
251
- (((*expand).expander)(cx, it.span, tts), (*expand).span)
251
+ cx.bt_push(ExpandedFrom({call_site: it.span,
252
+ callie: {name: *extname,
253
+ span: (*expand).span}}));
254
+ ((*expand).expander)(cx, it.span, tts)
252
255
}
253
256
Some(item_tt(ref expand)) => {
254
257
if it.ident == parse::token::special_idents::invalid {
255
258
cx.span_fatal(pth.span,
256
259
fmt!(" macro %s! expects an ident argument",
257
260
*extname));
258
261
}
259
- (((*expand).expander)(cx, it.span, it.ident, tts), (*expand).span)
262
+ cx.bt_push(ExpandedFrom({call_site: it.span,
263
+ callie: {name: *extname,
264
+ span: (*expand).span}}));
265
+ ((*expand).expander)(cx, it.span, it.ident, tts)
260
266
}
261
267
_ => cx.span_fatal(
262
268
it.span, fmt!(" %s! is not legal in item position", *extname))
263
269
};
264
270
265
- cx.bt_push(ExpandedFrom({call_site: it.span,
266
- callie: {name: *extname, span: ex_span}}));
267
271
let maybe_it = match expanded {
268
272
mr_item(it) => fld.fold_item(it),
269
273
mr_expr(_) => cx.span_fatal(pth.span,
0 commit comments