Dominique Pellé wrote:

> The following command gives internal errors E315
> with Vim-8.0.514 and older. Vim-7.4.52 also has the bug
> (I did not check older versions) so it's an old bug:
> 
> $ vim -u NONE -es -c'set verbose=1|h|exe "%norm\<c-y>\<c-d>"'
> 
> "help.txt"
> "help.txt" [readonly] 225 lines, 8437 charactersError detected while
> processing command line:
> E315: ml_get: invalid lnum: 249
> E315: ml_get: invalid lnum: 250
> E315: ml_get: invalid lnum: 251E315: ml_get: invalid lnum: 251E315:
> ml_get: invalid lnum: 250E315: ml_get: invalid lnum: 249E315: ml_get:
> invalid lnum: 249
> E315: ml_get: invalid lnum: 250
> E315: ml_get: invalid lnum: 251
> E315: ml_get: invalid lnum: 252
> E315: ml_get: invalid lnum: 253
> E315: ml_get: invalid lnum: 254
> E315: ml_get: invalid lnum: 255
> E315: ml_get: invalid lnum: 256
> E315: ml_get: invalid lnum: 257
> E315: ml_get: invalid lnum: 258E315: ml_get: invalid lnum: 258E315:
> ml_get: invalid lnum: 257E315: ml_get: invalid lnum: 256E315: ml_get:
> invalid lnum: 255E315: ml_get: invalid lnum: 254E315: ml_get: invalid
> lnum: 253E315: ml_get: invalid lnum: 252E315: ml_get: invalid lnum:
> 251E315: ml_get: invalid lnum: 250E315: ml_get: invalid lnum: 249E315:
> ml_get: invalid lnum: 249
> E315: ml_get: invalid lnum: 250
> E315: ml_get: invalid lnum: 251
> E315: ml_get: invalid lnum: 252
> E315: ml_get: invalid lnum: 253
> E315: ml_get: invalid lnum: 254
> E315: ml_get: invalid lnum: 255
> E315: ml_get: invalid lnum: 256
> E315: ml_get: invalid lnum: 257
> E315: ml_get: invalid lnum: 258E315: ml_get: invalid lnum: 258E315:
> ml_get: invalid lnum: 257E315: ml_get: invalid lnum: 256E315: ml_get:
> invalid lnum: 255E315: ml_get: invalid lnum: 254E315: ml_get: invalid
> lnum: 253E315: ml_get: invalid lnum: 252E315: ml_get: invalid lnum:
> 251E315: ml_get: invalid lnum: 250E315: ml_get: invalid lnum: 249E315:
> ml_get: invalid lnum: 249
> E315: ml_get: invalid lnum: 250
> E315: ml_get: invalid lnum: 251
> E315: ml_get: invalid lnum: 252
> E315: ml_get: invalid lnum: 253
> E315: ml_get: invalid lnum: 254
> E315: ml_get: invalid lnum: 255
> E315: ml_get: invalid lnum: 256
> E315: ml_get: invalid lnum: 257
> ...snip more of these messages...
> 
> 
> Bug was found using afl-fuzz, with vim compiled
> with -DABORT_ON_INTERNAL_ERROR
> to make vim abort when E315 occurs.

Strange, it only happens when using silent Ex mode.  I did a bit of
debugging, turns out when not in full-screen mode various updates are
skipped, leading to the line number being above the topline.  The code
for scrolling isn't prepared for that.

I'll make a patch.

-- 
hundred-and-one symptoms of being an internet addict:
220. Your wife asks for sex and you tell her where to find you on IRC.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
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.

Raspunde prin e-mail lui