patch 9.1.1507: symlinks are resolved on :cd commands
Problem: File paths change from symlink to target path after :cd command
when editing files through symbolic links
Solution: Add "~" flag to 'cpoptions' to control symlink resolution.
When not included (default), symlinks are resolved maintaining
backward compatibility. When included, symlinks are preserved
providing the improved behavior. (glepnir)
related: neovim/neovim#15695
closes: #17628
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/option.h b/src/option.h
index 4ed117c..5590e56 100644
--- a/src/option.h
+++ b/src/option.h
@@ -231,10 +231,11 @@
#define CPO_CHDIR '.' // don't chdir if buffer is modified
#define CPO_SCOLON ';' // using "," and ";" will skip over char if
// cursor would not move
+#define CPO_NOSYMLINKS '~' // don't resolve symlinks when changing directory
// default values for Vim, Vi and POSIX
#define CPO_VIM "aABceFsz"
#define CPO_VI "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZz$!%*-+<>;"
-#define CPO_ALL "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZz$!%*-+<>#{|&/\\.;"
+#define CPO_ALL "aAbBcCdDeEfFgHiIjJkKlLmMnoOpPqrRsStuvwWxXyZz$!%*-+<>#{|&/\\.;~"
// characters for p_ww option:
#define WW_ALL "bshl<>[]~"