Michael Wookey wrote: > > One bug that I didn't fix. Build gvim.exe with OLE=no, run 'gvim -register', > > and watch it crash while trying to display an error message. > > This seems to fix the bug... > > Index: src/message.c > =================================================================== > --- src/message.c (revision 212) > +++ src/message.c (working copy) > @@ -2987,7 +2987,7 @@ > * If 'verbosefile' is set write message in that file. > * Must come before the rest because of updating "msg_col". > */ > - if (*p_vfile != NUL) > + if (p_vfile && *p_vfile != NUL) > verbose_write(s, maxlen); > > if (redir_fd != NULL > Index: src/misc2.c > =================================================================== > --- src/misc2.c (revision 212) > +++ src/misc2.c (working copy) > @@ -1748,7 +1748,7 @@ > return NULL; > } > #endif > - while ((b = *p) != NUL) > + while (p && (b = *p) != NUL) > { > if (b == c) > return p; >
Well, that may fix it, but the problem is that the order of initializations is violated. Normally all option pointers are not NULL. What is the message that triggers this problem? That message should probably be changed to mch_errmsg(). -- The difference between theory and practice, is that in theory, there is no difference between theory and practice. /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ download, build and distribute -- http://www.A-A-P.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///