Results 1 to 9 of 9

Thread: The Hammer 3 Release Candidate 1

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Default The Hammer 3 Release Candidate 3

    Hi,

    Yes, it happened... we're moving on from beta to release candidate.
    So I present to you release candidate 1 of The Hammer 3.0

    You can download the full zip (easy to compile & run) release from:
    https://projects.vdf-guidance.com/projects/hammer/files

    If you use Subversion to update to the latest version then beware that you should switch from trunk to the Hammer3 branch before you update.
    http://svn.vdf-guidance.com/TheHammer/branches/Hammer3

    The reason for that is that the main trunk is now for development of Hammer4 and as that's the UNSTABLE branch I don't recommend you to track that for now. Stability will continue on the Hammer3 branch.

    What has changed since the last beta?


    • The parser DLL that takes care of the code explorer on the left now supports all line endings, not just CRLF, but also LF or just CR
    • Metatags syntax coloring didn't color the } closing tag correctly.
    • There's also a new scintilla DLL as I had apparently broken the code folding functionality in PRN/PRP files. This works again and is controlled via a new lexer property "fold.dataflex.compilerlist". Not that you have to do anything with that. The hammer sets it automatically when needed.
    • Drag and Drop from the Tools pane has always worked, but it did not have undo tracking for it, so it wasn't easy to undo an unintentional change. Now you can just undo / Ctrl+Z without worries. Also made some small tweaks to have it work more naturally. (Put the focus on the drop target after the drop and select the line where you drop)
    • If you have open a new workspace and you have no files currently open then previously you could not drag & drop a new file on the hammer as the client area was not a valid drop target. This now also works as expected.
    • As I had worked a bit with the method extract refactoring option last week I bumped into some things and have improved this (more below)
    • Fixed html/xml tag colors on the following themes: black, blue, lime and serene as they were very difficult to read


    Here's the list of things on the method extract logic:
    - Add maximize icon to the dialog
    - Pressing the escape key anywhere in the dialog will close the dialog
    - Defect 145, the code was no longer properly indented. This was because we had moved some code around. Correcting that did not yet fix it. Also had to resurrect the old "walk over the lines" logic for it to behave.
    - Defect 149, partial name check if variable name identical to a database field.
    - Defect 146, Changing to function does put return type in invocation
    - Defect 148, Method without parameters is not called
    - Defect 143, database fields are now identified and filtered if so desired

    At long last I also have come to the conclusion that the source is not documentation

    As a result I started working on documentation for the Hammer 3 at the wiki in markdown.
    https://projects.vdf-guidance.com/projects/hammer/wiki

    This is very much a "work in progress" and I hope to have it in better shape on the next release candidate.

    It's got some cool details already though, for example how you can add a new default theme based on your own tweaked theme.
    https://projects.vdf-guidance.com/pr...3-Color_themes
    or what is supported for code collapse:
    https://projects.vdf-guidance.com/pr...-Code_Collapse

    OK, that's it for now.
    Last edited by wila; 5-Feb-2020 at 07:21 AM.

  2. #2
    Join Date
    Feb 2009
    Location
    Adelaide, South Australia
    Posts
    2,863

    Default Re: The Hammer 3 Release Candidate 1

    Thanks Wil !!!
    Marco Kuipers
    DataFlex Consultant
    28 IT Pty Ltd - DataFlex Specialist Consultancy
    DataFlex Channel Partner for Australia and Pacific region
    Adelaide, South Australia
    www.28it.com.au

  3. #3
    Join Date
    Feb 2009
    Location
    Stord, Norway
    Posts
    882

    Default Re: The Hammer 3 Release Candidate 1

    Awesome work!
    Ola Eldøy (Twitter: @olaeld) - Developer at Emma EDB AS

  4. #4

    Default Re: The Hammer 3 Release Candidate 1

    Hi,

    That took a bit longer as expected, but here is Release Candidate 2.

    Main change... support for ANSI as well as support for UTF8

    - Defect 163, Raveen reported some issues with trying to use drawing characters in OEM. This was due to some OEM/ANSI translation issues required for cyrillic to behave. If you now uncheck the checkbox "ANSI to OEM translation" in the hammer settings (see bug report for details) then this issue should no longer happen.

    As DataFlex 20 requires you do be able to load/save in UTF-8, we now have UTF-8 support.
    You can to enable it via the menu
    File -> Hammer Options -> Editor -> Window
    and then check the "UTF-8 Support" checkbox.
    With UTF-8 Support enabled you can edit in UTF-8 and it will keep the file in UTF-8.
    But you can also edit in OEM and the file stays in OEM.
    I haven't tested what happens if you add a non OEM character...
    If you add a non OEM character to an OEM file then it will silently convert that file into a UTF-8 file and add a BOM to the file.

    For now it is a quick fix, I might have missed something obvious.
    Please be careful for the moment when editing in UTF-8 although I expect no trouble as I really changed just a few lines of code for this.
    It is the scintilla control that does all the magic.

    However with me testing UTF-8 support in DataFlex this morning for the first time, you can guess how much I have tested at this moment!

    Note that "OEM to ANSI translation" does not work with UTF-8 enabled (I should have disabled the checkbox, but well.. next version)

    Also note that the built-in compiler has been disabled for DataFlex 20 as it triggered unstoppable runtime errors. I think I know why, but don't have the time to look into it more deeply.

    Finally, beware that this will NOT compile in DataFlex 20, compiling and running The Hammer project itself in NextGen is for The Hammer 4, not for this version.
    You can compile the project with DataFlex 18.1, DataFlex 18.2, DataFlex 19.0 and DataFlex 19.1.

    But you should be able to use the Hammer 3 for editing and compiling files in NextGen.

    Release Candidate 2 is available via:
    https://projects.vdf-guidance.com/projects/hammer/files

    Back to business.
    --
    Wil
    Last edited by wila; 15-Nov-2019 at 04:48 PM. Reason: more details while we go

  5. #5

    Thumbs up Re: The Hammer 3 Release Candidate 1

    Quote Originally Posted by wila View Post
    Hi,

    That took a bit longer as expected, but here is Release Candidate 2.

    Main change... support for ANSI as well as support for UTF8

    - Defect 163, Raveen reported some issues with trying to use drawing characters in OEM. This was due to some OEM/ANSI translation issues required for cyrillic to behave. If you now uncheck the checkbox "ANSI to OEM translation" in the hammer settings (see bug report for details) then this issue should no longer happen.

    As DataFlex 20 requires you do be able to load/save in UTF-8, we now have UTF-8 support.
    You can to enable it via the menu
    File -> Hammer Options -> Editor -> Window
    and then check the "UTF-8 Support" checkbox.
    With UTF-8 Support enabled you can edit in UTF-8 and it will keep the file in UTF-8.
    But you can also edit in OEM and the file stays in OEM.
    I haven't tested what happens if you add a non OEM character...
    If you add a non OEM character to an OEM file then it will silently convert that file into a UTF-8 file and add a BOM to the file.

    For now it is a quick fix, I might have missed something obvious.
    Please be careful for the moment when editing in UTF-8 although I expect no trouble as I really changed just a few lines of code for this.
    It is the scintilla control that does all the magic.

    However with me testing UTF-8 support in DataFlex this morning for the first time, you can guess how much I have tested at this moment!

    Note that "OEM to ANSI translation" does not work with UTF-8 enabled (I should have disabled the checkbox, but well.. next version)

    Also note that the built-in compiler has been disabled for DataFlex 20 as it triggered unstoppable runtime errors. I think I know why, but don't have the time to look into it more deeply.

    Finally, beware that this will NOT compile in DataFlex 20, compiling and running The Hammer project itself in NextGen is for The Hammer 4, not for this version.
    You can compile the project with DataFlex 18.1, DataFlex 18.2, DataFlex 19.0 and DataFlex 19.1.

    But you should be able to use the Hammer 3 for editing and compiling files in NextGen.

    Release Candidate 2 is available via:
    https://projects.vdf-guidance.com/projects/hammer/files

    Back to business.
    --
    Wil

    Great Work!!!!

  6. #6

    Default Re: The Hammer 3 Release Candidate 1

    Quote Originally Posted by ge_nildo View Post
    Great Work!!!!
    Thanks!

  7. #7

    Default Re: The Hammer 3 Release Candidate 1

    Ok, here it is, Release Candidate 3.

    I know you're not supposed to add new features in a RC, but I did that anyways

    For another project I needed QuickInfo tooltips in the scintilla control. Going from that to adding end scope (end_function/end_procedure/end_class/end_object) tooltips to show what scope is closed has been added. This is something that has been available in DF Studio for "yonks", so we now finally have that feature as well. (pfew)

    Other changes made are bugfixes and general improvements to use The Hammer 3.0 with DataFlex 2020. For example adding support for WString, LongPtr and ULongPtr variable types. Note that if you want color highlighting on those that the new type is in the CodemaxEdit.ini file in the programs folder, not in your local copy (the one with your username in the data folder). You'll have to remove the local copy or sync the pslanguage option in the .ini file. Somehow adding via the option screen is broken (? at least it didn't work when I just tried and no time to chase it down yet)

    Here's the full list of changes.

    - In DataFlex 20 almost all of the tools are in the bin64 folder, so start them from there.
    - The Hammer3 Library dependency vWin32fh wasn't pegged against a static version and thus it ended up with the experimental latest WideString compatible DF20 version. Not something that is ideal for a beta, so now pegged the vWin32fh library against SVN version 31 from last year.
    - DLLHandler.pkg, Using Self in a External_function call invocation is a reason to crash, don't do that.
    - On the very first run at a new machine the workspace view tried to recursively show the contents of "".. so all of the disk. Not a good idea.
    - Workspace.sl, make the browse button work for DF20.0
    - cWorkspacePanel.pkg, fix the long standing bug where changing the DataFlex version in the workspace selector could change the dataflex version of tools you open, even if you had not selected a new workspace.
    - The Goto Line dialog should not accept non numerical characters, it is also nice to offer being able to resize it.
    - TH3MenuTools.mn, TH3EditorContextMenu.mn, removed the ""Record Macro" menu options as that is currently not available. Don't show something that cannot work.
    - Sync with Scintilla Library
    - Fix of Bug 161, https://projects.vdf-guidance.com/issues/161, Reindenting a nested case statement gets indented wrong
    - Add support for QuickInfo
    - Change bookmark margin to also accomodate for debugger symbols
    - TH3StatusBar.pkg, the Line/Col status pane was too short to display lines+columns if the line count is in the thousands, also expanded the workspace description pane.
    - cEditorEdit.pkg, add support for WebSet/WebGet (https://projects.vdf-guidance.com/issues/167 ) and the object selection list.
    - cSciLexer.pkg, add support for scope quick info (end_procedure/end_function tooltips with the name of the method)
    - oEditorProperties.pkg, our debugger has been renamed from VdfSplat to DfSplat
    - new parser.dll, version 3.0.256, adds support for wstring, longptr and ulongptr
    - Support for WString, LongPtr and ULongPtr variable types.

    The download link can be found at the opening post, or click here.

    --
    Wil

  8. #8
    Join Date
    Feb 2009
    Location
    Goteborg, Sweden
    Posts
    3,189

    Default Re: The Hammer 3 Release Candidate 1

    Thanks Wil!
    Nils Svedmyr
    RDC Tools International
    www.rdctools.com

    "The problem with internet quotes is that you don't know if they are true."
    Abraham Lincoln

  9. #9

    Default Re: The Hammer 3 Release Candidate 4

    Hi,

    OK, so here's Release Candidate 4

    We're slowly getting to a more final release of The Hammer 3, not exactly there yet, but making good progress for that stage.
    This is mostly a release of addressing a bunch of paper cuts. There was plenty of annoying small things that had to be fixed.
    So I took it upon me to get rid of some of these.

    Here's the list:
    • more fixes for WString/LongPtr/ULongPtr support
    • tweaks on the autosuggestion list and auto-complete logic. When you create a method it now always automatically types the part to close it for you, not only if you select an autosuggestion list item (had this all the time as I type too fast). It also no longer has a code path where you would end up with 2x end_procedure/end_function. If the method was closed already then it won't close it for you either.
    • In this same arena starting with begin and pressing enter will add an "end" for you automatically (also while/loop and repeat/until)
    • Text generated via any of the autosuggestion lists now also has its case normalized (if selected)
    • Increment indentation after pressing enter when the scope goes 1 level deeper.
    • Added the DataFlex package folder to the list of source files to use for the source file autosuggestion list after typing "Use "
    • vcBitmapContainer.Pkg -> renamed to cvBitmapContainer like the package is now on vdf-guidance.
    • ReOpenAllFiles method has been rewritten in regards to the "open last edited file" logic. It had the nasty side effect of opening the last edited file into the wrong workspace. See also https://projects.vdf-guidance.com/issues/76 . This should be fixed now, the logic has been moved out into the ReOrderLastEditedFile method.
    • If the .hws file was truncated it would not recover gracefully, we now log an error and start with some defaults.
    • Undo text inserted by codelists gracefully
    • Add function to remove empty editorstatus array items in THDoWriteWorkspace
    • We now also save position and bookmarks when the hammer is closed or the workspace is changed for each opened file, not only when you press save (as it was in the past)
    • You can close the tool panel in 2 ways. Either by the toolbar button or by using an x-button. Unfortunately the visible state of the control only was able to detect the toolbar button close, not the x-button This has now been fixed.


    As usual you can find the download for Release Candidate 4 here:
    https://projects.vdf-guidance.com/projects/hammer/files

    Have a great weekend!
    --
    Wil

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •