commit 44a06adb6c1aa6365ab13621ec6f85b1e4a6663f
Author: Kornel Benko <kor...@lyx.org>
Date:   Fri Feb 22 13:21:23 2019 +0100

    FindAdv: debug info
    
    1.) Fill the 'head'-member to easier recognize the macro. May be discarded
     later, although it does not take too much run-time
    2.) Add some comment
    3.) Ignore any macro inside the regex.
---
 src/lyxfind.cpp |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp
index 2a70c54..7b62313 100644
--- a/src/lyxfind.cpp
+++ b/src/lyxfind.cpp
@@ -1536,7 +1536,10 @@ void LatexInfo::buildEntries(bool isPatternString)
         found._dataStart = found._dataEnd;
         found._tokensize = found._dataEnd - found._tokenstart;
         found.parenthesiscount = 0;
+        found.head = interval.par.substr(found._tokenstart, found._tokensize);
       }
+      else
+        continue;
     }
     else {
       if (evaluatingMath) {
@@ -1575,6 +1578,7 @@ void LatexInfo::buildEntries(bool isPatternString)
         found._dataEnd = found._tokenstart + found._tokensize;
         found._dataStart = found._dataEnd;
         found.parenthesiscount = 0;
+        found.head = interval.par.substr(found._tokenstart, found._tokensize);
         evaluatingMath = true;
       }
       else {
@@ -1625,9 +1629,11 @@ void LatexInfo::buildEntries(bool isPatternString)
             found.head = interval.par.substr(found._tokenstart, 
found._tokensize);
           }
           else {
+            // Swallow possible optional params
             while (interval.par[pos1] == '[') {
               pos1 = interval.findclosing(pos1+1, interval.par.length(), '[', 
']')+1;
             }
+            // Swallow also the eventual parameter
             if (interval.par[pos1] == '{') {
               found._dataEnd = interval.findclosing(pos1+1, 
interval.par.length()) + 1;
             }
@@ -1637,6 +1643,7 @@ void LatexInfo::buildEntries(bool isPatternString)
             found._dataStart = found._dataEnd;
             found._tokensize = count + found._dataEnd - pos;
             found.parenthesiscount = 0;
+            found.head = interval.par.substr(found._tokenstart, 
found._tokensize);
             found.disabled = true;
           }
         }
@@ -1646,6 +1653,7 @@ void LatexInfo::buildEntries(bool isPatternString)
           found._dataEnd = found._dataStart;
           found._tokensize = count + found._dataEnd - pos;
           found.parenthesiscount = 0;
+          found.head = interval.par.substr(found._tokenstart, 
found._tokensize);
           found.disabled = true;
         }
       }

Reply via email to