mirror of
https://github.com/neovim/neovim.git
synced 2025-09-08 12:28:18 +00:00
refactor: remove all mentions to curbuf_lock
This commit is contained in:
@@ -525,7 +525,8 @@ struct file_buffer {
|
|||||||
int b_flags; // various BF_ flags
|
int b_flags; // various BF_ flags
|
||||||
int b_locked; // Buffer is being closed or referenced, don't
|
int b_locked; // Buffer is being closed or referenced, don't
|
||||||
// let autocommands wipe it out.
|
// 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).
|
// b_ffname has the full path of the file (NULL for no name).
|
||||||
|
@@ -58,7 +58,7 @@
|
|||||||
#define EX_SBOXOK 0x40000 // allowed in the sandbox
|
#define EX_SBOXOK 0x40000 // allowed in the sandbox
|
||||||
#define EX_CMDWIN 0x80000 // allowed in cmdline window; when missing
|
#define EX_CMDWIN 0x80000 // allowed in cmdline window; when missing
|
||||||
// disallows editing another buffer when
|
// disallows editing another buffer when
|
||||||
// curbuf_lock is set
|
// current buffer is locked
|
||||||
#define EX_MODIFY 0x100000 // forbidden in non-'modifiable' buffer
|
#define EX_MODIFY 0x100000 // forbidden in non-'modifiable' buffer
|
||||||
#define EX_FLAGS 0x200000 // allow flags after count in argument
|
#define EX_FLAGS 0x200000 // allow flags after count in argument
|
||||||
#define EX_FILES (EX_XFILE | EX_EXTRA) // multiple extra files allowed
|
#define EX_FILES (EX_XFILE | EX_EXTRA) // multiple extra files allowed
|
||||||
|
@@ -1518,7 +1518,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
|
|||||||
goto doend;
|
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 ":checktime" (it is postponed).
|
||||||
// Do allow ":edit" (check for an argument later).
|
// Do allow ":edit" (check for an argument later).
|
||||||
// Do allow ":file" with no arguments (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
|
else
|
||||||
ea.arg = skipwhite(p);
|
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()) {
|
if (ea.cmdidx == CMD_file && *ea.arg != NUL && curbuf_locked()) {
|
||||||
goto doend;
|
goto doend;
|
||||||
}
|
}
|
||||||
@@ -7344,16 +7344,18 @@ do_exedit(
|
|||||||
old_curwin == NULL ? curwin : NULL);
|
old_curwin == NULL ? curwin : NULL);
|
||||||
} else if ((eap->cmdidx != CMD_split && eap->cmdidx != CMD_vsplit)
|
} else if ((eap->cmdidx != CMD_split && eap->cmdidx != CMD_vsplit)
|
||||||
|| *eap->arg != NUL) {
|
|| *eap->arg != NUL) {
|
||||||
/* Can't edit another file when "curbuf_lock" is set. Only ":edit"
|
// Can't edit another file when "curbuf->b_ro_lockec" is set. Only ":edit"
|
||||||
* can bring us here, others are stopped earlier. */
|
// can bring us here, others are stopped earlier.
|
||||||
if (*eap->arg != NUL && curbuf_locked())
|
if (*eap->arg != NUL && curbuf_locked()) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
n = readonlymode;
|
n = readonlymode;
|
||||||
if (eap->cmdidx == CMD_view || eap->cmdidx == CMD_sview)
|
if (eap->cmdidx == CMD_view || eap->cmdidx == CMD_sview) {
|
||||||
readonlymode = TRUE;
|
readonlymode = true;
|
||||||
else if (eap->cmdidx == CMD_enew)
|
} else if (eap->cmdidx == CMD_enew) {
|
||||||
readonlymode = FALSE; /* 'readonly' doesn't make sense in an
|
readonlymode = false; // 'readonly' doesn't make sense
|
||||||
empty buffer */
|
// in an empty buffer
|
||||||
|
}
|
||||||
if (eap->cmdidx != CMD_balt && eap->cmdidx != CMD_badd) {
|
if (eap->cmdidx != CMD_balt && eap->cmdidx != CMD_badd) {
|
||||||
setpcmark();
|
setpcmark();
|
||||||
}
|
}
|
||||||
|
@@ -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
|
/// Check if "curbuf->b_ro_locked" or "allbuf_lock" is set and
|
||||||
/// and give an error message.
|
/// return TRUE when it is and give an error message.
|
||||||
int curbuf_locked(void)
|
int curbuf_locked(void)
|
||||||
{
|
{
|
||||||
if (curbuf->b_ro_locked > 0) {
|
if (curbuf->b_ro_locked > 0) {
|
||||||
|
@@ -2965,7 +2965,7 @@ func Test_cclose_in_autocmd()
|
|||||||
" call test_override('starting', 0)
|
" call test_override('starting', 0)
|
||||||
endfunc
|
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.
|
" is set.
|
||||||
func Test_file_from_copen()
|
func Test_file_from_copen()
|
||||||
" Works without argument.
|
" Works without argument.
|
||||||
|
Reference in New Issue
Block a user