Index: parse.c =================================================================== --- parse.c (revision 11239) +++ parse.c (revision 11240) @@ -232,7 +232,7 @@ return 0; case inst2num('P','U'): ctx->state.pen_down = 0; - p->state = ST_INST_END; + p->state = ST_NUMBERS_OR_END; return 0; case inst2num('P','D'): ctx->state.pen_down = 1; @@ -294,8 +294,10 @@ ctx->state.ct = coord; p->state = ST_INST_END; return 0; + case inst2num('P','U'): case inst2num('P','A'): case inst2num('P','D'): + p->state = ST_NUMBERS; /* make sure to load even a single pair */ if (p->argc == 2) { if (ctx->state.pen_down) if (draw_line(ctx, ctx->state.at.x, ctx->state.at.y, p->argv[0], p->argv[1]) < 0)