From: Shane Harper Date: Wed, 18 Feb 2026 22:28:21 +0000 (+0000) Subject: runtime(less.sh): Fix reading from stdin. X-Git-Tag: v9.2.0026~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ac4ccb8e53cd07e4567ecdcfa74553269d44303b;p=thirdparty%2Fvim.git runtime(less.sh): Fix reading from stdin. Problem: less.sh can't read from stdin; it will try to read from a file named "-" instead (after 515da6ecdb). Solution: Do not prepend "-" with "--" in the arguments list for vim. The following were checked manually and worked as expected: echo Test | less.sh echo Test | less.sh - less.sh some_file less.sh --cmd some_file # vim will try to load "--cmd" and "some_file". less.sh # script outputs "No input." # All of the above repeated with the output piped to 'cat'. closes: #19462 Signed-off-by: Shane Harper Signed-off-by: Christian Brabandt --- diff --git a/runtime/macros/less.sh b/runtime/macros/less.sh index ba98039795..32b5918918 100755 --- a/runtime/macros/less.sh +++ b/runtime/macros/less.sh @@ -9,7 +9,8 @@ fi if [ -t 1 ]; then [ $# -eq 0 ] && set -- "-" - exec vim --cmd 'let no_plugin_maps=1' -c 'runtime! macros/less.vim' --not-a-term -- "$@" + [ "$*" != "-" ] && set -- -- "$@" + exec vim --cmd 'let no_plugin_maps=1' -c 'runtime! macros/less.vim' --not-a-term "$@" else # Output is not a terminal. exec cat -- "$@" fi