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

Re: Vim 5.7 / perl 5.6 update

Expand Messages
  • Bram Moolenaar
    ... Strange that you have these problems. It works fine for me, and others have reported that they can compile Vim with Perl without modifications. ... The
    Message 1 of 5 , Jul 4, 2000
    • 0 Attachment
      Neil Bird wrote:

      > After a distinct lack of response to my Perl compilation problems, I
      > just went to have another stab. I unpacked the rt/src tgz afresh,
      > reconfigured, and remade. However, I'm no longer even getting as far as I
      > did before!

      Strange that you have these problems. It works fine for me, and others have
      reported that they can compile Vim with Perl without modifications.

      > /usr97/gnu/bin/perl -e 'unless ( $] >= 5.005 ) \
      > { for (qw(na defgv errgv)) { print "#define PL_$_ $_\n" }}' > if_perl.c
      > Backslash found where operator expected at -e line 1, near ") \"
      > (Missing operator before \?)
      > syntax error at -e line 1, near ") \"
      > Execution of -e aborted due to compilation errors.
      > *** Error code 255
      > make: Warning: Target `if_perl.c' not remade because of errors
      > Current working directory /home/nabird/tmp/install/vim-5.7/src
      >
      >
      > This command (must include the '\' split) works fine under tcsh/csh but
      > gives that error under sh (that make uses) and even bash 2.04.

      The removal of the backslashes is done by the make program. It shouldn't
      matter which shell you are using (although the shell might remove backslashes
      that make left in). Perhaps you are using a different "make" this time?

      The other problems you report seem to be specific for the Sun version of Perl.
      Perhaps this requires re-installing Perl. Otherwise, if many people use this
      Perl version, we might be able to include some configure checks in Vim?

      --
      hundred-and-one symptoms of being an internet addict:
      168. You have your own domain name.

      /// Bram Moolenaar Bram@... http://www.moolenaar.net \\\
      \\\ Vim: http://www.vim.org ICCF Holland: http://iccf-holland.org ///
    • Neil Bird
      ... It is a little bizarre. Maybe some people who re actually following this thread can examine their 5.7 if_perl.c to see what the proc. specs. of things
      Message 2 of 5 , Jul 5, 2000
      • 0 Attachment
        Bram Moolenaar wrote:
        > Strange that you have these problems. It works fine for me, and others
        > have reported that they can compile Vim with Perl without modifications.

        It is a little bizarre. Maybe some people who're actually following this
        thread can examine their 5.7 'if_perl.c' to see what the proc. specs. of
        things like XS_MIV_Msg have come out as (mine are "XS(XS_VIM_Msg)", e.g.),
        and what possible defs. of XS() they have in perl.../CORE/XSUB.h.

        Mine says:

        #if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
        # define XS(name) __declspec(dllexport) void name(pTHXo_ CV* cv)
        #else
        # define XS(name) void name(pTHXo_ CV* cv)
        #endif

        I'll be picking up the second one; that's where that pTHXo_ jobby comes
        from. pTHXo_ is defined in perl.h, but I'm not 100% certain as to what it
        comes out to be. Hang on ...

        void XS_VIM_Msg (register PerlInterpreter *my_perl , CV* cv) ;
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

        My initial guyess would be that it's not 'cos I've built it on a Sun,
        but 'cos I've built the multi-threaded version - but then, I built the
        threaded perl 5.5.

        It's got a definition:

        #ifdef CAN_PROTOTYPE
        #ifdef PERL_OBJECT
        #define XS(name) void name(CV* cv, CPerlObj* pPerl)
        #else
        #define XS(name) void name(CV* cv)
        #endif
        #else
        #define XS(name) void name(cv) CV* cv;
        #endif

        ... but I can't say which of these I used to pick up.


        It still looks to me as if the 'XS()' macro should be used by vim to
        spec. the procedures instead of guessing what that macro outputs.


        > > Backslash found where operator expected at -e line 1, near ") \"
        > > (Missing operator before \?)
        >
        > ... Perhaps you are using a different "make" this time?

        D'Oh! Yes; I have Sun 'make' and GNU's make installed as 'gmake'.
        Previously, vim was one of the few remaining apps. that would build using
        either make, so I've become used to not noticing whcih one I type. I'll
        make a mental note to use gmake for vim now.

        If it wasn't for tha fact that our work stuff relies on things that Sun
        make does that gmake can't, I'd swap permanently!

        [actually, now I come to think about it, for a couple of days recently,
        I've been inadvertantly picking up another version of GNU make *called*
        make, so that probably caused my confusion]

        --
        =====================- http://www.racaldefence.com/ -===================
        Neil Bird |
        | If this .signature looks pants,
        mailto:neil.bird@... | then just stop using Outlook!
      • Dr. Charles E. Campbell
        ... I have perl v5.6.0 built, but I was unable to build a vim with perl support for 5.6*. Guess I could try again. Regards, Dr C -- Charles E Campbell, Jr,
        Message 3 of 5 , Nov 25, 2005
        • 0 Attachment
          Bram Moolenaar wrote:
          > Strange that you have these problems. It works fine for me, and others
          > have reported that they can compile Vim with Perl without modifications.

          I have perl v5.6.0 built, but I was unable to build a vim with perl
          support for 5.6*. Guess I could try again.

          Regards,
          Dr C

          --
          Charles E Campbell, Jr, PhD _ __ __
          Goddard Space Flight Center / /_/\_\_/ /
          cec@... /_/ \/_//_/
          PGP public key: http://www.erols.com/astronaut/pgp.html/
        Your message has been successfully submitted and would be delivered to recipients shortly.