installing from git and translations from release?

René J.V. Bertin rjvbertin at
Mon Sep 5 16:36:23 UTC 2016

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"


More information about the KDevelop-devel mailing list