Community
    • Login

    Notepad++ 7.8 Release Candidate 5

    Scheduled Pinned Locked Moved Announcements
    16 Posts 5 Posters 1.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • AngryGamerA
      AngryGamer @SinghRajenM
      last edited by AngryGamer

      @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)
      
      SinghRajenMS 1 Reply Last reply Reply Quote 0
      • SinghRajenMS
        SinghRajenM moderator @AngryGamer
        last edited by

        @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.

        1 Reply Last reply Reply Quote 1
        • dinkumoilD
          dinkumoil @donho
          last edited by

          @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.

          1 Reply Last reply Reply Quote 0
          • donhoD
            donho
            last edited by donho

            @dinkumoil

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

            dinkumoilD 1 Reply Last reply Reply Quote 0
            • dinkumoilD
              dinkumoil @donho
              last edited by

              @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

              1 Reply Last reply Reply Quote 0
              • donhoD
                donho
                last edited by

                @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.

                dinkumoilD 1 Reply Last reply Reply Quote 0
                • dinkumoilD
                  dinkumoil @donho
                  last edited by

                  @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

                  1 Reply Last reply Reply Quote 0
                  • donhoD
                    donho
                    last edited by

                    @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.

                    dinkumoilD 1 Reply Last reply Reply Quote 1
                    • dinkumoilD
                      dinkumoil @donho
                      last edited by

                      @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.
                      1 Reply Last reply Reply Quote 1
                      • donhoD
                        donho
                        last edited by

                        @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.

                        dinkumoilD 1 Reply Last reply Reply Quote 1
                        • dinkumoilD
                          dinkumoil @donho
                          last edited by

                          @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.

                          1 Reply Last reply Reply Quote 0
                          • dinkumoilD
                            dinkumoil
                            last edited by dinkumoil

                            @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?

                            1 Reply Last reply Reply Quote 0
                            • donhoD
                              donho
                              last edited by

                              @dinkumoil

                              Fixed in:
                              https://github.com/notepad-plus-plus/notepad-plus-plus/commit/29919bea226d5a45e36064cc9214b85beeddbd56

                              1 Reply Last reply Reply Quote 2
                              • First post
                                Last post
                              The Community of users of the Notepad++ text editor.
                              Powered by NodeBB | Contributors