Index: trunk/MagicSoft/Mars/mdata/MDataChain.cc
===================================================================
--- trunk/MagicSoft/Mars/mdata/MDataChain.cc	(revision 6569)
+++ trunk/MagicSoft/Mars/mdata/MDataChain.cc	(revision 6572)
@@ -195,5 +195,5 @@
     fTitle = rule;
 
-    fMember=ParseString(rule, 1);
+    fMember=ParseString(rule);
 }
 
@@ -213,5 +213,5 @@
 
     *fLog << inf << "Parsing rule... " << flush;
-    if (!(fMember=ParseString(rule, 1)))
+    if (!(fMember=ParseString(rule)))
     {
         *fLog << err << dbginf << "Parsing '" << rule << "' failed." << endl;
@@ -382,6 +382,6 @@
     txt.ReplaceAll("**", "^");
 
-    while (txt.First("--")>=0 || txt.First("++")>=0 ||
-           txt.First("+-")>=0 || txt.First("-+")>=0)
+    while (txt.Contains("--") || txt.Contains("++") ||
+           txt.Contains("+-") || txt.Contains("-+"))
     {
         txt.ReplaceAll("--", "+");
@@ -402,6 +402,4 @@
     if (low.Length()==0)
         return;
-
-    //cout << "--- " << Form("[%c]", op[0]) << " ---" << endl;
 
     int offset = 0;
@@ -447,6 +445,5 @@
         // Check if it contains operators,
         // otherwise we can simply skip it
-        static const TRegexp regexp("[%/*^+-]");
-        if (sub.Index(regexp)>0)
+        if (sub.First("%^/*+-")>=0)
         {
             test.Insert(offset+j,   ")");
@@ -893,5 +890,5 @@
     }
 
-    if (!(fMember=ParseString(rule, 1)))
+    if (!(fMember=ParseString(rule)))
     {
         *fLog << err << "MDataChain::ReadEnv - ERROR: Parsing '" << rule << "' failed." << endl;
