User forums > Nightly builds

The 30 August 2010 build (6562) is out.

(1/2) > >>

killerbot:
Get quick announcements through the RSS feed http://www.codeblocks.org/nightly/CodeBlock_RSS.xml

Before you use a nightly make sure you understand how it works.

A link to the unicode windows wxWidget dll for Code::Blocks : http://prdownload.berlios.de/codeblocks/wxmsw28u_gcc_cb_wx2810_gcc441.7z

For those who might need this one (when no MingW installed on your system) : the mingw10m.dll : http://prdownload.berlios.de/codeblocks/mingwm10_gcc441.7z

The 30 August 2010 build is out.
  - Windows :
   http://prdownload.berlios.de/codeblocks/CB_20100830_rev6562_win32.7z
  - Linux :
   none

Resolved Fixed:


* applied i18n patch for NassiShneiderman plugin thanks Xaviou
* applied patch #3051: Fixed regex testbed dialog fields - missing data (completes a previous commit)
* EditorTweaks plugin: i18n fix to avoid crash when context-menu is shown; tiny fix for unix project-file
* allow running DMD on all platforms
* add LDC compiler, LLVM backend / D1 language / Tango library
Regressions/Confirmed/Annoying/Common bugs:


Xaviou:

--- Quote from: killerbot on August 30, 2010, 08:17:40 pm ---Resolved Fixed:


* EditorTweaks plugin: i18n fix to avoid crash when context-menu is shown; tiny fix for unix project-file
--- End quote ---

Hum... It seems not  :(
But I've founded something :
In the translation file, if the translations of the words "&Edit" and "Edit" doesn't match (I mean, if the translation of the first one is not equal to the translation of the second one with the character "&" at the first position), C::B crashes while opening the contextual menu.

For example, the following "po" file works fine :

--- Code: ---msgid ""
msgstr ""
"Project-Id-Version: codeblocks\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-08-24 20:51+0200\n"
"PO-Revision-Date: 2010-08-30 22:19+0100\n"
"Last-Translator: \n"
"Language-Team:  <ll@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

msgid "&Edit"
msgstr "&Edition"

msgid "Edit"
msgstr "Edition"

--- End code ---

But this one makes C::B crash :

--- Code: ---msgid ""
msgstr ""
"Project-Id-Version: codeblocks\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-08-24 20:51+0200\n"
"PO-Revision-Date: 2010-08-30 22:21+0100\n"
"Last-Translator: \n"
"Language-Team:  <ll@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

msgid "&Edit"
msgstr "&Edition1"

msgid "Edit"
msgstr "Edition2"
--- End code ---

Don't know if it can help, but I hope so...

Regards

Xav'

ahui886:
thanks

gd_on:
Thanks Xav. :)
I think you have found the problem, and it's an important point for all translators.
In the strings used by CB, we have effectively a few times the same one with and without the &. Theses strings are used in some situations by CB and more precisely by wxWidgets, I think, to obtain underlined characters used for keyboard shortcuts.
These chains are different for C, C++, xgetext, poedit, ..., but obviously not for C::B while using wxWidgets.
So, we, as translators, must be aware to exactly match all the chains which appears sometimes with the & and sometimes not.
It can produce a C::B crash, as the one mentioned previously, but also simply something which does not work as expected.
For example we find these strings in C::B:
&End-of-line mode
End-of-line mode
End-of-line Mode

May be the last one could be avoided, but this is not the problem.

The translation of the 2 first must exactly match (the position of the & in the translation is not important, I think). If not, EditorTweaks does not crash, but the translated menu of "End-of-line mode" appears twice in two different places, which is not the same behavior than in a standard English C::B, I mean a non i18n C::B. More, they can work differently in two different parts of the software, because they don't call the same function (may be it's not the case here, but this is just an example!).

Is it a C::B problem, a wxWidget one, a shared one, this is not really important. Just, translators must be aware that chains which appears both with & and without & MUST exactly match.

Thanks again Xav for having found this.

gd_on

gd_on:
Well, finally I think there is a bug in EditorTweaks.
At line 211 we find :

--- Code: ---int i=menuBar->FindMenu(_("Edit"));
--- End code ---
but the real menu here, I think, is &Edit, so it should be :

--- Code: ---int i=menuBar->FindMenu(_("&Edit"));
--- End code ---

I tested this both for standard C::B and i18n configuration. It works.

at line 221 the problem is not exactly the same (more subtle !) :
We have :

--- Code: ---        if(mm->GetLabel()==_("End-of-line mode"))
            menu->Remove(mm);

--- End code ---
but the real menu is, I think, &End-of-line mode.
But if I try :

--- Code: ---        if(mm->GetLabel()==_("&End-of-line mode"))
            menu->Remove(mm);

--- End code ---
it does not work as expected, probably because when the GetLabel is executed, the alt key is not down, so the label appears on the screen as "End-of-line mode" and not "End-of-line mode".
So, It's better to leave this part of code as it is now. May be to add both possibilities as :

--- Code: ---        if(mm->GetLabel()==_("End-of-line mode"))
            menu->Remove(mm);
        if(mm->GetLabel()==_("&End-of-line mode"))
            menu->Remove(mm);

--- End code ---
but is it useful ?

May be, there is an other way to recover the right menu before removing it here.

In fact, everything happens as is the answer (or result of the instruction) is the right one, so the code works, but the question (or request) is not exactly the right one ! That's my feeling.

gd_on

Navigation

[0] Message Index

[#] Next page

Go to full version