mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
buffer: Move b_p_ma(modifiable) checks into the MODIFIABLE macro
This commit is contained in:
parent
8b6b06c2e0
commit
b16c5bf5e6
@ -2145,7 +2145,7 @@ void buflist_list(exarg_T *eap)
|
||||
(curwin->w_alt_fnum == buf->b_fnum ? '#' : ' '),
|
||||
buf->b_ml.ml_mfp == NULL ? ' ' :
|
||||
(buf->b_nwindows == 0 ? 'h' : 'a'),
|
||||
!buf->b_p_ma ? '-' : (buf->b_p_ro ? '=' : ' '),
|
||||
!MODIFIABLE(buf) ? '-' : (buf->b_p_ro ? '=' : ' '),
|
||||
(buf->b_flags & BF_READERR) ? 'x'
|
||||
: (bufIsChanged(buf) ? '+' : ' '),
|
||||
NameBuff);
|
||||
@ -2623,7 +2623,7 @@ void maketitle(void)
|
||||
|
||||
switch (bufIsChanged(curbuf)
|
||||
+ (curbuf->b_p_ro * 2)
|
||||
+ (!curbuf->b_p_ma * 4)) {
|
||||
+ (!MODIFIABLE(curbuf) * 4)) {
|
||||
case 1: STRCAT(buf, " +"); break;
|
||||
case 2: STRCAT(buf, " ="); break;
|
||||
case 3: STRCAT(buf, " =+"); break;
|
||||
@ -3250,7 +3250,7 @@ build_stl_str_hl (
|
||||
itemisflag = TRUE;
|
||||
switch ((opt == STL_MODIFIED_ALT)
|
||||
+ bufIsChanged(wp->w_buffer) * 2
|
||||
+ (!wp->w_buffer->b_p_ma) * 4) {
|
||||
+ (!MODIFIABLE(wp->w_buffer)) * 4) {
|
||||
case 2: str = (char_u *)"[+]"; break;
|
||||
case 3: str = (char_u *)",+"; break;
|
||||
case 4: str = (char_u *)"[-]"; break;
|
||||
|
@ -27,6 +27,8 @@
|
||||
// for String
|
||||
#include "nvim/api/private/defs.h"
|
||||
|
||||
#define MODIFIABLE(buf) (buf->b_p_ma)
|
||||
|
||||
/*
|
||||
* Flags for w_valid.
|
||||
* These are set when something in a window structure becomes invalid, except
|
||||
|
@ -2078,7 +2078,7 @@ void ex_diffgetput(exarg_T *eap)
|
||||
if ((curtab->tp_diffbuf[idx_other] != curbuf)
|
||||
&& (curtab->tp_diffbuf[idx_other] != NULL)) {
|
||||
if ((eap->cmdidx != CMD_diffput)
|
||||
|| curtab->tp_diffbuf[idx_other]->b_p_ma) {
|
||||
|| MODIFIABLE(curtab->tp_diffbuf[idx_other])) {
|
||||
break;
|
||||
}
|
||||
found_not_ma = TRUE;
|
||||
@ -2098,7 +2098,8 @@ void ex_diffgetput(exarg_T *eap)
|
||||
for (i = idx_other + 1; i < DB_COUNT; ++i) {
|
||||
if ((curtab->tp_diffbuf[i] != curbuf)
|
||||
&& (curtab->tp_diffbuf[i] != NULL)
|
||||
&& ((eap->cmdidx != CMD_diffput) || curtab->tp_diffbuf[i]->b_p_ma)) {
|
||||
&& ((eap->cmdidx != CMD_diffput)
|
||||
|| MODIFIABLE(curtab->tp_diffbuf[i]))) {
|
||||
EMSG(_("E101: More than two buffers in diff mode, don't know "
|
||||
"which one to use"));
|
||||
return;
|
||||
|
@ -3656,7 +3656,7 @@ void do_sub(exarg_T *eap)
|
||||
if (eap->skip) /* not executing commands, only parsing */
|
||||
return;
|
||||
|
||||
if (!do_count && !curbuf->b_p_ma) {
|
||||
if (!do_count && !MODIFIABLE(curbuf)) {
|
||||
/* Substitution is not allowed in non-'modifiable' buffer */
|
||||
EMSG(_(e_modifiable));
|
||||
return;
|
||||
|
@ -1510,7 +1510,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
|
||||
errormsg = (char_u *)_(e_sandbox);
|
||||
goto doend;
|
||||
}
|
||||
if (!curbuf->b_p_ma && (ea.argt & MODIFY)) {
|
||||
if (!MODIFIABLE(curbuf) && (ea.argt & MODIFY)) {
|
||||
/* Command not allowed in non-'modifiable' buffer */
|
||||
errormsg = (char_u *)_(e_modifiable);
|
||||
goto doend;
|
||||
|
@ -1563,7 +1563,7 @@ static void setSmallMaybe(garray_T *gap)
|
||||
*/
|
||||
static void foldCreateMarkers(linenr_T start, linenr_T end)
|
||||
{
|
||||
if (!curbuf->b_p_ma) {
|
||||
if (!MODIFIABLE(curbuf)) {
|
||||
EMSG(_(e_modifiable));
|
||||
return;
|
||||
}
|
||||
|
@ -1465,7 +1465,7 @@ void do_pending_operator(cmdarg_T *cap, int old_col, bool gui_yank)
|
||||
|
||||
/* Force a redraw when operating on an empty Visual region, when
|
||||
* 'modifiable is off or creating a fold. */
|
||||
if (oap->is_VIsual && (oap->empty || !curbuf->b_p_ma
|
||||
if (oap->is_VIsual && (oap->empty || !MODIFIABLE(curbuf)
|
||||
|| oap->op_type == OP_FOLD
|
||||
))
|
||||
redraw_curbuf_later(INVERTED);
|
||||
@ -5513,9 +5513,9 @@ static void nv_Replace(cmdarg_T *cap)
|
||||
VIsual_mode = 'V';
|
||||
nv_operator(cap);
|
||||
} else if (!checkclearopq(cap->oap)) {
|
||||
if (!curbuf->b_p_ma)
|
||||
if (!MODIFIABLE(curbuf)) {
|
||||
EMSG(_(e_modifiable));
|
||||
else {
|
||||
} else {
|
||||
if (virtual_active())
|
||||
coladvance(getviscol());
|
||||
invoke_edit(cap, false, cap->arg ? 'V' : 'R', false);
|
||||
@ -5533,9 +5533,9 @@ static void nv_vreplace(cmdarg_T *cap)
|
||||
cap->nchar = cap->extra_char;
|
||||
nv_replace(cap); /* Do same as "r" in Visual mode for now */
|
||||
} else if (!checkclearopq(cap->oap)) {
|
||||
if (!curbuf->b_p_ma)
|
||||
if (!MODIFIABLE(curbuf)) {
|
||||
EMSG(_(e_modifiable));
|
||||
else {
|
||||
} else {
|
||||
if (cap->extra_char == Ctrl_V) /* get another character */
|
||||
cap->extra_char = get_literal();
|
||||
stuffcharReadbuff(cap->extra_char);
|
||||
|
@ -583,7 +583,7 @@ void op_reindent(oparg_T *oap, Indenter how)
|
||||
linenr_T start_lnum = curwin->w_cursor.lnum;
|
||||
|
||||
/* Don't even try when 'modifiable' is off. */
|
||||
if (!curbuf->b_p_ma) {
|
||||
if (!MODIFIABLE(curbuf)) {
|
||||
EMSG(_(e_modifiable));
|
||||
return;
|
||||
}
|
||||
@ -1329,7 +1329,7 @@ int op_delete(oparg_T *oap)
|
||||
if (oap->empty)
|
||||
return u_save_cursor();
|
||||
|
||||
if (!curbuf->b_p_ma) {
|
||||
if (!MODIFIABLE(curbuf)) {
|
||||
EMSG(_(e_modifiable));
|
||||
return FAIL;
|
||||
}
|
||||
|
@ -3748,7 +3748,7 @@ did_set_string_option (
|
||||
/* 'encoding' and 'fileencoding' */
|
||||
else if (varp == &p_enc || gvarp == &p_fenc || varp == &p_tenc) {
|
||||
if (gvarp == &p_fenc) {
|
||||
if (!curbuf->b_p_ma && opt_flags != OPT_GLOBAL)
|
||||
if (!MODIFIABLE(curbuf) && opt_flags != OPT_GLOBAL)
|
||||
errmsg = e_modifiable;
|
||||
else if (vim_strchr(*varp, ',') != NULL)
|
||||
/* No comma allowed in 'fileencoding'; catches confusing it
|
||||
@ -3819,7 +3819,7 @@ did_set_string_option (
|
||||
}
|
||||
/* 'fileformat' */
|
||||
else if (gvarp == &p_ff) {
|
||||
if (!curbuf->b_p_ma && !(opt_flags & OPT_GLOBAL))
|
||||
if (!MODIFIABLE(curbuf) && !(opt_flags & OPT_GLOBAL))
|
||||
errmsg = e_modifiable;
|
||||
else if (check_opt_strings(*varp, p_ff_values, FALSE) != OK)
|
||||
errmsg = e_invarg;
|
||||
|
@ -289,7 +289,7 @@ int u_savedel(linenr_T lnum, long nlines)
|
||||
int undo_allowed(void)
|
||||
{
|
||||
/* Don't allow changes when 'modifiable' is off. */
|
||||
if (!curbuf->b_p_ma) {
|
||||
if (!MODIFIABLE(curbuf)) {
|
||||
EMSG(_(e_modifiable));
|
||||
return FALSE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user