Patch 8.0.0419
Problem:    Test for v:progpath fails on MS-Windows.
Solution:   Expand to full path.  Also add ".exe" when the path is an absolute
            path.
Files:      src/os_win32.c, src/main.c


*** ../vim-8.0.0418/src/os_win32.c      2017-03-05 14:29:08.717325490 +0100
--- src/os_win32.c      2017-03-05 15:12:18.152262944 +0100
***************
*** 1921,1927 ****
        if (mch_getperm(name) != -1 && !mch_isdir(name))
        {
            if (path != NULL)
!               *path = vim_strsave((char_u *)name);
            return TRUE;
        }
        return FALSE;
--- 1921,1932 ----
        if (mch_getperm(name) != -1 && !mch_isdir(name))
        {
            if (path != NULL)
!           {
!               if (mch_isFullName(name))
!                   *path = vim_strsave((char_u *)name);
!               else
!                   *path = FullName_save((char_u *)name, FALSE);
!           }
            return TRUE;
        }
        return FALSE;
*** ../vim-8.0.0418/src/main.c  2017-03-05 14:29:08.717325490 +0100
--- src/main.c  2017-03-05 15:06:05.156510344 +0100
***************
*** 3533,3563 ****
  set_progpath(char_u *argv0)
  {
      char_u *val = argv0;
- #ifdef WIN32
-     char_u *path = NULL;
- #else
-     char_u buf[MAXPATHL];
- #endif
  
      /* A relative path containing a "/" will become invalid when using ":cd",
       * turn it into a full path.
!      * On MS-Windows "vim.exe" is found in the current directory, thus also do
!      * it when there is no path and the file exists. */
!     if (!mch_isFullName(argv0))
!     {
  # ifdef WIN32
!       if (mch_can_exe(argv0, &path, FALSE) && path != NULL)
!           val = path;
  # else
        if (gettail(argv0) != argv0
                           && vim_FullName(argv0, buf, MAXPATHL, TRUE) != FAIL)
            val = buf;
- # endif
      }
      set_vim_var_string(VV_PROGPATH, val, -1);
! #ifdef WIN32
      vim_free(path);
! #endif
  }
  
  #endif /* NO_VIM_MAIN */
--- 3533,3562 ----
  set_progpath(char_u *argv0)
  {
      char_u *val = argv0;
  
      /* A relative path containing a "/" will become invalid when using ":cd",
       * turn it into a full path.
!      * On MS-Windows "vim" should be expanded to "vim.exe", thus always do
!      * this. */
  # ifdef WIN32
!     char_u *path = NULL;
! 
!     if (mch_can_exe(argv0, &path, FALSE) && path != NULL)
!       val = path;
  # else
+     char_u buf[MAXPATHL];
+ 
+     if (!mch_isFullName(argv0))
+     {
        if (gettail(argv0) != argv0
                           && vim_FullName(argv0, buf, MAXPATHL, TRUE) != FAIL)
            val = buf;
      }
+ # endif
      set_vim_var_string(VV_PROGPATH, val, -1);
! # ifdef WIN32
      vim_free(path);
! # endif
  }
  
  #endif /* NO_VIM_MAIN */
*** ../vim-8.0.0418/src/version.c       2017-03-05 14:56:03.601083320 +0100
--- src/version.c       2017-03-05 15:07:04.464059946 +0100
***************
*** 766,767 ****
--- 766,769 ----
  {   /* Add new patch number below this line */
+ /**/
+     419,
  /**/

-- 
ERROR 047: Keyboard not found.  Press RETURN to continue.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui