Hi, Bram,
It came up in a private conversation I had that this line in get_varp() is
useless:
default: EMSG(_("E356: get_varp ERROR"));
The reason is that the first time it is called, it is because set_options_default
is running at initialisation time, and since this happens in alphabetical order,
almost every option is initialised before 'verbosefile' is.
But EMSG eventually checks 'verbosefile' (p_vfile) to write to it, and in so
doing, it segfaults (in redir_write).
The patch below fixes it. Don't know if it's worth the bother, though.
Ben.
diff -r 4ad7ccf65de3 src/option.c
--- a/src/option.c Sun Jan 30 08:39:51 2011 +0100
+++ b/src/option.c Fri Feb 04 03:35:56 2011 +1100
@@ -3493,6 +3493,10 @@
tabpage_T *tp;
#endif
+ /* Initialise p_vfile ('verbosefile') manually first, as if other
+ * initialisations cause errors, it is needed to display them. */
+ p_vfile = (char_u *)"";
+
for (i = 0; !istermoption(&options[i]); i++)
if (!(options[i].flags & P_NODEFAULT))
set_option_default(i, opt_flags, p_cp);
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php