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

In Windows, :ruby command is not works around socket

Expand Messages
  • todesking
    hi there. I found a ruby command s bug on Windows VIM. ... = SocketError: `initialize : getaddrinfo: non-recoverable failure in name resolution. ... = vim
    Message 1 of 4 , Jun 30, 2008
    • 0 Attachment
      hi there.

      I found a ruby command's bug on Windows VIM.

      :ruby require 'open-uri'
      :ruby open('http://google.com/')
      => SocketError: `initialize': getaddrinfo: non-recoverable failure in
      name resolution.
      :ruby open('http://66.249.89.147')
      => vim dies

      In Windows, NtInitialize() should called when initializing Ruby.
      Otherwise, socket is never initialized.

      Here is patch.

      thanks.

      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    • mattn
      I can reproduce it, and checked your patch. It seems good to me. Thanks. ... -- - Yasuhiro Matsumoto --~--~---------~--~----~------------~-------~--~----~ You
      Message 2 of 4 , Jun 30, 2008
      • 0 Attachment
        I can reproduce it, and checked your patch. It seems good to me.

        Thanks.

        On Tue, Jul 1, 2008 at 12:00 PM, todesking <discommunicative@...> wrote:
        > hi there.
        >
        > I found a ruby command's bug on Windows VIM.
        >
        > :ruby require 'open-uri'
        > :ruby open('http://google.com/')
        > => SocketError: `initialize': getaddrinfo: non-recoverable failure in
        > name resolution.
        > :ruby open('http://66.249.89.147')
        > => vim dies
        >
        > In Windows, NtInitialize() should called when initializing Ruby.
        > Otherwise, socket is never initialized.
        >
        > Here is patch.
        >
        > thanks.
        >
        > >
        >

        --
        - Yasuhiro Matsumoto

        --~--~---------~--~----~------------~-------~--~----~
        You received this message from the "vim_dev" maillist.
        For more information, visit http://www.vim.org/maillist.php
        -~----------~----~----~----~------~----~------~--~---
      • Bram Moolenaar
        ... Thanks for looking into this. I don t include patches without knowing the name of the author. If you are scared you can mail me directly. About this part:
        Message 3 of 4 , Jul 1, 2008
        • 0 Attachment
          > I found a ruby command's bug on Windows VIM.
          >
          > :ruby require 'open-uri'
          > :ruby open('http://google.com/')
          > => SocketError: `initialize': getaddrinfo: non-recoverable failure in
          > name resolution.
          > :ruby open('http://66.249.89.147')
          > => vim dies
          >
          > In Windows, NtInitialize() should called when initializing Ruby.
          > Otherwise, socket is never initialized.
          >
          > Here is patch.

          Thanks for looking into this.

          I don't include patches without knowing the name of the author. If you
          are scared you can mail me directly.

          About this part:

          #ifdef _WIN32
          int argc;
          char *argv[] = {"gvim.exe"};
          NtInitialize(&argc, (char***)&argv);
          #endif

          I think "argc" should be set to 1. Typecasting should not be needed for
          argv. How about this instead:

          #ifdef _WIN32
          int argc = 1;
          char *argv[] = {"gvim.exe"};
          NtInitialize(&argc, &argv);
          #endif


          --
          hundred-and-one symptoms of being an internet addict:
          131. You challenge authority and society by portnuking people

          /// 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
          -~----------~----~----~----~------~----~------~--~---
        • Anton Sharonov
          In case, that subject will not be correctly recognized by mail clients, I m trying to continue old thread In Windows, :ruby command is not works around
          Message 4 of 4 , Dec 26, 2008
          • 0 Attachment
            In case, that subject will not be correctly recognized by mail
            clients, I'm trying to continue old thread "In Windows, :ruby
            command is not works around socket" [1]:

            1 Jul., 04:00 todesking wrote:
            > I found a ruby command's bug on Windows VIM.
            >
            > :ruby require 'open-uri'
            > :ruby open('http://google.com/')
            > => SocketError: `initialize': getaddrinfo: non-recoverable
            > failure in
            > name resolution.
            > :ruby open('http://66.249.89.147')
            > => vim dies

            I can confirm that bug still persist in recent VIM (7.2, Included
            patches: 1-69).

            I can confirm as well, that proposed patch fixes that (I have
            modified this according Bram's proposal with initialization of
            argc = 1 and removing typecasting).

            --
            Anton

            [1] Original thread "In Windows, :ruby command is not works
            around socket"

            http://groups.google.com/group/vim_dev/browse_thread/thread/528607752ef92e68

            --~--~---------~--~----~------------~-------~--~----~
            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.