Bug 275548

Summary: Kate "Highlight Selection" plugin invisible
Product: kdelibs Reporter: Jaques Arantes <jaques.arantes>
Component: kdecoreAssignee: kdelibs bugs <kdelibs-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: kwrite-bugs-null, lueck
Priority: VHI    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE RPMs   
OS: Linux   
Latest Commit: Version Fixed In: 4.7.1

Description Jaques Arantes 2011-06-13 14:30:53 UTC
Version:           unspecified (using KDE 4.6.0) 
OS:                Linux

"Highlight Selection" plugin is installed but not visible for any non-english locales.

See
https://bugzilla.redhat.com/show_bug.cgi?id=701151

This bug was reported for "Fedora 15", but I see the same in openSUSE 11.4 (KDE 4.6.0), so I think it is not distro related.

I also tested with openSUSE 11.4 +  KDE 4.6.3 in another machine and the same happens.


Reproducible: Always

Steps to Reproduce:
Open Kate with any english locale and "Settings/Configure Kate/Editor component/Extensions" will contain "Highlight Selection" plugin.

Open again with a non english locale and "Highlight Selection" plugin will not appear.

Actual Results:  
"Highlight Selection" plugin only visible for english locales.

Expected Results:  
"Highlight Selection" plugin only visible for any locale.

This bug was first reported as a Redhat issue:
https://bugzilla.redhat.com/show_bug.cgi?id=701151

The bug also happens also on openSUSE, but seems not reported, though.
Comment 1 Jaques Arantes 2011-06-13 19:53:02 UTC
I just upgraded to KDE 4.6.4, openSUSE build, Kate 3.6.4 and the same behaviour is seen.

with "LANG=C kate", the plugin works out of the box. With "LANG=pt_BR kate" it does not work and not even appears in texst editor plugins list.
Comment 2 Burkhard Lück 2011-06-13 20:30:53 UTC
Fix for this bug is waiting for review, see http://git.reviewboard.kde.org/r/101610/
Comment 3 Dominik Haumann 2011-06-25 09:41:08 UTC
Any news here, this is important...
Comment 4 Burkhard Lück 2011-06-29 19:16:56 UTC
(In reply to comment #3)
> Any news here, this is important...

Afaik there is still no review for http://git.reviewboard.kde.org/r/101610/.

Would you please mind to review this request?

I can't do that with my limited knowledge.

Thanks.
Comment 5 Jaques Arantes 2011-06-29 19:50:48 UTC
I can give my impressions, but I am neither able to do a deep review
as I am not aware of KDE coding standards.

My understanting is that "KTraderParse_putSimplePositiveFloat()" can
give correct floating point values independently of locale settings
_but_ is limited to parse values in the form "[0-9]*\.[0-9]+".
I don't know if it can be garanteed.
If this input rule is the only one expected, the solution is adequate.
I think is valid to mention the classic C++ way of doing it.

// http://stackoverflow.com/questions/1333451/c-locale-independent-atof
#include <sstream>
#include <locale>

...
float longitude = 0.0f;
std::istringstream istr(pField);

istr.imbue(std::locale("C"));
istr >> longitude;


(I don't know the correct way of submitting this. Please sorry if I am
messing up everithing..)

2011/6/29 Burkhard Lueck <lueck@hube-lueck.de>:
> https://bugs.kde.org/show_bug.cgi?id=275548
>
>
>
>
>
> --- Comment #4 from Burkhard Lueck <lueck hube-lueck de>  2011-06-29 19:16:56 ---
> (In reply to comment #3)
>> Any news here, this is important...
>
> Afaik there is still no review for http://git.reviewboard.kde.org/r/101610/.
>
> Would you please mind to review this request?
>
> I can't do that with my limited knowledge.
>
> Thanks.
>
> --
> Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You reported the bug.
>
Comment 6 Dominik Haumann 2011-07-27 08:24:15 UTC
Reassign, please fix for KDE 4.7.
Comment 7 Chusslove Illich 2011-08-15 18:34:04 UTC
Git commit d522bb4d44bfe53d19b2072ccbabd24151b70a75 by Chusslove Illich (Часлав Илић).
Committed on 15/08/2011 at 20:30.
Pushed by ilic into branch 'KDE/4.7'.

Usage of atof() to parse floats in trader language was locale-dependent:
if locale specified something other than dot as decimal separator,
parsing floats (which are always dot-separated in queries) failed.
Replaced atof() with simple sufficient custom parser.

Added a unit test.

BUG: 275548
FIXED-IN: 4.7.1

M  +31   -1    kdecore/services/lex.l
M  +1    -0    kdecore/tests/kservicetest.h
M  +20   -0    kdecore/tests/kservicetest.cpp

http://commits.kde.org/kdelibs/d522bb4d44bfe53d19b2072ccbabd24151b70a75
Comment 8 Chusslove Illich 2011-08-15 18:34:05 UTC
Git commit dff65016b12e17ddfa842c12437d4ae1a615a497 by Chusslove Illich (Часлав Илић).
Committed on 15/08/2011 at 20:30.
Pushed by ilic into branch 'frameworks'.

Usage of atof() to parse floats in trader language was locale-dependent:
if locale specified something other than dot as decimal separator,
parsing floats (which are always dot-separated in queries) failed.
Replaced atof() with simple sufficient custom parser.

Added a unit test.

BUG: 275548
FIXED-IN: 4.7.1
(cherry picked from commit d522bb4d44bfe53d19b2072ccbabd24151b70a75)

M  +31   -1    kdecore/services/lex.l
M  +1    -0    kdecore/tests/kservicetest.h
M  +20   -0    kdecore/tests/kservicetest.cpp

http://commits.kde.org/kdelibs/dff65016b12e17ddfa842c12437d4ae1a615a497