@hawhill: That would be even better and was actually my first guess, but I was unsure if you were willing to fork sdcv (or maybe it's already forked?).
The patch would be very simple, as far as I can tell it's just about changing line 592 of sdcv/src/lib.cpp from:
Code:
printf("save to cache %s\n", url.c_str());
to:
Code:
fprintf(stderr,"save to cache %s\n", url.c_str());
right?
I'm still unsure about how I got stuck in this though. At a closer look it seems that that message is printed only when sdcv creates the cache file (.oft extension) and this should be the first time you search for a term. That's why this issue got unnoticed so far: you install your dictionary and search for a term, sdcv gives the "save to cache" message, json.decode fails to decode, koreader returns the dummy table, you think: "uh, word not present in the dictionary" and make another search which, from now on, goes smoothly.
For some reason I was getting that warning again and again.
Anyway, I will gladly do a report to github, I'm very happy to help