Release Status Beta
This is BETA software. All effort has been made to ensure that everything is working properly. The "Beta" designation is used mainly because WinPTE is in constant development, with new features added and old ones improved with every release. The presence of bugs in software is not isolated to "Beta" designated product releases and is abound in many "Release" versions of commercial packages. What is different with WinPTE is that your bug reports are appreciated and bugs fixed ASAP.
However, if you are still not comfortable with Beta designated software please do not use this version.
IMPORTANT: Starting with version 3.00.445
User customizations to template files and custom macro files (other than custom.pte) should be placed in Custom subdirectory under the WinPTE installation directory. This is the only way to guarantee that a new release won't have a new file that clashes with one that you have created. If you have modified some of the standard templates you should create a new directory Custom and copy them into it. Otherwise they will be overwritten by the installer. You can also customize the templates on a per project basis by keeping them in the project directory.
IMPORTANT: If installing over version 3.00.429 or prior
If you have changed the custom.pte file then you need to make a backup of it before installing this version, otherwise the file will be deleted by the old uninstall script. The problem exists in installer builds 429 and prior, which erroneously included an empty copy of the custom.pte file and marked it as ‘Delete on Uninstall’. Which means this file will be deleted by the previous ‘Uninstall Script’ when this version is installed.
Changes from 453
- Fixed: All timer generated macro events were disabled.
This issue had the effect of:- Preventing Delayed Auto Format from working..
- Preventing update of the ToDo pane which triggers after the keyboard input is idle for 2 seconds.
- New: Added ProvideX renumbering tool and item on the context menu.
- Fixed: ProvideX code completion was always disabled for END, NEXT, GOTO and GOSUB instead of being limited to disabled if not typing at the end of line or if the preceding character to the keyword is not a space or semicolon.
- Fixed: ProvideX auto line numbering could not be used with auto format. The two now try to co-exist.
- Fixed: Matching bracket selection macro. When the cursor was on the closing bracket would search forward for the matching opening bracket instead of backwards.
Changes from 445
Eye Candy Features
- New Theme and Custom theme configuration added to options pane.
- New Outlines can be placed in the text area or the margin area. Option Pane/Display Settings/Outlines/Outlines in Margin.
- New Status bar re-implemented to use flat theme, custom theme.
- Fixed: Top and Bottom text display area margins are now "De-Emphasized" with the top and bottom most lines. Also added painting of the margin line for these areas.
- Change: Margin area width is now set to fit the last line number of the file or 999 whichever is greater. This prevents the margin width from changing while scrolling, but may cause the margin width to change when lines are inserted or deleted from the file that is on the 1000 line boundary.
- Fixed: file tabs left 9 pixels spacing above the tabs. Also made file tabs use the custom theme to pain scroll button background.
- New File tab color configuration added to options pane.
- New Extra line spacing split evenly between top and bottom of line for the first 6 pixels. The space is used to space out the boxed text and the line underlines. Also collapsed line and relative start line underline markers will go up to 4 pixels below the bottom of the box/underline lines if there is enough extra spacing.
- Fixed: Boxed text now paints the top line of the box at the very top of line without leaving a 2 pixel spacer.
Menus, Toolbars and Configuration
- Change: Edit Menu got an overhaul; all edit related modes are now in the Edit/Modes submenu.
- Change: File/Difference with Saved is now moved to View/Difference with Saved
- New Enter, Backspace and Delete now behave as their notepad counterparts, to get WinPTE line based behavior enable Manual Split/Join found in Edit/Modes/Manual Split Join.
- Fixed: Torn-Off pop-ups would remain in torn off Z-Order. Dragging a torn off menu would hide it under another torn off menu.
Code Fragment Templates
- New Added vector iteration to fragments and permutations of vector parameters.
- New Automatic parameter value saving on a per template, per file, per code fragment ID and per parameter basis. When you hit OK in the code fragment selection dialog the parameter values are saved in the data store and recalled the next time the code fragment dialog is shown for this template and this file. This means you won't have to re-enter the same parameters.
- Fixed: code fragments did not correctly compare for empty and no strings of boolean properties. This meant that selecting = NO option would have the opposite effect.
- Fixed: multi-parameter fragments were not correctly generating input dialog xml.
Mouse Operations
- New Documented Assignment of macros to Ctrl+Right+Click and Ctrl+Shift+Right+Click mouse buttons.
- New Documented use of other keys while performing mouse selection or drag/drop operations.
- New Mouse selection of back-quoted strings added.
- New Double click or drop replace now select the string at the closing quote character.
- New Right click user macros can be configured to create a replacement selection similar to one created in drag/drop/replace mode. Setting is enabled when recording a user macro. This allows creating macros that will replace or delete selected text without having to select the text first.
- New Ctrl+Click now performs the same action as a double click (using all other modifiers: Shift to select to end of line, Alt for alternate character selection or selection reduction for quotes and brackets.)
- New Ctrl+Shift+Click selects to last non-blank character of the line, Ctrl+Shift+Alt to first non-blank character of the line.
Also drag/drop/replace with Ctrl+Shift or Ctrl+Shift+Alt will replace from cursor to last/first non-blank character for character marks, respectively. The Ctrl+Click selection can be continued into a drag operation without releasing the mouse button.
To replace to end of line: Ctrl+Shift+Click, keep Ctrl+Shift pressed and drag to a new location to replace from it to its end of line. Move cursor to until you see the right replacement selection to end of line. Release left mouse button. Modifiers can be pressed released at any time and will change the current drag mode. Similarly for replacement to first non blank (beginning of line if leading blanks are ignored.)- New Ctrl+Shift Drag of line marks selects to End of Paragraph for Line selections. This is experimental functionality to see if it is actually useful.
Use with Alt to exclude the current line and the end of paragraph. A paragraph is language template defined, with the default being to next blank line. For C/C++ and similar (java, js, c#) a paragraph is considered a statement (all lines to ;), compound block or a comment block (includes intervening blank lines). So for C/C++ if you drag a line mark with Ctrl+Shift and place the cursor on the line with an opening { then everything to the corresponding } will be selected. Pressing Alt will exclude the { } lines selecting only the content.- Fixed: Double click can now be continued into a drag. Now you can double click start the drag with the second click. Previously had to release the mouse button after double a click and click again for a drag operation.
- Fixed: Scrolling the mouse wheel while selecting did not updates the selection until the mouse was moved.
- Change: The left-most column now has a few pixels of grace buffer before the mouse is considered out of the text area. Making a character selection to the start of line is now easier because the switch over to margin (line selection) happens a few pixels into the margin or the outline area.
- Fixed: Added support for selection of strings that are contained within another colorization region (like a comment). In this case the end of string is determined by a matching quote in the same region, without considering any escape characters. Previously all text to the end of the region was selected.
- Change: Arbitrary Drop/Replace selection key combination is now Ctrl+Alt, used to be Ctrl+Shift. Ctrl+Shift is now Drop/Replace to End of Line for character selections and to End of Paragraph for Line selections.
- Change: Transfer and Overlay block operations are on Alt for overlay, Shift+Alt for transfer. Ctrl is ignored.
- Change: With the addition of Ctrl Click operations to select column selection without toggling column mode requires that the Ctrl+Shift be pressed after the left button. Otherwise they will perform a select to end of line
Selections and Macros
- Fixed: Undo would not restore an empty block selection. Empty selection appears as a vertical line.
- Change: toggle column selection mode will now toggle from column to character selection if the the selection does not span more than one line.
- Change: Number command enhancements: Number command now extends the selection to fit all numbers generated for the selection, preserves leading zeros even when the input and output base is different, accepts 64bit integer for starting number and will generate 64bit integer sequences. The base is also determined automatically from the first number using recognizable prefix and/or suffix.
- New Added numbering dialog to allow interactive selection of numbering type, base, starting number and increment. Same as number command enter leading 0's if you want to control the minimum width of the generated numbers. Numbers that are less than the minimum width will be padded with leading 0's if leading 0's were present in the input or the generated base has predefined prefix.
- New Insert generated number sequence in the current cursor column without a column selection by specifying maximum number of numbers to generate.
- Fixed: Transpose and Replace line marks macro now re-indents both for their destination context and also Transpose now does the operation without clobbering the line's tag number information.
- New Shift+Alt+Delete (delete following spaced, non-spaces, and following spaces) for C++ style languages (C/C++, c#, perl, java, js) will now check if an 'if' keyword is being deleted. In which case it will delete the 'if' following spaced, strip off first set of matching () and add ; where ) used to be. This will quickly convert the 'if (condition)' to 'condition;' useful for changing an 'if' that assigns a boolean to true in the body, to just the boolean equal to the condition.
Search and Replace
- Fixed: Find/Replace Dialog ReplaceAll would not replace until Find button was used. Now using ReplaceAll will replace all occurrences no questions asked.
- New Added swap option to find/replace dialog, which allows to Swap occurrences of the search and replace strings in the file.
For example: find = varNameA, replace = varNameB with the swap option, will change all occurrences of varNameA to varNameB and all varNameB to varNameA. This functionality was always available on the command line by specifying two search replace sets with the search/replace strings swapped in the second group. This can be used with "Plural Forms" and will swap plural occurrences too. Can't guarantee I got all plural forms or if I got them right. Useful for replacing Collections and Object names at the same time, collections of objects usually have plural form of the object name.- Change: Case preservation option will now only match if the search string has a exact match or if the found string is all CAPS or lowercase version of the search string. The replacement string will be changed to all caps or all lowercase to match the same condition of the found string or left as is if the found string has mixed case. So specifying thisOldWord for the find string and thisNewFangledWord for the replace string with the case preservation selected will do the following replacements:
- thisoldword --> thisnewfangledword
- THISOLDWORD --> THISNEWFANGLEDWORD
- thisOldWord --> thisNewFangledWord
- New: Incremental Search keys allow you to toggle whole word search, prefix search or suffix search. All the word options are off by default.
Ctrl+W (or Alt+W): toggle whole word search option. Will only find whole word matches. Same as turning on end word and beginning word options. If either end or beginning option is turned on then Ctrl+W will turn both of them off. Ctrl+E (or Alt+E): toggle end of word search option. Will only find matches that are suffixes of words. Matches that end in the middle of a word are excluded. Ctrl+B (or Alt+B): toggle beginning of word search option. Will only find matches that are prefixes of words. Matches that begin in the middle of a word are excluded.- Change: Backspace in incremental search mode clears the whole word option (not the end or beginning word options)
- Change: Ctrl+Backspace or Delete in incremental search mode clears all the word options, whole word, beginning of word or end of word.
- New Incremental Search features allows taking the word at the current cursor location (or the previous word if cursor in not on a word) and using it as the search string and turn on whole word search which can be toggled manually with Ctrl+W (or Alt+W).
- Ctrl+Space: If the search string is currently empty then Ctrl+Space take the word under the cursor as the search string. Handy for Ctrl+I, Ctrl+Space combination to start searching for identifier under the cursor.
If the search string is not empty then it will empty it and make the current cursor location the start of further searches. With the search condition empty you can now use the arrow keys to move the cursor to the identifier you want to search for. When on it, hit Ctrl+Space again and the search resumes, with the whole word search option turned on and the identifier being the new search string.- Alt+Space: Will always take the identifier under the cursor as the search string. Useful when a partially complete incremental search string lands you on the full keyword of interest but the wrong instance of it in the file. Alt+Space will take the full keyword and turn on the whole word search option, allowing you to use the arrow keys to navigate through all occurrences in the file.
Without pressing the Alt+Space you would either have to type in the whole string and hit Ctrl+W or be forced to visit every partial match in the file.
Power Block Mode
- New Common editing operations: typing, backspace, delete, ENTER with an empty rectangular selection automatically switch on the Power Block Mode. This was added because the empty rectangular selection looks so much like a set of power block cursors that I kept trying to use it as such. Made it standard functionality.
So you can make an empty rectangular selection where you want to insert characters on all lines and just start typing.- New Pressing the generate number sequence (toolbar button or Ctrl+F5) in power block mode brings up the "Generate Number Sequence" dialog and then inserts the generated number at each power block cursor. Normal operation of these functions works with column selections and fills in a generated number on every line of the selection. The power block mode version has finer control on where the numbers are inserted.
Language Templates
- Fixed: Settings changed via the command line were not persisted to the data store or restored on startup.
- New ProvideX language template now handles label name completion either manually with the Ctrl+Space or Ctrl+Shift+I keys or automatically on a space after GOTO or GOSUB keywords.
- Change: Language templates now use an assigned name instead of extension list for resolving references for settings and keys. Resolution by extension will still be supported but if you change the extension list then your definitions will no longer be associated with the language template.
- New Added a setting in language templates to specify which regions can be compressed/expanded with flex and which cannot. Default 2, 3 and 4 are non flexing these represent single, double and back quoted strings.This prevents the flex mode from changing the number of spaces in strings.
- New language templates now have a prefix and suffix setting per number base [2..36]. This is used by macros and number command to generate the right format for binary, hex and any other supported number bases of the language.
- New Language template content based resolution of file association added. The non-inheritable macro pre-template-association is run on every template that claims the file's extension as its own. Not having this definition or returning 0 means the association is by extension only. 1 or greater means content based check. This will allow common extensions such as .sql, .asm, etc. to be associated with multiple language templates with each claiming the association if it finds a strong presence of its particular dialect in the file.
- Change: Language templates are being cleaned up and re-organized to use the inheritance mechanism instead of cut and paste. If your favorite feature got broken, please report it and it will be fixed ASAP and the fixed provided without waiting for a full release.
Miscellaneous
- Fixed: uncaught exception in input dialog if passed an empty or invalid string for XML configuration content.
- Fixed: uncaught exceptions if invalid node path was being passed to many internal functions from script.
- Fixed: status would not display the right character width of a column selection.
- Fixed: square bracket highlight was missing backwards closing bracket in the code, causing backward matches to stop at the first found opening square bracket.
- Fixed: Options Pane now removes any properties that are reloaded from a file from the revert list. Otherwise loading a new color scheme could be reverted to properties modified in another color scheme.
- Fixed: OnIdle processing was being done even during macro execution. Slowing down operations by a factor of over 100.
- Fixed: ^N expansion macro which is supposed to give the numeric month of the current date would expand to a 0 based month instead of 1 based month.
- Fixed: Finally got rid of the annoying flashing of the ToDo pane when HTML content was being updated.
Known Issues
- Proportional font with Flex Align prevents mouse clicks from reaching a few spaces after the end of lines, on lines that contain many wide characters. You can move the cursor using the arrow keys as a work around, the issue only affects mouse clicks and drag operations.
Changes from 441
- New Code Templates enhanced with Selectable Code Fragment functionality. Find more information in the Documentation section.
- New Incremental Search macro added to distribution. Key Ctrl+I is now assigned to this function. Moved VB/LotusScript and C/C++ Ctrl+I assignment to Ctrl+T and Ctrl+Shift+I respectively.
- Change: In order to identify user customizations easier the Custom subdirectory under WinPTE installation directory was added to the WinPTE search path. Intent is to place all user customizations in that directory. For example standard templates should not be modified because they will be overwritten by the next installation, instead a copy of the file should be placed in Custom and it will be used by WinPTE instead of the standard file.
- Fixed: Find/Replace dialog would not save its show state on exit, causing it to either always show/hide on startup. The correct operation is to startup up with the same state as it had when WinPTE was last shut down. This is now fixed.
- Fixed: moving line/selection up would clear the tag number of the line below.
- Fixed: Selecting a Screen Font (Non-Outline, Bitmap Font) and Italic style with Column Selections causes characters to be spaced during column selection. Turning off Flex Align does not resolve the issue. This is fixed for next release.
- Fixed: Selecting a Fixed Pitch Font does not automatically turn off Flex Align and continues to apply a non-zero Flex Align Adjustment if it is so configured. This is fixed for next release where Flex Align and Flex Align Adjustment configuration options will be ignored for fixed pitch fonts. Workaround is to turn off Flex Align for fixed pitch fonts manually in the Options Pane under the Display Settings option group.
- Fixed: HTML copy appends an extra CR/LF at the end of the line number table column causing a misalignment of line numbers and text lines on some HTML rendering engines. This issue is fixed for next release. Not displaying line numbers when doing HTML copy or manually deleting the end of line after the last line in the line number column is a temporary fix.
- Fixed: HTML copy would only generate <b> tags if the text style had bold selected and not if the base font selection was bold. Now either one will cause bold HTML text to be generated.
- Fixed: Highlight word will not accept a string selection unless the cursor is inside the selection or at the start of the selection when F12 key is pressed. This is fixed for next release. To highlight an arbitrary string either make the selection from end to start, or use Shift+Alt+Y to move the cursor to the start of the selection after it is made, or make a selection and click with the middle mouse button in it, or use the Find/Replace dialog with the highlight word option turned.
- Fixed: Status Bar update flickers when repeated error messages from a macro are being displayed. This is most evident if using the Incremental Search macro. This has been fixed for next release. There is no workaround in the current release.
- Fixed: Selecting Help/WinPTE on the Web does not launch the browser window (at least with Maxthon set as the default). This is fixed for next release. Manually type in the www.winpte.com in the browser.
Changes from 440
- Change: VBA removed from distribution to reduce the size of the download and avoid conflicts with licensing for demo versions.
- Fixed: Find/Replace dialog not updating the context scope when first displayed.
- New Single and multi-line regions added to outline mode parsing. In some templates contiguous blocks of lines with the same prefix are also made collapsible: C/C++: #include, #define. PTE macro files: key, def, set source, etc.
- Change: mouse modifier keys changed to make standard Shift or Ctrl modifier during dragging to perform move and copy respectively.
- Change: mouse cursor for No-Operation during drag/drop changed to be easier to recognize. It now a stop sign symbol.
Changes from 429
- Fixed: Docking panes and toolbar layout is now not overwritten by installation.
- Fixed: On a new installation toolbars are now packed to fill available space in a row before creating a new row of toolbars.
- New input dialogs have been converted to property pane dialogs allow detailed help description and multiple value queries.
- New HTML copy (Ctrl+Shift+Insert or Ctrl+Shift+V) now generates italic and bold tags to reflect the italic and bold setting of the style. If line numbers are displayed in the main window the generated HTML will also have a line number column.
- New ProvideX template will check for missing closing brace on file save if configured to do so in the options. Outlining and formatting was enhanced from previous versions. Also the styles have been renamed to meaningful terms thanks to the effort of Terry Bauer.
- New ProvideX template will now automatically convert PCODE program file to text if opened in WinPTE. Great thanks to Terry Bauer for making it happen. NOTE: WinPTE configures its external tools assuming a standard ProvideX path for version 6.1. You will need to edit “PVX …” tools in the Customize/External Tools dialog and change the tool path to your Pvx Installation directory.
- New ProvideX specific context menu added for quick configuration of formatting options and access to mismatched brace checking, auto formatting of the whole file, etc.
- New All popup menus are can now be torn off and will remain open until the original menu is torn off again.
- Fixed: Installation script has been completely rewritten. WinPTE shortcut will no longer launch the installer.
- New External Tools now allow selection of any icon from the executable file or any icon from any other file.
- Fixed: External Tools could not be renamed.
- Change: External Tools configuration is now saved in the main configuration data store. A persisted version of the configuration data store. is the WinPTE.xml under “Application Data\WinPTE” folder in the user profile (under Documents and Settings)
- New External Difference Viewer configuration is now part of the Customize Dialog box.
- Change: Undefined user text styles no longer cause errors and are silently ignored causing keywords defined with that style to be not-colorized. Defining the styles and restarting WinPTE will colorize the keywords.
- New Added a Go To line number dialog (Ctrl+G ) and right click in the Line/Col status bar pane will show a context menu, left click the Go To Line/Column dialog.
- Fixed: Status bar would on occasion repaint blank until the next keystroke.
- Incompatibility: Status bar does not display if Windows Blinds is allowed to repaint the WinPTE status bar.
- Change: Options pane refresh optimized for large property lists.
- Fixed: built-in files: .stdout, .stderr, .WinPTE, .errors now properly update the file tabs and text view when they are displayed in the text docking pane. Now the cursor is left at the bottom of file when new lines are appended. This has the effect of scrolling the latest lines. If the cursor is not on the last line of the file then it will not be moved after lines are appended.
- Fixed: Changing line number display type did not update the text view until the next keystroke.
- Fixed: embedded HTML windows can now be scrolled with the mouse wheel without having to click in them first.
Did not make it into this release and will be included in the next one:
- Removal of 817 syntax colorization keywords per language template.
- Shortcut mapping via Customize Dialog. The current customize dialog will override WinPTE standard shortcut keys and they will no longer function on a language template specific basis.
- Adding an option to to turn off the following defaults: drag/drop/replace, automatic switching to line selections when selection spans more than one line, enter key inserting a new line without moving the text after the cursor to the new line, backspace/delete to join previous/next line's text.
Changes from 428
- New ProvideX (Basic) template now has line numbering off by default. Default extensions changed to .pvo and .pvt. Added support for Auto-Format, Outlining, Jump to Label (Ctrl+J), Jump to Switch Label (Ctrl+Shift+J), auto completion of Next and End keywords. See: ProvideX Language Template
- Fixed: Status bar now resizes to accommodate the selected font.
- Fixed: Power Block Mode would not show Power Cursor if Outline Mode was turned on.
Changes from 427
- New Added menu in the options pane to load/save/save as color schemes. Now the default white and blue styles create a copy of color scheme into white.clr and blue.clr respectively so that user customizations are not overwritten on a new install. This version will overwrite the whitecolors.xml and bluecolors.xml which contain the default white and blue background color schemes. Customizations will have to be reapplied.
- New commands are now displayed in the customization dialog. However, assigning shortcuts will overwrite the predefined key mapping used by WinPTE making standard Alt, Alt+Shift, Ctrl, Ctrl+Shift unusable. This is feature is not complete. If key mappings are messed up then you will need to close all instances of WinPTE and then delete HKEY_CURRENT_USER\Software\WinPTE\WinPTE\Profile\Accelerators entry to get the default accelerators restored. The only keys that are safe to assign for now are Ctrl+Alt key combinations. The rest might invalidate the standard WinPTE keys.
- New Custom Tools page in the customize dialog was brought up to same functionality as the WinPTE VBA Addin version.
- New Added template for ProvideX (Basic). This is an initial implementation. Attempts to insert proper line number when a line is inserted, will auto increment by 10, 5, 3, 2 or 1 which ever is the greatest increment that won’t put line numbers out of order. If a suitable line number can’t be found then will insert ‘------‘ instead, requiring user correction. Auto-Indent indents to same level as the previous line. Indent/Un indent is aware of the leading line number and performs operation on text after the line number.
- Fixed: statement completion list box font could not be set to a font different from the text font
- Fixed: resizing the window would not always re-paint the text in the command line.
- Fixed: ToDo pane would ignore mouse wheel until clicked inside.
- Fixed: Command line horizontal scrolling would clip bottom of line.
- Fixed: empty space following a single line comment would not use the right colorization style
- Fixed: Outlining C/C++ style syntax would match braces outside comments with braces inside comments.
- Fixed: Closing WinPTE with Outline Mode enabled would make the next launch slow because all open file would be parsed for outline information on load. Now outline parsing is delayed until the file is selected.
- Fixed: Minor bug in WinPTE VBA AddIn. Custom Tools list box would not disable the down button for the bottom-most item.
Changes from 426
- Fixed: Installation overwrites registration information.
- Fixed: Missing configuration information would cause the first run for a new installation to be unpredictable and could crash. In some cases all subsequent runs would also crash.
- New Added status bar font and color configuration.
- Fixed: word highlight style would override text italic, bold and simulated bold even when these were set to ‘Unspecified’ in the style definition.
- Fixed: some code still referred to old color tables which were no longer updated. This would cause error messages and difference view window to not display text content.
- Fixed: selecting different option groups with categorized display turned off would mess-up the property grid.
- Fixed: switching blue/white color scheme would not save changes before loading the new color scheme.
Changes from 420
- New GUI configuration for display options. The options are a Docking Pane and shows live update of the changes. Press revert button to undo changes. Save to permanently apply them. Little hand grenade button is "Advanced Options" where you can see all the configurable settings.
- New Configure text styles for syntax colorization elements. Comments are now Italic by default. To Change go to Tools/Options.
- New Drag/Drop/Replace now replaces complete single or double quoted strings.
- Change: toggle hex/decimal base for number under cursor is moved to Alt+X fro Ctrl+Shift+X. (Key mapping GUI coming soon, I promise).
Changes from 402
This is a preview release.
- New Display engine supports proportional fonts, faster refreshes. Must see. This version does automatic column alignment for proportional fonts. Next release will make it an option.
- New Blue background is gone. Default is white. The setting is now reversed from before.
- Mouse operation revamped.
- New mouse drag/drop behavior is closer to windows standard while supporting drag/drop/replace. Drag/Replace is default and also does copy. Press shift key to do move.
- New mouse drag/drop now supports column selections, press Ctrl- to do an overlay column selection operation, Ctrl+Shift to do an overlay while filling the source selection with spaces.
- New docking text view. In this release there is a single docking pane for editing/displaying files. Select the file in the main edit view and then right-click the docking pane to have the file display there also. Switching files in the main view does not affect the docked file (unless the docking pane is right-click activated) Next release will have menu items defined to perform this operation and will allow more than one docking pane for files.
- New matching bracket highlight will highlight the contents between two matching brackets and then remove this highlight after a few seconds.
- Fixed: lots of display issues have simply disappeared with the new code.
- New: VB/Lotus Script template now automatically completes ‘End’ and ‘Exit’ keywords with the right contextual term. So if inside an ‘If’, ‘Else’, ‘ElseIf’ block, typing ‘End’ followed by space will fill in ‘End If’, similarly for Sub, Function, Property, Select. The same for ‘Exit’ keyword, will fill in ‘For’, ‘Sub’, ‘Function’, ‘Property’, ‘Do’ depending on the context.
Changes from 401
- Fixed: Registration information not being saved.
- Fixed: Version info in EXE and DLL was not updated to reflect the correct build.
Changes from 396
NOTE: This is an interim release to fix the search/replace screen update bug. However, there many internal changes from the next upcoming release. These are considered experimental at this point but all effort has been made so that they don’t interfere with stable features. Your mileage may vary. If you encounter a problem please report it and it will be fixed immediately.
- Fixed: Screen not updating when doing search/replace.
- Fixed: Status bar would not always refresh. Error messages would show up as blanks and column/line cursor would also blank out. MFC idle update, pain in the behind, issue.
- Fixed: Intermittent Access violation when undoing/redoing Power Block Edit on very large files (60k lines+). Caused by hand optimized assembly code, 10+ years old, and thought to have been stable but one path trashed EBX register which would cause crashes in optimized code which uses EBX as a register variable. This fix also enabled full compiler optimization to be used resulting in significant speed improvement of the release build.
- New: configuration is now saved in XML. The configuration file changed from WinPTE.ini to WinPTE.xml. This change also affects any saved workspace files, which are now in XML format. No migration of settings is made in this release. This means settings will revert to defaults on installation. The layout of this file will probably change somewhat in the final release.
- New: workspaces now have a “Workspace Restores Window” option (Workspace pane toolbar “open workspace” menu). If checked then the main window position and size will be saved and restored with the workspace. This is mainly intended to enable a workspace to be used for presentation purposes that require a specific size and placement of the main window (on second monitor and smaller resolution for a projector display). If this option is unchecked the window size is saved/loaded from the “Default” workspace which is part of the WinPTE.xml file.
- Test Code: For curiosity only. A new “TextView” pane which will not be in the release version, contains the new display component with some test text and a variation of styles and margin icons/outlines. The font can be changed by executing “set glossaryfont” on the command line which will also change the font for statement completion list box. Proportional, Fixed pitch and bitmap fonts can be selected for the base font for the display. The component starts with some fading and non-fading style overlays. To reset the fading overlays to initial state simply hit Alt+F10 (relative/absolute line display toggle which is only meaningful for VB/LotusScript code and TSQL code). This will re-display the fading overlays to repeat the fade cycle.
Changes from 395
- Fixed: VBA Add-In shortcuts would launch external tool even when toolbar button for the tool was disabled.
Changes from 394
- Added: shortcut key assignments for external tools in WinPTE VBA Add-In. These can override VBA defined default key behavior. Keys needed for typing and navigation are not assignable without modifiers (SHIFT, CTRL, or ALT).
Changes from 393
- Added: auto creation of files for all modules in the project.
- Added: shadowing and auto creation of files selectable by project
- Fixed: bugs introduced in shadowing when adding fix for full project path.
- Fixed: selecting “Edit in WinPTE” if WinPTE is not found now launches web page.
- Added: about page to the properties dialog.
- Fixed: last release did not have the proper toolbar layout registry. Help menu was mangled.
Changes from 392
- Added: message box in the Add-In that project needs to be saved instead of failing to create directory.
- Fixed: some notification issues in External Tools options page.
- Fixed: project path would not always be returned as full path and would cause runaway recursion and exception in the Add-In.
- Fixed: modification detection would be triggered when in configuration dialog for the Add-In.
- Added: default parameters for new external tools instead of having an empty text box.
- Fixed: memory leaks associated with external tools configuration.
- Fixed: VBA flashing program button instead of coming to the foreground.
- Fixed: clicking below the last external tool would not disable the input controls.
- Fixed: "Diff Viewer" and "Save UNICODE" checkbox would not be cleared when creating a new tool.
Changes from 390
- Fixed: Default project did not reference Office 10 type library.
- Fixed: comdlg32.ocx was not included as part of distributable files but was needed by some functions in Default VBA project.
- New: added VBA Add-In which allows:
- editing of VBA code in WinPTE

- launching of external tools from VBA. To configure
- sync from WinPTE to VBA
, cursor positions and file content matched from WinPTE
- automatic saving/exporting of all modules to disk (handy for configuration management of VBA projects as individual files)
- saving code window to disk
, reverting to disk version
, viewing difference (via external program, uses program icon) between code window contents and disk version of same. - Help will be available on line. If you have any questions just e-mail: support@winpte.com.
- NOTE: Recommended difference viewer is Beyond Compare 2 from www.scootersoftware.com. The AddIn will provide default arguments when BC2 is added as an external tool.
- KNOWN ISSUE : default toolbar created by the add-in always resets to initial position. Workaround: unload the add-in (Tools/Add-In Manager…), delete the “WinPTE AddIn” tool bar in customize dialog and then create a new tool bar named “WinPTE AddIn”. Reload the add-in (Tools/Add-In Manager…). The new toolbar position will be now remembered across VBA sessions. Unfortunately this has to be done in every VBA enabled application.
- editing of VBA code in WinPTE
Changes from 388
- Fixed: auto re-flow of comments would move a word to the next line but not insert a space after it resulting in two words being spliced together.
- New: added difference button to workspace view. If one file selected then does diff between editor version and saved version. If two files then does diff between the two files.
- New added sa-1 to copy the current selection to the left panel of the Difference Pane, sa-2 to copy to the right panel and launch difference utility on contents of the left and right Difference Pane panels.
- Fixed: now when piping to WinPTE on the command line and no other WinPTE instance is running another instance is launched and the piped data is passed to it. The original instance being piped to, exits after the pipe is drained. This now releases the command processor. Previously it hung, waiting for the instance to be closed by the user.
- Fixed: status bar would intermittently not display insert mode and cursor position.
- New: macros now can programmatically execute Difference Pane’s button actions.
- New: macros now have access to Toggle, Show, Close or Hide any of the panes. Previously could only Toggle show/close.
- Fixed: TODO window tags would not recognize tags with underscores in them.
- New: Added Save Workspace As and Reload Workspace menu items to Workspace/Open Workspace menu.
- New: Workspaces now save and recall file’s HIDDEN and RDONLY attributes.
Changes from 386
- Fixed: matched brace highlighting would not draw a vertical line to matching brace under rare conditions.
- Change: auto EOL now treats \r\r\n as \r\n. Before it would treat it as two EOL sequenced: a Mac/Amiga EOL, followed by Windows/Dos EOL.
- Fixed: Save As dialog under macro control would not clear previously returned file name.
- Fixed: undo would recall a previous selection offset from its position.
- Fixed: ToDo pane would overwrite other panes when it was not the selected pane.
- Fixed: Mouse dragging operation would be interrupted by a macro timer event.
- Fixed: Busy mouse pointer flashing when typing rapidly or repeating keys.
- New: Added named workspaces and related menu items. Now can save file list, current dir and format options and recall these as needed.
- Change: Open Workspace button in Workspace pane now opens a menu with open workspace and recent workspace options.
- New: Difference pane now functional. Can select parts of files to put on left/right and invoke external diff utility. Modifications by external program reloaded into diff pane. Left/right diff text can be used to replace a selection in the file or be copied to the clipboard. Shift+Click on the Track Selection makes this button sticky and update the contents to reflect current selection. Click again to turn off.
Changes from 385
- Mostly Internal code re factoring.
- Change: dialog template escape character changed from % to ^, and from ? to ^? to minimize conflicts with normal text.
- New: Added Copy Formatted HTML to preserve font, syntax colorization. To Use select text press Ctrl+Shift+Insert. Current settings paste line numbers and file information. Can also be pasted into Word.
Changes from 384
- Fixed: showing glossary (code completion, file completion, jump to function, etc.) now clears type-a-head buffer so that keys intended for the glossary window don’t wind up modifying the file.
- Fixed: typing space would not cause the line to be reformatted; only non-space keys would reformat the line.
- Fixed: In VBA IDE, Save As Project had not code behind the action.
- Fixed: Changed logic for file tabs when automatically scrolling to show the current tab. Now tries to show 2 tabs to the left if scrolling right, or 2 tabs to the right when scrolling left, if there are not enough tabs to the right of the current tab to fill the file tabs area, then will scroll to the right so that as much of as possible of the file tabs display area is filled with tabs.
- Fixed: When activating PTE the prompt to reload file would not update the file view to the file’s contents.
- Fixed: Dragging toolbars would not update file view until drag operation was complete.
- New: File Modified Dialogs now have a link to “View difference”, clicking on the link launches a diff utility of your choice with the current contents of the file in WinPTE and contents of the file on disk as arguments. (If no diff utility is setup the user is prompted to choose a program to use.).
Changes from 381
- Fixed: center block, left justify block, right justify block would report failure and trigger a debug break.
- Fixed: removed debug break from the release build.
- Fixed: dialogs that would offer up Yes All/No All/Ok All would still keep asking for input the next time around.
- Fixed: single line character selections would not be properly adjusted if moved on same line to the right.
- Fixed: installer created shortcut would not update when upgrading.
- Added: Ctrl-Shift-x to rotate base/sign of number under the cursor: Hex to Signed Decimal to Unsigned Decimal to Hex.
List of Known Issues
- documentation in this release is very basic.
- Key mapping is done in the configuration files (main.pte for default associations and FileExt/*.pte for specific file templates). Customize Dialog commands are not listed, therefore the dialog cannot be used for making associations.
- C/C++ formatting does not recognize opening and closing braces unless they are the first non-blank character of the line.
- VB and Lotus Script languages were combined into one template, so they are a union of the two languages. Some LotusScript constructs are not valid for VB and vice versa.
- Some file templates may contain statement completion definition that appear strange. These are most likely constructs that are frequently used internally and have not been moved out of the general declaration.
