Community
    • Login

    Notepad++ 6.8.8 released

    Scheduled Pinned Locked Moved Announcements
    35 Posts 19 Posters 103.1k 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.
    • Ye MiaoY
      Ye Miao @Claudia Frank
      last edited by

      @Claudia-Frank

      Thank you Claudia. At least “find all in opened documents” works at the most of the times if I did not open too many log tabs, but I do wish this “find all in current document” bug can be fixed in the coming versions.

      1 Reply Last reply Reply Quote 0
      • 陈某某陈
        陈某某
        last edited by

        English is bad,sorry.
        How in published comments or Suggestions in the below discussion?
        [READ ONLY]中文論壇

        Or could you tell me which email should I send when I have some Suggestions?

        1 Reply Last reply Reply Quote 0
        • Claudia FrankC
          Claudia Frank
          last edited by

          Find/Replace is broken when using advanced regular expressions.
          For example: Assuming the following text in a document

          function "xsquare1"(x) result(y)
              real, intent(in) :: x
              real :: y
              t = x*x
              return
          end function
          
          function "xsquare2"() result(y)
              real, intent(in) :: x
              real :: y
              t = x*x
              return
          end function
          
          function "xsquare3"()
              real, intent(in) :: x
              real :: y
              t = x*x
              return
          end function
          
          subroutine "hello1"()
              print *, "Hello World!"
              return
          end subroutine hello
          
          subroutine "hello2"(x)
              print *, "Hello World!"
              return
          end subroutine hello
          

          and open the find dialog, press replace tab, choose regular expression and put following in find what

          ^.*(function|subroutine)\s+\K([\w]+)(?=\()
          

          If you press find, it will find all function/subroutine names. If you press Replace all it will replace all occurancess
          but if you want to replace one after the other it won’t replace anything.
          Screenshots are here and here.

          Another issue, which might be related is, that regex engine in function list behaves weird. Do they use the same
          regex version/engine? If so, here a screenshots which shows that some functions are not listed whereas
          they should. If I add an additional space, either at the end or inbetween the ( ) then they are displayed as
          seen here.

          If the regex engine used by function list code is different to the find/replace dialog may I ask if it is possible
          to keep them the same as it would allow to easily test the regular expressions before adding to functionlist.xml?

          Thank you
          Claudia

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

            @Claudia-Frank In my v6.8.8 ^.*(function|subroutine)\s+\K([\w]+)(?=\() find just nothing (with “find” or “find all in current document”).
            Could you download zipped package, and unzip it into a new folder, to make sure the behaviour?
            https://notepad-plus-plus.org/repository/6.x/6.8.8/npp.6.8.8.bin.minimalist.7z

            Claudia FrankC 1 Reply Last reply Reply Quote 0
            • Claudia FrankC
              Claudia Frank @donho
              last edited by

              @donho, sorry for confusion, instead of posting the result after replace all
              I should have posted the source code before modification, which is this

              function xsquare2() result(y)
              	real, intent(in) :: x
              	real :: y
              	t = x*x
              	return
              end function
              
              function xsquare3()
              	real, intent(in) :: x
              	real :: y
              	t = x*x
              	return
              end function
              
              subroutine hello1()
              	print *, "Hello World!"
              	return
              end subroutine hello
              
              subroutine hello2(x)
              	print *, "Hello World!"
              	return
              end subroutine hello
              

              without the double quotes. They were added after pressing replace all.
              And, yes, I do still see the problem with the minimalistc zip I downloaded.

              So using the current code together with the regex

              ^.*(function|subroutine)\s+\K([\w]+)(?=\()
              

              results in the reported behaviour.

              Thank you
              Claudia

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

                @Claudia-Frank In oder to reproduce the bug, could you describe the occurrences expected to be found and replaced?

                Claudia FrankC 1 Reply Last reply Reply Quote 0
                • Claudia FrankC
                  Claudia Frank @donho
                  last edited by

                  @donho,
                  by using replace dialog

                  Find what:  ^.*(function|subroutine)\s+\K([\w]+)(?=\()
                  Replace with: "\2"
                  

                  it is expected that each functionname (xsquare2, xsquare3, hello1, hello2) get found and
                  replaced with surrounding double quotes when pressing the replace button.
                  Which does work if pressing replace all.

                  So, before replacing

                  function xsquare2() result(y)
                  

                  and after

                  function "xsquare2"() result(y)
                  

                  Cheers
                  Claudia

                  1 Reply Last reply Reply Quote 0
                  • guy038G
                    guy038
                    last edited by guy038

                    Hi, Don and Claudia,

                    I noticed that fact, a long time ago. Just see my reply to the Claudia’s question :

                    Do you think this is a bug or is it because of the complex regex?

                    at the address below :

                    https://notepad-plus-plus.org/community/topic/11021/find-and-replace-help/5


                    I’ll try to do some tests, with the improved regex engine version of François-R Boyer ( on June 2013, based on Scintilla 2.2.7 ). I hope that this version will not have this issue !?

                    Cheers,

                    guy038

                    1 Reply Last reply Reply Quote 1
                    • guy038G
                      guy038
                      last edited by guy038

                      Hi, Don and Claudia,

                      Tests done ! Well, the behaviour of the François-R Boyer version works a bit better ! I mean :

                      • With the S/R ( SEARCH abc\Kdef and REPLACE 123 ), it behaves as our current N++ regex engine. So the issue still occurs :-((

                      • With the identical S/R ( SEARCH (?<=abc)def and REPLACE 123 ), it does change any occurrence of def, IF preceded by the string abc , with the string 123, each time you click on the Replace button. With our current version, it doesn’t :-(

                      Best Regards,

                      guy038

                      P.S. :

                      Or course, a click on the Replace All button, performs the replacement, correctly, with both versions !

                      1 Reply Last reply Reply Quote 1
                      • EnginfenerE
                        Enginfener
                        last edited by

                        Thank you ! Donho

                        1 Reply Last reply Reply Quote 1
                        • LoopbuilderL
                          Loopbuilder
                          last edited by

                          Hi.
                          I’ve found a critical bug.

                          If i have a text document with many lines
                          (20000 Lines or more and more than 8-9 char each Line for example)

                          and i want to clear some rows in clolumn mode
                          notepad crashes.

                          To reproduce the bug:
                          1.) Open Notepad or choose a new document
                          2.) Type 10 characters (for example: 1234567890)
                          3.) duplicate the Line more than 4000 times (example: 10000 LINES)
                          4.) press STRG-A to mark whole text
                          5.) press ALT-SHIFT and than 5 times Cursor right to mark the first 5 colums
                          6.) press DEL
                          -> Notepad crashes every time

                          Claudia FrankC 1 Reply Last reply Reply Quote 0
                          • Claudia FrankC
                            Claudia Frank @Loopbuilder
                            last edited by

                            Hello @Loopbuilder,

                            I did try it as you wrote, even with 100 000 lines and it didn’t crash.
                            So it must be specific to your setup.
                            Can you do the test without having pluings loaded? (-noPlugin switch)

                            Cheers
                            Claudia

                            1 Reply Last reply Reply Quote 0
                            • LoopbuilderL
                              Loopbuilder
                              last edited by

                              Hello Claudia.

                              It’s strange.

                              Since I once called notepad with the switch -noPlugin, the error is apparently disappeared.

                              I moved all the plugins folder in disabeld and the error has not occurred.
                              Then I pushed back plugin for plugin from the Disabled to the program directory without any error.
                              Even after the last plugin no longer a fault occurred.

                              Excuse me for asking.
                              Apparently there is a problem with the installation or the rights in the 64-bit operating system.

                              Thank you much for the help.

                              1 Reply Last reply Reply Quote 0
                              • Ганна ЧорнаГ
                                Ганна Чорна
                                last edited by

                                For quite a while I notice this problem when working with file Xml Notepad spoils code. It is rare, and treated if re-open the file. But sometimes lost much of the work and it is very pesters.
                                This problem has been in all versions ranging from about 5.x.x to 6.8.9. screenshot

                                Claudia FrankC 1 Reply Last reply Reply Quote 1
                                • Claudia FrankC
                                  Claudia Frank @Ганна Чорна
                                  last edited by

                                  Hello @Ганна-Чорна,

                                  do you use xml tools plugin? And do you use auto syntax check or auto validation?
                                  From my experience, this doesn’t work very well if you have big xml files.

                                  Cheers
                                  Claudia

                                  Did KokosD 1 Reply Last reply Reply Quote 0
                                  • Did KokosD
                                    Did Kokos @Claudia Frank
                                    last edited by

                                    Claudia Frank

                                    @Claudia-Frank said:

                                    Hello @Ганна-Чорна,

                                    do you use xml tools plugin? And do you use auto syntax check or auto validation?
                                    From my experience, this doesn’t work very well if you have big xml files.

                                    I also sometimes happens similar problem. When copying, inserting, replacing the large amount of text (more than 40000 lines). So I perform these operations in other programs). Xml plug do not use. Here, perhaps, is certainly a problem in file size.

                                    1 Reply Last reply Reply Quote 0
                                    • Scott SumnerS
                                      Scott Sumner @guy038
                                      last edited by

                                      @guy038 , has the status on this changed since the date of your posting here…has the “Find All in Current Document” behavior become recordable in a macro, such that it works when the macro is run?

                                      1 Reply Last reply Reply Quote 0
                                      • guy038G
                                        guy038
                                        last edited by guy038

                                        Hi Scoot and All,

                                        Scott, sorry for this late reply !

                                        So, I’ve just did a test, again, with the last N++ version ( v6.9.2 ) with the simple following macro, which searches for the exact case of the article the, in all the opened files, of your current N++ session :

                                            <Macro name="Test" Ctrl="no" Alt="no" Shift="no" Key="0">
                                                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                                                <Action type="3" message="1601" wParam="0" lParam="0" sParam="the" />
                                                <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
                                                <Action type="3" message="1702" wParam="0" lParam="2" sParam="" />
                                                <Action type="3" message="1701" wParam="0" lParam="1636" sParam="" />
                                            </Macro>
                                        

                                        This macro is automatically inserted in the <Macros> node :

                                        • The first line, defines the name of the macro and its possible shortcut

                                        • The second line initializes the search process

                                        • The third line defines the string to search : the word the

                                        • The 4th line selects the search mode : the digit 0, in lParam, meaning normal search

                                        • The 5th line defines the search options : the digit 2 means Match case

                                        • The final 6th line defines the search type : the number 1636 stands for a search in all opened documents

                                        Refer to the link below, for further information :

                                        http://docs.notepad-plus-plus.org/index.php/Editing_Configuration_Files#Search_.2F_Replace_encoding

                                        Remark : The action of the flag value 512, when message = “1702”, is wrong ! The correct action is Search goes downwards :-))


                                        So, if you run this form of the macro Test, you get the right result : the Find result panel, with all the occurrences found in all the files opened

                                        Unfortunately, if you create a macro, in order to search in current document only, or if you change the number 1636 with the number 1641( flag value for search in current document ), in the shortcuts.xml file, with an OTHER editor than N++, when any instance of N++ is closed, the Find result panel does NOT opened, as it should, when running the macro :-(((

                                        This bug is still there ! As a work-around, if numerous files are opened, in your session, you may :

                                        • Close most of them, not concerned with the search

                                        • Perform the above macro, which searches on all opened files

                                        • Click, on the menu option File - Opened All Recent Files

                                        Best Regards

                                        guy038

                                        P.S. :

                                        Oh, I forget to tell you that my technical configuration is, simply, a Windows XP SP3 system, on a NEC Versa M350 laptop :-((

                                        1 Reply Last reply Reply Quote 0
                                        • PeterJonesP PeterJones locked this topic on
                                        • First post
                                          Last post
                                        The Community of users of the Notepad++ text editor.
                                        Powered by NodeBB | Contributors