WinPTE.com

 

Release Notes: WinPTE 3.00.454

 

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

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

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

Changes from 441

 

Changes from 440

Changes from 429

Did not make it into this release and will be included in the next one:

Changes from 428

 

Changes from 427

Changes from 426

Changes from 420

Changes from 402

 

This is a preview release.

Changes from 401

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.

Changes from 395

Changes from 394

Changes from 393

Changes from 392

Changes from 390

Changes from 388

Changes from 386

Changes from 385

Changes from 384

Changes from 381

 

List of Known Issues

Site Map | Privacy Policy | Contact Us | ©2004 Winpte.com