Author Topic: Release 12.11 has arrived  (Read 93254 times)

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2101
Re: Release 12.11 has arrived
« Reply #45 on: December 20, 2012, 02:00:24 pm »
Great job for this event. Did not come here since some times, but I just started this new version... Did not remember the upgrade, but when I saw the new...erm, logo, it jumped in my eyes ^^

At least it is quite uncommon :D

I so agree. That logo is such a pleasure.

Offline Taiki

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: Release 12.11 has arrived
« Reply #46 on: December 26, 2012, 12:43:10 am »
Hello, I'm a C developer and a proud user of Code::Block since 2 years, I work on Windows 7.
I loved the 10.05 version: it was stable except few hangs when gdb was freezing but nothing impossible to fix with the task manager.
When I saw the 12.11 nightly some times ago, I gave it a try and I was disappointed: lot of UI elements changed in (IMO) the wrong way. I thought that it was a dev build and I said to myself that it'll improve with time. I tried several nighty, then RC1 then the final build and elements I disliked became more and more visible.
I've no problem with changes, but I want them to go in the right direction, here is a short list of what I think isn't (but I won't go against what has been decided by core developers.

1- Watches window: no more a list of variable of the current function: well, I deal with some quite big functions with over 50 variables. To deal with so much, I've functions that modify a lot of them in the same time but as I don't want to read the whole function, with the old system, I'd to watch on what become red after the function, now, I'll have to add _every variable_ to the window, manually... Please, tell me there is a way to get them all easily, the new system seems to have a lot of things to show but without this, I can't do anything :(

2- build options: they are locked when the dbg is running but I don't understand why and there is way to access to it anyway (via project prefs)?

3- can't run anymore a normal instance + one in the debugger, it was damn useful to study soft comportment when he wasn't alone to access to some resources.

4- sometime, when I press 'enter' while moving in the project tree, the tree collapse. (bug?)

5- Syntax color: well, there was A LOT of improvements in this section (:D) but also several weird bugs: the _WIN32 flag, defined at compile time is ignored in the #ifdef in the editor. It's also the case with some defines in #include file. Also, variable call "size" are colored in green. It's probably something in C++ but the project is in C so... it's disturbing. Minor bugs but they make read some long code harder :(

6- After a sigsev, the stack once hasn't been displayed. Maybe gdb failed at provide it but in this case, a message (ex: Stack unavailable) would be great.

7- UX: when the cursor is on a tile name at the bottom of the screen (dbg, search and compilation results,...) and I slide, tiles change very quickly when I highly probably simply want to slide some code. Maybe a pref for that?

I know it's a little bit late but if it could be fixed in a future release, it'd be awesome.
Even if I seem to be an evil user who want to say shit on your hard work, please understand that I wrote this long post simply because I really want Code::Block to be even better and some of all those cool new features that this update bring are hidden under some bugs and UI/UX ditch. I'll report those bugs but the compiler defines syntax color is already filled since 2 years (http://developer.berlios.de/bugs/?func=detailbug&bug_id=17921&group_id=5358) so I was scared that those issues fall into deepest part of the bug tracker without any notice :/

Thanks in advance for read this long post and tell me if you want details on anything (English isn't my native language so some parts are probably hard to understand).

PS: ICC support seems broken under both 10.05 and 12.11, on 12.11, the error message is that it doesn't find VS in the path.

Regards

Taiki
« Last Edit: December 26, 2012, 12:45:12 am by Taiki »

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9447
Re: Release 12.11 has arrived
« Reply #47 on: December 26, 2012, 11:22:04 am »
For devs under Windows we mad it easier to get a quick start by providing the pre-compiled wxWidgets distro we have used for the release (and will use for upcoming nightlies) here:
http://www.codeblocks.org/downloads/source
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline jens

  • Administrator
  • Lives here!
  • *****
  • Posts: 7260
    • Jens' unofficial debian-repository for the Code::Blocks - IDE
Re: Release 12.11 has arrived
« Reply #48 on: December 26, 2012, 01:06:37 pm »
I tried several nighty, then RC1 then the final build and elements I disliked became more and more visible.
I've no problem with changes, but I want them to go in the right direction, here is a short list of what I think isn't (but I won't go against what has been decided by core developers.
Why didn't you post it before the release ?

7- UX: when the cursor is on a tile name at the bottom of the screen (dbg, search and compilation results,...) and I slide, tiles change very quickly when I highly probably simply want to slide some code. Maybe a pref for that?
I don't understand what you mean, can you please try to explain in other words, probably with a step-by-step explanation how to get the issue ?

Offline Alpha

  • Developer
  • Lives here!
  • *****
  • Posts: 1513
Re: Release 12.11 has arrived
« Reply #49 on: December 26, 2012, 03:42:36 pm »
5- Syntax color: well, there was A LOT of improvements in this section (:D) but also several weird bugs: the _WIN32 flag, defined at compile time is ignored in the #ifdef in the editor.
This should actually work... what are your settings in Settings->Editor...->C/C++ Editor settings?
(Correctly) parsing defines from #included files is significantly more difficult than it may first sound, and is currently not supported.

PS: ICC support seems broken under both 10.05 and 12.11, on 12.11, the error message is that it doesn't find VS in the path.
I can work on this, however, I do not own ICC; is there a trial/free version of it?

Offline Taiki

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: Release 12.11 has arrived
« Reply #50 on: December 26, 2012, 04:49:25 pm »
Why didn't you post it before the release ?
Because I thought that the developpement was focused on features and those issues would be fixed later as several of them were fixed in the RC.

I don't understand what you mean, can you please try to explain in other words, probably with a step-by-step explanation how to get the issue ?
Put your cursor on the panel at the bottom where compiler is logged, global search results are displayed & co.
Put the cursor on a tile, that contain the name of the panel (ex: "build log", "search result") then roll the mouse.
You'll see tiles change really quickly in a unsuable way.

This should actually work... what are your settings in Settings->Editor...->C/C++ Editor settings?
(Correctly) parsing defines from #included files is significantly more difficult than it may first sound, and is currently not supported.
https://dl.dropbox.com/u/12087072/Syntaxical%20color.png << The bug just disappeared u_u
For the parsing, I guess it's hard :p (maybe a setting to explicitly add a define to the list (eg: DEV_BUILD & co)

I can work on this, however, I do not own ICC; is there a trial/free version of it?
Intel give free licence for students http://software.intel.com/en-us/intel-education-offerings
They also provide trial for 30 days: http://software.intel.com/en-us/intel-parallel-studio-xe

Thanks for working on my issues :)
« Last Edit: December 26, 2012, 07:43:44 pm by Taiki »

Offline jens

  • Administrator
  • Lives here!
  • *****
  • Posts: 7260
    • Jens' unofficial debian-repository for the Code::Blocks - IDE
Re: Release 12.11 has arrived
« Reply #51 on: December 26, 2012, 05:42:37 pm »
I don't understand what you mean, can you please try to explain in other words, probably with a step-by-step explanation how to get the issue ?
Put your cursor on the panel at the bottom where compiler is logged, global search results are displayed & co.
Put the cursor on a tile, that contain the name of the panel (ex: "build log", "search result") then roll the mouse.
You'll see tiles change really quickly in a unsuable way.
That's intended behaviour and it is not so unususal.

Nevertheless, you can switch it off by unchecking "Settings -> Environment -> Notebooks appearance -> Enable scrolling with mousewheel".

Offline Taiki

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: Release 12.11 has arrived
« Reply #52 on: December 26, 2012, 05:55:58 pm »
I don't understand what you mean, can you please try to explain in other words, probably with a step-by-step explanation how to get the issue ?
Put your cursor on the panel at the bottom where compiler is logged, global search results are displayed & co.
Put the cursor on a tile, that contain the name of the panel (ex: "build log", "search result") then roll the mouse.
You'll see tiles change really quickly in a unsuable way.
That's intended behaviour and it is not so unususal.

Nevertheless, you can switch it off by unchecking "Settings -> Environment -> Notebooks appearance -> Enable scrolling with mousewheel".
Okay, probably usefull on a Desktop but with a laptop pad, it's way too fast.
Thanks for the advice =)

Offline jens

  • Administrator
  • Lives here!
  • *****
  • Posts: 7260
    • Jens' unofficial debian-repository for the Code::Blocks - IDE
Re: Release 12.11 has arrived
« Reply #53 on: December 26, 2012, 06:06:48 pm »
I don't understand what you mean, can you please try to explain in other words, probably with a step-by-step explanation how to get the issue ?
Put your cursor on the panel at the bottom where compiler is logged, global search results are displayed & co.
Put the cursor on a tile, that contain the name of the panel (ex: "build log", "search result") then roll the mouse.
You'll see tiles change really quickly in a unsuable way.
That's intended behaviour and it is not so unususal.

Nevertheless, you can switch it off by unchecking "Settings -> Environment -> Notebooks appearance -> Enable scrolling with mousewheel".
Okay, probably usefull on a Desktop but with a laptop pad, it's way too fast.
Thanks for the advice =)
Works fine on my laptop, with mouse or touchpad.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 10904
    • Travis build status
Re: Release 12.11 has arrived
« Reply #54 on: December 28, 2012, 06:29:16 pm »
1- Watches window: no more a list of variable of the current function: well, I deal with some quite big functions with over 50 variables. To deal with so much, I've functions that modify a lot of them in the same time but as I don't want to read the whole function, with the old system, I'd to watch on what become red after the function, now, I'll have to add _every variable_ to the window, manually... Please, tell me there is a way to get them all easily, the new system seems to have a lot of things to show but without this, I can't do anything :(
Search the forum...

2- build options: they are locked when the dbg is running but I don't understand why and there is way to access to it anyway (via project prefs)?
I'll fix this some day...annoys me too.

3- can't run anymore a normal instance + one in the debugger, it was damn useful to study soft comportment when he wasn't alone to access to some resources.
This sounds like a bug in the old version.
You can setup a tool to run your output executable.

6- After a sigsev, the stack once hasn't been displayed. Maybe gdb failed at provide it but in this case, a message (ex: Stack unavailable) would be great.
If you can provide the full log from your debug session (see the settings), I can look at it.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Taiki

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: Release 12.11 has arrived
« Reply #55 on: December 28, 2012, 07:36:52 pm »
3- can't run anymore a normal instance + one in the debugger, it was damn useful to study soft comportment when he wasn't alone to access to some resources.
This sounds like a bug in the old version.
You can setup a tool to run your output executable.
Sure but the reason we use IDE is to have a lot of tools just under our hand and it's one less =/

6- After a sigsev, the stack once hasn't been displayed. Maybe gdb failed at provide it but in this case, a message (ex: Stack unavailable) would be great.
If you can provide the full log from your debug session (see the settings), I can look at it.
I'll try to reproduce then send the log

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 10904
    • Travis build status
Re: Release 12.11 has arrived
« Reply #56 on: December 28, 2012, 08:09:41 pm »
Sure but the reason we use IDE is to have a lot of tools just under our hand and it's one less =/
I've told you how you can achieve the same thing...
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Alpha

  • Developer
  • Lives here!
  • *****
  • Posts: 1513
Re: Release 12.11 has arrived
« Reply #57 on: December 29, 2012, 02:52:49 am »
PS: ICC support seems broken under both 10.05 and 12.11, on 12.11, the error message is that it doesn't find VS in the path.
Could you apply this patch to see if it resolves the problem?  (I am assuming that you do have MSVC installed.)
Code: [Select]
Index: src/plugins/compilergcc/compilerICC.cpp
===================================================================
--- src/plugins/compilergcc/compilerICC.cpp (revision 8724)
+++ src/plugins/compilergcc/compilerICC.cpp (working copy)
@@ -71,57 +71,62 @@
                     for (unsigned int which_msvc = 0; which_msvc < array_size(msvcIds); ++which_msvc)
                     {
                         Compiler* vcComp = CompilerFactory::GetCompiler(msvcIds[which_msvc]);
-                        if (vcComp)
+                        if (!vcComp)
+                            continue; // compiler not registered? try next one
+
+                        wxString vcMasterNoMacros = vcComp->GetMasterPath();
+                        Manager::Get()->GetMacrosManager()->ReplaceMacros(vcMasterNoMacros);
+                        if (   !wxFileExists(vcMasterNoMacros + sep + wxT("bin") + sep + vcComp->GetPrograms().C)
+                            && !wxFileExists(vcMasterNoMacros + sep + vcComp->GetPrograms().C) )
+                            continue; // this MSVC is not installed; try next one
+
+                        const wxString& vcMasterPath = vcComp->GetMasterPath();
+                        if (m_ExtraPaths.Index(vcMasterPath) == wxNOT_FOUND)
+                            m_ExtraPaths.Add(vcMasterPath);
+                        if (  !vcMasterPath.EndsWith(wxT("bin"))
+                            && m_ExtraPaths.Index(vcMasterPath + sep + wxT("bin")) == wxNOT_FOUND )
                         {
-                            if (vcComp->AutoDetectInstallationDir() == adrDetected)
+                            m_ExtraPaths.Add(vcMasterPath + sep + wxT("bin"));
+                        }
+                        AddIncludeDir(vcMasterPath + _T("\\Include"));
+                        AddLibDir(vcMasterPath + _T("\\Lib"));
+                        AddResourceIncludeDir(vcMasterPath + _T("\\Include"));
+
+                        const wxArrayString& vcExtraPaths = vcComp->GetExtraPaths();
+                        for (size_t i = 0; i < vcExtraPaths.GetCount(); ++i)
+                        {
+                            if (   m_ExtraPaths.Index(vcExtraPaths[i]) == wxNOT_FOUND
+                                && wxDirExists(vcExtraPaths[i]) )
                             {
-                                const wxString& vcMasterPath = vcComp->GetMasterPath();
-                                if (m_ExtraPaths.Index(vcMasterPath) == wxNOT_FOUND &&
-                                    wxDirExists(vcMasterPath))
+                                m_ExtraPaths.Add(vcExtraPaths[i]);
+                            }
+                        }
+                        const wxArrayString& vcIncludeDirs = vcComp->GetIncludeDirs();
+                        for (size_t i = 0; i < vcIncludeDirs.GetCount(); ++i)
+                        {
+                            if (wxDirExists(vcIncludeDirs[i]))
+                            {
+                                if (m_IncludeDirs.Index(vcIncludeDirs[i]) == wxNOT_FOUND)
                                 {
-                                    m_ExtraPaths.Add(vcMasterPath);
+                                    AddIncludeDir(vcIncludeDirs[i]);
                                 }
-                                AddIncludeDir(vcMasterPath + _T("\\Include"));
-                                AddLibDir(vcMasterPath + _T("\\Lib"));
-                                AddResourceIncludeDir(vcMasterPath + _T("\\Include"));
-
-                                const wxArrayString& vcExtraPaths = vcComp->GetExtraPaths();
-                                for (size_t i = 0; i < vcExtraPaths.GetCount(); ++i)
+                                if (m_ResIncludeDirs.Index(vcIncludeDirs[i]) == wxNOT_FOUND)
                                 {
-                                    if (m_ExtraPaths.Index(vcExtraPaths[i]) == wxNOT_FOUND &&
-                                        wxDirExists(vcExtraPaths[i]))
-                                    {
-                                        m_ExtraPaths.Add(vcExtraPaths[i]);
-                                    }
+                                    AddResourceIncludeDir(vcIncludeDirs[i]);
                                 }
-                                const wxArrayString& vcIncludeDirs = vcComp->GetIncludeDirs();
-                                for (size_t i = 0; i < vcIncludeDirs.GetCount(); ++i)
-                                {
-                                    if (wxDirExists(vcIncludeDirs[i]))
-                                    {
-                                        if (m_IncludeDirs.Index(vcIncludeDirs[i]) == wxNOT_FOUND)
-                                        {
-                                            AddIncludeDir(vcIncludeDirs[i]);
-                                        }
-                                        if (m_ResIncludeDirs.Index(vcIncludeDirs[i]) == wxNOT_FOUND)
-                                        {
-                                            AddResourceIncludeDir(vcIncludeDirs[i]);
-                                        }
-                                    }
-                                }
-                                const wxArrayString& vcLibDirs = vcComp->GetLibDirs();
-                                for (size_t i = 0; i < vcLibDirs.GetCount(); ++i)
-                                {
-                                    if (m_LibDirs.Index(vcLibDirs[i]) == wxNOT_FOUND &&
-                                        wxDirExists(vcLibDirs[i]))
-                                    {
-                                        AddLibDir(vcLibDirs[i]);
-                                    }
-                                }
-                                msvcFound = true;
-                                break;
                             }
                         }
+                        const wxArrayString& vcLibDirs = vcComp->GetLibDirs();
+                        for (size_t i = 0; i < vcLibDirs.GetCount(); ++i)
+                        {
+                            if (   m_LibDirs.Index(vcLibDirs[i]) == wxNOT_FOUND
+                                && wxDirExists(vcLibDirs[i]) )
+                            {
+                                AddLibDir(vcLibDirs[i]);
+                            }
+                        }
+                        msvcFound = true;
+                        break;
                     }
 
                     if (!msvcFound)
@@ -130,7 +135,6 @@
                                         "This compiler requires MS compiler for proper functioning and\n"
                                         "it may not work without it."),
                                      _T("Error"), wxOK | wxICON_ERROR);
-
                     }
                 }
             }

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9447
Re: Release 12.11 has arrived
« Reply #58 on: December 29, 2012, 06:57:20 am »
Sure but the reason we use IDE is to have a lot of tools just under our hand and it's one less =/
What you may fail to understand is that oBFusCATed suggested you setup a generic tool using macros in the IDE which you can use on all of your projects to achieve what you want. I've done the same, its vital for some pieces of software. The command is a one-liner, and is attached as "Tool" to C::B but actually starts your currently active target's executable detached (as an example, if you like it that way).
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: http://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

Offline Taiki

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: Release 12.11 has arrived
« Reply #59 on: January 03, 2013, 07:30:12 pm »
PS: ICC support seems broken under both 10.05 and 12.11, on 12.11, the error message is that it doesn't find VS in the path.
Could you apply this patch to see if it resolves the problem?  (I am assuming that you do have MSVC installed.)

I tried to compile it with the source code of the 12.11 version but the plugin fail at load =/
Here is the DLL, compiled with MinGW (a quite recent version which come with GDB 7.5). https://dl.dropbox.com/u/12087072/compiler.dll