GExperts now compiles without a single hint in all Delphi versions from 6 to XE8.

GExperts now compiles without a single hint in all Delphi versions from 6 to XE8.

Hooray!

(and that's not because I disabled them ;-) )

I also fixed a unicode problem with the procedure list, which is what got me started:

procedure blä;
procedure blüb;
procedure plöp;

now all work fine. The problem was with Martin Waldenburg's Delphi parser. Of course he can't be blamed for this because his work was done before Delphi was unicode aware.

Comments

  1. Well done! Speaking of Unicode, does the GREP replace function works with unicode now? I miss that function so much after upgrading away from D7 many years ago.

    ReplyDelete
  2. Edwin Yip I seem to remember somebody spending some time on the grep functionality after Delphi went unicode, but I don't know for sure whether it works.

    ReplyDelete
  3. Thomas Mueller I think I fixed that exact bug in the parser in the DelphiAST project some while ago. Maybe you can compare the GExperts units to see if there any other differences.

    ReplyDelete
  4. Stefan Glienke I just tried to compare the code but there were too many small differences, it's basically impossible to spot the important ones. And I am not just talking about different formatting.

    ReplyDelete
  5. I don't think it's fixed, with the latest version for XE4 it still prompts this: "Using GExperts grep replace can corrupt your source code if the file being replaced is in a UNICODE format on disk or if the file is loaded into the IDE editor and contains characters other than low ASCII."

    ReplyDelete
  6. Unfortunately, by making the procedure list unicode aware, I have broken several other experts, in particular:
    * todo list
    * expand Macro Template
    * Uses List
    They all call the parser with the wrong type of buffer now.
    Even more unfortunately I don't have the time to fix them all right now. Now that would have been a great time to work on a branch rather than the trunk...

    ReplyDelete
  7. Thomas Mueller Bleeding edge  eh? :D

    ReplyDelete

Post a Comment