Karsten Hopp 19930d
To: vim_dev@googlegroups.com
Karsten Hopp 19930d
Subject: Patch 7.4.678
Karsten Hopp 19930d
Fcc: outbox
Karsten Hopp 19930d
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 19930d
Mime-Version: 1.0
Karsten Hopp 19930d
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 19930d
Content-Transfer-Encoding: 8bit
Karsten Hopp 19930d
------------
Karsten Hopp 19930d
Karsten Hopp 19930d
Patch 7.4.678
Karsten Hopp 19930d
Problem:    When using --remote the directory may end up being wrong.
Karsten Hopp 19930d
Solution:   Use localdir() to find out what to do. (Xaizek)
Karsten Hopp 19930d
Files:	    src/main.c
Karsten Hopp 19930d
Karsten Hopp 19930d
Karsten Hopp 19930d
*** ../vim-7.4.677/src/main.c	2015-02-10 19:26:58.918748560 +0100
Karsten Hopp 19930d
--- src/main.c	2015-03-24 16:39:38.547390528 +0100
Karsten Hopp 19930d
***************
Karsten Hopp 19930d
*** 3914,3919 ****
Karsten Hopp 19930d
--- 3914,3920 ----
Karsten Hopp 19930d
      int		i;
Karsten Hopp 19930d
      char_u	*inicmd = NULL;
Karsten Hopp 19930d
      char_u	*p;
Karsten Hopp 19930d
+     char_u	*cdp;
Karsten Hopp 19930d
      char_u	*cwd;
Karsten Hopp 19930d
  
Karsten Hopp 19930d
      if (filec > 0 && filev[0][0] == '+')
Karsten Hopp 19930d
***************
Karsten Hopp 19930d
*** 3935,3941 ****
Karsten Hopp 19930d
  	vim_free(cwd);
Karsten Hopp 19930d
  	return NULL;
Karsten Hopp 19930d
      }
Karsten Hopp 19930d
!     p = vim_strsave_escaped_ext(cwd,
Karsten Hopp 19930d
  #ifdef BACKSLASH_IN_FILENAME
Karsten Hopp 19930d
  		    "",  /* rem_backslash() will tell what chars to escape */
Karsten Hopp 19930d
  #else
Karsten Hopp 19930d
--- 3936,3942 ----
Karsten Hopp 19930d
  	vim_free(cwd);
Karsten Hopp 19930d
  	return NULL;
Karsten Hopp 19930d
      }
Karsten Hopp 19930d
!     cdp = vim_strsave_escaped_ext(cwd,
Karsten Hopp 19930d
  #ifdef BACKSLASH_IN_FILENAME
Karsten Hopp 19930d
  		    "",  /* rem_backslash() will tell what chars to escape */
Karsten Hopp 19930d
  #else
Karsten Hopp 19930d
***************
Karsten Hopp 19930d
*** 3943,3954 ****
Karsten Hopp 19930d
  #endif
Karsten Hopp 19930d
  		    '\\', TRUE);
Karsten Hopp 19930d
      vim_free(cwd);
Karsten Hopp 19930d
!     if (p == NULL)
Karsten Hopp 19930d
  	return NULL;
Karsten Hopp 19930d
      ga_init2(&ga, 1, 100);
Karsten Hopp 19930d
      ga_concat(&ga, (char_u *)"<C-\\><C-N>:cd ");
Karsten Hopp 19930d
!     ga_concat(&ga, p);
Karsten Hopp 19930d
!     vim_free(p);
Karsten Hopp 19930d
  
Karsten Hopp 19930d
      /* Call inputsave() so that a prompt for an encryption key works. */
Karsten Hopp 19930d
      ga_concat(&ga, (char_u *)"<CR>:if exists('*inputsave')|call inputsave()|endif|");
Karsten Hopp 19930d
--- 3944,3954 ----
Karsten Hopp 19930d
  #endif
Karsten Hopp 19930d
  		    '\\', TRUE);
Karsten Hopp 19930d
      vim_free(cwd);
Karsten Hopp 19930d
!     if (cdp == NULL)
Karsten Hopp 19930d
  	return NULL;
Karsten Hopp 19930d
      ga_init2(&ga, 1, 100);
Karsten Hopp 19930d
      ga_concat(&ga, (char_u *)"<C-\\><C-N>:cd ");
Karsten Hopp 19930d
!     ga_concat(&ga, cdp);
Karsten Hopp 19930d
  
Karsten Hopp 19930d
      /* Call inputsave() so that a prompt for an encryption key works. */
Karsten Hopp 19930d
      ga_concat(&ga, (char_u *)"<CR>:if exists('*inputsave')|call inputsave()|endif|");
Karsten Hopp 19930d
***************
Karsten Hopp 19930d
*** 3984,3991 ****
Karsten Hopp 19930d
  
Karsten Hopp 19930d
      /* Switch back to the correct current directory (prior to temporary path
Karsten Hopp 19930d
       * switch) unless 'autochdir' is set, in which case it will already be
Karsten Hopp 19930d
!      * correct after the :drop command. */
Karsten Hopp 19930d
!     ga_concat(&ga, (char_u *)":if !exists('+acd')||!&acd|cd -|endif<CR>");
Karsten Hopp 19930d
  
Karsten Hopp 19930d
      if (sendReply)
Karsten Hopp 19930d
  	ga_concat(&ga, (char_u *)":call SetupRemoteReplies()<CR>");
Karsten Hopp 19930d
--- 3984,4004 ----
Karsten Hopp 19930d
  
Karsten Hopp 19930d
      /* Switch back to the correct current directory (prior to temporary path
Karsten Hopp 19930d
       * switch) unless 'autochdir' is set, in which case it will already be
Karsten Hopp 19930d
!      * correct after the :drop command. With line breaks and spaces:
Karsten Hopp 19930d
!      *  if !exists('+acd') || !&acd
Karsten Hopp 19930d
!      *    if haslocaldir()
Karsten Hopp 19930d
!      *	    cd -
Karsten Hopp 19930d
!      *      lcd -
Karsten Hopp 19930d
!      *    elseif getcwd() ==# "current path"
Karsten Hopp 19930d
!      *      cd -
Karsten Hopp 19930d
!      *    endif
Karsten Hopp 19930d
!      *  endif
Karsten Hopp 19930d
!      */
Karsten Hopp 19930d
!     ga_concat(&ga, (char_u *)":if !exists('+acd')||!&acd|if haslocaldir()|");
Karsten Hopp 19930d
!     ga_concat(&ga, (char_u *)"cd -|lcd -|elseif getcwd() ==# \"");
Karsten Hopp 19930d
!     ga_concat(&ga, cdp);
Karsten Hopp 19930d
!     ga_concat(&ga, (char_u *)"\"|cd -|endif|endif<CR>");
Karsten Hopp 19930d
!     vim_free(cdp);
Karsten Hopp 19930d
  
Karsten Hopp 19930d
      if (sendReply)
Karsten Hopp 19930d
  	ga_concat(&ga, (char_u *)":call SetupRemoteReplies()<CR>");
Karsten Hopp 19930d
*** ../vim-7.4.677/src/version.c	2015-03-24 15:14:19.189039146 +0100
Karsten Hopp 19930d
--- src/version.c	2015-03-24 16:32:25.535659083 +0100
Karsten Hopp 19930d
***************
Karsten Hopp 19930d
*** 743,744 ****
Karsten Hopp 19930d
--- 743,746 ----
Karsten Hopp 19930d
  {   /* Add new patch number below this line */
Karsten Hopp 19930d
+ /**/
Karsten Hopp 19930d
+     678,
Karsten Hopp 19930d
  /**/
Karsten Hopp 19930d
Karsten Hopp 19930d
-- 
Karsten Hopp 19930d
Michael: There is no such thing as a dump question.
Karsten Hopp 19930d
Bernard: Sure there is.  For example "what is a core dump?"
Karsten Hopp 19930d
Karsten Hopp 19930d
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 19930d
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 19930d
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 19930d
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///