--- a/m2pp.mod
+++ b/m2pp.mod
@@ -49,6 +49,7 @@
   (*                IF-Block nicht verarbeitet wird wenn umgebende Block     *)
   (*                auch nicht verarbeitet werden soll !!!                   *)
   (* 26.09.16, MRi: Usage eingefuegt                                         *)
+  (* 03.02.19, MRi: Usage erweitert                                          *)
   (*-------------------------------------------------------------------------*)
   (* Offene Punkte                                                           *)
   (*                                                                         *)
@@ -65,7 +66,7 @@
   (* Licence : GNU General Public License (GPL)                              *)
   (*-------------------------------------------------------------------------*)
 
-  (* $Id: m2pp.mod,v 1.6 2016/09/26 21:26:22 mriedl Exp mriedl $ *)
+  (* $Id: m2pp.mod,v 1.8 2019/02/03 09:32:38 mriedl Exp mriedl $ *)
 
 FROM ArgAccess  IMPORT GetArgCount,GetArgument;
                 IMPORT Errors;
@@ -88,8 +89,15 @@
 
 BEGIN
       WLn; WLn;
-      WSt("Benutzung: m2pp {-d} {-b} -D opt1 {- D opt2} -U opt3 {-U opt4}");
+      WSt(" Usage: m2pp {-d} {-b} -D opt1 {- D opt2} -U opt3 {-U opt4}");
       WSt(" < input > output"); WLn; WLn;
+      WLn;
+      WSt("   -d : debug output (useless for 'normal' user");      WLn;
+      WSt("   -b : replace unused code by blank lines");           WLn;
+      WSt("        (otherwise  more readable code is generated)"); WLn;
+      WSt("   -D : define compilation option");                    WLn;
+      WSt("   -U : undefine compilation option");                  WLn;
+      WLn;
       Errors.FatalError("Programm abgebrochen !");
 END Usage;
 
@@ -230,7 +238,7 @@
 PROCEDURE IsPragmaLine(Line : ARRAY OF CHAR) : BOOLEAN;
 
           (*----------------------------------------------------------------*)
-          (* Check if Line contains a start pragma "<*" *)
+          (* Check if Line contains a start pragma "<\*"                    *)
           (*----------------------------------------------------------------*)
 
           CONST startcomment = "(*";
@@ -255,7 +263,7 @@
  *      i:=0;
  *      REPEAT
  *        comment:=Strings.Equal(startcomment,Tokens[i]);
- *        found:=Strings.Equal("<*",Tokens[i]);
+ *        found:=Strings.Equal("<\*",Tokens[i]);
  *        INC(i);
  *      UNTIL found OR (i >= ntok) OR comment;
  *      starttok := i-1;
@@ -374,33 +382,35 @@
 
                     (* Skip nested IF-Blocks, even if themsefe nested *)
 
-CONST debug = FALSE;
+                    CONST debug = FALSE;
 
                     VAR openif : CARDINAL; (* Buchhaltung IF-Bloecke *)
           BEGIN
                 openif:=OpenIF + 1;
-IF debug THEN
-  WSt("Start SkipNestedBlocks ... ");
-  WSt("#  openif = "); WrC(openif); WLn;
-END;
+                IF debug THEN
+                  WSt("Start SkipNestedBlocks ... ");
+                  WSt("#  openif = "); WrC(openif); WLn;
+                END;
                 LOOP
                   ReadLine(Ein,Line);
-                  IF EOF THEN RETURN; END;     (* Das sollte nicht vorkommen ! *)
+                  IF EOF THEN RETURN; END; (* Das sollte nicht vorkommen ! *)
                   INC(LineNo);
-IF debug THEN
-  WrC(LineNo); WSt(" SkipNB ... "); WriteLine(StdErr,Line); WLn;
-END;
-                  IF (IsPragmaLine(Line)) THEN (* inklusive Zerlegung in Token *)
+                  IF debug THEN
+                    WrC(LineNo); WSt(" SkipNB ... "); 
+                    WriteLine(StdErr,Line); WLn;
+                  END;
+                  IF (IsPragmaLine(Line)) THEN
+                    (* inklusive Zerlegung in Token *)
                     IF    (Strings.Equal(Tokens[1],"IF") ) THEN
                       INC(openif);
-IF debug THEN
-  WSt("+ openif = "); WrC(openif); WLn;
-END;
+                      IF debug THEN
+                        WSt("+ openif = "); WrC(openif); WLn;
+                      END;
                     ELSIF (Strings.Equal(Tokens[1],"END")) THEN
                       DEC(openif);
-IF debug THEN
-  WSt("- openif = "); WrC(openif); WLn;
-END;
+                      IF debug THEN
+                        WSt("- openif = "); WrC(openif); WLn;
+                      END;
                       IF (openif = OpenIF) THEN
                         (* Jetzt haben wir den eingebetteten Block verarbeitet *)
                         WrEmptyLn(Aus);
@@ -410,10 +420,10 @@
                   END;
                   WrEmptyLn(Aus);
                 END;
-IF debug THEN
-  WSt("&  openif = "); WrC(openif); WLn;
-  WSt("... Ende SkipNestedBlocks");
-END;
+                IF debug THEN
+                  WSt("&  openif = "); WrC(openif); WLn;
+                  WSt("... Ende SkipNestedBlocks");
+                END;
           END SkipNestedBlocks;
 
           VAR   isDef     : BOOLEAN;
@@ -427,7 +437,7 @@
 
         isDef:=EvaluateExpression();
 
-        WrEmptyLn(Aus); (* replace <* IF ... *)
+        WrEmptyLn(Aus); (* replace <\* IF ... *)
 
         LOOP (* Sicher noch nicht korrekt *)
           rekursion:=FALSE;