Notepad++ 7.8 Release Candidate 5



  • 7.8 RC5 is available for testing here:
    http://download.notepad-plus-plus.org/repository/7.x/7.8.RC5

    Fixed from RC4:

    1. Fix the issue about unexisting URL.
    2. Fix a memory leak.

    Notepad++ v7.8 enhancements and bug-fixes:

    1. Upgrade Scintilla from 4.1.4 to 4.2.0
    2. Fix non Unicode encoding problem in non-Western language(Chinese or in Turkish).
    3. Add “No to All” and “Yes to All” options in Save dialog.
    4. Add the command line argument “-openFoldersAsWorkspace” to open folders in “folder as workspace” panel.
      Example: notepad++ -openFoldersAsWorkspace c:\src\myProj01 c:\src\myProj02
    5. Enhance plugin system: allow any plugin to load private DLL files from the plugin folder.
    6. Fix File-Rename failing when new name is on a different drive.
    7. Make “Clear all marks”, “Inverse Bookmark”, “Remove Consecutive Duplicate Lines” & “Find All Current Document” to be macro recordable.
    8. Make “Command Argument Help” MessageBox modal.
    9. Fix Folder as Workspace crash and “queue overflow” issues.
    10. Make Combobox font monospace in Find dialog.
    11. Fix folding in user-defined languages for non-windows line endings.
    12. Fix crash of Folder as Workspace when too many directory changes happen.
    13. Fix ‘-nosession’ overwrites config.xml issue.
    14. Fix the crash due to NPPM_DESTROYSCINTILLAHANDLE message.*
    15. Improve GUI in Find dialog for Find Previous & Find Next buttons.
    16. Fix Sort Line as Integer regression.
    17. Add more OS information to debug info.
    18. Fix tab dragging issues under WINE and ReactOS.
    19. Fix indent indicators continue to following code blocks for Python.
    20. Fix Python folding collapse issue.
    21. Fix crash when sorting “out of range” columns.
    22. Fix find 2 times for the same occurrence in both original and cloned documents issue.
    23. Fix command line issues where filenames have multiple white spaces in them.
    24. Fix Document Peeker constantly changing focus problem.
    25. Make backward direction checkbox be also on Find dialog’s Mark tab.
    26. Add 2 new columns for HTML Code in the Character Panel.
    27. Fix “clear all marks in find dialog also removes bookmarks” issue.
    28. Enhance supported language (on function list or auto-completion): LISP, BaanC,(PL/)SQL & COBOL.


  • Just a FYI -
    We may get wrong OS details on “Debug Info”. I know this is not a notepad++ bug, rather MS bug as I have wrong values in registry. But just wanted to bring into notice.

    3dc54dde-2943-41c5-b36d-616510b76c5c-image.png



  • User Defined Languages (UDL) checkbox “Ignore Case” not working for non-latin (cyrillic ) text, https://github.com/notepad-plus-plus/notepad-plus-plus/issues/6197
    Is it hard to fix?

    Debug info

    Notepad++ v7.8 (32-bit)
    Build time : Oct 5 2019 - 22:30:37
    Path : L:\tmp_tc2\notepad++.exe
    Admin mode : OFF
    Local Conf mode : ON
    OS Name : Windows 7 Professional (64-bit)
    OS Build : 7601.0
    Plugins : mimeTools.dll NppConverter.dll NppExport.dll



  • @SinghRajenM Used the Windows free upgrade offer or something?

    The 64-bit registry hive will have the correct ProductName. The solution would be:

    if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"), 0, KEY_READ, &hKey) == ERROR_SUCCESS)
    

    To

    if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"), 0, KEY_READ|KEY_WOW64_64KEY, &hKey) == ERROR_SUCCESS)
    


  • @AngryGamer said in Notepad++ 7.8 Release Candidate 5:

    @SinghRajenM Used the Windows free upgrade offer or something?

    Yes, I upgraded to win10 long back from win7. Moreover, I reghost the PC multiple times post upgrade. Currently, running on latest build. But does it matter?

    MS is very careless. It does not listen users. This bug is there from the build 1803 (may be even earlier) and not resolved yet (1903). MS bug. Not only this, I have reported few issue on Visual Studio 17/19. They simply close the bug saying “not reproducible” etc.



  • @donho

    After opening a Python file, indentation guide lines style is set to Python style for all subsequently opened files, regardless of their file type.

    Additionally, when switching from a tab with a Python file to a tab with e.g. a C file which has been opened before the Python file, the C file’s indentation guide lines style is set to Python style. When switching to another non-Python file and back to the C file, the C file’s indentation guide lines stlye is set to Standard style again.



  • @dinkumoil

    What do you mean by "indentation guide lines in Python style "?



  • @donho said in Notepad++ 7.8 Release Candidate 5:

    What do you mean by "indentation guide lines in Python style "?

    Indentation guide lines Standard style:

    Imgur

    Indentation guide lines Python style:

    Imgur



  • @dinkumoil
    OK, I see what it is indentation guide lines in Python style.
    You said:

    After opening a Python file, indentation guide lines style is set to Python style for all subsequently opened files, regardless of their file type

    Could you provide the screenshot of a c++ file in in Python style, please?
    I follow your instructions but all the open files (c++) show standard guideline.



  • @donho said in Notepad++ 7.8 Release Candidate 5:

    Could you provide the screenshot of a c++ file in in Python style, please?

    NppBigSwitch.cpp with indentation guide lines Standard style:

    Imgur

    NppBigSwitch.cpp with indentation guide lines Python style:

    Imgur

    Steps to reproduce, part 1

    1. Create in Windows Explorer an empty file bla.py.
    2. Create in Windows Explorer an empty file bla.pas.
    3. Start Notepad++.
    4. Load file bla.py with Notepad++.
    5. Load file bla.pas with Notepad++.
    6. Load file NppBigSwitch.cpp from Notepad++ source code and scroll to line 70.
    7. File NppBigSwitch.cpp is displayed with indentation guide lines style Standard.
    8. Switch tab to file bla.py and back to tab with file NppBigSwitch.cpp.
    9. File NppBigSwitch.cpp is displayed with indentation guide lines style Python.
    10. Switch tab to file bla.pas and back to tab with file NppBigSwitch.cpp.
    11. File NppBigSwitch.cpp is displayed with indentation guide lines style Standard again.

    Steps to reproduce, part 2

    1. Start Notepad++.
    2. Load file NppBigSwitch.cpp from Notepad++ source code and scroll to line 70.
    3. File NppBigSwitch.cpp is displayed with indentation guide lines style Standard.
    4. Load file bla.py with Notepad++.
    5. Switch tab to file NppBigSwitch.cpp.
    6. File NppBigSwitch.cpp is displayed with indentation guide lines style Python.
    7. Load file NppCommands.cpp from Notepad++ source code and scroll to line 158.
    8. File NppCommands.cpp is displayed with indentation guide lines style Python.
    9. Load file bla.pas with Notepad++.
    10. Switch tab to file NppCommands.cpp or NppBigSwitch.cpp.
    11. Both files are displayed with indentation guide lines style Standard.

    NppCommands.cpp with indentation guide lines Python style:

    Imgur



  • @dinkumoil

    Thank you for the very detail description. I can reproduce it now.
    I’ve tested in v7.7.1, in which python style guideline doesn’t work/exist.
    So it’s a bug, yes. But it’s not a regression for me.
    Except a quick solution can be provided, I would say it’ll be fixed in the next version.



  • @donho

    The quick solution would be:

    At every tab switch (corresponds to fireing a NPPM_BUFFERACTIVATED event) Notepad++ has to check if the file of the current buffer is a Python file.

    • If yes -> set indentation guide lines style to Python.
    • If no -> set indentation guide lines style to Standard.


  • @dinkumoil said in Notepad++ 7.8 Release Candidate 5:

    At every tab switch (corresponds to fireing a NPPM_BUFFERACTIVATED event) Notepad++ has to check if the file of the current buffer is a Python file

    The following code is in void ScintillaEditView::setLexer(int lexerID, LangType langType, int whichList) :

    	if (svp._indentGuideLineShow)
    	{
    		const auto currentIndentMode = execute(SCI_GETINDENTATIONGUIDES);
    		// Python like indentation, excludes lexers (Nim, VB, YAML, etc.)
    		// that includes tailing empty or whitespace only lines in folding block.
    		const bool pythonLike = (lexerID == SCLEX_PYTHON || lexerID == SCLEX_COFFEESCRIPT || lexerID == SCLEX_HASKELL);
    		const int docIndentMode = pythonLike ? SC_IV_LOOKFORWARD : SC_IV_LOOKBOTH;
    		if (currentIndentMode != docIndentMode)
    			execute(SCI_SETINDENTATIONGUIDES, docIndentMode);
    	}
    

    It should be executed in each switch of tab. No idea why it doesn’t work.
    You can provide the PR to fix it then I will include it in v7.8, otherwise I will fix it in the next release.



  • @donho said in Notepad++ 7.8 Release Candidate 5:

    You can provide the PR to fix it then I will include it in v7.8

    Sorry, I’m not a C++ dev and I’m not familiar with the Notepad++ code, thus I’m not able to fix that issue.



  • @donho

    I wrote a plugin named ExtSettings (see >>> here <<<) that can configure the indentation guide lines style (and some other settings). I had to release a maintenance update because switching indentation guide lines style to the configured value didn’t work reliable anymore because of that new feature of Notepad++ related to the bug above.

    I already made a PR with the updated version, all checks have been successful. Would you mind to include the updated version into the plugin list that will be release with Npp v7.8?




Log in to reply