Loading ...
Sorry, an error occurred while loading the content.

Re: Patch 7.2.055

Expand Messages
  • Bram Moolenaar
    ... You also need to adjust the other places where init3 appears. Otherwise it looks like a good change to avoid the warning. Question is if it also works
    Message 1 of 11 , Dec 2, 2008
    • 0 Attachment
      Dominique Pelle wrote:

      > 2008/11/29 Bram Moolenaar wrote:
      >
      > > Tony Mechelynck wrote:
      > ...[snip...]
      > >> if_perl.xs:463: null argument where non-null required
      > >> a line specific to Perl ver. 5.10 (included) to 6.0 (excluded).
      > >
      > > I actually think NULL is OK here. At least, it has always worked. I
      > > don't know how to pass something else, one can't simply pass an empty
      > > environment.
      >
      >
      > I see this compilation warning as well. In my Perl the header file
      > /usr/lib/perl/5.10.0/CORE/proto.h on Ubuntu-8.10, I see:
      >
      >
      > PERL_CALLCONV void Perl_sys_init(int* argc, char*** argv)
      > __attribute__nonnull__(1)
      > __attribute__nonnull__(2);
      >
      > PERL_CALLCONV void Perl_sys_init3(int* argc, char*** argv, char*** env)
      > __attribute__nonnull__(1)
      > __attribute__nonnull__(2)
      > __attribute__nonnull__(3);
      >
      >
      > The "__attribute__nonnull(3)" explains why we get the warning.
      >
      > We can probably call the other function Perl_sys_init(...) instead
      > of Perl_sys_init3(...). The patch below gets rid of the compilation
      > warning but I prefer to let the author of the Perl interface (in CC)
      > verify whether it's correct.

      You also need to adjust the other places where "init3" appears.
      Otherwise it looks like a good change to avoid the warning. Question is
      if it also works with all versions of Perl.

      --
      `When any government, or any church for that matter, undertakes to say to
      its subjects, "This you may not read, this you must not see, this you are
      forbidden to know," the end result is tyranny and oppression no matter how
      holy the motives' -- Robert A Heinlein, "If this goes on --"

      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
      /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
      \\\ download, build and distribute -- http://www.A-A-P.org ///
      \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    • Dominique Pelle
      ... Perl_sys_init3(...) in Vim code appears only in between... #if (PERL_REVISION == 5) && (PERL_VERSION = 10) ... #endif And since Perl-5.10.0 is the latest
      Message 2 of 11 , Dec 2, 2008
      • 0 Attachment
        2008/12/2 Bram Moolenaar <Bram@...>:

        > Dominique Pelle wrote:
        >
        >> 2008/11/29 Bram Moolenaar wrote:
        >>
        >> > Tony Mechelynck wrote:
        >> ...[snip...]
        >> >> if_perl.xs:463: null argument where non-null required
        >> >> a line specific to Perl ver. 5.10 (included) to 6.0 (excluded).
        >> >
        >> > I actually think NULL is OK here. At least, it has always worked. I
        >> > don't know how to pass something else, one can't simply pass an empty
        >> > environment.
        >>
        >>
        >> I see this compilation warning as well. In my Perl the header file
        >> /usr/lib/perl/5.10.0/CORE/proto.h on Ubuntu-8.10, I see:
        >>
        >>
        >> PERL_CALLCONV void Perl_sys_init(int* argc, char*** argv)
        >> __attribute__nonnull__(1)
        >> __attribute__nonnull__(2);
        >>
        >> PERL_CALLCONV void Perl_sys_init3(int* argc, char*** argv, char*** env)
        >> __attribute__nonnull__(1)
        >> __attribute__nonnull__(2)
        >> __attribute__nonnull__(3);
        >>
        >>
        >> The "__attribute__nonnull(3)" explains why we get the warning.
        >>
        >> We can probably call the other function Perl_sys_init(...) instead
        >> of Perl_sys_init3(...). The patch below gets rid of the compilation
        >> warning but I prefer to let the author of the Perl interface (in CC)
        >> verify whether it's correct.
        >
        > You also need to adjust the other places where "init3" appears.
        > Otherwise it looks like a good change to avoid the warning. Question is
        > if it also works with all versions of Perl.


        Perl_sys_init3(...) in Vim code appears only in between...

        #if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
        ...
        #endif

        And since Perl-5.10.0 is the latest version of Perl,
        changing Perl_sys_init3 into Perl_sys_init should not
        break anything for older versions of Perl.

        -- Dominique

        --~--~---------~--~----~------------~-------~--~----~
        You received this message from the "vim_dev" maillist.
        For more information, visit http://www.vim.org/maillist.php
        -~----------~----~----~----~------~----~------~--~---
      • Bram Moolenaar
        ... I suppose it s unlikely that this will fail somewhere. I ll just send out a patch and keep fingers crossed :-). There are a few other warnings in
        Message 3 of 11 , Dec 3, 2008
        • 0 Attachment
          Dominique Pelle wrote:

          > >> 2008/11/29 Bram Moolenaar wrote:
          > >>
          > >> > Tony Mechelynck wrote:
          > >> ...[snip...]
          > >> >> if_perl.xs:463: null argument where non-null required
          > >> >> a line specific to Perl ver. 5.10 (included) to 6.0 (excluded).
          > >> >
          > >> > I actually think NULL is OK here. At least, it has always worked. I
          > >> > don't know how to pass something else, one can't simply pass an empty
          > >> > environment.
          > >>
          > >>
          > >> I see this compilation warning as well. In my Perl the header file
          > >> /usr/lib/perl/5.10.0/CORE/proto.h on Ubuntu-8.10, I see:
          > >>
          > >>
          > >> PERL_CALLCONV void Perl_sys_init(int* argc, char*** argv)
          > >> __attribute__nonnull__(1)
          > >> __attribute__nonnull__(2);
          > >>
          > >> PERL_CALLCONV void Perl_sys_init3(int* argc, char*** argv, char*** env)
          > >> __attribute__nonnull__(1)
          > >> __attribute__nonnull__(2)
          > >> __attribute__nonnull__(3);
          > >>
          > >>
          > >> The "__attribute__nonnull(3)" explains why we get the warning.
          > >>
          > >> We can probably call the other function Perl_sys_init(...) instead
          > >> of Perl_sys_init3(...). The patch below gets rid of the compilation
          > >> warning but I prefer to let the author of the Perl interface (in CC)
          > >> verify whether it's correct.
          > >
          > > You also need to adjust the other places where "init3" appears.
          > > Otherwise it looks like a good change to avoid the warning. Question is
          > > if it also works with all versions of Perl.
          >
          >
          > Perl_sys_init3(...) in Vim code appears only in between...
          >
          > #if (PERL_REVISION == 5) && (PERL_VERSION >= 10)
          > ...
          > #endif
          >
          > And since Perl-5.10.0 is the latest version of Perl,
          > changing Perl_sys_init3 into Perl_sys_init should not
          > break anything for older versions of Perl.

          I suppose it's unlikely that this will fail somewhere. I'll just send
          out a patch and keep fingers crossed :-).

          There are a few other warnings in if_perl.xs and the generated
          if_perl.c. I don't know how to avoid those.

          --
          ARTHUR: Be quiet!
          DENNIS: --but by a two-thirds majority in the case of more--
          ARTHUR: Be quiet! I order you to be quiet!
          WOMAN: Order, eh -- who does he think he is?
          ARTHUR: I am your king!
          The Quest for the Holy Grail (Monty Python)

          /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
          /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
          \\\ download, build and distribute -- http://www.A-A-P.org ///
          \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

          --~--~---------~--~----~------------~-------~--~----~
          You received this message from the "vim_dev" maillist.
          For more information, visit http://www.vim.org/maillist.php
          -~----------~----~----~----~------~----~------~--~---
        • Tony Mechelynck
          On 02/12/08 22:05, Dominique Pelle wrote: [...] ... Maybe that #if will break something if and when Perl 6 gets released? Hm, I suppose we can cross that
          Message 4 of 11 , Dec 3, 2008
          • 0 Attachment
            On 02/12/08 22:05, Dominique Pelle wrote:
            [...]
            > Perl_sys_init3(...) in Vim code appears only in between...
            >
            > #if (PERL_REVISION == 5)&& (PERL_VERSION>= 10)
            > ...
            > #endif
            >
            > And since Perl-5.10.0 is the latest version of Perl,
            > changing Perl_sys_init3 into Perl_sys_init should not
            > break anything for older versions of Perl.
            >
            > -- Dominique

            Maybe that #if will break something if and when Perl 6 gets released?
            Hm, I suppose we can cross that bridge when we get to it.


            Best regards,
            Tony.
            --
            A total abstainer is one who abstains from everything but abstention,
            and especially from inactivity in the affairs of others.
            -- Ambrose Bierce, "The Devil's Dictionary"

            --~--~---------~--~----~------------~-------~--~----~
            You received this message from the "vim_dev" maillist.
            For more information, visit http://www.vim.org/maillist.php
            -~----------~----~----~----~------~----~------~--~---
          • Tony Mechelynck
            On 03/12/08 10:51, Bram Moolenaar wrote: [...] ... After applying patch 7.2.063 I don t get any warnings in if_perl.xs (when compiling if_perl.c) anymore.
            Message 5 of 11 , Dec 3, 2008
            • 0 Attachment
              On 03/12/08 10:51, Bram Moolenaar wrote:
              [...]
              > I suppose it's unlikely that this will fail somewhere. I'll just send
              > out a patch and keep fingers crossed :-).
              >
              > There are a few other warnings in if_perl.xs and the generated
              > if_perl.c. I don't know how to avoid those.
              >

              After applying patch 7.2.063 I don't get any warnings in if_perl.xs
              (when compiling if_perl.c) anymore. Maybe for other platforms...

              Best regards,
              Tony.
              --
              Pittsburgh Driver's Test

              (7) The car directly in front of you has a flashing right tail light
              but a steady left tail light. This means

              (a) one of the tail lights is broken; you should blow your horn
              to call the problem to the driver's attention.
              (b) the driver is signaling a right turn.
              (c) the driver is signaling a left turn.
              (d) the driver is from out of town.

              The correct answer is (d). Tail lights are used in some foreign
              countries to signal turns.

              --~--~---------~--~----~------------~-------~--~----~
              You received this message from the "vim_dev" maillist.
              For more information, visit http://www.vim.org/maillist.php
              -~----------~----~----~----~------~----~------~--~---
            Your message has been successfully submitted and would be delivered to recipients shortly.