--- eruby.c.orig Tue Dec 7 11:28:07 1999 +++ eruby.c Tue Dec 7 11:37:43 1999 @@ -37,10 +37,14 @@ c = getc(in); again: if (c == eruby_end_delimiter[0]) { - if (prevc == eruby_end_delimiter[0]) - continue; c = getc(in); if (c == eruby_end_delimiter[1]) { + if (prevc == eruby_end_delimiter[0]) { + if (type != EMBEDDED_COMMENT) + putc(eruby_end_delimiter[1], out); + prevc = eruby_end_delimiter[1]; + continue; + } if (type == EMBEDDED_EXPR) fputs(")); ", out); else if (type == EMBEDDED_STMT && prevc != '\n') @@ -141,8 +145,7 @@ } else if (c == eruby_begin_delimiter[1]) { /* <%% => <% */ if (prevc < 0) fputs("print \"", out); - putc(eruby_begin_delimiter[0], out); - putc(eruby_begin_delimiter[1], out); + fwrite(eruby_begin_delimiter, 1, 2, out); prevc = eruby_begin_delimiter[1]; continue; }