62770Re: racket (:mz) SEGV's vim
- Oct 5, 2011Tim Brown wrote:
> Please find attached a patch for the following issue:Thanks for the patch, I'll put it on the todo list.
> :mzscheme could be invoked before the mzscheme/racket libraries were
> initialised, e.g. in startup scripts and on the command line.
> Therefore the following would SEGV:
> vim +':mz 1'
> Even though:
> :mz 1
> works when editing a file.
> mzscheme expects to be invoked by a "trampoline" that wraps around the
> main() of the embedding environment -- and this trampoline is around
> exe_pre_commands() and source_startup_scripts() are outside the scope
> of the trampoline.
> This patch causes main() to be called in two parts. The first part
> sets up vim's environment and globals, but does not execute any vim
> commands (as far as I can tell). It then calls to mzscheme_init, which
> eventually recurs into main(); which skips the initialisation, and
> proceeds with anything that may perform commands.
> * I pass fname and params between invocations of main() through the
> static variables save_mz_fname and save_mz_params. There is
> justification at the top of main() for doing so. I'm not so keen on
> statics, myself -- so I've not re-declared fname and params
> * The other option would be to split main into two parts -- an
> "initialisation" and a "commands" part. Then start up vim with:
> main(argc, argv)
> calls mzscheme_init(argc, argv, fname, params)
> calls ... main_part2(argc, argv, fname, params)
> [or, in the case of !FEAT_MZSCHEME: main(argc,argv) calls
> main_part2(argc, argv, fname, params)]
> I think I've done enough in main already! And, unless there is more
> general merit in such a refactoring, this is as much disruption as I
> need to cause :-)
> Thanks Sergey and Bram for your help!
Is the configure change that was previously send also needed?
Don't read everything you believe.
/// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
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
- << Previous post in topic Next post in topic >>