---------- Forwarded message ----------
From: Jjgod Jiang <[EMAIL PROTECTED]>
Date: Sat, Nov 29, 2008 at 11:22 AM
Subject: Re: vim-cocoa 0.3 beta 1 released
To: Bram Moolenaar <[EMAIL PROTECTED]>


Hi Bram,

On Fri, Nov 28, 2008 at 11:37 PM, Bram Moolenaar <[EMAIL PROTECTED]> wrote:
> I'm still a bit in doubt what to plan for the core Vim code.  The MacVim
> project is also making a lot of progress.  And some Mac code is too old
> and buggy.

That's what I have been thinking for quite a long time. And I believe MacVim
developers are also considering this. Let me explain the situation in a more
detailed manner (Björn et. al., correct me if I'm wrong), so that more people
can see what's going on:

1. Do we still need to maintain the old (Carbon) code?

As you can see, the Carbon code (gui_mac.c) was developed between Mac OS
10.0 to 10.2 age, with the hope of supporting both Mac OS Classic and Mac OS
X. It's not a bad implementation at that time. But as time goes by, the
system environment and application framework provided by Apple have been
changed greatly (Apple is a company embracing for change). Though Apple
is striving to maintain compatibility since then (that's why the carbon
code still builds and runs, and works more or less), but as we are towards
64-bit and Snow Leopard, Carbon will be dropped eventually. So there is no
good way to revive the old carbon code without completely rewrite it with
Cocoa (that's what we have been doing since 2007).

In my opinion, to avoid confusion and give more Mac-vimmers a better
experience, the original Carbon code should be freezed and only to be
used for pre-10.4 systems. For Tiger and Leopard (and the upcoming Snow
Leopard), a Cocoa-based implementation should be chosen as the default
GUI.

2. Is MacVim/vim-cocoa ready to be integrated?

From the user experience perspect, both of them are stable enough and
used by many people. In fact, MacVim is becoming the "de facto" option
for most vim users newly come to Mac.

Part of the code base of MacVim or vim-cocoa may be Mac OS X 10.5 only,
but I believe in general, Björn and me are working hard to maintain
10.4 compatibility.

So both of them are ready. Or soon to be ready if not.

3. What's the rock blocking this integration?

The rock, I believe, is the development model vim currently used. It's
a completely "cathedral" like model, in which sources are updated
iteratively patch by patch.

However, the development of MacVim (and vim-cocoa sometimes) is done
in a much higher traffic way with central git repository maintained
by Björn (or me, for vim-cocoa case) and several private repositories
maintained by other developers. New releases are tagged from the
central git repo and binaries are built from the tag.

While I'm not trying to argue which model is better, I simply don't
see any easy way for us to integrate the source of MacVim or vim-cocoa
and keep the vim core tree updated, since all changes must be sent out
by you, in a patch by patch manner. The git approach is definitely
more friendly for regular changes since both MacVim and vim-cocoa are
actively developing.

Besides, some parts of MacVim/vim-cocoa sources contain binary resource
files (images, nibs, etc.), so there is no way to use regular patches
to update them.

4. So far, here is the situation we're facing. Suggestions are welcomed,
since personally I'm really eager to see a bright future of vim/mac
development!

- Jiang

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

Reply via email to