• Login
Community
  • Login

Notepad++ 7.7 breaking change of SCNotification definition in x64 build

Scheduled Pinned Locked Moved Notepad++ & Plugin Development
17 Posts 8 Posters 3.2k 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.
  • D
    dinkumoil @PeterJones
    last edited by dinkumoil Jun 4, 2019, 1:34 PM Jun 4, 2019, 1:34 PM

    @PeterJones said:

    Waiting until users start complaining (“I have Notepad++ v7.8, and suddenly it’s downloading plugins that claim they aren’t compatible with v7.8”) to fix it might be harder than getting it implemented now.

    Yeah, do it right at the right time and not when foreseeable issues arise.

    1 Reply Last reply Reply Quote 5
    • P
      PeterJones
      last edited by Jun 4, 2019, 1:36 PM

      @PeterJones said:

      Implementing @pndev’s suggestion

      /me notices he misspelled @pnedev’s user name. Sorry. (Username links are one of the things that doesn’t render in the PREVIEW window when editing a post, so it’s harder to notice. :-( )

      1 Reply Last reply Reply Quote 4
      • P
        Predelnik @dinkumoil
        last edited by Jun 4, 2019, 2:22 PM

        @dinkumoil said:

        AFAICS there are even more members of the SCNotification struct which have been changed from int to Sci_Position, namely

        Good point! But change of the size of the second argument is already enough to make access by previous definition incorrect in almost all of the cases unfortunately.

        1 Reply Last reply Reply Quote 1
        • P
          pnedev
          last edited by pnedev Jun 4, 2019, 2:30 PM Jun 4, 2019, 2:30 PM

          Hi @Meta-Chuh ,

          I didn’t know that, thanks.

          Does this mean that if I have Notepad++ v 7.6.6 and never change it I won’t get any plugin updates or newly released plugins ever?

          BR

          M 1 Reply Last reply Jun 4, 2019, 2:52 PM Reply Quote 2
          • M
            Meta Chuh moderator @pnedev
            last edited by Jun 4, 2019, 2:52 PM

            @pnedev

            yes, correct.

            even if a newer plugin version has been submitted to the current pluginlist, 7.6.6 will only use the one it was shipped with, inside nppPluginList.dll.

            same for all older versions since 7.6.
            it’s a cool thing for testing though, as i have every portable npp version, and i can download exactly the old versions of a plugin available at that time (as long as the author doesn’t remove the older release downloads from his repo)

            best regards.

            1 Reply Last reply Reply Quote 1
            • D
              dinkumoil
              last edited by Jun 4, 2019, 3:00 PM

              @all

              I’ve filed an issue, see >>> here <<< .

              1 Reply Last reply Reply Quote 2
              • P
                pnedev
                last edited by Jun 4, 2019, 3:04 PM

                @Meta-Chuh ,

                OK, thanks.

                Its cool for testing and support but not quite flexible for the user.
                If you want your plugins updated (or get newly released plugins) via PluginsAdmin you are forced to update Notepad++ itself.

                1 Reply Last reply Reply Quote 0
                • P
                  pnedev
                  last edited by Jun 4, 2019, 3:18 PM

                  @dinkumoil ,

                  I have added this suggestion. I think it is the better approach.

                  1 Reply Last reply Reply Quote 0
                  • A
                    Alan Kilborn
                    last edited by Jun 5, 2019, 1:16 PM

                    It didn’t seem quite right to mention this in the github issue, but this forum is more tolerant if you get off topic…

                    Thinking about these proposed Plugin attributes and the recent changes (and then change-back) in core Notepad++ security/authentication, what assurances do we have that plugins are coming across from untampered-with files?

                    1 Reply Last reply Reply Quote 1
                    • G
                      gstavi
                      last edited by Jun 5, 2019, 2:33 PM

                      Sci_Position is used in lots of places. For example LexAccessor . It should break plugins binary compatibility left and right.
                      This kind of demonstrates the difference between Windows mindset that holds binary compatibility sacred and Linux mindset that assume that packages are always built from sources and no binary should ever interact with different versions.

                      Somewhat surprising that Scintilla developers allowed this incompatibility so easily. I wonder if they realized the impact.

                      Plugin manager may mitigate the affect in case plugin developers will cooperate but in it is a real pity if newer plugins will not work with older Notepad++.

                      Depending of the amount of plugin breakdown that will occur @donho should consider if Notepad++ user base will not be served better by temporary rolling back Notepad++ to the older Scintilla and announce some 6 month to plugin developers to get ready for the change.

                      D 1 Reply Last reply Jun 5, 2019, 10:07 PM Reply Quote 0
                      • D
                        dail @gstavi
                        last edited by Jun 5, 2019, 10:07 PM

                        @gstavi

                        Somewhat surprising that Scintilla developers allowed this incompatibility so easily

                        The Scintilla developers are not at fault. This is the entire reason they changed from the 3.x to 4.x version.

                        1 Reply Last reply Reply Quote 2
                        • G
                          gstavi
                          last edited by Jun 6, 2019, 5:35 AM

                          @dail said:

                          The Scintilla developers are not at fault. This is the entire reason they changed from the 3.x to 4.x version.

                          It is very much in dispute whether a library should ever allow itself a major compatibility breaking change to its API. Changing the library’s major version does not magically justifies it. This is definitely the Linux mindset with its advantages and shortcomings.
                          A responsible developer should go through all possible hoops to extend the API rather than change it before going this path. Maybe they did, I don’t know.

                          Specifically for this change, I would challenge, the need to support 64 bit position within a document. Opening a text file over 1GB is such a bad user experience that I doubt that you can find 0.01% within your user base that do it routinely. Your guess is good as mine for the amount of users that will be pissed by the compatibility break.

                          Still need to audit plugins to see how many are actually broken. Maybe I am overly pessimistic.
                          But it is possible that 32 bit version of Notepad++ just became much more attractive.

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