User forums > Nightly builds

The 01 October 2013 build (9378) is out.

<< < (4/7) > >>

Static:
1. create the new wxWidgets project. Let's name it 'completion_test'.
    - open the generated completion_testMain.cpp, place the cursor next line to #include <wx/msgdlg.h>
    - type #include ""
    - move the cursor between two quote marks and start typing comple
    - when the completion variants show up select any and press enter. You'll get an extra quote mark at the end of the line.
2. create a new folder in project directory. Place any header file into it.
    - open the generated completion_testMain.cpp
    - type #include "folder/
    - select your header file from the completion variants. You'll get something like #include "folder/"folder/header.h"

OS: win7 64
wxWidgets 2.9.5
code::blocks rev. 9378

Alpha:
Under linux and wx28, 1. confirmed, 2. cannot reproduce.

Alpha:
Can you try applying this patch?

--- Code: ---Index: src/plugins/codecompletion/codecompletion.cpp
===================================================================
--- src/plugins/codecompletion/codecompletion.cpp (revision 9398)
+++ src/plugins/codecompletion/codecompletion.cpp (working copy)
@@ -1562,7 +1562,6 @@
         {
             --startPos;
         }
-        const int endPos = control->WordEndPosition(curPos, true);
         bool needReparse = false;
 
         if (control->IsPreprocessor(control->GetStyleAt(curPos)))
@@ -1606,7 +1605,7 @@
             }
             needReparse = true;
 
-            int   pos = startPos;
+            int   pos = startPos - 1;
             wxChar ch = control->GetCharAt(pos);
             while (ch != _T('<') && ch != _T('"') && ch != _T('#') && (pos>0))
                 ch = control->GetCharAt(--pos);
@@ -1618,11 +1617,14 @@
             else if (ch == _T('<'))
                 itemText << _T('>');
         }
+        else
+        {
+            const int endPos = control->WordEndPosition(curPos, true);
+            const wxString& alreadyText = control->GetTextRange(curPos, endPos);
+            if (!alreadyText.IsEmpty() && itemText.EndsWith(alreadyText))
+                curPos = endPos;
+        }
 
-        const wxString alreadyText = control->GetTextRange(curPos, endPos);
-        if (!alreadyText.IsEmpty() && itemText.EndsWith(alreadyText))
-            curPos = endPos;
-
         control->AutoCompCancel();
 
         int positionModificator = 0;

--- End code ---

Static:
Thank you for the reply.
I use precompiled binaries for code::blocks, so it would take me some time to check the patch.
I'll try to download and compile sources tomorrow at night, still can't promise that :(

oBFusCATed:
I've seen both of them...  ::)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version