Bram,

In a thread started here [0] back in July I reported a problem I was
having with messages not being displayed in the right order.  It was
determined during that thread that there was a difference of behavior
based on whether hidden was set or not.  Buried in one of the later
messages, I asked you if this was intentional or a bug, but I haven't
heard back from you.  You weren't active on the list at the time; I
assume you were on vacation/moving.  I guess that my buried query didn't
catch your attention when you were catching up on mail.

Here is the summary:

-----

vim -u NONE -U NONE somefile.txt
:e testbuf.vim

" if testbuf.vim is new, paste the TestBuf function below and :w

:let g:testbuf = 2 " the buffer number of testbuf.vim
:so %
:b #

" we are now set up to demonstrate the problem

:call TestBuf()

" this should display  Done with TestBuf (found = 3)

:set hidden
:call TestBuf()

" this displays  "somefile.txt" line 1 of...

:set nohidden
:call TestBuf()

" this still displays  "somefile.txt"...
" You must switch buffers at least once after :set nohidden before you
" get the original (desired) behavior back.

----- TestBuf

function! TestBuf()
  let curbuf = bufnr("%")
  exec "b" g:testbuf
  let found = search('t.st')
  exec "b" curbuf

  echomsg 'Done with TestBuf (found = '.found.')'
endfunction

-----

A separate problem is that changing both occurrences of  exec "b"...  to
silent exec "b"...  does not change anything; that is, the output of
exec "b"...  is not suppressed (when hidden is set).

I feel that both of these are bugs, but I wanted to know if there was
a reason that you thought these were the correct behaviors (or perhaps
it is simply impractical to change).

Thanks...Marvin

[0] http://groups.yahoo.com/group/vimdev/message/44273

Reply via email to