Thanks for the patch,
I wrote a test :
(benchjob.vim for starting job, benchjob.py for printing 80000 lines)
-----------------------------------
benchjob.vim:
function! MyCallback(job, text)
" make cpu a little busy
for i in range(100)
for j in range(10)
cbottom
endfor
endfor
let text = iconv(a:text, "gbk", &encoding)
caddexpr a:text
cbottom
endfunc
copen 8
cexpr "[python output]"
wincmd k
let cmd = ['/usr/bin/python', 'benchjob.py']
let opt = {"out_cb": "MyCallback", "out_io": "pipe", "err_io": "out"}
let job = job_start(cmd, opt)
--------------
benchjob.py:
#! /usr/bin/env python2
import sys
for i in xrange(80000):
sys.stdout.write('benchjob:%s: this is line %d\n'%(i, i))
sys.stdout.flush()
----------------
I can move cursor with the latest version (8.0.101), gui doesn't freeze as the
older versions. But I also find some issues:
1. Although I can move cursor while benchjob.py is running, but I nearly can't
input any thing, when I type a single character in insert mode, I can see the
character appears in the screen, cursor moves right and then cursor rewinds to
the head of the line, and then redraw the whole line. (delete the whole line at
first, then display them again). It seems gui is very busy, especially
accessing a remote vim from terminal.
2. After a while, the output in quickfix stopped (benchjob.py isn't finished
yet), until I move cursor or type something in vim, and it resumes and updates
a few lines in quickfix and stops again until I type something again. If I
don't touch my keyboard, the the output will pause forever.
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.