Bram Moolenaar wrote:

> Patch 7.3.477
> Problem:    Using ":echo" to output enough lines to scroll, then using "j" and
>            "k" at the more prompt, displays the command on top of the output.
>            (Marcin Szamotulski)
> Solution:   Put the output below the command. (Christian Brabandt)
> Files:      src/eval.c
>
>
> *** ../vim-7.3.476/src/eval.c   2012-03-07 19:16:49.000000000 +0100
> --- src/eval.c  2012-03-23 15:11:30.000000000 +0100
> ***************
> *** 20492,20498 ****
> --- 20492,20503 ----
>                /* Call msg_start() after eval1(), evaluating the expression
>                 * may cause a message to appear. */
>                if (eap->cmdidx == CMD_echo)
> +               {
> +                   /* Put the output below the command, makes scrolling back
> +                    * at more prompt work. */
> +                   msg_didout = TRUE;
>                    msg_start();
> +               }
>            }
>            else if (eap->cmdidx == CMD_echo)
>                msg_puts_attr((char_u *)" ", echo_attr);
> *** ../vim-7.3.476/src/version.c        2012-03-23 14:16:19.000000000 +0100
> --- src/version.c       2012-03-23 15:13:58.000000000 +0100
> ***************
> *** 716,717 ****
> --- 716,719 ----
>  {   /* Add new patch number below this line */
> + /**/
> +     477,
>  /**/


Something is wrong after with this patch.
I have the following lines in my ~/.vimrc:

=====================================================
set nocp
if has('spell')
  set spell

  if has('eval')
    " Rotate through languages of spelling checker.
    let g:myLangIdx = 0
    let g:myLangCodes = [ "en_us", "eo", "fr", "it", "br", "nl" ]
    let g:myLangs = [ "language:", "lingvo:", "langue :", "lingua:",
"yezh:", "taal:" ]
    function! MySpellLang()
      let g:myLangIdx = g:myLangIdx + 1
      if g:myLangIdx >= len(g:myLangs) | let g:myLangIdx = 0 | endif

      exe "setlocal spell spelllang=" . g:myLangCodes[g:myLangIdx]
      echo g:myLangs[g:myLangIdx] g:myLangCodes[g:myLangIdx]
    endf

    map  <F7>      :call MySpellLang()<CR>
    imap <F7> <C-o>:call MySpellLang()<CR>
  endif
  map  <F8> :set spell!<CR>
endif
=====================================================

When pressing <F7>, it used to rotate through languages of
the spelling checker and print the current language at the bottom
of the screen. For example, it printed 1 line saying:

language: en_us

But after applying patch 7.3.477, pressing <F7> now scrolls the
screen one line upward and prints *2* lines at the bottom of the
screen saying:

:call MySpellLang()
language: en_us

I don't think that this change was intended or am I missing something?

Regards
-- Dominique

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

Raspunde prin e-mail lui