Community
    • Login

    Easier Rollback for edits

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    18 Posts 5 Posters 902 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.
    • andrecool-68A
      andrecool-68
      last edited by

      For me, Notepad ++ crashes a lot because of the Location Navigate plugin

      Alan KilbornA 1 Reply Last reply Reply Quote 2
      • Alan KilbornA
        Alan Kilborn @andrecool-68
        last edited by

        @andrecool-68 said in Easier Rollback for edits:

        Notepad ++ crashes a lot because of the Location Navigate

        Yes, I’ve heard of this. Obviously I’m in the camp where it doesn’t crash. Maybe it works for 50% of people? I don’t know; no real data.

        It’s sort of like the Hex Editor plugin; works for some (50%?). For me, Hex Editor crashes.

        But I’d rather have Location Navigate than Hex Editor (I can obtain a hex editor outside of Notepad++). But someday, perhaps, LN’s change marks will be an integral feature of Scintilla and will work for everyone. The other features of LN, indeed its primary features, aren’t really Scintilla-related, but are more Notepad++ -related, so there would actually be some substantial N++ code work to be done to support that.

        Note: I’m just random rambling…

        1 Reply Last reply Reply Quote 3
        • Michael VincentM
          Michael Vincent
          last edited by

          @Alan-Kilborn said in Easier Rollback for edits:

          Note: I’m just random rambling…

          Good ideas though. Hex Editor works fine for me the few times I actually use it, but like you said, I too would rather have LocationNavigate working (x64 too by the way) than Hex Editor.

          I looked at Location Navigate code and was trying to port it to x64 and it loads fine for me and does the changes but when I save it crashes. Even with the original on 32-bit, it seems to run fine and do everything as advertised, but when I close N++, I get a Windows error popup saying the application crashed. Disabling Location Navigate plugin fixes the error.

          I created a little NppExec script show how Location Navigate does its markings:

          NPP_CONSOLE keep
          SET LOCAL MARKTYPE = change
          
          IF "$(ARGC)"=="0" THEN
              INPUTBOX "Choice of:  change, save, clear" : "Choice" :
              IF "{$(INPUT)}"=="{}" GOTO END
              ENDIF
              SET LOCAL MARKTYPE = $(INPUT)
          ENDIF
          IF "$(ARGC)">="2" THEN
              SET LOCAL MARKTYPE = $(ARGV[1])
          ENDIF
          
          SCI_SENDMSG SCI_SETMARGINTYPEN 4 SC_MARGIN_SYMBOL
          //SCI_SENDMSG SCI_SETMARGINTYPEN 10 SC_MARGIN_SYMBOL
          //SCI_SENDMSG SCI_SETMARGINTYPEN 11 SC_MARGIN_SYMBOL
          SCI_SENDMSG SCI_SETMARGINWIDTHN 4 4
          SCI_SENDMSG SCI_SETMARGINMASKN 4 3072
          
          SCI_SENDMSG SCI_MARKERSETFORE 10 8831743
          SCI_SENDMSG SCI_MARKERSETFORE 11 11927477
          SCI_SENDMSG SCI_MARKERSETBACK 10 8831743
          SCI_SENDMSG SCI_MARKERSETBACK 11 11927477
          SCI_SENDMSG SCI_MARKERDEFINE 10 SC_MARK_FULLRECT
          SCI_SENDMSG SCI_MARKERDEFINE 11 SC_MARK_FULLRECT
          
          IF "$(MARKTYPE)"~="change" THEN
              SCI_SENDMSG SCI_MARKERDELETE $(CURRENT_LINE) 11
              SCI_SENDMSG SCI_MARKERADD $(CURRENT_LINE) 10
          ELSE IF "$(MARKTYPE)"~="save" THEN
              SCI_SENDMSG SCI_MARKERDELETE $(CURRENT_LINE) 10
              SCI_SENDMSG SCI_MARKERADD $(CURRENT_LINE) 11
          ELSE IF "$(MARKTYPE)"~="clear" THEN
              SCI_SENDMSG SCI_MARKERDELETE $(CURRENT_LINE) 10
              SCI_SENDMSG SCI_MARKERDELETE $(CURRENT_LINE) 11
          ELSE IF "$(MARKTYPE)"~="off" THEN
              SCI_SENDMSG SCI_MARKERDELETE $(CURRENT_LINE) 10
              SCI_SENDMSG SCI_MARKERDELETE $(CURRENT_LINE) 11
              SCI_SENDMSG SCI_SETMARGINTYPEN 4 0
              SCI_SENDMSG SCI_SETMARGINWIDTHN 4 0
          ENDIF
          
          :END
          

          Of course this only demonstrates manually, it doesn’t actually track changes the way the Location Navigate plugin does automatically.

          Cheers.

          Alan KilbornA 1 Reply Last reply Reply Quote 2
          • Alan KilbornA
            Alan Kilborn @Michael Vincent
            last edited by Alan Kilborn

            @Michael-Vincent said in Easier Rollback for edits:

            trying to port it to x64 … but when I save it crashes

            I like what you’re trying to do! I presume you’ve run under the debugger, set some “strategic” (i.e., guesses at where to locate) breakpoints, and single-stepped to maybe isolate the cause of the crash?

            Location Navigate and Explorer plugins might be the only things keeping me in N++ 32-bit land.

            Michael VincentM 1 Reply Last reply Reply Quote 1
            • Michael VincentM
              Michael Vincent @Alan Kilborn
              last edited by Michael Vincent

              @Alan-Kilborn

              I have not run in debugger - I’m not that talented a C++ programmer. If you are and want to look:
              https://github.com/vinsworldcom/nppLocationNavigate

              For Explorer on N++ 64-bit, I use:
              https://github.com/funap/npp-explorer-plugin

              I like it better than the one in Plugin Admin:
              https://github.com/oviradoi/npp-explorer-plugin

              andrecool-68A 1 Reply Last reply Reply Quote 1
              • andrecool-68A
                andrecool-68 @Michael Vincent
                last edited by

                @Michael-Vincent This is the way it should be so many warnings … or did I do something wrong?

                    1>------ Build started: Project: LocationNavigate, Configuration: Release x64 ------
                    1>LNhistoryDlg.cpp
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\lnhistorydlg.h(136): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\lnhistorydlg.h(140): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\lnhistorydlg.cpp(69): warning C4267: 'initializing': conversion from 'size_t' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\lnhistorydlg.cpp(76): warning C4244: 'initializing': conversion from 'LRESULT' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\lnhistorydlg.cpp(94): warning C4244: 'initializing': conversion from 'LRESULT' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\lnhistorydlg.cpp(99): warning C4244: 'initializing': conversion from 'LRESULT' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\lnhistorydlg.cpp(102): warning C4244: 'initializing': conversion from 'LRESULT' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\lnhistorydlg.cpp(228): warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data
                    1>SelfCtrl.cpp
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\selfctrl.cpp(119): warning C4244: 'initializing': conversion from 'LONG_PTR' to 'DWORD', possible loss of data
                    1>StaticDialog.cpp
                    1>LocationNavigate.cpp
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\lnhistorydlg.h(136): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\lnhistorydlg.h(140): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(103): warning C4244: 'initializing': conversion from 'LRESULT' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(227): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(236): warning C4267: 'initializing': conversion from 'size_t' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(251): warning C4267: 'initializing': conversion from 'size_t' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(284): warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(301): warning C4244: '=': conversion from 'LRESULT' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(316): warning C4267: 'initializing': conversion from 'size_t' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(416): warning C4244: 'initializing': conversion from 'LRESULT' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(447): warning C4100: 'lpParam': unreferenced formal parameter
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(526): warning C4244: 'initializing': conversion from 'LRESULT' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(528): warning C4244: '=': conversion from 'LRESULT' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(543): warning C4244: '=': conversion from 'LRESULT' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(583): warning C4244: '=': conversion from 'LRESULT' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(664): warning C4244: 'initializing': conversion from 'LRESULT' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(676): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(730): warning C4244: 'initializing': conversion from 'LRESULT' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(763): warning C4100: 'lpReserved': unreferenced formal parameter
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1035): warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1068): warning C4244: '=': conversion from 'uptr_t' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1117): warning C4244: 'initializing': conversion from 'LRESULT' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1172): warning C4244: '=': conversion from 'uptr_t' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1246): warning C4244: '=': conversion from 'Sci_Position' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1247): warning C4244: '=': conversion from 'Sci_Position' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1253): warning C4244: '=': conversion from 'Sci_Position' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1254): warning C4244: '=': conversion from 'Sci_Position' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1282): warning C4311: 'type cast': pointer truncation from 'HWND' to 'int'
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1282): warning C4302: 'type cast': truncation from 'HWND' to 'int'
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1325): warning C4244: '=': conversion from 'LRESULT' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1332): warning C4244: '=': conversion from 'LRESULT' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1333): warning C4244: 'argument': conversion from 'Sci_Position' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1339): warning C4244: '=': conversion from 'Sci_Position' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1345): warning C4244: 'initializing': conversion from 'LRESULT' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1347): warning C4244: 'argument': conversion from 'Sci_Position' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1378): warning C4100: 'lParam': unreferenced formal parameter
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1378): warning C4100: 'wParam': unreferenced formal parameter
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\locationnavigate.cpp(1377): warning C4100: 'Message': unreferenced formal parameter
                    1>PluginDefinition.cpp
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\lnhistorydlg.h(136): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\dockingfeature\lnhistorydlg.h(140): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\plugindefinition.cpp(339): warning C4267: '=': conversion from 'size_t' to 'long', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\plugindefinition.cpp(355): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
                    1>c:\users\uzzer\desktop\npplocationnavigate-master\plugindefinition.cpp(396): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
                    1>   Creating library LocationNavigate.lib and object LocationNavigate.exp
                    1>Generating code
                    1>All 386 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
                    1>Finished generating code
                    1>LocationNavigate.vcxproj -> C:\Users\Uzzer\Desktop\nppLocationNavigate-master\.\bin64\LocationNavigate.dll
                    1>Done building project "LocationNavigate.vcxproj".
                    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
                
                Michael VincentM 1 Reply Last reply Reply Quote 0
                • Michael VincentM
                  Michael Vincent @andrecool-68
                  last edited by

                  @andrecool-68
                  They need to be fixed. That’s all 32-bit fine but 64-bit broke as I understand it.

                  1 Reply Last reply Reply Quote 0
                  • Alan KilbornA
                    Alan Kilborn
                    last edited by

                    I meant to reply with this much earlier in the chain, for those that might not know the capability Location Navigate supplies as far as marking changed lines goes:

                    78d1e63c-5ebf-471c-b3a1-b2178fb0fd1a-image.png

                    1 Reply Last reply Reply Quote 1
                    • Moon WatcherM
                      Moon Watcher @Ekopalypse
                      last edited by

                      @Ekopalypse Not at all. My point was that I found the highlighting of the text too distracting. However thanks to you and @Alan-Kilborn posting those pictures I found the options menu I hadn’t seen before. Wow! This is EXACTLY what I was looking for! Actually, it’s even better. I’ve been using notepad++ for 9 years and this plug-in will save me hundreds of hours of trouble-shooting.

                      Thanks to everyone who responded to my query. It’s really fantastic how helpful everyone is in this forum.

                      1 Reply Last reply Reply Quote 2
                      • Moon WatcherM
                        Moon Watcher @Michael Vincent
                        last edited by

                        @Michael-Vincent Thank you for the information. This will save me countless hours of frustration in the future. Where do I send the check?

                        Michael VincentM 1 Reply Last reply Reply Quote 1
                        • Michael VincentM
                          Michael Vincent @Moon Watcher
                          last edited by Michael Vincent

                          @Moon-Watcher said in Easier Rollback for edits:

                          Where do I send the check beer?

                          Your welcome.

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