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

Patch 7.2.195

Expand Messages
  • Bram Moolenaar
    Patch 7.2.195 Problem: Leaking memory for the command Vim was started with. Solution: Remember the pointer and free it. Files: src/gui_gtk_x11.c ...
    Message 1 of 2 , Jun 3, 2009
    • 0 Attachment
      Patch 7.2.195
      Problem: Leaking memory for the command Vim was started with.
      Solution: Remember the pointer and free it.
      Files: src/gui_gtk_x11.c


      *** ../vim-7.2.194/src/gui_gtk_x11.c 2009-05-17 16:23:20.000000000 +0200
      --- src/gui_gtk_x11.c 2009-06-03 12:44:31.000000000 +0200
      ***************
      *** 412,417 ****
      --- 412,418 ----
      #endif
      #if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
      static const char *restart_command = NULL;
      + static char *abs_restart_command = NULL;
      #endif
      static int found_iconic_arg = FALSE;

      ***************
      *** 449,456 ****
      char_u buf[MAXPATHL];

      if (mch_FullName((char_u *)argv[0], buf, (int)sizeof(buf), TRUE) == OK)
      ! /* Tiny leak; doesn't matter, and usually we don't even get here */
      ! restart_command = (char *)vim_strsave(buf);
      }
      #endif

      --- 450,459 ----
      char_u buf[MAXPATHL];

      if (mch_FullName((char_u *)argv[0], buf, (int)sizeof(buf), TRUE) == OK)
      ! {
      ! abs_restart_command = (char *)vim_strsave(buf);
      ! restart_command = abs_restart_command;
      ! }
      }
      #endif

      ***************
      *** 611,616 ****
      --- 614,622 ----
      gui_mch_free_all()
      {
      vim_free(gui_argv);
      + #if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
      + vim_free(abs_restart_command);
      + #endif
      }
      #endif

      *** ../vim-7.2.194/src/version.c 2009-06-03 15:05:05.000000000 +0200
      --- src/version.c 2009-06-03 16:19:00.000000000 +0200
      ***************
      *** 678,679 ****
      --- 678,681 ----
      { /* Add new patch number below this line */
      + /**/
      + 195,
      /**/

      --
      I think that you'll agree that engineers are very effective in their social
      interactions. It's the "normal" people who are nuts.
      (Scott Adams - The Dilbert principle)

      /// 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
      -~----------~----~----~----~------~----~------~--~---
    • Roland Puntaier
      Hello, I have reworked python3 support. The attached patch is against 7.2.192. But 7.2.193 to 7.2.195 do not change any involved files, so it is fine for
      Message 2 of 2 , Jun 3, 2009
      • 0 Attachment
        Hello,

        I have reworked python3 support.
        The attached patch is against 7.2.192.
        But 7.2.193 to 7.2.195 do not change any involved files, so it is fine for
        those, too.


        fixes in if_python3.c:

        - ``:pyfile`` did not work
        - indexing via slices did not work
        - crash in exit() after Py_Finalize() in windows (mentioned in my previous
        mail)



        build process:

        The previous solution was rather improvised.
        This one I think could be added to vim main line.
        It does not compromise python2x support.

        - Makefile, config.mk.in and configure.in are patched
        (also auto/configure, since that is part of the vim source distribution,
        although it can also be made via ``make autoconf``)

        The changes are such that python3 is considered an additional
        interpreter.

        In order to build you must edit the Makefile and uncomment
        --enable-python3interp
        or provide it as CONF_OPT_PYTHON in the command line, like ::

        CONF_OPT_PYTHON=--enable-python3interp make

        Note: The system must provide python3 ::

        ln -s python3 python3.1

        - patched make files for non-linux:
        - Make_mvc.mak
        To compile do this in the windows console::

        cd src
        msvc2008.bat
        nmake -f Make_mvc.mak GUI=yes PYTHON_VER=30 PYTHON=C:\Python30

        - Make_bc5.mak (changed, but not tested)
        - Make_cyg.mak
        - Make_ming.mak
        To compile do this in msys bash::

        PYTHON=C:/Python30 PYTHON_VER=30 GUI=yes make -f Make_ming.mak

        I have not touched Make_vms.mak and those ``*.mak`` files that do not
        have ``python``.


        PS: I have done this patch, because I use vim as python frontend and I
        wanted to start using python3.
        I would gladly maintain this python3 support. So if any problems turn up,
        please contact me.


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