patch 8.1.0107: Python: getting buffer option clears message
Problem: Python: getting buffer option clears message. (Jacob Niehus)
Solution: Don't use aucmd_prepbuf(). (closes #3079)
diff --git a/src/option.c b/src/option.c
index 94cd7aa..d7d4117 100644
--- a/src/option.c
+++ b/src/option.c
@@ -9692,7 +9692,7 @@
* consider it set when 'ff' or 'fenc' changed. */
if (p->indir == PV_MOD)
{
- *numval = bufIsChanged((buf_T *) from);
+ *numval = bufIsChanged((buf_T *)from);
varp = NULL;
}
#ifdef FEAT_CRYPT
@@ -9705,17 +9705,21 @@
#endif
else
{
- aco_save_T aco;
- aucmd_prepbuf(&aco, (buf_T *) from);
+ buf_T *save_curbuf = curbuf;
+
+ // only getting a pointer, no need to use aucmd_prepbuf()
+ curbuf = (buf_T *)from;
+ curwin->w_buffer = curbuf;
varp = get_varp(p);
- aucmd_restbuf(&aco);
+ curbuf = save_curbuf;
+ curwin->w_buffer = curbuf;
}
}
else if (opt_type == SREQ_WIN)
{
- win_T *save_curwin;
- save_curwin = curwin;
- curwin = (win_T *) from;
+ win_T *save_curwin = curwin;
+
+ curwin = (win_T *)from;
curbuf = curwin->w_buffer;
varp = get_varp(p);
curwin = save_curwin;