#49 Update to Scintilla 1.75 and many N++ bugfixes/features

Next_release
closed
Don HO
None
8
2008-12-15
2008-01-24
Garthex
No

Hi Don,
I decided the new version of Scintilla is worth the update for it's various optimizations and bug fixes. For changes from version 1.73 to 1.75 refer to
http://scintilla.sourceforge.net/ScintillaHistory.html
There are a number of changes that were submitted to CVS that aren't described, but are included here.
I've attached a patch that includes a good number of updates, bug fixes, and features including the following:

Changes to Scintilla:
* Updated to the latest Scintilla in the repository as of Jan 24, 2008, a few edits after 1.75
* Merged all previous changes to Scintilla 1.73 into the new version.
* Updated LexUser and LexObjC to reflect changes in syntax for Scintilla.
* Fixed LexCPP to fold the last line properly.
* Fixed a bug that was introduced where the background for a brace was always shown. Changed behavior so that if the brace background is the same as the document/operator background it will only show the foreground and the background will be that of the cursor line (like it is now).
* This still allows a background to be set for braces when the cursor is touching them.
* Mouse button down will switch edit views to the one you clicked but won't change the cursor position like left click does.

Changes to PowerEditor:
* If you have "Remember the current session for next launch" and all documents are closed but the last document was using the second scintilla window. Next time you open Notepad++ it will show the right scintilla window.
* If you have a new document and save as a known extension, it sets the language status to match the language that was selected.
* Copy now copies the line if not selecting anything.
* If pasting this line, it pastes the line one line above where the cursor is, even if it's in the middle of a line (this only happens if you copied a blank selection)
* isDirty for "New" documents changed to be dirty when text is in the document instead of basing off the save point (which happens to be document creation)
* If a document is deleted outside the editor and you tell it to keep in editor, it doesn't become "clean" (since the document doesn't exist anymore, so save point isn't valid)
* Folding works properly in most cases, including the following:
* * When deleted a keyword of a fold.
* * When backspacing into the end of a folded piece.
* * Selecting a new language will unfold all (since folding may differ between languages or not exist)
* When you have a split view, the inactive edit view will show a slightly lighter color orange bar over the active tab.
* Browser back and forward buttons on either mouse or keyboard will go to the next or previous tab.
* The mouse scroll will scroll the Scintilla window that your mouse is hovering over instead of the one with focus.
* Added horizontal scroll for mouse scroll wheels that tilt side to side.
* Fixed dependencies when compiling in Debug mode in Visual Studios.
* Added an option for smart indent guides which use Scintilla's lookahead feature for the guides.
* Opening a file now chooses the first enabled language with that extension and if it doesn't find one it chooses the first disabled one.
* Notepad++ registers the default keyboard shortcuts with Scintilla properly for commands/accelerators.
* NPPM_MAKECURRENTBUFFERDIRTY message now changes the display properly.

Discussion

1 2 > >> (Page 1 of 2)
  • Garthex
    Garthex
    2008-01-30

    Logged In: YES
    user_id=1943765
    Originator: YES

    I've separated the Scintilla update:

    1_ScintillaUpdate.zip: ScintillaUpdate.patch, SciLexer.vcproj

    * Updated to the latest Scintilla in the repository as of Jan 30, 2008, a few edits after 1.75
    * Merged all previous changes to Scintilla 1.73 into the new version.
    * Updated LexUser and LexObjC to reflect changes in syntax for Scintilla.
    * Fixed LexCPP to fold the last line properly.
    * Fixed a bug that was introduced with 1.75 where the background for a brace was always shown. Changed behavior so that if the brace background is the same as the document/operator background it will only show the foreground and the background will be that of the cursor line (like it is now). This still allows a background to be set for braces when the cursor is touching them.
    * Should you need it, I've also included scintilla/vcbuild/SciLexer.vcproj
    File Added: 1_ScintillaUpdate.zip

     
  • Don HO
    Don HO
    2008-01-30

    Logged In: YES
    user_id=916327
    Originator: NO

    Kyle,

    What I need is not patch file, but your whole updated sintilla source files.
    Could you send it to me?

    Thanks

    Don

     
  • Garthex
    Garthex
    2008-01-31

    Group of bug patches

     
    Attachments
  • Garthex
    Garthex
    2008-01-31

    Logged In: YES
    user_id=1943765
    Originator: YES

    All of the following are for Notepad++ SVN revision 120.

    2_Bugs.zip:
    * Session.patch: If you have "Remember the current session for next launch" and all
    documents are closed but the last document was using the second scintilla
    window. Next time you open Notepad++ it will show the correct scintilla
    window.
    * NewDocStatus.patch: If you have a new document and save as a known extension, it sets the
    language status bar to match the language that was selected.
    * Folding.patch: Folding works properly in most cases, including the following:
    * * When deleted a keyword of a fold.
    * * When backspacing into the end of a folded piece.
    * * Selecting a new language will unfold all (since folding may differ
    between languages or not exist)
    * ProjCompile.patch: Fixed dependencies when compiling in Debug mode in Visual Studios.
    * Buffer.cpp: Opening a file now chooses the first enabled language with that extension
    and if it doesn't find one it chooses the first disabled one.
    * MessageDirty.patch: NPPM_MAKECURRENTBUFFERDIRTY message now changes the display properly.

    3_Buttons.zip:
    * ScintillaWin.cxx: Allows you to middle click on another scintilla edit window and change to that window without moving the cursor, like left click does. Put in scintilla/win32 after applying scintilla update patch.
    * BrowserButtons.patch: Browser back and forward buttons on either mouse or keyboard will go to
    the next or previous tab.
    * MouseWheelTilt.patch: Horizontal scroll for mouse scroll wheels that tilt side to side.

    4_Features.zip:
    * SmartIndent.patch: Option for smart indent guides which use Scintilla's lookahead
    feature for the guides. Use after applying Scintilla update patch
    * CopyAllowLine.patch: Adds SCI_COPYALLOWLINE which copies the line if not selecting anything. When pasting this line, it pastes the line one line above where the cursor is, even if it's in the middle of a line (this only happens if you copied a blank selection)
    * DocDirty.patch: isDirty for "New" documents changed to be dirty when text is in the
    document instead of basing off the save point (which happens to be document
    creation) If a document is deleted outside the editor and you tell it to keep in
    editor, it doesn't become "clean" (since the document doesn't exist
    anymore, so save point isn't valid) until you save again.
    File Added: 2_Bugs.zip

     
  • Garthex
    Garthex
    2008-01-31

    Logged In: YES
    user_id=1943765
    Originator: YES

    File Added: 3_Buttons.zip

     
  • Garthex
    Garthex
    2008-01-31

    Group of patches relating to buttons

     
    Attachments
  • Garthex
    Garthex
    2008-01-31

    Group of patches for various features

     
    Attachments
  • Garthex
    Garthex
    2008-01-31

    Logged In: YES
    user_id=1943765
    Originator: YES

    File Added: 4_Features.zip

     
  • Garthex
    Garthex
    2008-01-31

    Logged In: YES
    user_id=1943765
    Originator: YES

    File Added: 1_ScintillaUpdate.zip

     
  • Garthex
    Garthex
    2008-01-31

    Updates Notepad++ to Scintilla 1.75

     
    Attachments
1 2 > >> (Page 1 of 2)