- if(input == end || !isalnum((unsigned char)*input))
- fatal(0, "%s:%d: invalid expansion", filename, e->line);
+ if(input == end)
+ disorder_fatal(0, "%s:%d: invalid expansion syntax (truncated)",
+ filename, e->line);
+ if(!isalnum((unsigned char)*input))
+ disorder_fatal(0, "%s:%d: invalid expansion syntax (unexpected %#x)",
+ filename, e->line, (unsigned char)*input);