diff options
Diffstat (limited to 'src/nvim/option.c')
-rw-r--r-- | src/nvim/option.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/nvim/option.c b/src/nvim/option.c index 6428ef1eb3..63ea2ee338 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -6516,10 +6516,13 @@ void comp_col(void) void unset_global_local_option(char *name, void *from) { struct vimoption *p; - int opt_idx; buf_T *buf = (buf_T *)from; - opt_idx = findoption((uint8_t *)name); + int opt_idx = findoption((uint8_t *)name); + if (opt_idx < 0) { + EMSG2(_("E355: Unknown option: %s"), name); + return; + } p = &(options[opt_idx]); switch ((int)p->indir) @@ -7674,7 +7677,6 @@ static void paste_option_changed(void) static int save_ru = 0; static int save_ri = 0; static int save_hkmap = 0; - buf_T *buf; if (p_paste) { /* @@ -7683,7 +7685,7 @@ static void paste_option_changed(void) */ if (!old_p_paste) { /* save options for each buffer */ - for (buf = firstbuf; buf != NULL; buf = buf->b_next) { + FOR_ALL_BUFFERS(buf) { buf->b_p_tw_nopaste = buf->b_p_tw; buf->b_p_wm_nopaste = buf->b_p_wm; buf->b_p_sts_nopaste = buf->b_p_sts; @@ -7707,7 +7709,7 @@ static void paste_option_changed(void) * already on. */ /* set options for each buffer */ - for (buf = firstbuf; buf != NULL; buf = buf->b_next) { + FOR_ALL_BUFFERS(buf) { buf->b_p_tw = 0; /* textwidth is 0 */ buf->b_p_wm = 0; /* wrapmargin is 0 */ buf->b_p_sts = 0; /* softtabstop is 0 */ @@ -7732,7 +7734,7 @@ static void paste_option_changed(void) */ else if (old_p_paste) { /* restore options for each buffer */ - for (buf = firstbuf; buf != NULL; buf = buf->b_next) { + FOR_ALL_BUFFERS(buf) { buf->b_p_tw = buf->b_p_tw_nopaste; buf->b_p_wm = buf->b_p_wm_nopaste; buf->b_p_sts = buf->b_p_sts_nopaste; |