diff --git a/PowerEditor/bin/change.log b/PowerEditor/bin/change.log index dad71123..717cf8b8 100644 --- a/PowerEditor/bin/change.log +++ b/PowerEditor/bin/change.log @@ -1,95 +1,25 @@ -Notepad++ v5.1.4 new feature and fixed bugs (from v5.1.3) : - -1. Add localization on run time feature : Change language on the run time for Unicode version (via preferences dialog). -2. Add the ability to force opened ANSI document as UTF-8 w/o BOM. -3. Fix verbose backup bug (while the backup dir is not set). -4. Fix bug that external lexer doesn't work with Unicode version. -5. Fix recent files list bug. -6. Include a help content file. -7. Add new plugin notification message NPPN_WORDSTYLESUPDATED. -8. Add 2 plugin messages for shortcut feature : NPPN_SHORTCUTREMAPPED notification and NPPM_GETSHORTCUTBYCMDID message. - - -Notepad++ v5.1.3 new feature and fixed bugs (from v5.1.2) : - -1. Add PostIt feature (F12 to toggle it). -2. Fix the bug that Unicode path file opened in the previous session doesn't be restored. -3. Fix nativeLang loading problem if Notepad++ location path contains Unicode characters. -4. Make shell extension context menu Unicode compliant. -5. Fix "Go to/Open in another instance" bug. -6. Process WM_IME_REQUEST message to support Windows IME. -7. Fix "Go to another view" translation coding error. -8. Adding search text on the top of combo box. -9. Fix Tidy installation problem for TextFX plugin. -10. Change the N++ recovery directory from c:\N++RECOV to %temp%\N++RECOV. - - -Notepad++ v5.1.2 fixed bugs (from v5.1.1) : - -1. Fix localization (Japanese/Cyrillic/Hebrew...) display bug under Notepad++ Unicode version. -2. Fix Find in Files search in both Unicode/ANSI files. -3. Make Find in files thread-less to improve the performance and to avoid the crash. -4. Fix crash bug while loading File of User Defined Language. -5. Fix writing a key in registry while preference dialog launches -6. Fix crash in File Dialog if too many languages or extensions were added. -7. Fix memory leak when a file cannot be opened if it consumes too much memory. -8. Fix a vista issue : prevent Notepad++ save files to "virtual store" under vista. -9. Fusion 2 commands "activate main view" and "activate sub view" in "Focus the other view". -10. Fix close all files/app exit cancel bug. -11. Fix default button problem in Find in Files dialog. -12. Fix caret position moving problem after loading a session. -13. Fix bug when pasting to bookmarked lines in Unicode version. - - - -Notepad++ v5.1.1 fixed bugs (from v5.1) : - -1. Fix bug : Open in new instance not allowing spaces in paths. -2. Fix "Global Styles" string incorrectly displayed in Unicode version. -3. Fix filters for open/save dialog not showing or incorrectly (showing 'L'). -4. Fix calltip argument with 'L' leader character bug. -5. Fix tab control draw bug. - - - -Notepad++ v5.1 fixed bugs and added features (from v5.0.3) : - -1. Make Notepad++ Unicode-compliant application(Unicode path supported). -2. Fix crash issue due to the incoherent modification/creation date. -3. Enhance Find in files feature : launch in thread, stop as wish. -4. Add find/replace dialog memorize capacity. -5. Fix "find in all opened files" and "find in files" Unicode text search bug. -6. Fix "replace" and "replace all" bug. -7. Fix tag match highlighting mismatched bug. -8. Make tag match highlighting on non html zone optional. -9. Fix cpu high consumption bug while document is cloned with smart highlighting and xml matched highlighting features activating. -10. Refine the Save/Open file directory settings (follow tab/last operation/user defined dir). -11. Add "Doc go to new instance" and "Doc open in new instance" features. -12. Move document to another instance of Notepad++ via drag and drop document tab. -13. Add new plugin notification NPPN_DOCACTIVATED and NPPN_LANGCHANGED. -14. Fix context menu incorrect setting crash bug. -15. Fix crash problem while typing Chinese character in ANSI CSS document under Chinese environment. -16. Fix a problem with Incremental search+UTF8 in win9x. -17. Fix the User defined language not working in Unicode version bug. -18. Fix bug with CPP lexer keyword list. -19. Fix auto-completion not working for HTML, SQL and RC problem. -20. Fix html, sql and rc auto-completion bug. -21. Fix cancel to save file in Notepad++ can not stop system shutdown problem. -22. Fix bug with opening relative path files. -23. Fix bug with clearing read-only flag. -24. Fix wrap after save as bug. -25. Improve "reload from disk" behaviour. -26. Add option to only show the filename in the title bar. -27. Add NPPM_[G/S]ET_BUFFERLANGTYPE, NPPM_[G/S]ET_BUFFERENCODING, NPPM_[G/S]ET_BUFFERFORMAT messages to access buffer properties. -28. Remove all the comic sans font (finally :) ). +Notepad++ v5.2 new feature and fixed bugs (from v5.1.4) : +1. Fix Function Tip crash issue. +2. Fix the find in files crash bug while cloned views are side by side and focus is on main view. +3. Fix a crash bug after searching/replacing in files returned with no results. +4. Enhance "Find in all opened files" and "Find in files" features. +5. Add Replace in files feature. +6. Fix command line parsing to accept unquoted files as single argument. +7. Refine "open ANSI files as UTF8 w/o BOM" feature. +8. Add minidump feature in the case of crash for debug use. +9. Adjust PostIt/FullScreen behaviour to mix well together. +10. The file filters and the directory are set while find/replace/findInFiles dialog is launched. +11. Adding find in files filters supports user defined language. +12. Fix the bug that texts in combo box of Find dialog are restored not in order on the launch time. +13. Add NPPM_DOOPEN plugin message. Included plugins (Unicode): -1. TextFX v0.25 -2. NppExec 0.3 beta1 +1. TextFX v0.26 +2. NppExec v0.3 RC1 3. Spell Checker v1.3.2 4. MIME Tools v1.5 5. FTP_synchronize v0.9.6 @@ -101,7 +31,7 @@ Included plugins (Unicode): Included plugins (ANSI): 1. TextFX v0.25 -2. NppExec v0.25R2 +2. NppExec v0.3 RC1 3. Spell Checker v1.3.1 4. MIME Tools v1.5 5. FTP_synchronize v0.9.6 diff --git a/PowerEditor/bin/npp.pdb b/PowerEditor/bin/npp.pdb new file mode 100644 index 00000000..7770f626 Binary files /dev/null and b/PowerEditor/bin/npp.pdb differ diff --git a/PowerEditor/installer/nppSetup.nsi b/PowerEditor/installer/nppSetup.nsi index 2909df98..b8334c34 100644 --- a/PowerEditor/installer/nppSetup.nsi +++ b/PowerEditor/installer/nppSetup.nsi @@ -17,16 +17,18 @@ ; Define the application name !define APPNAME "Notepad++" -!define APPNAMEANDVERSION "Notepad++ v5.1.4" +!define APPVERSION "5.2" +!define APPNAMEANDVERSION "Notepad++ v5.2" +!define APPWEBSITE "http://notepad-plus.sourceforge.net/" !define VERSION_MAJOR 5 -!define VERSION_MINOR 14 +!define VERSION_MINOR 2 ; Main Install settings Name "${APPNAMEANDVERSION}" InstallDir "$PROGRAMFILES\Notepad++" InstallDirRegKey HKLM "Software\${APPNAME}" "" -OutFile "..\bin\npp.5.1.4.Installer.exe" +OutFile "..\bin\npp.5.2.Installer.exe" ; GetWindowsVersion ; @@ -691,6 +693,9 @@ Section -FinishSection WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "UninstallString" "$INSTDIR\uninstall.exe" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayIcon" "$INSTDIR\notepad++.exe" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayVersion" "${APPVERSION}" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "URLInfoAbout" "${APPWEBSITE}" WriteUninstaller "$INSTDIR\uninstall.exe" SectionEnd diff --git a/PowerEditor/installer/packageAll.bat b/PowerEditor/installer/packageAll.bat index 86e193ea..d4e29090 100644 --- a/PowerEditor/installer/packageAll.bat +++ b/PowerEditor/installer/packageAll.bat @@ -26,7 +26,7 @@ del /F /S /Q .\zipped.package.release\ansi\config.xml del /F /S /Q .\zipped.package.release\ansi\langs.xml del /F /S /Q .\zipped.package.release\ansi\stylers.xml del /F /S /Q .\zipped.package.release\ansi\session.xml -del /F /S /Q .\zipped.package.release\ansi\plugins\Config\*.* +copy /Y SciLexer.dll .\zipped.package.release\ansi\ copy /Y license.txt .\zipped.package.release\ansi\ copy /Y readme.txt .\zipped.package.release\ansi\ copy /Y NppHelp.chm .\zipped.package.release\ansi\ diff --git a/PowerEditor/src/ScitillaComponent/FindReplaceDlg.cpp b/PowerEditor/src/ScitillaComponent/FindReplaceDlg.cpp index b331442b..367c44a1 100644 --- a/PowerEditor/src/ScitillaComponent/FindReplaceDlg.cpp +++ b/PowerEditor/src/ScitillaComponent/FindReplaceDlg.cpp @@ -732,9 +732,17 @@ BOOL CALLBACK FindReplaceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM lP if ((lstrlen(directory) > 0) && (directory[lstrlen(directory)-1] != '\\')) _directory += TEXT("\\"); - updateCombo(IDFINDWHAT); - updateCombo(IDREPLACEWITH); - ::SendMessage(_hParent, WM_REPLACEINFILES, 0, 0); + generic_string msg = TEXT("Are you sure you want to replace all occurances in :\r"); + msg += _directory; + msg += TEXT("\rfor file type : "); + msg += _filters[0]?_filters:TEXT("*.*"); + + if (::MessageBox(_hSelf, msg.c_str(), TEXT("Are you sure?"), MB_OKCANCEL) == IDOK) + { + updateCombo(IDFINDWHAT); + updateCombo(IDREPLACEWITH); + ::SendMessage(_hParent, WM_REPLACEINFILES, 0, 0); + } } return TRUE; diff --git a/PowerEditor/src/ScitillaComponent/FunctionCallTip.cpp b/PowerEditor/src/ScitillaComponent/FunctionCallTip.cpp index 620fb495..9f6c4aee 100644 --- a/PowerEditor/src/ScitillaComponent/FunctionCallTip.cpp +++ b/PowerEditor/src/ScitillaComponent/FunctionCallTip.cpp @@ -350,8 +350,12 @@ void FunctionCallTip::showCalltip() { if (_currentNrOverloads > 1) { bytesNeeded += 24; // /\00001 of 00003\/ } - TCHAR * textBuffer = new TCHAR[bytesNeeded]; - //TCHAR langDepChar[4] = TEXT(" "); //Language dependant characters, like '(', ')', ',' and ';' + + const int maxLen = 512; + if (bytesNeeded >= maxLen) + return; + + TCHAR textBuffer[maxLen]; textBuffer[0] = 0; if (_currentNrOverloads > 1) { @@ -390,8 +394,6 @@ void FunctionCallTip::showCalltip() { if (highlightstart != highlightend) { _pEditView->execute(SCI_CALLTIPSETHLT, highlightstart, highlightend); } - - delete [] textBuffer; } void FunctionCallTip::reset() { diff --git a/PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp b/PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp index b8303ca7..b99886cc 100644 --- a/PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp +++ b/PowerEditor/src/ScitillaComponent/ScintillaEditView.cpp @@ -1555,7 +1555,7 @@ void ScintillaEditView::addGenericText(const TCHAR * text2Append) const const char *text2AppendA =wmc->wchar2char(text2Append, cp); execute(SCI_ADDTEXT, strlen(text2AppendA), (LPARAM)text2AppendA); #else - execute(SCI_ADDTEXT, strlen(text2AppendA), (LPARAM)text2AppendA); + execute(SCI_ADDTEXT, strlen(text2Append), (LPARAM)text2Append); #endif } diff --git a/PowerEditor/src/resource.h b/PowerEditor/src/resource.h index 69824d9f..38336a03 100644 --- a/PowerEditor/src/resource.h +++ b/PowerEditor/src/resource.h @@ -18,9 +18,9 @@ #ifndef RESOURCE_H #define RESOURCE_H -#define NOTEPAD_PLUS_VERSION TEXT("Notepad++ v5.1.4") -#define VERSION_VALUE TEXT("5.14\0") // should be X.Y : ie. if VERSION_DIGITALVALUE == 4, 7, 1, 0 , then X = 4, Y = 71 -#define VERSION_DIGITALVALUE 5, 1, 4, 0 +#define NOTEPAD_PLUS_VERSION TEXT("Notepad++ v5.2") +#define VERSION_VALUE TEXT("5.2\0") // should be X.Y : ie. if VERSION_DIGITALVALUE == 4, 7, 1, 0 , then X = 4, Y = 71 +#define VERSION_DIGITALVALUE 5, 2, 0, 0 #ifdef UNICODE #define UNICODE_ANSI_MODE TEXT("(UNICODE)") diff --git a/PowerEditor/src/winmain.cpp b/PowerEditor/src/winmain.cpp index 2867d1d5..b430f33f 100644 --- a/PowerEditor/src/winmain.cpp +++ b/PowerEditor/src/winmain.cpp @@ -328,7 +328,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR cmdLineAnsi, int nCmdSh const wchar_t * text = WcharMbcsConvertor::getInstance()->char2wchar(ex.what(), CP_ACP); ::MessageBox(Notepad_plus::gNppHWND, text, TEXT("C++ Exception"), MB_OK); #else - printMsg(ex.what(), TEXT("C++ Exception")); + ::MessageBox(Notepad_plus::gNppHWND, ex.what(), TEXT("C++ Exception"), MB_OK); #endif doException(notepad_plus_plus); } catch(...) { //this shouldnt ever have to happen