François Dumont
2016-11-28 21:19:17 UTC
Hi
Here is a patch to fix pretty printers when versioned namespace is
activated.
You will see that I have hesitated in making the fix independant of
the version being used. In source files you will find (__7::)? patterns
while in xmethods.py I chose (__\d+::)? making it ready for __8 and
forward. Do you want to generalize one option ? If so which one ?
At the moment version namespace is visible within gdb, it displays
for instance 'std::__7::string'. I am pretty sure we could hide it, is
it preferable ? I would need some time to do so as I am neither a python
nor regex expert.
I am not fully happy with the replication in printers.py of
StdRbtreeIteratorPrinter and StdExpAnyPrinter(SingleObjContainerPrinter
in respectively StdVersionedRbtreeIteratorPrinter and
StdExpVerAnyPrinter(SingleObjContainerPrinter just to adapt 2 lines
where regex is not an option. We could surely keep only one and pass it
'' or '__7'. But as I said I am not a python expert so any help would be
appreciated.
I still need to run it with versioned namespace disabled to make
sure there is no regression.
François
Here is a patch to fix pretty printers when versioned namespace is
activated.
You will see that I have hesitated in making the fix independant of
the version being used. In source files you will find (__7::)? patterns
while in xmethods.py I chose (__\d+::)? making it ready for __8 and
forward. Do you want to generalize one option ? If so which one ?
At the moment version namespace is visible within gdb, it displays
for instance 'std::__7::string'. I am pretty sure we could hide it, is
it preferable ? I would need some time to do so as I am neither a python
nor regex expert.
I am not fully happy with the replication in printers.py of
StdRbtreeIteratorPrinter and StdExpAnyPrinter(SingleObjContainerPrinter
in respectively StdVersionedRbtreeIteratorPrinter and
StdExpVerAnyPrinter(SingleObjContainerPrinter just to adapt 2 lines
where regex is not an option. We could surely keep only one and pass it
'' or '__7'. But as I said I am not a python expert so any help would be
appreciated.
I still need to run it with versioned namespace disabled to make
sure there is no regression.
François