    [INACTIVE] Optional semicolons for statement termination

    Derived from N8 Gray's patch:

    http://sourceforge.net/tracker/?func=detail&atid=311005&aid=1185506&group_id=11005
	    [ 1185506 ] Optional semicolons for statement termination

    The Enhancements to NEdit macro parsing patch includes this change.

diff -ur nedit_official/source/parse.y nedit_mod/source/parse.y
--- nedit_official/source/parse.y	2005-02-15 22:44:16.000000000 -0500
+++ nedit_mod/source/parse.y	2005-04-19 14:03:12.838371000 -0400
@@ -69,6 +69,7 @@
 %nonassoc IF_NO_ELSE
 %nonassoc ELSE
 
+%nonassoc ';'
 %nonassoc SYMBOL ARG_LOOKUP
 %right    '=' ADDEQ SUBEQ MULEQ DIVEQ MODEQ ANDEQ OREQ
 %left     CONCAT
@@ -108,7 +109,10 @@
 stmts:      stmt
             | stmts stmt
             ;
-stmt:       simpstmt '\n' blank
+stmtend:    '\n' | ';'
+            ;
+stmt:       ';' blank
+            | simpstmt stmtend blank
             | IF '(' cond ')' blank block %prec IF_NO_ELSE {
                 SET_BR_OFF($3, GetPC());
             }
@@ -134,22 +138,22 @@
                     SET_BR_OFF($5+5, GetPC());
                     FillLoopAddrs(GetPC(), $5+2);
             }
-            | BREAK '\n' blank {
+            | BREAK stmtend blank {
                 ADD_OP(OP_BRANCH); ADD_BR_OFF(0);
                 if (AddBreakAddr(GetPC()-1)) {
                     yyerror("break outside loop"); YYERROR;
                 }
             }
-            | CONTINUE '\n' blank {
+            | CONTINUE stmtend blank {
                 ADD_OP(OP_BRANCH); ADD_BR_OFF(0);
                 if (AddContinueAddr(GetPC()-1)) {
                     yyerror("continue outside loop"); YYERROR;
                 }
             }
-            | RETURN expr '\n' blank {
+            | RETURN expr stmtend blank {
                 ADD_OP(OP_RETURN);
             }
-            | RETURN '\n' blank {
+            | RETURN stmtend blank {
                 ADD_OP(OP_RETURN_NO_VAL);
             }
             ;

