Okay I created a possible fix for this problem, though I'm not entirely sure if it's correct. This is my first contribution to any open source projects, so please take review changes with a bit of trepidation. You make want to also link to the issue with this code:
http://bugs.freepascal.org/view.php?id=20059 // begin fix unit codetools/pascalparser // method: TPascalParserTool.ReadTilProcedureHeadEnd // insert at line number 1535 // line above should be "end;" // Level: Integer is new local variable Level := 1; if GetAtom = '<' then begin ReadNextAtom; while True do begin AtomIsIdentifier(true); ReadNextAtom; if CurPos.Flag = cafPoint then Continue; if CurPos.Flag = cafComma then begin ReadNextAtom; Continue; end; if GetAtom = '<' then begin Inc(Level); Continue; end; while GetAtom = '>' do begin ReadNextAtom; Dec(Level); if Level = 0 then Break; Continue; end; Break; end; end; // end fix // line below should be "end else begin"
-- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
