.representation = ss_buffer (&src->buffer[start - src->tail],
end - start),
};
+ src->middle += middle_ofs + 1;
n_call = macro_expander_add (me, &mt);
+ src->middle -= middle_ofs + 1;
}
if (n_call < 0)
{
const struct lex_token *call_first
= &src->tokens[src->middle & (src->capacity - 1)];
const struct lex_token *call_last
- = &src->tokens[(src->middle + n_call) & (src->capacity - 1)];
+ = &src->tokens[(src->middle + n_call - 1) & (src->capacity - 1)];
size_t call_pos = call_first->token_pos;
size_t call_len = (call_last->token_pos + call_last->token_len) - call_pos;
size_t line_pos = call_first->line_pos;