Mercurial > vim
diff src/buffer.c @ 9149:18bbf31015c2 v7.4.1858
commit https://github.com/vim/vim/commit/b127cfd75f59e82580df395b6e2c009774644b16
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun May 29 16:24:50 2016 +0200
patch 7.4.1858
Problem: When a channel writes to a buffer it doesn't find a buffer by the
short name but re-uses it anyway.
Solution: Find buffer also by the short name.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 29 May 2016 16:30:07 +0200 |
parents | 97a9538c37ff |
children | ea504064c996 |
line wrap: on
line diff
--- a/src/buffer.c +++ b/src/buffer.c @@ -1649,6 +1649,7 @@ do_autochdir(void) * If (flags & BLN_CURBUF) is TRUE, may use current buffer. * If (flags & BLN_LISTED) is TRUE, add new buffer to buffer list. * If (flags & BLN_DUMMY) is TRUE, don't count it as a real buffer. + * If (flags & BLN_NEW) is TRUE, don't use an existing buffer. * This is the ONLY way to create a new buffer. */ static int top_file_num = 1; /* highest file number */ @@ -1676,7 +1677,7 @@ buflist_new( if (sfname == NULL || mch_stat((char *)sfname, &st) < 0) st.st_dev = (dev_T)-1; #endif - if (ffname != NULL && !(flags & BLN_DUMMY) && (buf = + if (ffname != NULL && !(flags & (BLN_DUMMY | BLN_NEW)) && (buf = #ifdef UNIX buflist_findname_stat(ffname, &st) #else