sagetex
sagetex copied to clipboard
sagetexparse: getTokensEndLoc no more supported by pyparsing
It appears that getTokensEndLoc was (silently ?) discarded from pyparsing, so sagetexparse and its friends are no more functionnal.
You can copy the old code from getTokensEndLoc
, it still works:
def getTokensEndLoc():
"""Method to be called from within a parse action to determine the end
location of the parsed tokens."""
import inspect
fstack = inspect.stack()
try:
# search up the stack (through intervening argument normalizers) for correct calling routine
for f in fstack[2:]:
if f[3] == "_parseNoCache":
endloc = f[0].f_locals["loc"]
return endloc
else:
raise ParseFatalException("incorrect usage of getTokensEndLoc - may only be called from within a parse action")
finally:
del fstack
def skipToMatching(opener, closer):
"""
:param opener: opening token
:param closer: closing token
"""
nest = nestedExpr(opener, closer)
return originalTextFor(nest)
This code works for me.
Would be great to get to specifics of this issue. How can one see breakage?