IMHO, Our prefect Vim is somethings like that: it has a strong and
fast script system used to process the logical of editor (handle the
advance functions), and fast algorithm to implement efficiency-
sensitive part. all version of script code are have a same version of
binary implement (or we made a bytecode-to-nativecode compiler, or we
compile script into C code), and can dynamic linked into main program.

first, we have a static small Vim, it fastest and smallest. it doesn't
contain a middle-level script system. all of function are implement by
C code. and no need high-level function, our purpose is this version
is just smaller and faster than old-Vim.

the main resolve method is use consistency code and volatile data to
decrease the complexity of code (e.g. use arugment struct to replace
global variables, use function-array to replace switch-block). that
maybe a little slow than old-vim, but we can use new fast algorithm to
balance (e.g. use block memory manage to replace memory line, use copy-
on-write and ref-count to prevent copy, etc. -- especially in undo
module, my concept will make undo system more easy).

this version of Vim can use FEAT_TINY to compile. the only way to
*add* features is add dynamic library (so if it has enough librarys,
it will change to full feature version).

then, the normal version contain a new script-system and a parser.
they are used to support syntax collect & highlight. we can add
scripts instead of librarys to *change* its feature instead of add
feature.

the huge version contains other locale or seldom features, e.g. right
to left edit, multibyte handle (new Vim use utf-8 for inner encoding,
this is just a built-in iconv library and add change encoding
support), etc.

the different of version is the function is hard-compile into binary
program or must use dynamic library or script to plug-in. just choose
functions in configure file.

I will have a lot of things to do, but the direction is clear.

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui