Monday, December 2, 2013

Re: Re: improving Vim - Kickstarter - brainstorming - goals - who wants to join?


On Dec 2, 2013 6:28 PM, "Mikołaj Machowski" <mikmach@wp.pl> wrote:
>
> Dnia Poniedziałek, 2 Grudnia 2013 14:25 Marc Weber <marco-oweber@gmx.de> napisał(a)
> >
> > Excerpts from Nikolay Pavlov's message of Mon Dec 02 08:41:43 +0100 2013:
> > > - Making vim embeddable (making it second point since it is even more
> > > refactoring).
> > Keep in mind that Yzis team failed on this, see
> > http://www.freehackers.org/VimIntegration (which was posted in this
> > thread earlier)
>
> Yzis failed mainly because it was ugly hack around Qt event loop which meant (among others) it was sloooooow. Since then Qt evolved and building and maintenance of 'qvim' should be much easier.
>
> > > - Unicode support in regular expressions.
> > Can you also provide a simple use case, here ?
>
> Just guessing: [a-z] automatically cover national diacritics without need to list them separately eg [a-ząęćżźół] (this case would be covered by [:alpha:] but it is simplest example of usage)
>
> > > - Possibly sane unicode indexing (may require further string refactoring to
> > > be efficient).
> > Use case ?
>
> Vim doesn't recognize how many bytes are in character and indexing of strings may broke easily which is awkward: Vim is *text* editor and should deal with characters not bytes.
>
> > > - Stripping requirement to use shell to run applications.
> > Again, a use case would help much understanding what you mean exactly.
>
> Wouldn't proper threading take care about that problem?

Which problem? Process is run using C functions like execve. How vim runs system('command')? It runs execve("/bin/zsh", {"/bin/zsh", "-c", "(command) >/tmp/... 2&>1"}, env) (checked out with strace). You see: while one can call command directly it is calling shell and it calls the command. This has nothing to do with threading, it is more about efficiency (which is even worse then you imagine as some users prefer to use interactive versions of shell just to be able to use their aliases) and escaping (I was thinking about python subprocess-like first argument handling in system(): it takes lists as this argument and either escapes it (no other way on windows) for the program (not for the *shell*) or constructs execve call with this list transformed into array of strings).

>
> m.
>
>
> --
> --
> You received this message from the "vim_use" 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
>
> ---
> You received this message because you are subscribed to the Google Groups "vim_use" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

--
--
You received this message from the "vim_use" 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
 
---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment