changeset 26234:92bad8cd95d5 v8.2.3648

patch 8.2.3648: "verbose pwd" is incorrect after dropping files on Vim Commit: https://github.com/vim/vim/commit/4671e88d7d3ed12206d9cdd8892fe3b2cbc0d6ab Author: Bram Moolenaar <Bram@vim.org> Date: Mon Nov 22 17:21:48 2021 +0000 patch 8.2.3648: "verbose pwd" is incorrect after dropping files on Vim Problem: "verbose pwd" is incorrect after dropping files on Vim. Solution: Set the chdir reason to "drop".
author Bram Moolenaar <Bram@vim.org>
date Mon, 22 Nov 2021 18:30:05 +0100
parents f1f2bf26c81e
children f06e596b22f6
files src/gui.c src/version.c
diffstat 2 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/gui.c
+++ b/src/gui.c
@@ -5525,6 +5525,7 @@ gui_wingoto_xy(int x, int y)
 drop_callback(void *cookie)
 {
     char_u	*p = cookie;
+    int		do_shorten = FALSE;
 
     // If Shift held down, change to first file's directory.  If the first
     // item is a directory, change to that directory (and let the explorer
@@ -5534,11 +5535,16 @@ drop_callback(void *cookie)
 	if (mch_isdir(p))
 	{
 	    if (mch_chdir((char *)p) == 0)
-		shorten_fnames(TRUE);
+		do_shorten = TRUE;
 	}
 	else if (vim_chdirfile(p, "drop") == OK)
+	    do_shorten = TRUE;
+	vim_free(p);
+	if (do_shorten)
+	{
 	    shorten_fnames(TRUE);
-	vim_free(p);
+	    last_chdir_reason = "drop";
+	}
     }
 
     // Update the screen display
@@ -5635,7 +5641,7 @@ gui_handle_drop(
 	}
 	else
 	    handle_drop(count, fnames, (modifiers & MOUSE_CTRL) != 0,
-		    drop_callback, (void *)p);
+						     drop_callback, (void *)p);
     }
 
     entered = FALSE;
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3648,
+/**/
     3647,
 /**/
     3646,