Ensure starting glyph is valid at layout (fixes :set lines=9999 crash)

git-svn-id: http://macvim.googlecode.com/svn/trunk@321 96c4425d-ca35-0410-94e5-3396d5c13a8f
Initial commit
Moved MacVim project to src/MacVim and removed runtime folder
Applied MacVim r320 patch
Generated configure script
Teach git to ignore generated files.

Adds entries to .gitignore for all the stuff that gets generated during an ordinary build of MacVim. Also, some automatically-generated files seem to have crept into the upstream repository, so let's remove them.

Signed-off-by: Tim Allen <screwtape@froup.com>
Remove MacVim.xcodeproj/winckler.* from repo and ignore src/TAGS
Only update menu state on actual state change.

Problem: Menu updates caused noticable delays because every menu item got
updated on state changes.
Solution: Remember old state and only pass update event on to MacVim if the new
state differs from the old one.

Also add .*.swp to .gitignore to ignore Vim swapfiles.
Fix a text rending problem caused by MMTypesetter class in Leopard

In Leopard, Cocoa Text System seems need a concrete instance of
NSTypesetter for NSLayoutManager, like NSATSTypesetter, otherwise,
the call to -layoutParagraphAtPoint: simply fails. I guess that
method in NSTypesetter has become "virtual" in Leopard.
Disable useless scrollbars
Fix cursor blinking in insert mode.

Calls to draw text with the DRAW_TRANSP flag were ignored.  By not ignoring
these calls the background of the cursor is erased also in insert mode so that
blinking works.
Replace underscores with spaces when parsing font names.

Now possible to use either
  :set gfn=Courier\ New:h10
or
  :set gfn=Courier_New:h10
to set the font.
Fix ":set go+=c" and menu autoenabling bugs.

Bug: With 'go+=c' Vim could enter a key wait loop while processInput==TRUE
which caused all keyboard input to be dropped.
Fix: Don't drop keyboard input when processInput==TRUE

Bug: With 'go+c' Vim disabled all menu items before quitting which caused
autoenabling not to work so the "New Window" was sometimes grey when no windows
were open.
Fix: Enable all menu items in recurseSetAutoenablesItems.
Reduce update delay when resizing with mouse.

By forcing an update of the text view at the end of batch processing of draw
commands the update delay when dragging to resize is reduced.
Changed DiffText and Constant highlight groups
Add input queue to backend, fixing process leak problem.

Mouse and keyboard input is handled immediately, all other input is put on a
queue which is processed whenever gui_mch_update() is called.  This avoids DO
calls to be sent from the backend during processing of another DO call.  (See
comments in MMBackend processInput:data: and processInputQueue.)  One problem
this caused was that connectionDidDie notification was not received when
processInput:data: got called recursively (and thus processes could "leak").

Also did some code cleanup to MMBackend.
Sort .gitignore in alphabetical order for consistency

Signed-off-by: Adam Mercer <ramercer@gmail.com>
Ignore the auto generated file src/auto/if_perl.c

Signed-off-by: Adam Mercer <ramercer@gmail.com>
Ignore .DS_Store

Signed-off-by: Adam Mercer <ramercer@gmail.com>
Draw the current text view size in the titlebar during resize operations.

It seems that NSWindows get notfied of each step of the live-resize, but
NSViews get notified of the start and end events. So, we make MMTextView
forward these notifications to the window controller, and let the window
controller figure out when to change the title.

Signed-off-by: Tim Allen <screwtape@froup.com>