lambdalisue / vim-fern

🌿 General purpose asynchronous tree viewer written in Pure Vim script
MIT License
1.29k stars 49 forks source link

E19 when jumping back to fern buffer in nvim #510

Open tomtomjhj opened 2 days ago

tomtomjhj commented 2 days ago
  1. In vim-fern directory, run nvim (0.10.2) as follows:
    nvim --clean --cmd 'set rtp^=.' -c 'Fern .'
  2. Move the cursor to README.md, and <CR> on it.
  3. Jump back to the fern buffer with <C-o>.
  4. Jump to README.md with <C-i>
  5. Jump back to the fern buffer with <C-o>
  6. E19: Mark has invalid line number

Interestingly, the line number of the position in jumplist keeps increasing after each <C-o>, <C-i> cycle:

# In README.md

:ju
 jump line  col file/text
   2     1    0 fern://79154091/file:///home/user/.vim/plugged/vim-fern$
   1    41    0 fern://79154091/file:///home/user/.vim/plugged/vim-fern$
>  0     1    0 # 🌿 vim-fern

# run <C-o> <C-i>

:ju
 jump line  col file/text
   2     1    0 fern://79154091/file:///home/user/.vim/plugged/vim-fern$
   1    49    0 fern://79154091/file:///home/user/.vim/plugged/vim-fern$

Vim (9.1.771) does not raise E19, but you can see the line number increasing after each <C-o>, <C-i>.

lambdalisue commented 1 day ago

Reproduced.

lambdalisue commented 1 day ago

https://github.com/lambdalisue/vim-fern/blob/2cf57c60df508d15878e03c1e8fb12506384212a/autoload/fern/internal/viewer.vim?plain=1#L49

Using bufhidden=hide solve the issue but I'm not sure if it should.