Bug 627217

Summary: Some issues with code completion on aspx pages
Product: [Mono] MonoDevelop Reporter: Anirudh Sanjeev <anirudh>
Component: C# BindingAssignee: Michael Hutchinson <mhutchinson>
Status: RESOLVED FIXED QA Contact: MD Bugs <monodevelop-bugs>
Severity: Normal    
Priority: P5 - None CC: me
Version: SVN   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Anirudh Sanjeev 2010-07-30 21:25:00 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4

ASPX Editing in MonoDevelop has a few issues.

1. Unable to type into certain buffers:
Code:
<%@ Control Language="C#" Inherits="Tuxtorial.EditStoryHelper" %>

<% for(var command in Model.ConsoleContent.Commands) {
	Response.Write(command);
	} %>

Error:
When I trigger autocompletion, it fails and any keystroke inside the text editor
provides the following stack trace:
System.ArgumentException: length
  at System.Array.Copy (System.Array sourceArray, Int32 sourceIndex, System.Array destinationArray, Int32 destinationIndex, Int32 length) [0x00219] in /home/anirudhs/src/mono/mono-2.6.4/mcs/class/corlib/System/Array.cs:1019 
  at Mono.TextEditor.GapBuffer.GetTextAt (Int32 offset, Int32 count) [0x00069] in /home/anirudhs/gsoc/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor/GapBuffer.cs:93 
  at Mono.TextEditor.Document.GetTextBetween (Int32 startOffset, Int32 endOffset) [0x00000] in /home/anirudhs/gsoc/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor/Document.cs:217 
  at Mono.TextEditor.TextEditorData.GetTextBetween (Int32 startOffset, Int32 endOffset) [0x00000] in /home/anirudhs/gsoc/monodevelop/main/src/core/Mono.Texteditor/Mono.TextEditor/TextEditorData.cs:930 
  at MonoDevelop.AspNet.Gui.AspNetEditorExtension.InitializeCodeCompletion (Char ch) [0x0006b] in /home/anirudhs/gsoc/monodevelop/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs:213 
  at MonoDevelop.AspNet.Gui.AspNetEditorExtension.KeyPress (Key key, Char keyChar, ModifierType modifier) [0x0003f] in /home/anirudhs/gsoc/monodevelop/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs:278 
  at MonoDevelop.Ide.Gui.Content.TextEditorExtension.KeyPress (Key key, Char keyChar, ModifierType modifier) [0x00013] in /home/anirudhs/gsoc/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Content/TextEditorExtension.cs:115 
  at MonoDevelop.SourceEditor.ExtensibleTextEditor.ExtensionKeyPress (Key key, UInt32 ch, ModifierType state) [0x00000] in /home/anirudhs/gsoc/monodevelop/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor/ExtensibleTextEditor.cs:231 

2. Code completion very very flaky.
Please notice the screenshot in the link. Trying to complete "for" does not
yield valid results.
http://i.imgur.com/9mpDW.png

More examples:
I type in "Consol". It still shows no matches. When I type "Console.", it shows
me all the options available. If I select the option for "WriteLine" I get
"Console.WriteLinee" (the extra e is present in the completion"). The next time
the same was attempted I got "Console.WriteLineel".

Many other items which are visible at the target point aren't populating the
completion menu. Still, the second level of completion works fine. For example,
"<%= Htm<C-Space>" shows no response, but "<%= Html.<C-Space>" shows the members
of HTML.


Environment:
This was tested with Mono 2.6.4, MD latest version from git, no extras/addins
built. All pidb files were deleted and MD was cleaned before this was tried.


Reproducible: Always
Comment 1 Mike Krueger 2010-07-31 07:00:47 UTC
fixed.
Comment 2 Chris Howie 2010-08-01 18:04:05 UTC
*** Bug 627141 has been marked as a duplicate of this bug. ***