summaryrefslogtreecommitdiffstats
path: root/src/gui.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-11-22 17:21:48 +0000
committerBram Moolenaar <Bram@vim.org>2021-11-22 17:21:48 +0000
commit4671e88d7d3ed12206d9cdd8892fe3b2cbc0d6ab (patch)
tree00a6c086d47a320d80baca12c09554b08d149c4e /src/gui.c
parentce59b9f29244d98e55e3ec6be341c4d521159e8f (diff)
patch 8.2.3648: "verbose pwd" is incorrect after dropping files on Vimv8.2.3648
Problem: "verbose pwd" is incorrect after dropping files on Vim. Solution: Set the chdir reason to "drop".
Diffstat (limited to 'src/gui.c')
-rw-r--r--src/gui.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/gui.c b/src/gui.c
index 39f69e1045..13f1fe4fa3 100644
--- 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)
- shorten_fnames(TRUE);
+ do_shorten = TRUE;
vim_free(p);
+ if (do_shorten)
+ {
+ shorten_fnames(TRUE);
+ 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;