aboutsummaryrefslogtreecommitdiff
path: root/test/functional/vimscript/executable_spec.lua
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2025-10-02 10:42:50 +0200
committerbfredl <bjorn.linse@gmail.com>2026-01-13 09:41:51 +0100
commit5581a53437c77675a229f7920bb2b5189f794315 (patch)
tree30beaa36514728c399da0a2897a28b82a22e7108 /test/functional/vimscript/executable_spec.lua
parent9afd81512b0ccded5499635d28dd50d065298ff0 (diff)
downloadrneovim-5581a53437c77675a229f7920bb2b5189f794315.tar.gz
rneovim-5581a53437c77675a229f7920bb2b5189f794315.tar.bz2
rneovim-5581a53437c77675a229f7920bb2b5189f794315.zip
fix(shell): ceci n'est pas une pipe
On linux /dev/stdin is defined as a symlink to /proc/self/fd/0 This in turn is defined as a "magic" symlink which is allowed to point to internal kernel objects which really does not have a file name. As a glaring inconsistency, fopen("/proc/self/fd/0", "r") works if fd was originally opened using pipe() but not using socketpair(). As it happens UV_CREATE_PIPE does not create pipes but creates socket pairs. These two unfortunate conditions means that using /dev/stdin and similar does not work in shell commands in nvim on linux. as a work around, override libuv's descicion and create an actual pipe pair. This change is not needed on BSD:s but done unconditionally for simplicity, except for on windows where it is not done for stdout because of windows fixes #35984
Diffstat (limited to 'test/functional/vimscript/executable_spec.lua')
0 files changed, 0 insertions, 0 deletions