Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2011-07

autocomplete broken?

23 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Bernd

Is there currently some unfinished work going on with the autocomplete / dropdown in the IDE? Its behaving very strange and buggy in recent versions from trunk. I could not find any relevant open bug reports (maybe because of the wrong search terms).

Sometimes after having typed a few characters if I press backspace the list is suddenly empty and won't be populated anymore. Also sometimes it won't complete when I press enter on the selected word, it will just close the list and nothing else happens. And very occasionally I have seen the list suddenly populated with what looks like error messages (the same error repeated for every list item but truncated at the end so I cant completely read them, I will try to make a screenshot when it happens again)

This strange behavior seems to be new, I cannot remember that it behaved that way a few months ago (but I don't know the exact revision number, it would take a lot of time for me to find out).

Reply by email

Mattias Gaertner
to Bernd
Is there currently some unfinished work going on with the autocomplete / dropdown in the IDE? Its behaving very strange and buggy in recent versions from trunk. I could not find any relevant open bug reports (maybe because of the wrong search terms).

No.

Well, the code hints are unfinished, but I doubt you have enabled them.

Sometimes after having typed a few characters if I press backspace the list is suddenly empty and won't be populated anymore. Also sometimes it won't complete when I press enter on the selected word, it will just close the list and nothing else happens.

"Sometimes" is very vague.

Show quoted text 5 lines
And very occasionally I have seen the list suddenly populated with what looks like error messages (the same error repeated for every list item but truncated at the end so I cant completely read them, I will try to make a screenshot when it happens again)

This means a unit has changed that was used to populate the list.

This strange behavior seems to be new, I cannot remember that it behaved that way a few months ago (but I don't know the exact revision number, it would take a lot of time for me to find out).

Without more details it would take everyone else even more time.

Mattias

Reply by email

Hans-Peter Diettrich
to Mattias Gaertner: On Sat, 9 Jul 2011 21:09:14 +0200 No. Well, the code hints are unfinished, but I doubt…
Show quoted text 6 lines
> Sometimes after having typed a few characters if I press backspace the > list is suddenly empty and won't be populated anymore. Also sometimes > it won't complete when I press enter on the selected word, it will > just close the list and nothing else happens. "Sometimes" is very vague.

It is not reproducible, but it also happens to me.

Show quoted text 7 lines
> And very occasionally I > have seen the list suddenly populated with what looks like error > messages (the same error repeated for every list item but truncated at > the end so I cant completely read them, I will try to make a > screenshot when it happens again) This means a unit has changed that was used to populate the list.

The message begins with "PaintCompletionItem: BUG in Codetools...".

The listbox contents change while typing, no units changed or anything else.

Show quoted text 6 lines
> This strange behavior seems to be new, I cannot remember that it > behaved that way a few months ago (but I don't know the exact revision > number, it would take a lot of time for me to find out). Without more details it would take everyone else even more time.

Please don't waste *our* time with untested modifications :-]

DoDi

Reply by email

Mattias Gaertner
to Hans-Peter Diettrich
Show quoted text 10 lines
Mattias Gaertner schrieb: >> Sometimes after having typed a few characters if I press backspace the >> list is suddenly empty and won't be populated anymore. Also sometimes >> it won't complete when I press enter on the selected word, it will >> just close the list and nothing else happens. > > "Sometimes" is very vague. It is not reproducible, but it also happens to me.

Yes, I know. But so far no one gave me a hint how to reproduce it and it works here thousands of times daily.

Show quoted text 9 lines
>> And very occasionally I >> have seen the list suddenly populated with what looks like error >> messages (the same error repeated for every list item but truncated at >> the end so I cant completely read them, I will try to make a >> screenshot when it happens again) > > This means a unit has changed that was used to populate the list. The message begins with "PaintCompletionItem: BUG in Codetools...".

This is what I guessed. It means the completion box refers to items, which were already deleted in the codetools. So, strictly speaking the bug is in the codetools or in some code accessing the codetools.

The listbox contents change while typing, no units changed or anything else.

Well, the current unit changes.
I found a unneeded clean up.
Please test.

Show quoted text 8 lines
>> This strange behavior seems to be new, I cannot remember that it >> behaved that way a few months ago (but I don't know the exact revision >> number, it would take a lot of time for me to find out). > > Without more details it would take everyone else even more > time. Please don't waste *our* time with untested modifications :-]

Extraordinary statement.

Mattias

Reply by email

Bernd
to Bernd: Here is a screenshotof the error. http://imagebin.org/162331 I start writing "get" then…

2011/7/9 Bernd :

Show quoted text 9 lines
Here is a screenshotof the error. http://imagebin.org/162331 I start writing "get" then press ctrl-space, the list pops up and looks normal, then I write "m", the list changes to show everything with "getm" then I move the cursor down and suddenly it looks like this.

happens with an empty project (type Program):

program test;
{$mode objfpc}{$H+}
uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes
  { you can add units after this };
{$R *.res}
begin
  getm
end.

move the cursor to the line "getm", remove it.

start typing "get"
press ctrl_space, the autocomplete pops up
type "m"
the list changes, now GetMem() is visible at the second position in the list. press cursor down one time and bang it looks like in the screenshot.

It only happened after I saved this empty project.

latest trunk, kde3, gtk very old.

Reply by email

Bernd
to Bernd: 2011/7/9 Bernd : now it also happens with the unsaved empty project.

2011/7/10 Bernd :

2011/7/9 Bernd : > happens with an empty project (type Program): now it also happens with the unsaved empty project.

It dumps things to the console:

if i press ctrl_space (after "get") it dumps this:

TSourceEditCompletion.ccExecute nil
TFPDocHintProvider.ReadLazDocData Identifier=get_frame TFPDocHintProvider.ReadLazDocData FAILED no node
TFPDocHintProvider.UpdateHintControl FHTMLControl=:TSimpleHTMLControl FHTMLProvider=:TLazIDEHTMLProvider

and after pressing "m" it dumps this:

TSynBaseCompletionForm.UTF8KeyPress END UTF8Key="" TFPDocHintProvider.ReadLazDocData Identifier=Getmem TCodeHelpManager.GetFPDocFilenameForSource Hint: file without owner: /home/bernd/lazsvn/fpc/rtl/linux/system.pp
TFPDocHintProvider.UpdateHintControl FHTMLControl=:TSimpleHTMLControl FHTMLProvider=:TLazIDEHTMLProvider

and when i finally press Down which triggers the errors in the list it won't wite anything to the console. (it seems to me it is already broken at the very moment after I have pressed "m")

Reply by email

Bernd
to Bernd
/home/bernd/lazsvn/fpc/rtl/linux/system.pp

I am using FPC 2.5.1 latest trunk also (since last week after half a year of using the stable release version, might this be related or only a coincidence?)

Reply by email

Mattias Gaertner
to Bernd: 2011/7/10 Bernd : It dumps things to the console: if i press ctrl_space (after "get") it…
Show quoted text 12 lines
2011/7/10 Bernd : > 2011/7/9 Bernd : >> happens with an empty project (type Program): > > now it also happens with the unsaved empty project. It dumps things to the console: if i press ctrl_space (after "get") it dumps this: TSourceEditCompletion.ccExecute nil TFPDocHintProvider.ReadLazDocData Identifier=get_frame

This is unneeded if you don't use the feature. I added a check in 31627.

TFPDocHintProvider.ReadLazDocData FAILED no node TFPDocHintProvider.UpdateHintControl FHTMLControl=:TSimpleHTMLControl FHTMLProvider=:TLazIDEHTMLProvider

That's normal.
get_frame is a predefined compiler function.

Show quoted text 6 lines
and after pressing "m" it dumps this: TSynBaseCompletionForm.UTF8KeyPress END UTF8Key="" TFPDocHintProvider.ReadLazDocData Identifier=Getmem TCodeHelpManager.GetFPDocFilenameForSource Hint: file without owner: /home/bernd/lazsvn/fpc/rtl/linux/system.pp

Hmm. That's unusual, but should not matter in this case.

Show quoted text 6 lines
TFPDocHintProvider.UpdateHintControl FHTMLControl=:TSimpleHTMLControl FHTMLProvider=:TLazIDEHTMLProvider and when i finally press Down which triggers the errors in the list it won't wite anything to the console. (it seems to me it is already broken at the very moment after I have pressed "m")

Mattias

Reply by email

Bernd
to Bernd: 2011/7/10 Mattias Gaertner : Sorry, I was too fast, i only answered myself. I did not see…

2011/7/10 Bernd :

Show quoted text 8 lines
2011/7/10 Mattias Gaertner : > Does "now" means rev 31625? Sorry, I was too fast, i only answered myself. I did not see your message yet at this point. i will update now to latest release and report back in a few minutes.

Now I have rev 31626 and it seems i cannot produce this error anymore, at least the same steps as above will not trigger it anymore :-)

(I hope I am not too fast with the conclusion that it looks like it is fixed now. I will keep testing.)

Bernd

Reply by email

Bernd
to Mattias Gaertner: On Sun, 10 Jul 2011 00:17:42 +0200 This is unneeded if you don't use the feature. I added…

2011/7/10 Mattias Gaertner :

Show quoted text 5 lines
> TSourceEditCompletion.ccExecute nil > TFPDocHintProvider.ReadLazDocData Identifier=get_frame This is unneeded if you don't use the feature. I added a check in 31627.

now it outputs much less (and the error seems gone)

opening the list looks outputs this:

TSourceEditCompletion.ccExecute nil
TSourceEditCompletion.StartShowCodeHelp False

and each letter I type this:

TSynBaseCompletionForm.UTF8KeyPress END UTF8Key=""

The only strange thing (but it does not impact usability very much is when i press backspace until everything I typed is gone again (I never was able to reach this before) then the forst few list items dont have their type ("var", "function", etc.) in front of them, only the names in the middle of the list and the console contains a lot of these:

TIdentifierListItem.GetNode node ASocket is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node ASocket is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node ASocket is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node ASocket is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node ASocket is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node ASocket is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node ASocket is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node ASocket is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node ASocket is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node BRead is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node BRead is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node BRead is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node BReadTotal is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node BReadTotal is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node BReadTotal is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Buffer is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Buffer is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Buffer is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Header is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Header is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Header is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Classes is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Classes is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Classes is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node ASocket is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node ASocket is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node ASocket is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node BRead is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node BRead is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node BRead is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node BReadTotal is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node BReadTotal is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node BReadTotal is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Buffer is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Buffer is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Buffer is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Header is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Header is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Header is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Classes is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Classes is gone from /home/bernd/Desktop/fpbtc/client1.lpr
TIdentifierListItem.GetNode node Classes is gone from /home/bernd/Desktop/fpbtc/client1.lpr

(everything except "Classes" are local variables in that function where I am editing (and they are not "gone", at least not from the "client1.lpr")). This is probably unrelated, the most annoying error seems fixed now and the autocomplete stays usable now. If I start typing again after this the list continues to behave as expected and autocomplete works

Reply by email

Bernd
to Alexander Klenin: Hm. I wonder why nobody noticed http://bugs.freepascal.org/view.php?id=19647 In the…

2011/7/10 Alexander Klenin :

Hm. I wonder why nobody noticed http://bugs.freepascal.org/view.php?id=19647

I really tried to find something in the bug tracker before posting on the list. Maybe I did not try hard enough, maybe its because of the wrong search terms, maybe because this bug report did not contain any mention of "autocomplete" or its title did not trigger the "this is it!"-flag when quickly scanning through the search results with tired eyes after a long day.

My original Intention to post here on the list about it was that I hoped someone would either help me point me to an existing relevant bug number that I could not find myself or a reply of the sort "I have noticed it too, I'm working on it at the very moment" or "never seen or heard about anything like this, please file a bug" (in which case I would have filed a bug)

The problem seemed so obvious and strong to me that I just could not believe (and was quite confused) that I was unable to find anything.

I did not want to abuse the mailing list as a replacement bug tracker, I posted here only for quicker feedback (and to not abuse the bugtracker as a replacement mailinglist) and to avoid a duplicat bug. The mailinglist is more volatile and less formal.

Reply by email

Bart
to Bernd

Try CodeTools as search term?

I never rember how all the features from codetools are named, so whenever there is a problem with one of them i refer to it as codetools.

Bart

Bernd wrote 32 lines
2011/7/10 Alexander Klenin : > Hm. I wonder why nobody noticed > http://bugs.freepascal.org/view.php?id=19647 I really tried to find something in the bug tracker before posting on the list. Maybe I did not try hard enough, maybe its because of the wrong search terms, maybe because this bug report did not contain any mention of "autocomplete" or its title did not trigger the "this is it!"-flag when quickly scanning through the search results with tired eyes after a long day. My original Intention to post here on the list about it was that I hoped someone would either help me point me to an existing relevant bug number that I could not find myself or a reply of the sort "I have noticed it too, I'm working on it at the very moment" or "never seen or heard about anything like this, please file a bug" (in which case I would have filed a bug) The problem seemed so obvious and strong to me that I just could not believe (and was quite confused) that I was unable to find anything. I did not want to abuse the mailing list as a replacement bug tracker, I posted here only for quicker feedback (and to not abuse the bugtracker as a replacement mailinglist) and to avoid a duplicat bug. The mailinglist is more volatile and less formal. -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email