Index: gc_core/py/lang_core/gc_engine.py ================================================================== --- gc_core/py/lang_core/gc_engine.py +++ gc_core/py/lang_core/gc_engine.py @@ -883,16 +883,16 @@ dErr['sUnderlined'] = self.sSentence0[dErr["nStart"]:dErr["nEnd"]] dErr['sBefore'] = self.sSentence0[max(0,dErr["nStart"]-80):dErr["nStart"]] dErr['sAfter'] = self.sSentence0[dErr["nEnd"]:dErr["nEnd"]+80] return dErr - def _expand (self, sMsg, nTokenOffset): - #print("*", sMsg) - for m in re.finditer(r"\\([0-9]+)", sMsg): - sMsg = sMsg.replace(m.group(0), self.lToken[int(m.group(1))+nTokenOffset]["sValue"]) - #print(">", sMsg) - return sMsg + def _expand (self, sText, nTokenOffset): + #print("*", sText) + for m in re.finditer(r"\\([0-9]+)", sText): + sText = sText.replace(m.group(0), self.lToken[int(m.group(1))+nTokenOffset]["sValue"]) + #print(">", sText) + return sText def _tagAndPrepareTokenForRewriting (self, sWhat, nTokenRewriteStart, nTokenRewriteEnd, nTokenOffset, bUppercase=True, bDebug=False): "text processor: rewrite tokens between and position" if bDebug: print("REWRITING:", nTokenRewriteStart, nTokenRewriteEnd) @@ -921,10 +921,12 @@ for i in range(nTokenRewriteStart, nTokenRewriteEnd+1): self.lToken[i]["sNewValue"] = "_" else: if sWhat.startswith("="): sWhat = globals()[sWhat[1:]](self.lToken, nTokenOffset) + else: + sWhat = self._expand(sWhat, nTokenOffset) bUppercase = bUppercase and self.lToken[nTokenRewriteStart]["sValue"][0:1].isupper() if nTokenRewriteEnd - nTokenRewriteStart == 0: # one token sWhat = sWhat + " " * (len(self.lToken[nTokenRewriteStart]["sValue"])-len(sWhat)) if bUppercase: