View Issue Details

IDProjectCategoryView StatusLast Update
0022519LazarusLCLpublic2012-08-23 08:52
ReporterGiulio BernardiAssigned ToMartin Friebe 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformLinux x86_64, fpc 2.6.0OSLinux x86_64OS VersionFedora 16
Product Version1.1 (SVN)Product Buildrev 38058 
Target Version1.0.0Fixed in Version1.1 (SVN) 
Summary0022519: TSynMultiSyn issues
DescriptionI'm having some issues porting old delphi code that uses TSynMultiSyn to lazarus.
The SynEdit component correctly displays data using the multisyn if it is loaded programmatically, but fails to highlight some parts when something is typed on the keyboard.
Here it is a very simple example that shows the problem.
The same example project is attached as a tar.bz2 file.
Steps To ReproduceCreate a new Application
Drop a TSynEdit on the main form
Drop a TSynMultiSyn and a TSynHTMLSyn
set the SynHTMLSyn as the Default Highlighter for the SynMultiSyn
Create a scheme for the SynMultiSyn (click Schemes, open the editor, press Add)
set the SynMultiSyn as the Highlighter for the SynEdit
Save, compile and launch the application

In the application, set the text to
<html>
It will be highlighted
On the next line, type <html> again (or any other html tag): it is not highlighted
Go at the beginning of the first line, press enter: the two tags are both highlighted now
Try to delete the just added line by pressing backspace: an ESynEditStorageMem exception is raised.
TagsNo tags attached.
Fixed in Revision38175
LazTarget1.0
WidgetsetGTK 2
Attached Files

Activities

2012-07-27 17:00

 

multisynbug.tar.bz2 (2,257 bytes)

Martin Friebe

2012-08-05 16:50

manager   ~0061435

Please test and close if ok

Giulio Bernardi

2012-08-08 10:09

reporter   ~0061504

Last edited: 2012-08-08 10:42

Things are better now, but there are still problems. Sometimes some blocks of lines lose the syntax highlighting. After some tries, I was able to reproduce another case (see also the attached screenshot).

(Edit: it looks like mantis doesn't like html tags: replace "|" with "<" or ">" in the following lines.)

Using the same test program I originally attached, write:

|html|
|/html|

then go after the first <html> and modify the source so that it looks like this:

|html|
|p|
|/p|

|/html|

Now go on the p opening tag and add an "a" in front of the "p", so that is is like this:

|html|
|ap|
|/p|

|/html|

After adding this "a", all lines except the final </html> lose the highlighting.

2012-08-08 10:09

 

multisynbug.png (12,588 bytes)
multisynbug.png (12,588 bytes)

Giulio Bernardi

2012-08-08 10:10

reporter   ~0061505

Reopened as per previous comment

Martin Friebe

2012-08-10 02:05

manager   ~0061544

Please test with rev 38223

Giulio Bernardi

2012-08-11 22:04

reporter   ~0061576

Ok, it works now, thank you :)

Issue History

Date Modified Username Field Change
2012-07-27 17:00 Giulio Bernardi New Issue
2012-07-27 17:00 Giulio Bernardi File Added: multisynbug.tar.bz2
2012-07-27 17:00 Giulio Bernardi Widgetset => GTK 2
2012-07-27 19:48 Martin Friebe Status new => assigned
2012-07-27 19:48 Martin Friebe Assigned To => Martin Friebe
2012-08-05 16:50 Martin Friebe Fixed in Revision => 38175
2012-08-05 16:50 Martin Friebe LazTarget => 1.0
2012-08-05 16:50 Martin Friebe Status assigned => resolved
2012-08-05 16:50 Martin Friebe Fixed in Version => 1.1 (SVN)
2012-08-05 16:50 Martin Friebe Resolution open => fixed
2012-08-05 16:50 Martin Friebe Note Added: 0061435
2012-08-05 16:51 Martin Friebe Target Version => 1.0.0
2012-08-08 10:09 Giulio Bernardi Note Added: 0061504
2012-08-08 10:09 Giulio Bernardi File Added: multisynbug.png
2012-08-08 10:10 Giulio Bernardi Status resolved => assigned
2012-08-08 10:10 Giulio Bernardi Resolution fixed => reopened
2012-08-08 10:10 Giulio Bernardi Note Added: 0061505
2012-08-08 10:42 Giulio Bernardi Note Edited: 0061504
2012-08-10 02:05 Martin Friebe Note Added: 0061544
2012-08-11 13:07 Martin Friebe Status assigned => feedback
2012-08-11 22:04 Giulio Bernardi Note Added: 0061576
2012-08-11 22:11 Martin Friebe Status feedback => resolved
2012-08-11 22:11 Martin Friebe Resolution reopened => fixed
2012-08-23 08:52 Giulio Bernardi Status resolved => closed