Mercurial > vim
diff src/buffer.c @ 29867:6eaef7375f17 v9.0.0272
patch 9.0.0272: BufReadCmd not triggered when loading a "nofile" buffer
Commit: https://github.com/vim/vim/commit/b1d2c8116cb5577961ea109651fb888b5e58265f
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Aug 26 11:55:01 2022 +0100
patch 9.0.0272: BufReadCmd not triggered when loading a "nofile" buffer
Problem: BufReadCmd not triggered when loading a "nofile" buffer. (Maxim
Kim)
Solution: Call readfile() but bail out before reading a file.
(closes #10983)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 26 Aug 2022 13:00:04 +0200 |
parents | 6bddfc49c35b |
children | a4eab0d846dc |
line wrap: on
line diff
--- a/src/buffer.c +++ b/src/buffer.c @@ -167,8 +167,9 @@ buffer_ensure_loaded(buf_T *buf) open_buffer( int read_stdin, // read file from stdin exarg_T *eap, // for forced 'ff' and 'fenc' or NULL - int flags) // extra flags for readfile() + int flags_arg) // extra flags for readfile() { + int flags = flags_arg; int retval = OK; bufref_T old_curbuf; #ifdef FEAT_SYN_HL @@ -220,10 +221,13 @@ open_buffer( // mark cursor position as being invalid curwin->w_valid = 0; + // A buffer without an actual file should not use the buffer name to read a + // file. + if (bt_quickfix(curbuf) || bt_nofilename(curbuf)) + flags |= READ_NOFILE; + // Read the file if there is one. if (curbuf->b_ffname != NULL - && !bt_quickfix(curbuf) - && !bt_nofilename(curbuf) #ifdef FEAT_NETBEANS_INTG && netbeansReadFile #endif