changes between 2.72.2 and 2.73
  • Added first version of IDE add-in interface. A new add-in SDK has been created. This release focuses on the project pane and source code windows. Depending on interest, this will be extended to other areas in the future.
  • Added custom keyboard mapping. You can now redefine most keys. The menus will automatically display the correct accelerator key.
  • Added Output tab. It's now possible to capture the output of console mode applications to this tab. A good candidate for this is Splint (Splint is a tool for statically checking C programs for security vulnerabilities and coding mistakes).
  • The source editor can now jump to the definition of a symbol (at least all definitions that CTAGS understands). The browse information needed for this is built with other project files. The very first project build will also build the system definitions (that is, all include files that Options -> Folders -> Includes are pointing to). The system definitions are around 16 MB on my machine.
  • Added support for module definition (DEF) files as part of a project. The DEF file(s) will be displayed in the project tree. A new syntax parser for DEF files has also been added.
  • Added new project wizard for DLLs.
  • Added basic support for Smartphones.
  • The handling of exported/imported symbols has yet again been revised in the library manager and the linker. Several bugs have been fixed. Ordinal numbers should be handled better. The whole management should be closer to Microsoft (we hope).
  • Added support for module definition (DEF) files and machine classification (ARM) in the library manager (POLIB). It's now possible to extract members without specifying the full member path.
  • Added minimal support for drivers to the linker.
  • If a module definition file has a .DEF extension, it can be specified directly on the linker command line, without the /DEF: option.
  • The CAB Builder for Windows CE now handles CPF (CAB Provisioning Format) files correctly on Smartphones.
  • Added more alignment buttons to the toolbar of the dialog editor.
  • The IDE will now remember bookmarks between sessions (only when a project is active).
  • The IDE will now try to clear the 'dirty flag' for a window, when everything has been undone.
  • All known font names will be displayed on the Source tab in Options (not just ANSI charset).
  • The splash screen can now be disabled.
  • The IDE will not check if files in recent file and project lists are present, when located on "slow" drives (removable or network drives).
  • The IDE will now automatically create any missing target directories, typically the output directory.
  • The IDE will now automatically load the last used project at startup (if so requested). Document windows will not be re-opened, but this might be added in a future version.
  • Added support for entering non-existing file names in the dialog for Add file to project... The file will be created automatically (as a text file).
  • Added support for comments in project ZIP files.
  • Added 'Change' button to Macros tab in Project Options.
  • The source editor will now reject control characters by default. It can be enabled for a window through the property page.
  • The source editor can now optionally display line numbers in the margin.
  • The source editor will no longer display a message box when wrapping past the beginning or the end of the file. Replaced by a nice beep.
  • The source editor will now display a message box with information about number of replacements after 'Replace all'.
  • The source editor will now try and snap the caret to the closest location after a mouse click (not always to the left).
  • The source editor will now treat line breaks as a 'word', when using Ctrl+Left arrow or Ctrl+Right arrow.
  • Added Exception tab to the debugger. By double-clicking one of the known exceptions, you can toggle if the debugger should always stop on this exception (first chance) or not (second chance).
  • The debugger will now also check for outdated source files (newer than the associated module).
  • The debugger will now also automatically set a breakpoint at WizMain() - for easier debugging of project wizards.
  • Added (some) support for debugging DLLs. An executable helper may now be selected in the project options. It's up to you to write that app.
  • Added ctagsapi.h and ctags.lib to the distribution. Contains definitions for ctags.dll which can be used to build, or query, CTAGS 'databases'. Used by POIDE.
  • Added appmgmt.h, shappmgr.h, shdispid.h, shobjidl.h and shtypes.h to distributions.
  • Added runtime functions _strnset and _wcsnset.
  • Added _tcsdup, _tcslwr, _tcsupr, _tcsnset to tchar.h.
  • Added condition to oaidl.h so that defining _FORCENAMELESSUNION shouldn't be needed to get a proper VARIANT declaration.
  • Wizards without a description string will now be loaded, but with the file name displayed instead.
  • Added improved HEAP management: virtual memory will not be reserved during startup but rather on the first call to a CRT memory function (malloc, realloc). A new CRT variable for maximum HEAP size has been added: __crtheapsize. It will be initialized to 256 MB for EXE files and 32 MB for DLL files. If you want another size, change this variable before the first call to malloc or realloc.
  • Bugfix: Newly created resource files (icons, cursors, bitmaps, ...) wasn't always saved to disk from the IDE.
  • Bugfix: Couldn't scroll debugger tabs left/right when they didn't fit into the debugger pane.
  • Bugfix: The disassembler in the debugger sometimes added stray arguments to the opcodes. Fixed.
  • Bugfix: The debugger will now at least try to activate the console application window when resuming execution.
  • Bugfix: Only one MANIFEST resource is now allowed in the IDE.
  • Bugfix(?): The caret was reported missing in action while switching between applications. I couldn't reproduce this, but tried to re-arrange the code anyway.
  • Bugfix: Find in files could crash for matches on long lines.
  • Bugfix: Source editor undo data for replace didn't preserve case.
  • Bugfix: Pasting multiple lines of text will place the caret in a better position than on the first visible line.
  • Bugfix: The owner-draw menus needs extra check for MDI system menus since they are not signaled as 'system menus' by Windows.
  • Bugfix: Using more than one exception_info in a source file made the compiler crash. Ugh!
  • Bugfix: The IDE wrote VK_ESCAPE as ^[ to the resource script. The resource compiler wasn't impressed.
  • Bugfix: The project pane is now closed when New Project is selected.
  • Bugfix: New Project is now disabled while building a project.
  • Bugfix: The resource compiler didn't like parenthesis in dialog styles.