diff options
Diffstat (limited to 'src/nvim/buffer.c')
-rw-r--r-- | src/nvim/buffer.c | 44 |
1 files changed, 20 insertions, 24 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index 244fc2d3b2..f3128c7f6f 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -115,9 +115,13 @@ open_buffer ( * If we can't create one for the current buffer, take another buffer */ close_buffer(NULL, curbuf, 0, FALSE); - FOR_ALL_BUFFERS(curbuf) { - if (curbuf->b_ml.ml_mfp != NULL) + + curbuf = NULL; + FOR_ALL_BUFFERS(buf) { + if (buf->b_ml.ml_mfp != NULL) { + curbuf = buf; break; + } } /* @@ -262,8 +266,6 @@ open_buffer ( */ int buf_valid(buf_T *buf) { - buf_T *bp; - FOR_ALL_BUFFERS(bp) { if (bp == buf) { return TRUE; @@ -950,8 +952,10 @@ do_buffer ( * If deleting the last (listed) buffer, make it empty. * The last (listed) buffer cannot be unloaded. */ - FOR_ALL_BUFFERS(bp) { - if (bp->b_p_bl && bp != buf) { + bp = NULL; + FOR_ALL_BUFFERS(bp2) { + if (bp2->b_p_bl && bp2 != buf) { + bp = bp2; break; } } @@ -1053,8 +1057,9 @@ do_buffer ( if (buf == NULL) /* No loaded buffer, use unloaded one */ buf = bp; if (buf == NULL) { /* No loaded buffer, find listed one */ - FOR_ALL_BUFFERS(buf) { - if (buf->b_p_bl && buf != curbuf) { + FOR_ALL_BUFFERS(buf2) { + if (buf2->b_p_bl && buf2 != curbuf) { + buf = buf2; break; } } @@ -1677,8 +1682,6 @@ buf_T *buflist_findname(char_u *ffname) static buf_T *buflist_findname_file_id(char_u *ffname, FileID *file_id, bool file_id_valid) { - buf_T *buf; - FOR_ALL_BUFFERS(buf) { if ((buf->b_flags & BF_DUMMY) == 0 && !otherfile_buf(buf, ffname, file_id, file_id_valid)) { @@ -1702,7 +1705,6 @@ buflist_findpat ( int curtab_only /* find buffers in current tab only */ ) { - buf_T *buf; regprog_T *prog; int match = -1; int find_listed; @@ -1807,7 +1809,6 @@ buflist_findpat ( int ExpandBufnames(char_u *pat, int *num_file, char_u ***file, int options) { int count = 0; - buf_T *buf; int round; char_u *p; int attempt; @@ -1929,10 +1930,10 @@ static char_u *fname_match(regprog_T *prog, char_u *name) */ buf_T *buflist_findnr(int nr) { - buf_T *buf; - - if (nr == 0) + if (nr == 0) { nr = curwin->w_alt_fnum; + } + FOR_ALL_BUFFERS(buf) { if (buf->b_fnum == nr) { return buf; @@ -2354,8 +2355,6 @@ int buflist_add(char_u *fname, int flags) */ void buflist_slash_adjust(void) { - buf_T *bp; - FOR_ALL_BUFFERS(bp) { if (bp->b_ffname != NULL) slash_adjust(bp->b_ffname); @@ -4202,7 +4201,6 @@ int read_viminfo_bufferlist(vir_T *virp, int writing) void write_viminfo_bufferlist(FILE *fp) { - buf_T *buf; win_T *win; tabpage_T *tp; char_u *line; @@ -4498,13 +4496,11 @@ void buf_delete_signs(buf_T *buf) */ void buf_delete_all_signs(void) { - buf_T *buf; /* buffer we are checking for signs */ - - FOR_ALL_BUFFERS(buf) { - if (buf->b_signlist != NULL) { - buf_delete_signs(buf); - } + FOR_ALL_BUFFERS(buf) { + if (buf->b_signlist != NULL) { + buf_delete_signs(buf); } + } } /* |