Mr. Tildesley,

The patch has just been merged:

Thank you for your guidance!

On Tue, Sep 15, 2020 at 5:35 PM Prafulla Giri <> wrote:
Dear Mr. Tildesley,

I have sent in a patch to do as you've suggested.

Thank you very much.

I will remember this trick of not wrapping wrappers from now on. Thank you very much.

On Sun, Sep 13, 2020 at 6:28 PM Brendan Tildesley <> wrote:
On 8/9/20 10:22 pm, Prafulla Giri wrote:
I see.

Yes, it does make sense now why you chose to replace the 'wrap phase.

I wonder.... perhaps it'd be better altogether if the (wrap-program) procedure could be re-written to not make ..*.real.real programs...? That would save us a lot of code-duplication...

I have come to understand wrap-program a little better and I realised your patch could have actually been fixed in a better way than I did. The issue is with the part of your code that runs

(find-files "." ".*")

This is what matches all the .calibre-real files

If instead of that, it was:

(find-files "." (lambda (file stat) (not (wrapper? file))))


(find-files "." (lambda (file stat) (not (string-prefix "." (basename file))))

It should avoid double wrapping. An even simpler way would have been to use (add-before 'wrap ..., instead of (add-after 'wrap ...

If you are still interested, feel free to make a patch overwriting mine to use this more correct method, instead of where i duplicated the wrap PYTHONPATH bit.

The fact that this happened is a bug though. I created some patches I think fix this for core-updates. It would have made your original patch error and force you to fix it: