Skip to content

vimrc specific hang with neovim+dash+man #197

@lucc

Description

@lucc

I have mentioned it some times before so here is the full report. (see #67, #196)

system

I am on Arch Linux using neovim and dash from the repos. I don't have vim installed. The error happens no matter if I have python{,2}-neovim installed or not.

config

mv ~/.config/nvim foo
export POSIX_SHELL=/bin/dash
export MANPAGER="$POSIX_SHELL $HOME/vcs/vimpager/vimpager -x" # the path to vimpager in the git repo
export VIMINIT='python import vim'

error

Now if I do man man I get this debug output (from the -x shell option)

+ [ 0 -gt 0 ]
+ find_tmp_directory
+ mkdir_options=-m 700
+ [ -n  ]
+ tmp=/tmp
+ tmp=/tmp/vimpager_7073
+ mkdir -m 700 /tmp/vimpager_7073
+ trap quit 1 PIPE HUP INT QUIT ILL TRAP KILL BUS TERM
+ detect_term_size
+ command -v tput
+ tput cols
+ tput lines
+ cat /tmp/vimpager_7073/cols
+ cols=159
+ cat /tmp/vimpager_7073/lines
+ lines=51
+ rm -f -- /tmp/vimpager_7073/cols /tmp/vimpager_7073/lines
+ [ -z 159 ]
+ [ -z 159 ]
+ expand_config_vars
+ eval runtime="$project_dir"
+ runtime=/home/luc/vcs/vimpager
+ eval vimcat="$project_dir/vimcat"
+ vimcat=/home/luc/vcs/vimpager/vimcat
+ eval system_vimpagerrc="$project_dir/vimpagerrc"
+ system_vimpagerrc=/home/luc/vcs/vimpager/vimpagerrc
+ find_vimpagerrc_files
+ i=1
+ OLDIFS=   

+ IFS=

+ vim -NEnR -i NONE +call writefile(["", "VAL:" . $VIM, "VAL:" . $MYVIMRC], "/dev/stderr") +q

and it hangs forever. If I press CTRL-C these additional lines are printed:

+ quit 1
+ rm -f gvim.exe.stackdump
+ cd /tmp/vimpager_7073/..
+ rm -rf /tmp/vimpager_7073
+ exit 1
man: command exited with status 1: sed -e '/^[[:space:]]*$/{ N; /^[[:space:]]*\n[[:space:]]*$/D; }' | (cd <fd 3> && LESS=-ix8RmPm Manual page man(1) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$PM Manual page man(1) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$ MAN_PN=man(1) dash /home/luc/vcs/vimpager/vimpager -x)

solutions

  • Previously I just used and installed vimpager with POSIX_SHELL=/bin/bash. That works.
  • Using
if exists('g:vimpager.enabled') 
  python import vim
endif

in the init file doesn't help as g:vimpager.enabled is not set at that point.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions