refactor: remove all mentions to curbuf_lock

This commit is contained in:
Thomas Vigouroux
2021-07-08 07:51:41 +02:00
parent f8ed13c0dc
commit b35fefc57f
5 changed files with 18 additions and 15 deletions

View File

@@ -525,7 +525,8 @@ struct file_buffer {
int b_flags; // various BF_ flags
int b_locked; // Buffer is being closed or referenced, don't
// let autocommands wipe it out.
int b_ro_locked; // Replacement for curbuf_lock
int b_ro_locked; // Non-zero when the buffer can't be changed.
// Used for FileChangedRO
//
// b_ffname has the full path of the file (NULL for no name).

View File

@@ -58,7 +58,7 @@
#define EX_SBOXOK 0x40000 // allowed in the sandbox
#define EX_CMDWIN 0x80000 // allowed in cmdline window; when missing
// disallows editing another buffer when
// curbuf_lock is set
// current buffer is locked
#define EX_MODIFY 0x100000 // forbidden in non-'modifiable' buffer
#define EX_FLAGS 0x200000 // allow flags after count in argument
#define EX_FILES (EX_XFILE | EX_EXTRA) // multiple extra files allowed

View File

@@ -1518,7 +1518,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
goto doend;
}
// Disallow editing another buffer when "curbuf_lock" is set.
// Disallow editing another buffer when "curbuf->b_ro_locked" is set.
// Do allow ":checktime" (it is postponed).
// Do allow ":edit" (check for an argument later).
// Do allow ":file" with no arguments (check for an argument later).
@@ -1601,7 +1601,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
else
ea.arg = skipwhite(p);
// ":file" cannot be run with an argument when "curbuf_lock" is set
// ":file" cannot be run with an argument when "curbuf->b_ro_locked" is set
if (ea.cmdidx == CMD_file && *ea.arg != NUL && curbuf_locked()) {
goto doend;
}
@@ -7344,16 +7344,18 @@ do_exedit(
old_curwin == NULL ? curwin : NULL);
} else if ((eap->cmdidx != CMD_split && eap->cmdidx != CMD_vsplit)
|| *eap->arg != NUL) {
/* Can't edit another file when "curbuf_lock" is set. Only ":edit"
* can bring us here, others are stopped earlier. */
if (*eap->arg != NUL && curbuf_locked())
// Can't edit another file when "curbuf->b_ro_lockec" is set. Only ":edit"
// can bring us here, others are stopped earlier.
if (*eap->arg != NUL && curbuf_locked()) {
return;
}
n = readonlymode;
if (eap->cmdidx == CMD_view || eap->cmdidx == CMD_sview)
readonlymode = TRUE;
else if (eap->cmdidx == CMD_enew)
readonlymode = FALSE; /* 'readonly' doesn't make sense in an
empty buffer */
if (eap->cmdidx == CMD_view || eap->cmdidx == CMD_sview) {
readonlymode = true;
} else if (eap->cmdidx == CMD_enew) {
readonlymode = false; // 'readonly' doesn't make sense
// in an empty buffer
}
if (eap->cmdidx != CMD_balt && eap->cmdidx != CMD_badd) {
setpcmark();
}

View File

@@ -2412,8 +2412,8 @@ char_u * get_text_locked_msg(void) {
}
}
/// Check if "curbuf_lock" or "allbuf_lock" is set and return TRUE when it is
/// and give an error message.
/// Check if "curbuf->b_ro_locked" or "allbuf_lock" is set and
/// return TRUE when it is and give an error message.
int curbuf_locked(void)
{
if (curbuf->b_ro_locked > 0) {

View File

@@ -2965,7 +2965,7 @@ func Test_cclose_in_autocmd()
" call test_override('starting', 0)
endfunc
" Check that ":file" without an argument is possible even when "curbuf_lock"
" Check that ":file" without an argument is possible even when curbuf is locked
" is set.
func Test_file_from_copen()
" Works without argument.