On Friday September 02 2016 09:57:33 Kevin Funk wrote:

> > No language dictionaries for the language: "pt"

OK, this is weird. I rebuilt Sonnet with clang 3.8.1 on a hunch and the warning 
disappeared - for a while.

Here's what I think happens:

- Sonnet is initialised for background spell checking
- This involves guessing the languages that each line of at least the active 
file might be written in, and looking for the corresponding dictionaries

With a few qDebug lines in speller.cpp, and Qt's qstandardpaths.h open :

Guessing language for "** $QT_END_LICENSE$" from candidates ("da", "pt", "de", 
"en_GB-ise-w_accents")
No language dictionaries for the language: "pt"
Guessing language for "\\brief The QStandardPaths class provides methods for 
accessing standard paths." from candidates ("en", "pt", "es", "de", 
"en_GB-ise-w_accents")
No language dictionaries for the language: "pt"


Cross-posting to fw-devel as a FYI. Context: frameworks 5.24.0 (sic) . The 
dictionary warning happens when I use KDevelop's LLDB debugger plugin, and can 
appear either when the plugin is starting up, when it's finishing after the 
debug target has terminated and apparently any moment in between. It can also 
happen when KDevelop is starting up with files open. Apparently the same lines 
do not always generate the same list of candidate languages (?!)

I guess this could be an expression of a perverse bug somewhere in the code 
that leads to memory corruption (which occurs elsewhere after rebuilding Sonnet 
with clang 3.8.1?). That would fit with the fact I'm only seeing that warning 
message when I have a big KDevelop session loaded. Valgrind might be required 
here but sadly my system cannot handle running even a basic KDevelop session 
under valgrind. Running with malloc debugging options (bounds and freed memory 
protection) didn't show anything out of the ordinary.

Even if there's no such bug: why should the user be warned about a missing 
dictionary for a guessed language? Warn or even raise an error if dictionaries 
are missing for languages requested explicitly, but methinks there's little 
point in informing the user that

"we think you have a file open that contains a line that might be written in 
<SomeMoreOrLessImprobableLanguage> but you don't have a dictionary for that 
language installed"

R

Reply via email to