rkitover / vimpager

Use Vim as PAGER
http://www.vim.org/scripts/script.php?script_id=1723
Other
776 stars 72 forks source link

vimpager hangs when calling read_vim_settings #277

Open jbrubake opened 15 hours ago

jbrubake commented 15 hours ago

This issue was also reported at https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281010.

I was able to fix it by removing the blank lines in vim command line. I don't know why this matters all of a sudden.

index 6bd082a..9958b36 100755
--- a/vimpager
+++ b/vimpager
@@ -452,7 +452,7 @@ read_vim_settings() {
     OLDIFS=$IFS
     IFS='
 '
-    for var in $(IFS=$OLDIFS; "$tvim" -NEnR ${vimrc:+-u "$vimrc"} -i NONE --cmd 'let g:vimpager = { "enabled": 1 }' +'
+    for var in $(IFS=$OLDIFS; "$tvim" -NEnR ${vimrc:+-u "$vimrc"} -i NONE --cmd 'let g:vimpager = { "enabled": 1 }
         if !exists("g:vimpager.gvim")
             if !exists("g:vimpager_use_gvim")
                 let g:vimpager.gvim = 0
@@ -460,7 +460,6 @@ read_vim_settings() {
                 let g:vimpager.gvim = g:vimpager_use_gvim
             endif
         endif
-
         if !exists("g:vimpager.X11")
             if !exists("g:vimpager_disable_x11")
                 let g:vimpager.X11 = 1
@@ -468,7 +467,6 @@ read_vim_settings() {
                 let g:vimpager.X11 = !g:vimpager_disable_x11
             endif
         endif
-
         if !exists("g:vimpager.passthrough")
             if !exists("g:vimpager_passthrough")
                 let g:vimpager.passthrough = 1
@@ -476,13 +474,10 @@ read_vim_settings() {
                 let g:vimpager.passthrough = g:vimpager_passthrough
             endif
         endif
-
         let g:use_ansiesc = 0
-
         if has("conceal") && (!exists("g:vimpager.ansiesc") || g:vimpager.ansiesc == 1) && (!exists("g:vimpager_disable_ansiesc") || g:vimpager_disable_ansiesc == 0)
             let g:use_ansiesc = 1
         endif
-
         call writefile([""] + map([g:vimpager.gvim, g:vimpager.X11, g:vimpager.passthrough, g:use_ansiesc], "\"VAL:\".v:val"), "/dev/stderr")
         quit
     ' </dev/tty 2>&1 >/dev/null); do
jbrubake commented 13 hours ago

And a similar fix for vimcat:

index a1ae372..afb048d 100755
--- a/vimcat
+++ b/vimcat
@@ -160,7 +160,7 @@ read_vim_settings() {
     OLDIFS=$IFS
     IFS='
 '
-    for var in $(IFS=$OLDIFS; "$vim" -NEnR ${vimcatrc:+-u "$vimcatrc"} ${extra_cmd:+--cmd "$extra_cmd"} ${extra_c:+-c "$extra_c"} -i NONE +'
+    for var in $(IFS=$OLDIFS; "$vim" -NEnR ${vimcatrc:+-u "$vimcatrc"} ${extra_cmd:+--cmd "$extra_cmd"} ${extra_c:+-c "$extra_c"} -i NONE --cmd 'let g:tab_stop = 8
         if ! &et
             let g:tab_stop = &ts