Sometimes, it will just happen that things work like they should. I had a nice example this morning, and it shows how Recoll can be useful for maintaining code, so here goes.

The new Recoll 1.19.2 has a few minor interface issues, so I decided to create a PPA to maintain 1.18 packages for users who’d rather stay with the old version. The latest 1.18 code had not be compiled on Launchpad for some time, and:

The Lucid build failed:
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wall -g -O2 -fPIC -DMAJOR_VERSION=1 ...
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++
pyrecoll.cpp: In function 'void initrecoll()':
pyrecoll.cpp:1864: error: 'PyCapsule_New' was not declared in this scope
error: command 'gcc' failed with exit status 1

So I decided to see if Recoll was good for something. Here follows the search track, nothing removed. This is performed on my main index, with all my documents and email, so I was quite lucky to get so few spurious results. Still, it goes to show that things sometimes work…

First search:

pycapsule_search1.png

The two previews:

pycapsule_2previews.png

Nailed it ! 1.19 has a change to adapt to older Python versions, which did not made it into the 1.18 maintenance branch.

By the way, if you want to open previews in separate windows for comparison, hold the Shift key while clicking the Preview link.

Almost there. Where else could this be an issue ?

Second search:

pycapsule_search2.png

And we’re done ! The first result is the second file which was modified to account for the older Python version.

I could have found this with the command line, grepping away looking at code in both source trees, but, really, this is much easier, Recoll did all the typing for me :)