On 16:50 Sun 25 Mar , Marcin Szamotulski wrote:
> On 15:30 Sun 25 Mar , Dominique Pellé wrote:
> > Christian Brabandt wrote:
> >
> > > Hi Bram!
> > >
> > > On Sa, 24 Mär 2012, Bram Moolenaar wrote:
> > >
> > >>
> > >> Christian Brabandt wrote:
> > >>
> > >> [...]
> > >>
> > >> > > 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?
> > >> >
> > >> > Yes this was changed by the patch intentionally, otherwise scrolling
> > >> > back didn't work correctly. You can use :echon, if you don't like this.
> > >>
> > >> I already changed the patch to only output the line break once.
> > >> But possibly it can be surpressed more often. Or we can find a way to
> > >> clear the text stored for scrolling back.
> > >
> > > How about this patch:
> > >
> > > diff --git a/src/eval.c b/src/eval.c
> > > --- a/src/eval.c
> > > +++ b/src/eval.c
> > > @@ -20495,7 +20495,7 @@
> > > {
> > > /* Put the output below the command, makes scrolling
> > > back
> > > * at more prompt work. */
> > > - msg_didout = TRUE;
> > > + sb_msg_eol();
> > > msg_start();
> > > }
> > > }
> > > diff --git a/src/message.c b/src/message.c
> > > --- a/src/message.c
> > > +++ b/src/message.c
> > > @@ -4891,5 +4891,11 @@
> > > * written to the buffer if it were large enough. */
> > > return (int)str_l;
> > > }
> > > + void
> > > +sb_msg_eol()
> > > +{
> > > + if (last_msgchunk != NULL)
> > > + last_msgchunk->sb_eol = TRUE;
> > > +}
> > >
> > > That should set sb_eol for the line the user entered, otherwise should
> > > behave as pre 7.3.477. That seems to fix scrolling backwards for me,
> > > while not requiring the user to enter anything after echo finishes for
> > > single lines.
> > >
> > >
> > > regards,
> > > Christian
> >
> >
> > Hi Christian
> >
> > I confirm that your new patch works for me. Thanks.
> >
> > One minor remark: we need a function prototype in src/proto/message.pro
> > for the new function sb_msg_eol() or else gcc gives a warning:
> >
> > eval.c:20501:21: warning: implicit declaration of function ‘sb_msg_eol’
> >
> > 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
>
> Hello,
>
> For me the patch is working in the following way. I use a map:
> map \e :echo "OK"<CR>
>
> With the path it shows three lines
> :echo "OK"
> OK
> Press ENTER or type command to continue
>
> while gvim-7.3.462 (which is before the path 477 which introduce the change)
> shows only one line
> OK
>
> Is this fine?
> (for the first test I used terminal version of vim).
>
> Best regards,
> Marcin
Sorry, I didn't apply the patch in a correct way. Now, I get only one
line with "OK", so that's OK :)
Best regards,
Marcin
--
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