mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-02 11:19:22 +02:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3b966f9e01 | |||
| 8009a9912d | |||
| cdf043f0f9 | |||
| 757e8b4359 | |||
| 7b68b0b56d | |||
| 21b029712f | |||
| 80b4c97a2c | |||
| 404077032e | |||
| 04cd1420c1 | |||
| 46ae2ec9cb | |||
| 85cc2265e8 | |||
| 4c3907a8ff | |||
| f4fef46de2 | |||
| 28c76af675 |
+1
-3
@@ -9,9 +9,7 @@
|
||||
<key>IBOldestOS</key>
|
||||
<integer>5</integer>
|
||||
<key>IBOpenObjects</key>
|
||||
<array>
|
||||
<integer>310</integer>
|
||||
</array>
|
||||
<array/>
|
||||
<key>IBSystem Version</key>
|
||||
<string>9D34</string>
|
||||
<key>targetFramework</key>
|
||||
|
||||
Binary file not shown.
@@ -574,7 +574,7 @@
|
||||
<key>CFBundleSignature</key>
|
||||
<string>VIMM</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>30</string>
|
||||
<string>31</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
||||
@@ -96,6 +96,8 @@ enum {
|
||||
- (void)clearAll;
|
||||
- (void)drawInsertionPointAtRow:(int)row column:(int)col shape:(int)shape
|
||||
fraction:(int)percent color:(NSColor *)color;
|
||||
- (void)drawInvertedRectAtRow:(int)row column:(int)col numRows:(int)nrows
|
||||
numColumns:(int)ncols;
|
||||
@end
|
||||
|
||||
|
||||
@@ -418,14 +420,6 @@ enum {
|
||||
if ([[NSApp mainMenu] performKeyEquivalent:event])
|
||||
return YES;
|
||||
|
||||
// HACK! Give the default main menu a chance to handle the key down event.
|
||||
// This is to ensure that the standard mappings (which are in the default
|
||||
// main menu) are always available, also when the default Vim menus are
|
||||
// used (these do not set any key equivalents!).
|
||||
if ([[[MMAppController sharedInstance] defaultMainMenu]
|
||||
performKeyEquivalent:event])
|
||||
return YES;
|
||||
|
||||
// HACK! On Leopard Ctrl-key events end up here instead of keyDown:.
|
||||
if (flags & NSControlKeyMask) {
|
||||
[self keyDown:event];
|
||||
@@ -607,6 +601,19 @@ enum {
|
||||
[self drawInsertionPointAtRow:row column:col shape:shape
|
||||
fraction:percent
|
||||
color:[NSColor colorWithRgbInt:color]];
|
||||
} else if (DrawInvertedRectDrawType == type) {
|
||||
int row = *((int*)bytes); bytes += sizeof(int);
|
||||
int col = *((int*)bytes); bytes += sizeof(int);
|
||||
int nr = *((int*)bytes); bytes += sizeof(int);
|
||||
int nc = *((int*)bytes); bytes += sizeof(int);
|
||||
/*int invert = *((int*)bytes);*/ bytes += sizeof(int);
|
||||
|
||||
#if MM_DEBUG_DRAWING
|
||||
NSLog(@" Draw inverted rect: row=%d col=%d nrows=%d ncols=%d",
|
||||
row, col, nr, nc);
|
||||
#endif
|
||||
[self drawInvertedRectAtRow:row column:col numRows:nr
|
||||
numColumns:nc];
|
||||
} else if (SetCursorPosDrawType == type) {
|
||||
// TODO: This is used for Voice Over support in MMTextView,
|
||||
// MMAtsuiTextView currently does not support Voice Over.
|
||||
@@ -1141,4 +1148,20 @@ enum {
|
||||
}
|
||||
}
|
||||
|
||||
- (void)drawInvertedRectAtRow:(int)row column:(int)col numRows:(int)nrows
|
||||
numColumns:(int)ncols
|
||||
{
|
||||
// TODO: THIS CODE HAS NOT BEEN TESTED!
|
||||
CGContextRef cgctx = [[NSGraphicsContext currentContext] graphicsPort];
|
||||
CGContextSaveGState(cgctx);
|
||||
CGContextSetBlendMode(cgctx, kCGBlendModeDifference);
|
||||
CGContextSetRGBFillColor(cgctx, 1.0, 1.0, 1.0, 1.0);
|
||||
|
||||
CGRect rect = { col * cellSize.width, row * cellSize.height,
|
||||
ncols * cellSize.width, nrows * cellSize.height };
|
||||
CGContextFillRect(cgctx, rect);
|
||||
|
||||
CGContextRestoreGState(cgctx);
|
||||
}
|
||||
|
||||
@end // MMAtsuiTextView (Drawing)
|
||||
|
||||
@@ -71,6 +71,8 @@
|
||||
scrollBottom:(int)bottom left:(int)left right:(int)right;
|
||||
- (void)drawCursorAtRow:(int)row column:(int)col shape:(int)shape
|
||||
fraction:(int)percent color:(int)color;
|
||||
- (void)drawInvertedRectAtRow:(int)row column:(int)col numRows:(int)nr
|
||||
numColumns:(int)nc invert:(int)invert;
|
||||
- (void)update;
|
||||
- (void)flushQueue:(BOOL)force;
|
||||
- (BOOL)waitForInput:(int)milliseconds;
|
||||
|
||||
+67
-7
@@ -80,6 +80,7 @@ static NSString *MMSymlinkWarningString =
|
||||
|
||||
|
||||
@interface MMBackend (Private)
|
||||
- (void)waitForDialogReturn;
|
||||
- (void)queueVimStateMessage;
|
||||
- (void)processInputQueue;
|
||||
- (void)handleInputEvent:(int)msgid data:(NSData *)data;
|
||||
@@ -428,6 +429,19 @@ static NSString *MMSymlinkWarningString =
|
||||
[drawData appendBytes:&percent length:sizeof(int)];
|
||||
}
|
||||
|
||||
- (void)drawInvertedRectAtRow:(int)row column:(int)col numRows:(int)nr
|
||||
numColumns:(int)nc invert:(int)invert
|
||||
{
|
||||
int type = DrawInvertedRectDrawType;
|
||||
[drawData appendBytes:&type length:sizeof(int)];
|
||||
|
||||
[drawData appendBytes:&row length:sizeof(int)];
|
||||
[drawData appendBytes:&col length:sizeof(int)];
|
||||
[drawData appendBytes:&nr length:sizeof(int)];
|
||||
[drawData appendBytes:&nc length:sizeof(int)];
|
||||
[drawData appendBytes:&invert length:sizeof(int)];
|
||||
}
|
||||
|
||||
- (void)update
|
||||
{
|
||||
// Tend to the run loop, returning immediately if there are no events
|
||||
@@ -640,9 +654,7 @@ static NSString *MMSymlinkWarningString =
|
||||
@try {
|
||||
[frontendProxy showSavePanelForDirectory:ds title:ts saving:saving];
|
||||
|
||||
// Wait until a reply is sent from MMVimController.
|
||||
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode
|
||||
beforeDate:[NSDate distantFuture]];
|
||||
[self waitForDialogReturn];
|
||||
|
||||
if (dialogReturn && [dialogReturn isKindOfClass:[NSString class]]) {
|
||||
char_u *ret = (char_u*)[dialogReturn UTF8String];
|
||||
@@ -664,13 +676,18 @@ static NSString *MMSymlinkWarningString =
|
||||
return (char *)s;
|
||||
}
|
||||
|
||||
- (oneway void)setDialogReturn:(in bycopy id)obj
|
||||
- (void)setDialogReturn:(in bycopy id)obj
|
||||
{
|
||||
// NOTE: This is called by
|
||||
// - [MMVimController panelDidEnd:::], and
|
||||
// - [MMVimController alertDidEnd:::],
|
||||
// to indicate that a save/open panel or alert has finished.
|
||||
|
||||
// We want to distinguish between "no dialog return yet" and "dialog
|
||||
// returned nothing". The former can be tested with dialogReturn == nil,
|
||||
// the latter with dialogReturn == [NSNull null].
|
||||
if (!obj) obj = [NSNull null];
|
||||
|
||||
if (obj != dialogReturn) {
|
||||
[dialogReturn release];
|
||||
dialogReturn = [obj retain];
|
||||
@@ -719,9 +736,7 @@ static NSString *MMSymlinkWarningString =
|
||||
informativeText:text buttonTitles:buttons
|
||||
textFieldString:textFieldString];
|
||||
|
||||
// Wait until a reply is sent from MMVimController.
|
||||
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode
|
||||
beforeDate:[NSDate distantFuture]];
|
||||
[self waitForDialogReturn];
|
||||
|
||||
if (dialogReturn && [dialogReturn isKindOfClass:[NSArray class]]
|
||||
&& [dialogReturn count]) {
|
||||
@@ -1475,6 +1490,49 @@ static NSString *MMSymlinkWarningString =
|
||||
|
||||
@implementation MMBackend (Private)
|
||||
|
||||
- (void)waitForDialogReturn
|
||||
{
|
||||
// Keep processing the run loop until a dialog returns. To avoid getting
|
||||
// stuck in an endless loop (could happen if the setDialogReturn: message
|
||||
// was lost) we also do some paranoia checks.
|
||||
//
|
||||
// Note that in Cocoa the user can still resize windows and select menu
|
||||
// items while a sheet is being displayed, so we can't just wait for the
|
||||
// first message to arrive and assume that is the setDialogReturn: call.
|
||||
|
||||
while (nil == dialogReturn && !got_int && [connection isValid]
|
||||
&& !isTerminating)
|
||||
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode
|
||||
beforeDate:[NSDate distantFuture]];
|
||||
|
||||
// Search for any resize messages on the input queue. All other messages
|
||||
// on the input queue are dropped. The reason why we single out resize
|
||||
// messages is because the user may have resized the window while a sheet
|
||||
// was open.
|
||||
int i, count = [inputQueue count];
|
||||
if (count > 0) {
|
||||
id textDimData = nil;
|
||||
if (count%2 == 0) {
|
||||
for (i = count-2; i >= 0; i -= 2) {
|
||||
int msgid = [[inputQueue objectAtIndex:i] intValue];
|
||||
if (SetTextDimensionsMsgID == msgid) {
|
||||
textDimData = [[inputQueue objectAtIndex:i+1] retain];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[inputQueue removeAllObjects];
|
||||
|
||||
if (textDimData) {
|
||||
[inputQueue addObject:
|
||||
[NSNumber numberWithInt:SetTextDimensionsMsgID]];
|
||||
[inputQueue addObject:textDimData];
|
||||
[textDimData release];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)queueVimStateMessage
|
||||
{
|
||||
// NOTE: This is the place to add Vim state that needs to be accessed from
|
||||
@@ -1494,6 +1552,8 @@ static NSString *MMSymlinkWarningString =
|
||||
|
||||
- (void)processInputQueue
|
||||
{
|
||||
if ([inputQueue count] == 0) return;
|
||||
|
||||
// NOTE: One of the input events may cause this method to be called
|
||||
// recursively, so copy the input queue to a local variable and clear it
|
||||
// before starting to process input events (otherwise we could get stuck in
|
||||
|
||||
@@ -29,14 +29,14 @@
|
||||
int preEditColumn;
|
||||
int mouseShape;
|
||||
BOOL antialias;
|
||||
NSRect *invertRects;
|
||||
int numInvertRects;
|
||||
}
|
||||
|
||||
- (id)initWithFrame:(NSRect)frame;
|
||||
|
||||
- (void)setShouldDrawInsertionPoint:(BOOL)on;
|
||||
- (void)setPreEditRow:(int)row column:(int)col;
|
||||
- (void)drawInsertionPointAtRow:(int)row column:(int)col shape:(int)shape
|
||||
fraction:(int)percent color:(NSColor *)color;
|
||||
- (void)hideMarkedTextField;
|
||||
- (void)performBatchDrawWithData:(NSData *)data;
|
||||
- (void)setMouseShape:(int)shape;
|
||||
|
||||
+107
-30
@@ -50,6 +50,8 @@ enum {
|
||||
- (void)setCursor;
|
||||
- (BOOL)convertPoint:(NSPoint)point toRow:(int *)row column:(int *)column;
|
||||
- (BOOL)convertRow:(int)row column:(int)column toPoint:(NSPoint *)point;
|
||||
- (BOOL)convertRow:(int)row column:(int)column numRows:(int)nr
|
||||
numColumns:(int)nc toRect:(NSRect *)rect;
|
||||
- (NSRect)trackingRect;
|
||||
- (void)dispatchKeyEvent:(NSEvent *)event;
|
||||
- (MMWindowController *)windowController;
|
||||
@@ -58,6 +60,10 @@ enum {
|
||||
- (void)dragTimerFired:(NSTimer *)timer;
|
||||
- (void)sendKeyDown:(const char *)chars length:(int)len modifiers:(int)flags;
|
||||
- (void)hideMouseCursor;
|
||||
- (void)drawInsertionPointAtRow:(int)row column:(int)col shape:(int)shape
|
||||
fraction:(int)percent color:(NSColor *)color;
|
||||
- (void)drawInvertedRectAtRow:(int)row column:(int)col numRows:(int)nrows
|
||||
numColumns:(int)ncols invert:(int)invert;
|
||||
@end
|
||||
|
||||
|
||||
@@ -130,6 +136,12 @@ enum {
|
||||
markedTextField = nil;
|
||||
}
|
||||
|
||||
if (invertRects) {
|
||||
free(invertRects);
|
||||
invertRects = NULL;
|
||||
numInvertRects = 0;
|
||||
}
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@@ -153,23 +165,6 @@ enum {
|
||||
preEditColumn = col;
|
||||
}
|
||||
|
||||
- (void)drawInsertionPointAtRow:(int)row column:(int)col shape:(int)shape
|
||||
fraction:(int)percent color:(NSColor *)color
|
||||
{
|
||||
//NSLog(@"drawInsertionPointAtRow:%d column:%d shape:%d color:%@",
|
||||
// row, col, shape, color);
|
||||
|
||||
// This only stores where to draw the insertion point, the actual drawing
|
||||
// is done in drawRect:.
|
||||
shouldDrawInsertionPoint = YES;
|
||||
insertionPointRow = row;
|
||||
insertionPointColumn = col;
|
||||
insertionPointShape = shape;
|
||||
insertionPointFraction = percent;
|
||||
|
||||
[self setInsertionPointColor:color];
|
||||
}
|
||||
|
||||
- (void)hideMarkedTextField
|
||||
{
|
||||
if (markedTextField) {
|
||||
@@ -300,6 +295,19 @@ enum {
|
||||
[self drawInsertionPointAtRow:row column:col shape:shape
|
||||
fraction:percent
|
||||
color:[NSColor colorWithRgbInt:color]];
|
||||
} else if (DrawInvertedRectDrawType == type) {
|
||||
int row = *((int*)bytes); bytes += sizeof(int);
|
||||
int col = *((int*)bytes); bytes += sizeof(int);
|
||||
int nr = *((int*)bytes); bytes += sizeof(int);
|
||||
int nc = *((int*)bytes); bytes += sizeof(int);
|
||||
int invert = *((int*)bytes); bytes += sizeof(int);
|
||||
|
||||
#if MM_DEBUG_DRAWING
|
||||
NSLog(@" Draw inverted rect: row=%d col=%d nrows=%d ncols=%d",
|
||||
row, col, nr, nc);
|
||||
#endif
|
||||
[self drawInvertedRectAtRow:row column:col numRows:nr numColumns:nc
|
||||
invert:invert];
|
||||
} else if (SetCursorPosDrawType == type) {
|
||||
cursorRow = *((int*)bytes); bytes += sizeof(int);
|
||||
cursorCol = *((int*)bytes); bytes += sizeof(int);
|
||||
@@ -452,6 +460,24 @@ enum {
|
||||
|
||||
[super drawRect:rect];
|
||||
|
||||
if (invertRects) {
|
||||
CGContextRef cgctx = (CGContextRef)[context graphicsPort];
|
||||
CGContextSaveGState(cgctx);
|
||||
CGContextSetBlendMode(cgctx, kCGBlendModeDifference);
|
||||
CGContextSetRGBFillColor(cgctx, 1.0, 1.0, 1.0, 1.0);
|
||||
|
||||
int i;
|
||||
CGRect *rect = (CGRect*)invertRects;
|
||||
for (i = 0; i < numInvertRects; ++i)
|
||||
CGContextFillRect(cgctx, rect[i]);
|
||||
|
||||
CGContextRestoreGState(cgctx);
|
||||
|
||||
free(invertRects);
|
||||
invertRects = NULL;
|
||||
numInvertRects = 0;
|
||||
}
|
||||
|
||||
if (shouldDrawInsertionPoint) {
|
||||
MMTextStorage *ts = (MMTextStorage*)[self textStorage];
|
||||
|
||||
@@ -652,14 +678,6 @@ enum {
|
||||
if ([[NSApp mainMenu] performKeyEquivalent:event])
|
||||
return YES;
|
||||
|
||||
// HACK! Give the default main menu a chance to handle the key down event.
|
||||
// This is to ensure that the standard mappings (which are in the default
|
||||
// main menu) are always available, also when the default Vim menus are
|
||||
// used (these do not set any key equivalents!).
|
||||
if ([[[MMAppController sharedInstance] defaultMainMenu]
|
||||
performKeyEquivalent:event])
|
||||
return YES;
|
||||
|
||||
// HACK! On Leopard Ctrl-key events end up here instead of keyDown:.
|
||||
if (flags & NSControlKeyMask) {
|
||||
[self keyDown:event];
|
||||
@@ -932,6 +950,11 @@ enum {
|
||||
MMTextStorage *ts = (MMTextStorage*)[self textStorage];
|
||||
if (!ts) return;
|
||||
|
||||
// HACK! NSTextView has a nasty habit of resetting the cursor to the
|
||||
// default I-beam cursor at random moments. The only reliable way we know
|
||||
// of to work around this is to set the cursor each time the mouse moves.
|
||||
[self setCursor];
|
||||
|
||||
NSPoint pt = [self convertPoint:[event locationInWindow] fromView:nil];
|
||||
int row, col;
|
||||
if (![self convertPoint:pt toRow:&row column:&col])
|
||||
@@ -964,11 +987,6 @@ enum {
|
||||
// key.
|
||||
if ([[self window] isKeyWindow]) {
|
||||
[[self window] setAcceptsMouseMovedEvents:YES];
|
||||
|
||||
// Ensure Vim gets to choose the mouse cursor when it enters over the
|
||||
// text view, otherwise NSTextView will automatically set its I-Beam
|
||||
// cursor.
|
||||
[self setCursor];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1250,6 +1268,23 @@ enum {
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (BOOL)convertRow:(int)row column:(int)column numRows:(int)nr
|
||||
numColumns:(int)nc toRect:(NSRect *)rect
|
||||
{
|
||||
MMTextStorage *ts = (MMTextStorage*)[self textStorage];
|
||||
NSSize cellSize = [ts cellSize];
|
||||
if (!(rect && cellSize.width > 0 && cellSize.height > 0))
|
||||
return NO;
|
||||
|
||||
rect->origin = [self textContainerOrigin];
|
||||
rect->origin.x += column * cellSize.width;
|
||||
rect->origin.y += row * cellSize.height;
|
||||
rect->size.width = cellSize.width * nc;
|
||||
rect->size.height = cellSize.height * nr;
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (NSRect)trackingRect
|
||||
{
|
||||
NSRect rect = [self frame];
|
||||
@@ -1400,4 +1435,46 @@ enum {
|
||||
[NSCursor setHiddenUntilMouseMoves:YES];
|
||||
}
|
||||
|
||||
- (void)drawInsertionPointAtRow:(int)row column:(int)col shape:(int)shape
|
||||
fraction:(int)percent color:(NSColor *)color
|
||||
{
|
||||
//NSLog(@"drawInsertionPointAtRow:%d column:%d shape:%d color:%@",
|
||||
// row, col, shape, color);
|
||||
|
||||
// This only stores where to draw the insertion point, the actual drawing
|
||||
// is done in drawRect:.
|
||||
shouldDrawInsertionPoint = YES;
|
||||
insertionPointRow = row;
|
||||
insertionPointColumn = col;
|
||||
insertionPointShape = shape;
|
||||
insertionPointFraction = percent;
|
||||
|
||||
[self setInsertionPointColor:color];
|
||||
}
|
||||
|
||||
- (void)drawInvertedRectAtRow:(int)row column:(int)col numRows:(int)nrows
|
||||
numColumns:(int)ncols invert:(int)invert
|
||||
{
|
||||
if (invert) {
|
||||
// The result should be inverted.
|
||||
int n = numInvertRects++;
|
||||
invertRects = reallocf(invertRects,
|
||||
numInvertRects*sizeof(NSRect));
|
||||
if (NULL != invertRects) {
|
||||
[self convertRow:row column:col numRows:nrows numColumns:ncols
|
||||
toRect:&invertRects[n]];
|
||||
[self setNeedsDisplayInRect:invertRects[n]];
|
||||
} else {
|
||||
n = numInvertRects = 0;
|
||||
}
|
||||
} else {
|
||||
// The result should look normal; all we need to do is to mark
|
||||
// the rect for redrawing and Cocoa will redraw the text.
|
||||
NSRect rect;
|
||||
[self convertRow:row column:col numRows:nrows numColumns:ncols
|
||||
toRect:&rect];
|
||||
[self setNeedsDisplayInRect:rect];
|
||||
}
|
||||
}
|
||||
|
||||
@end // MMTextView (Private)
|
||||
|
||||
@@ -47,6 +47,8 @@ static NSTimeInterval MMBackendProxyRequestTimeout = 0;
|
||||
static NSTimeInterval MMResendInterval = 0.5;
|
||||
#endif
|
||||
|
||||
static NSTimeInterval MMSetDialogReturnTimeout = 1.0;
|
||||
|
||||
|
||||
@interface MMAlert : NSAlert {
|
||||
NSTextField *textField;
|
||||
@@ -813,6 +815,15 @@ static NSTimeInterval MMResendInterval = 0.5;
|
||||
context:(void *)context
|
||||
{
|
||||
NSString *path = (code == NSOKButton) ? [panel filename] : nil;
|
||||
|
||||
// NOTE! setDialogReturn: is a synchronous call so set a proper timeout to
|
||||
// avoid waiting forever for it to finish. We make this a synchronous call
|
||||
// so that we can be fairly certain that Vim doesn't think the dialog box
|
||||
// is still showing when MacVim has in fact already dismissed it.
|
||||
NSConnection *conn = [backendProxy connectionForProxy];
|
||||
NSTimeInterval oldTimeout = [conn requestTimeout];
|
||||
[conn setRequestTimeout:MMSetDialogReturnTimeout];
|
||||
|
||||
@try {
|
||||
[backendProxy setDialogReturn:path];
|
||||
|
||||
@@ -825,6 +836,9 @@ static NSTimeInterval MMResendInterval = 0.5;
|
||||
@catch (NSException *e) {
|
||||
NSLog(@"Exception caught in %s %@", _cmd, e);
|
||||
}
|
||||
@finally {
|
||||
[conn setRequestTimeout:oldTimeout];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)alertDidEnd:(MMAlert *)alert code:(int)code context:(void *)context
|
||||
@@ -1123,7 +1137,7 @@ static NSTimeInterval MMResendInterval = 0.5;
|
||||
NSToolbarItem *item = [[NSToolbarItem alloc] initWithItemIdentifier:title];
|
||||
[item setLabel:title];
|
||||
[item setToolTip:tip];
|
||||
[item setAction:@selector(vimMenuItemAction:)];
|
||||
[item setAction:@selector(vimToolbarItemAction:)];
|
||||
[item setAutovalidates:NO];
|
||||
|
||||
NSImage *img = [NSImage imageNamed:icon];
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
- (IBAction)findNext:(id)sender;
|
||||
- (IBAction)findPrevious:(id)sender;
|
||||
- (IBAction)vimMenuItemAction:(id)sender;
|
||||
- (IBAction)vimToolbarItemAction:(id)sender;
|
||||
- (IBAction)fontSizeUp:(id)sender;
|
||||
- (IBAction)fontSizeDown:(id)sender;
|
||||
|
||||
|
||||
@@ -609,6 +609,14 @@
|
||||
[vimController sendMessage:ExecuteMenuMsgID data:[attrs dictionaryAsData]];
|
||||
}
|
||||
|
||||
- (IBAction)vimToolbarItemAction:(id)sender
|
||||
{
|
||||
NSArray *desc = [NSArray arrayWithObjects:@"ToolBar", [sender label], nil];
|
||||
NSDictionary *attrs = [NSDictionary dictionaryWithObject:desc
|
||||
forKey:@"descriptor"];
|
||||
[vimController sendMessage:ExecuteMenuMsgID data:[attrs dictionaryAsData]];
|
||||
}
|
||||
|
||||
- (IBAction)fontSizeUp:(id)sender
|
||||
{
|
||||
[[NSFontManager sharedFontManager] modifyFont:
|
||||
|
||||
+2
-1
@@ -29,7 +29,7 @@
|
||||
@protocol MMBackendProtocol
|
||||
- (oneway void)processInput:(int)msgid data:(in bycopy NSData *)data;
|
||||
- (oneway void)processInputAndData:(in bycopy NSArray *)messages;
|
||||
- (oneway void)setDialogReturn:(in bycopy id)obj;
|
||||
- (void)setDialogReturn:(in bycopy id)obj;
|
||||
- (NSString *)evaluateExpression:(in bycopy NSString *)expr;
|
||||
- (BOOL)starRegisterToPasteboard:(byref NSPasteboard *)pboard;
|
||||
@end
|
||||
@@ -176,6 +176,7 @@ enum {
|
||||
InsertLinesDrawType,
|
||||
DrawCursorDrawType,
|
||||
SetCursorPosDrawType,
|
||||
DrawInvertedRectDrawType,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
||||
@@ -193,10 +193,10 @@
|
||||
1D1474B40C56796D0038FA2B /* MMVimController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMVimController.m; sourceTree = "<group>"; };
|
||||
1D1474B90C567A910038FA2B /* MMWindowController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMWindowController.h; sourceTree = "<group>"; };
|
||||
1D1474BA0C567A910038FA2B /* MMWindowController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMWindowController.m; sourceTree = "<group>"; };
|
||||
1D3D190D0CA690FF0004A0A5 /* DejaVuSansMono-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "DejaVuSansMono-Bold.ttf"; path = "dejavu-ttf-2.20/DejaVuSansMono-Bold.ttf"; sourceTree = "<group>"; };
|
||||
1D3D190E0CA690FF0004A0A5 /* DejaVuSansMono-BoldOblique.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "DejaVuSansMono-BoldOblique.ttf"; path = "dejavu-ttf-2.20/DejaVuSansMono-BoldOblique.ttf"; sourceTree = "<group>"; };
|
||||
1D3D190F0CA690FF0004A0A5 /* DejaVuSansMono-Oblique.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "DejaVuSansMono-Oblique.ttf"; path = "dejavu-ttf-2.20/DejaVuSansMono-Oblique.ttf"; sourceTree = "<group>"; };
|
||||
1D3D19100CA690FF0004A0A5 /* DejaVuSansMono.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = DejaVuSansMono.ttf; path = "dejavu-ttf-2.20/DejaVuSansMono.ttf"; sourceTree = "<group>"; };
|
||||
1D3D190D0CA690FF0004A0A5 /* DejaVuSansMono-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "DejaVuSansMono-Bold.ttf"; path = "dejavu-ttf/DejaVuSansMono-Bold.ttf"; sourceTree = "<group>"; };
|
||||
1D3D190E0CA690FF0004A0A5 /* DejaVuSansMono-BoldOblique.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "DejaVuSansMono-BoldOblique.ttf"; path = "dejavu-ttf/DejaVuSansMono-BoldOblique.ttf"; sourceTree = "<group>"; };
|
||||
1D3D190F0CA690FF0004A0A5 /* DejaVuSansMono-Oblique.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "DejaVuSansMono-Oblique.ttf"; path = "dejavu-ttf/DejaVuSansMono-Oblique.ttf"; sourceTree = "<group>"; };
|
||||
1D3D19100CA690FF0004A0A5 /* DejaVuSansMono.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = DejaVuSansMono.ttf; path = "dejavu-ttf/DejaVuSansMono.ttf"; sourceTree = "<group>"; };
|
||||
1D493D570C5247BF00AB718C /* Vim */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = Vim; path = ../Vim; sourceTree = SOURCE_ROOT; };
|
||||
1D493DB30C52533B00AB718C /* PSMTabBarControl.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = PSMTabBarControl.xcodeproj; path = PSMTabBarControl/PSMTabBarControl.xcodeproj; sourceTree = "<group>"; };
|
||||
1D71ACA90BC702AB002F2B60 /* doc-bm-c.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = "doc-bm-c.icns"; sourceTree = "<group>"; };
|
||||
@@ -698,7 +698,7 @@
|
||||
i386,
|
||||
);
|
||||
COPY_PHASE_STRIP = YES;
|
||||
CURRENT_PROJECT_VERSION = 30;
|
||||
CURRENT_PROJECT_VERSION = 31;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
|
||||
@@ -739,7 +739,7 @@
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 30;
|
||||
CURRENT_PROJECT_VERSION = 31;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
|
||||
@@ -770,7 +770,7 @@
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH)";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
CURRENT_PROJECT_VERSION = 30;
|
||||
CURRENT_PROJECT_VERSION = 31;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)",
|
||||
|
||||
@@ -20,21 +20,25 @@ John Karp
|
||||
Keenan Pepper
|
||||
Lars Naesbye Christensen
|
||||
Mashrab Kuvatov
|
||||
Max Berger
|
||||
Mederic Boquien
|
||||
Michael Everson
|
||||
Misu Moldovan
|
||||
Nguyen Thai Ngoc Duy
|
||||
Nicolas Mailhot
|
||||
Ognyan Kulev
|
||||
Ondrej Koala Vacha
|
||||
Peter Cernak
|
||||
Remy Oudompheng
|
||||
Roozbeh Pournader
|
||||
Sahak Petrosyan
|
||||
Sander Vesik
|
||||
Stepan Roh
|
||||
Stephen Hartke
|
||||
Tavmjong Bah
|
||||
Tim May
|
||||
Valentin Stoykov
|
||||
Vasek Stodulka
|
||||
Wesley Transue
|
||||
|
||||
$Id: AUTHORS 1910 2007-06-25 19:10:14Z ben_laenen $
|
||||
$Id: AUTHORS 2162 2007-12-27 12:39:07Z ben_laenen $
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -1,4 +1,5 @@
|
||||
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. Glyphs imported from Arev fonts are (c) Tavmjung Bah (see below)
|
||||
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
|
||||
Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below)
|
||||
|
||||
Bitstream Vera Fonts Copyright
|
||||
------------------------------
|
||||
@@ -95,4 +96,4 @@ dealings in this Font Software without prior written authorization
|
||||
from Tavmjong Bah. For further information, contact: tavmjong @ free
|
||||
. fr.
|
||||
|
||||
$Id: LICENSE 778 2006-04-20 18:14:24Z moyogo $
|
||||
$Id: LICENSE 2133 2007-11-28 02:46:28Z lechimp $
|
||||
@@ -1,3 +1,124 @@
|
||||
Changes from 2.24 to 2.25
|
||||
- moved/added U+2E18 (by Gee Fung Sit)
|
||||
- added empty glyph for U+2064 in Sans and Serif (by Gee Fung Sit)
|
||||
- added U+22CE-U+22CF to Sans (by Gee Fung Sit)
|
||||
- Sans Oblique and Bold Oblique, Serif: reverted digits hinting instructions back to before revision 1590, which fixed mistaken debian bug #471024. This fixes Debian bug #411308. The original bug was in freetype not in the fonts (by Denis Jacquerye)
|
||||
- added U+A726-U+A729, U+A730-U+A733, U+A738-U+A73F, U+A746-U+A74B, U+A74E-U+A74F, U+A780-U+A781, U+A7FB-U+A7FF to Sans (by Gee Fung Sit)
|
||||
- added Macedonian italic glyph shape for U+0453 in Serif (by Ben Laenen)
|
||||
- changed descenders in U+0446, U+0449, U+0497, U+04A3, U+04AD (by Andrey V. Panov)
|
||||
- updated main SFD files to SplineFontDB 3.0 (Denis Jacquerye and Gee Fung Sit)
|
||||
- moved U+0561 2 up since it wasn't aligned with the baseline well (by Ben Laenen)
|
||||
- added U+2E2E to Sans (by Gee Fung Sit)
|
||||
- replaced U+2699 with simpler version in Sans (by Gee Fung Sit)
|
||||
- added a lot of hinting instructions to Latin Extended B, Greek and Coptic glyphs Sans Book (by Wesley Transue)
|
||||
- differentiated U+2219 from U+22C5 and adjusted affected references in Sans and Mono (by Gee Fung Sit)
|
||||
- made Hebrew narrower in Sans Bold and Sans Bold Oblique (by Denis Jacquerye)
|
||||
- added Kurdish and Chuvash letters from Unicode 5.1 Cyrillic Extended block (by Wesley Transue)
|
||||
- added U+1E9F, U+A644-U+A647, U+A64C-U+A64D, U+A650-U+A651, U+A654-U+A655, U+A712U+A716 to Sans (by Gee Fung Sit)
|
||||
- added several glyphs to Sans ExtraLight (by Gee Fung Sit)
|
||||
- added hinting instructions to U+046A-U+046B, U+0508-U+0509, U+050B, U+0512-U+0513 in Sans Book (by Wesley Transue)
|
||||
- corrected width of U+027E in Sans Book (by Gee Fung Sit)
|
||||
- added U+2C79, U+2C7B-U+2C7D to Sans (by Gee Fung Sit)
|
||||
- added a bunch of glyphs+small corrections to Sans Light (by Gee Fung Sit)
|
||||
- added U+0496, U+0497, U+04B0, U+04B1 (by Andrey V. Panov)
|
||||
- updated U+0493, U+049B, U+04B3, U+04B7, U+04F7 (by Andrey V. Panov)
|
||||
- further improvements in extended Cyrillic (by Andrey V. Panov)
|
||||
|
||||
Changes from 2.23 to 2.24
|
||||
- instructions for U+05C0 ׀, U+05C3 ׃, U+05F3 ׳, and U+05F4 ״ in DejaVu
|
||||
Sans. (by Wesley Transue)
|
||||
- instructions for U+2116 in Sans (by Andrey V. Panov)
|
||||
- Unicode 5.1 update: moved U+F208 to U+2C6D, U+F25F to U+2C71, added
|
||||
U+2C6E-U+2C6F, U+2C72-U+2C73, updated outline of U+2C71 in Sans. (by
|
||||
Denis Jacquerye)
|
||||
- updated and instructed U+0401 in Sans (by Andrey V. Panov)
|
||||
- fixed the bug in Sans faces where U+02EC ˬ faced the wrong direction.
|
||||
Also, added a few more glyph instructions. (by Wesley Transue)
|
||||
- removed OS2Sub and OS2Strike that weren't intentional in Sans
|
||||
ExtraLight. (by Denis Jacquerye)
|
||||
- updated instructions for U+401, U+44F in Serif Book. (by Andrey V.
|
||||
Panov)
|
||||
- instructions for U+02C4 ˄, U+02C5 ˅, U+03D8 Ϙ, U+03D9 ϙ, U+0494 Ҕ, and
|
||||
U+0495 ҕ in Sans Book. (by Wesley Transue)
|
||||
- instructions for U+01A6 Ʀ, U+0238 ȸ, U+0239 ȹ, U+02EC ˬ, and U+05C6 ׆
|
||||
in Sans Book. (by Wesley Transue)
|
||||
- DejaVuSans.sfd DejaVuSerif.sfd: updated instructions for U+447 and
|
||||
U+451 using code generated with xgridfit (by Andrey V. Panov)
|
||||
- instructions for a few glyphs in the Latin Extended-B Block, Greek
|
||||
Block, Cyrillic Block, and N'Ko block. (by Wesley Transue)
|
||||
- updated sfdnormalize.pl, and SFD files to new SFD format with empty
|
||||
lines. (by Denis Jacquerye)
|
||||
|
||||
Changes from 2.22 to 2.23
|
||||
|
||||
- fixed bug which made Condensed fonts appear instead of normal width ones
|
||||
- added U+20DB, U+20DC, and U+20E1 to Sans (by Roozbeh Pournader)
|
||||
- added hinting instructions to U+01A7, U+01AA-U+01AC, U+01AE-U+01AF,
|
||||
U+01BC-U+01BD, U+01BF, U+01F7, U+0277, U+027F, U+0285-U+0286, U+0297, U+02AF,
|
||||
U+02B4-U+02B5, U+02BD, U+030D, U+0311, U+0329, U+04A0-U+04A1 in Sans Book (by
|
||||
Wesley Transue)
|
||||
- modified hinting instructions of U+04A2 in Sans Book (by Wesley Transue)
|
||||
- added hinting instructions to U+237D, U+2423 in Mono Book and Mono Bold (by
|
||||
Wesley Transue)
|
||||
- added mathematical alphanumeric symbols to all styles (by Max Berger)
|
||||
- added Unicode 5.1 U+2E18 as U+2E18.u51 (not yet usable) to Sans (by Roozbeh
|
||||
Pournader)
|
||||
- dereferenced all glyphs with mixed references and outlines (by Denis
|
||||
Jacquerye)
|
||||
- removed non-zero width from U+0344 in Sans (by Denis Jacquerye)
|
||||
|
||||
Changes from 2.21 to 2.22
|
||||
|
||||
- directory structure has changed, we now use the Makefile
|
||||
- modified Armenian U+0565 in Sans (by Սահակ Պետրոսյան)
|
||||
- added double struck letters and numbers U+2102, U+210D, U+2115,
|
||||
U+2119-U+211A, U+211D, U+2124, U+213C-U+2140, U+2145-U+2149, U+1D538-U+1D539,
|
||||
U+1D53B-U+1D53E, U+1D540-U+1D544, U+1D546, U+1D54A-U+1D550, U+1D552-U+1D56B,
|
||||
U+1D7D8-U+1D7E1 to Serif (by Stephen Hartke)
|
||||
- added letterlike symbols U+2103, U+2109, U+2127, U+214B, U+2141-U+2144 to
|
||||
Serif (by Ben Laenen)
|
||||
- fixed outline direction of U+2143 in Sans Bold/Bold Oblique (by Ben Laenen)
|
||||
- added arrow set in Serif: arrows: U+2194-U+21FF; dingbats: U+27A1;
|
||||
supplemental arrows A: U+27F0-U+27FF; supplemental arrows B: U+2900-U+2975,
|
||||
U+297A; miscellaneous symbols and arrows: U+2B00-U+2B11 (by Ben Laenen)
|
||||
- added U+0180, U+01DE, U+01E0-01E1, U+022A, U+022C, U+0230, U+1E08-U+1E09,
|
||||
U+1E10-U+1E11, U+1EB0-U+1EB1 to Mono (by Denis Jacquerye)
|
||||
- adjusted U+01D5, U+01D7, U+01D9, U+1DB in Mono (by Denis Jacquerye)
|
||||
- added Ogham in Sans (by Wesley Transue)
|
||||
- added Yijing Hexagram Symbols in Sans (by Wesley Transue)
|
||||
- hinting instructions added to Cyrillic U+0460, U+04A6-U+04A7, U+04AC-U+04AD,
|
||||
U+04C7-U+04C8, U+04F6-U+04F7, U+04FA-U+04FB, U+050C-U+050D in Sans Book (by
|
||||
Wesley Transue)
|
||||
- adjusted Cyrillic letters U+042A, U+044A, U+044C, U+0459-U+045B, U+0462,
|
||||
U+048C-U+048D in Serif (by Andrey V. Panov)
|
||||
- hinting instructions added to Lao U+0EB7 in Sans (by Wesley Transue)
|
||||
- added Roman numerals and Claudian letter U+2160-U+2184 in Serif (by Ben
|
||||
Laenen)
|
||||
- added U+FFF9-U+FFFD to Sans, Serif and Mono (by Lars Næsbye Christensen)
|
||||
- added mathematical symbols to Serif: U+2200, U+2203-U+2204, U+2213-U+2214,
|
||||
U+2217-U+2218, U+2223-U+2226, U+2250-U+2255, U+2295-U+22AF, U+22C5 (by Ben
|
||||
Laenen)
|
||||
- modified bullet symbol U+2219 in Serif (by Ben Laenen)
|
||||
|
||||
Changes from 2.20 to 2.21
|
||||
|
||||
- added U+FE20-U+FE23 (half diacritics) to Sans (by Denis Jacquerye)
|
||||
- added anchor "half" to position right half of double marks, U+FE21 or U+FE23
|
||||
to Sans (by Denis Jacquerye)
|
||||
- shifted U+0360 up to avoid collision with some outlines in Sans (by Denis
|
||||
Jacquerye)
|
||||
- added anchor above-mark anchor to U+035D, U+035E, U+0360, U+0361 in Sans (by
|
||||
Denis Jacquerye)
|
||||
- added instructions for ff, ffi, ffl ligatures in Serif Bold (by Eugeniy
|
||||
Meshcheryakov)
|
||||
- added instructions to some N'Ko glyphs (by Wesley Transue)
|
||||
- added instructions to some Lao glyphs (by Wesley Transue)
|
||||
- cleaning up 'liga' Standard Ligature in Latin, in Sans and Sans Mono (by
|
||||
Denis Jacquerye)
|
||||
- added U+046A, U+046B (big yus) in Serif (by Andrey V. Panov)
|
||||
- added box drawing symbols to Sans and Serif (by Lars Næsbye Christensen)
|
||||
- added Makefile to improve font and packages generating (by Nicolas Mailhot)
|
||||
|
||||
Changes from 2.19 to 2.20
|
||||
|
||||
- removed TeX and TeXData tags from all sfd files (by Eugeniy Meshcheryakov)
|
||||
@@ -931,4 +1052,4 @@ Changes from 0.9 to 0.9.1:
|
||||
- proper caron shape for dcaron and tcaron
|
||||
- minor visual changes
|
||||
|
||||
$Id: NEWS 1998 2007-09-16 14:23:46Z ben_laenen $
|
||||
$Id: NEWS 2227 2008-05-19 06:41:46Z moyogo $
|
||||
@@ -1,4 +1,4 @@
|
||||
DejaVu fonts 2.20 (c)2004-2007 DejaVu fonts team
|
||||
DejaVu fonts 2.24 (c)2004-2008 DejaVu fonts team
|
||||
------------------------------------------------
|
||||
|
||||
The DejaVu fonts are a font family based on the Bitstream Vera Fonts
|
||||
@@ -46,14 +46,14 @@ For more information go to http://dejavu.sourceforge.net/.
|
||||
|
||||
Characters from Arev fonts, Copyright (c) 2006 by Tavmjong Bah:
|
||||
---------------------------
|
||||
U+01ba, U+01bf, U+01f7, U+021c, U+021d, U+0220, U+0222, U+0223,
|
||||
U+02b9, U+02ba, U+02bd, U+02c2, U+02c3, U+02c4, U+02c5, U+02d4,
|
||||
U+02d5, U+02d7, U+02ec, U+02ed, U+02ee, U+0346-034e, U+0360, U+0362,
|
||||
U+03e2-03ef, U+0460-0463, U+0466-0486, U+0488-0489, U+04a8-04a9,
|
||||
U+0500-050f, U+2055-205e, U+20B0, U+20B2-20B3, U+2102, U+210D, U+210f,
|
||||
U+2111, U+2113, U+2115, U+2118-U+211A, U+211c-211d, U+2124,U+2135,
|
||||
U+213C-U+2140, U+2295-2298, U+2308-230b, U+26A2-U+26B1, U+2701-2704,
|
||||
U+2706-2709, U+270c-274b, U+2758-275a, U+2761-2775, U+2780-2794,
|
||||
U+2798-27af, U+27b1-27be, U+fb05-fb06
|
||||
U+01BA, U+01BF, U+01F7, U+021C-U+021D, U+0220, U+0222-U+0223,
|
||||
U+02B9, U+02BA, U+02BD, U+02C2-U+02C5, U+02d4-U+02D5,
|
||||
U+02D7, U+02EC-U+02EE, U+0346-U+034E, U+0360, U+0362,
|
||||
U+03E2-03EF, U+0460-0463, U+0466-U+0486, U+0488-U+0489, U+04A8-U+04A9,
|
||||
U+0500-U+050F, U+2055-205E, U+20B0, U+20B2-U+20B3, U+2102, U+210D, U+210F,
|
||||
U+2111, U+2113, U+2115, U+2118-U+211A, U+211C-U+211D, U+2124, U+2135,
|
||||
U+213C-U+2140, U+2295-U+2298, U+2308-U+230B, U+26A2-U+26B1, U+2701-U+2704,
|
||||
U+2706-U+2709, U+270C-U+274B, U+2758-U+275A, U+2761-U+2775, U+2780-U+2794,
|
||||
U+2798-U+27AF, U+27B1-U+27BE, U+FB05-U+FB06
|
||||
|
||||
$Id: README 1998 2007-09-16 14:23:46Z ben_laenen $
|
||||
$Id: README 2192 2008-03-09 21:25:29Z moyogo $
|
||||
@@ -7,6 +7,7 @@ ab Abkhazia 100% (90/90) 93% (84/90)
|
||||
af Afrikaans 100% (69/69) 100% (69/69) 100% (69/69)
|
||||
am Amharic (0/264) (0/264) (0/264)
|
||||
ar Arabic 100% (125/125) (0/125) 100% (125/125)
|
||||
as (0/89) (0/89) (0/89)
|
||||
ast Asturian 100% (72/72) 100% (72/72) 100% (72/72)
|
||||
ava Avaric 100% (67/67) 100% (67/67) 100% (67/67)
|
||||
ay Aymara 100% (60/60) 100% (60/60) 100% (60/60)
|
||||
@@ -30,25 +31,25 @@ ce Chechen 100% (67/67) 100% (67/67)
|
||||
ch Chamorro 100% (58/58) 100% (58/58) 100% (58/58)
|
||||
chm Mari (Lower Cheremis / Upper Cheremis) 100% (76/76) 100% (76/76) 97% (74/76)
|
||||
chr Cherokee (0/85) (0/85) (0/85)
|
||||
co Corsican 100% (84/84) 100% (84/84) 100% (84/84)
|
||||
co Corsican 100% (85/85) 100% (85/85) 100% (85/85)
|
||||
cs Czech 100% (82/82) 100% (82/82) 100% (82/82)
|
||||
cu Old Church Slavonic 100% (103/103) 82% (85/103) 74% (77/103)
|
||||
cu Old Church Slavonic 100% (103/103) 84% (87/103) 74% (77/103)
|
||||
cv Chuvash 100% (74/74) 100% (74/74) 100% (74/74)
|
||||
cy Welsh 100% (78/78) 100% (78/78) 100% (78/78)
|
||||
da Danish 100% (70/70) 100% (70/70) 100% (70/70)
|
||||
de German 100% (59/59) 100% (59/59) 100% (59/59)
|
||||
de German 100% (60/60) 100% (60/60) 100% (60/60)
|
||||
dz Dzongkha (0/95) (0/95) (0/95)
|
||||
el Greek 100% (69/69) 100% (69/69) 100% (69/69)
|
||||
en English 100% (72/72) 100% (72/72) 100% (72/72)
|
||||
el Greek 100% (70/70) 100% (70/70) 100% (70/70)
|
||||
en English 100% (73/73) 100% (73/73) 100% (73/73)
|
||||
eo Esperanto 100% (64/64) 100% (64/64) 100% (64/64)
|
||||
es Spanish 100% (66/66) 100% (66/66) 100% (66/66)
|
||||
es Spanish 100% (67/67) 100% (67/67) 100% (67/67)
|
||||
et Estonian 100% (64/64) 100% (64/64) 100% (64/64)
|
||||
eu Basque 100% (56/56) 100% (56/56) 100% (56/56)
|
||||
fa Persian 100% (129/129) (0/129) 100% (129/129)
|
||||
fi Finnish 100% (62/62) 100% (62/62) 100% (62/62)
|
||||
fi Finnish 100% (63/63) 100% (63/63) 100% (63/63)
|
||||
fj Fijian 100% (52/52) 100% (52/52) 100% (52/52)
|
||||
fo Faroese 100% (68/68) 100% (68/68) 100% (68/68)
|
||||
fr French 100% (84/84) 100% (84/84) 100% (84/84)
|
||||
fr French 100% (85/85) 100% (85/85) 100% (85/85)
|
||||
ful Fulah (Fula) 100% (62/62) 100% (62/62) 100% (62/62)
|
||||
fur Friulian 100% (66/66) 100% (66/66) 100% (66/66)
|
||||
fy Frisian 100% (75/75) 100% (75/75) 100% (75/75)
|
||||
@@ -74,10 +75,10 @@ ie Interlingue 100% (52/52) 100% (52/52)
|
||||
ik Inupiaq (Inupiak, Eskimo) 100% (68/68) 100% (68/68) 100% (68/68)
|
||||
io Ido 100% (52/52) 100% (52/52) 100% (52/52)
|
||||
is Icelandic 100% (70/70) 100% (70/70) 100% (70/70)
|
||||
it Italian 100% (72/72) 100% (72/72) 100% (72/72)
|
||||
it Italian 100% (73/73) 100% (73/73) 100% (73/73)
|
||||
iu Inuktitut 100% (161/161) (0/161) (0/161)
|
||||
ja Japanese (0/6538) (0/6538) (0/6538)
|
||||
ka Georgian 100% (34/34) 100% (34/34) 100% (34/34)
|
||||
ka Georgian 100% (33/33) 100% (33/33) 100% (33/33)
|
||||
kaa Kara-Kalpak (Karakalpak) 100% (78/78) 100% (78/78) 100% (78/78)
|
||||
ki Kikuyu 100% (56/56) 100% (56/56) 100% (56/56)
|
||||
kk Kazakh 100% (77/77) 100% (77/77) 100% (77/77)
|
||||
@@ -96,6 +97,7 @@ ky Kirgiz 100% (70/70) 100% (70/70)
|
||||
la Latin 100% (68/68) 100% (68/68) 100% (68/68)
|
||||
lb Luxembourgish (Letzeburgesch) 100% (75/75) 100% (75/75) 100% (75/75)
|
||||
lez Lezghian (Lezgian) 100% (67/67) 100% (67/67) 100% (67/67)
|
||||
ln Lingala 100% (81/81) 100% (81/81) 100% (81/81)
|
||||
lo Lao 100% (65/65) (0/65) 70% (46/65)
|
||||
lt Lithuanian 100% (70/70) 100% (70/70) 100% (70/70)
|
||||
lv Latvian 100% (78/78) 100% (78/78) 100% (78/78)
|
||||
@@ -112,9 +114,11 @@ my Burmese (Myanmar) (0/48) (0/48)
|
||||
nb Norwegian Bokmal 100% (70/70) 100% (70/70) 100% (70/70)
|
||||
nds Low Saxon 100% (59/59) 100% (59/59) 100% (59/59)
|
||||
ne Nepali (Devanagari script) (0/68) (0/68) (0/68)
|
||||
nl Dutch 100% (82/82) 100% (82/82) 100% (82/82)
|
||||
nl Dutch 100% (83/83) 100% (83/83) 100% (83/83)
|
||||
nn Norwegian Nynorsk 100% (76/76) 100% (76/76) 100% (76/76)
|
||||
no Norwegian (Bokmal) 100% (70/70) 100% (70/70) 100% (70/70)
|
||||
nr Ndebele, South 100% (52/52) 100% (52/52) 100% (52/52)
|
||||
nso Northern Sotho 100% (58/58) 100% (58/58) 100% (58/58)
|
||||
ny Chichewa 100% (54/54) 100% (54/54) 100% (54/54)
|
||||
oc Occitan 100% (70/70) 100% (70/70) 100% (70/70)
|
||||
om Oromo or Galla 100% (52/52) 100% (52/52) 100% (52/52)
|
||||
@@ -124,7 +128,7 @@ pa Punjabi (Gurumukhi script) (0/63) (0/63)
|
||||
pl Polish 100% (70/70) 100% (70/70) 100% (70/70)
|
||||
ps-af Pashto in Afghanistan 83% (41/49) (0/49) 83% (41/49)
|
||||
ps-pk Pashto in Pakistan 81% (40/49) (0/49) 81% (40/49)
|
||||
pt Portuguese 100% (82/82) 100% (82/82) 100% (82/82)
|
||||
pt Portuguese 100% (83/83) 100% (83/83) 100% (83/83)
|
||||
rm Rhaeto-Romance (Romansch) 100% (66/66) 100% (66/66) 100% (66/66)
|
||||
ro Romanian 100% (62/62) 100% (62/62) 100% (62/62)
|
||||
ru Russian 100% (66/66) 100% (66/66) 100% (66/66)
|
||||
@@ -145,6 +149,8 @@ sms Skolt Sami 100% (80/80) 100% (80/80)
|
||||
so Somali 100% (52/52) 100% (52/52) 100% (52/52)
|
||||
sq Albanian 100% (56/56) 100% (56/56) 100% (56/56)
|
||||
sr Serbian 100% (76/76) 100% (76/76) 100% (76/76)
|
||||
ss Swati 100% (52/52) 100% (52/52) 100% (52/52)
|
||||
st Sotho, Southern 100% (52/52) 100% (52/52) 100% (52/52)
|
||||
sv Swedish 100% (68/68) 100% (68/68) 100% (68/68)
|
||||
sw Swahili 100% (52/52) 100% (52/52) 100% (52/52)
|
||||
syr Syriac (0/45) (0/45) (0/45)
|
||||
@@ -152,16 +158,16 @@ ta Tamil (0/48) (0/48)
|
||||
te Telugu (0/80) (0/80) (0/80)
|
||||
tg Tajik 100% (78/78) 100% (78/78) 97% (76/78)
|
||||
th Thai 1% (1/87) (0/87) (0/87)
|
||||
ti-er Eritrean Tigrinya (0/256) (0/256) (0/256)
|
||||
ti-et Ethiopian Tigrinya (0/282) (0/282) (0/282)
|
||||
ti-er Eritrean Tigrinya (0/255) (0/255) (0/255)
|
||||
ti-et Ethiopian Tigrinya (0/281) (0/281) (0/281)
|
||||
tig Tigre (0/221) (0/221) (0/221)
|
||||
tk Turkmen 100% (74/74) 100% (74/74) 97% (72/74)
|
||||
tk Turkmen 100% (74/74) 100% (74/74) 100% (74/74)
|
||||
tl Tagalog (0/19) (0/19) (0/19)
|
||||
tn Tswana 100% (56/56) 100% (56/56) 100% (56/56)
|
||||
tn Tswana 100% (58/58) 100% (58/58) 100% (58/58)
|
||||
to Tonga 100% (53/53) 100% (53/53) 100% (53/53)
|
||||
tr Turkish 100% (70/70) 100% (70/70) 100% (70/70)
|
||||
ts Tsonga 100% (52/52) 100% (52/52) 100% (52/52)
|
||||
tt Tatar 100% (76/76) 100% (76/76) 97% (74/76)
|
||||
tt Tatar 100% (76/76) 100% (76/76) 100% (76/76)
|
||||
tw Twi 100% (73/73) 100% (73/73) 100% (73/73)
|
||||
tyv Tuvinian 100% (70/70) 100% (70/70) 100% (70/70)
|
||||
ug Uighur 100% (125/125) (0/125) 100% (125/125)
|
||||
@@ -169,7 +175,7 @@ uk Ukrainian 100% (72/72) 100% (72/72)
|
||||
ur Urdu 94% (137/145) (0/145) 97% (141/145)
|
||||
uz Uzbek 100% (68/68) 100% (68/68) 100% (68/68)
|
||||
ven Venda 100% (62/62) 100% (62/62) 100% (62/62)
|
||||
vi Vietnamese 100% (194/194) 77% (150/194) 62% (122/194)
|
||||
vi Vietnamese 100% (194/194) 77% (150/194) 63% (124/194)
|
||||
vo Volapuk 100% (54/54) 100% (54/54) 100% (54/54)
|
||||
vot Votic 100% (62/62) 100% (62/62) 100% (62/62)
|
||||
wa Walloon 100% (70/70) 100% (70/70) 100% (70/70)
|
||||
@@ -181,7 +187,7 @@ yi Yiddish 100% (27/27) (0/27)
|
||||
yo Yoruba 100% (119/119) 100% (119/119) 100% (119/119)
|
||||
zh-cn Chinese (simplified) 0% (2/6765) 0% (2/6765) 0% (2/6765)
|
||||
zh-hk Chinese Hong Kong Supplementary Character Set (0/2213) (0/2213) (0/2213)
|
||||
zh-mo Chinese in Macau (0/13063) (0/13063) (0/13063)
|
||||
zh-mo Chinese in Macau (0/2213) (0/2213) (0/2213)
|
||||
zh-sg Chinese in Singapore 0% (2/6765) 0% (2/6765) 0% (2/6765)
|
||||
zh-tw Chinese (traditional) (0/13063) (0/13063) (0/13063)
|
||||
zu Zulu 100% (52/52) 100% (52/52) 100% (52/52)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
This is the Unicode coverage file for DejaVu fonts
|
||||
($Id: unicover.txt 2000 2007-09-16 14:34:23Z ben_laenen $)
|
||||
($Id$)
|
||||
|
||||
Control and similar characters are discounted from totals.
|
||||
|
||||
@@ -7,12 +7,12 @@ Control and similar characters are discounted from totals.
|
||||
U+0000 Basic Latin 100% (95/95) 100% (95/95) 100% (95/95)
|
||||
U+0080 Latin-1 Supplement 100% (96/96) 100% (96/96) 100% (96/96)
|
||||
U+0100 Latin Extended-A 100% (128/128) 100% (128/128) 100% (128/128)
|
||||
U+0180 Latin Extended-B 100% (208/208) 90% (189/208) 78% (164/208)
|
||||
U+0180 Latin Extended-B 100% (208/208) 90% (189/208) 82% (172/208)
|
||||
U+0250 IPA Extensions 100% (96/96) 100% (96/96) 100% (96/96)
|
||||
U+02b0 Spacing Modifier Letters 78% (63/80) 56% (45/80) 57% (46/80)
|
||||
U+0300 Combining Diacritical Marks 82% (92/112) 60% (68/112) 59% (67/112)
|
||||
U+0370 Greek and Coptic 100% (127/127) 86% (110/127) 86% (110/127)
|
||||
U+0400 Cyrillic 100% (255/255) 76% (194/255) 66% (170/255)
|
||||
U+0400 Cyrillic 100% (255/255) 77% (198/255) 68% (174/255)
|
||||
U+0500 Cyrillic Supplement 100% (20/20) (0/20) (0/20)
|
||||
U+0530 Armenian 100% (86/86) (0/86) (0/86)
|
||||
U+0590 Hebrew 62% (54/87) (0/87) (0/87)
|
||||
@@ -41,7 +41,7 @@ U+1200 Ethiopic (0/356) (0/356)
|
||||
U+1380 Ethiopic Supplement (0/26) (0/26) (0/26)
|
||||
U+13a0 Cherokee (0/85) (0/85) (0/85)
|
||||
U+1400 Unified Canadian Aboriginal Syllabics 64% (404/630) (0/630) (0/630)
|
||||
U+1680 Ogham (0/29) (0/29) (0/29)
|
||||
U+1680 Ogham 100% (29/29) (0/29) (0/29)
|
||||
U+16a0 Runic (0/81) (0/81) (0/81)
|
||||
U+1700 Tagalog (0/20) (0/20) (0/20)
|
||||
U+1720 Hanunoo (0/23) (0/23) (0/23)
|
||||
@@ -58,32 +58,32 @@ U+1b00 Balinese (0/121) (0/121)
|
||||
U+1d00 Phonetic Extensions 82% (105/128) 48% (62/128) 48% (62/128)
|
||||
U+1d80 Phonetic Extensions Supplement 59% (38/64) 57% (37/64) 57% (37/64)
|
||||
U+1dc0 Combining Diacritical Marks Supplement 46% (6/13) (0/13) (0/13)
|
||||
U+1e00 Latin Extended Additional 100% (246/246) 78% (192/246) 54% (134/246)
|
||||
U+1e00 Latin Extended Additional 100% (246/246) 78% (192/246) 56% (140/246)
|
||||
U+1f00 Greek Extended 100% (233/233) 100% (233/233) 100% (233/233)
|
||||
U+2000 General Punctuation 98% (104/106) 61% (65/106) 42% (45/106)
|
||||
U+2070 Superscripts and Subscripts 100% (34/34) 100% (34/34) 100% (34/34)
|
||||
U+20a0 Currency Symbols 100% (22/22) 27% (6/22) 22% (5/22)
|
||||
U+20d0 Combining Diacritical Marks for Symbols 12% (4/32) (0/32) (0/32)
|
||||
U+2100 Letterlike Symbols 94% (75/79) 7% (6/79) 8% (7/79)
|
||||
U+2150 Number Forms 100% (50/50) 26% (13/50) 26% (13/50)
|
||||
U+2190 Arrows 100% (112/112) 3% (4/112) 100% (112/112)
|
||||
U+2200 Mathematical Operators 95% (245/256) 11% (30/256) 56% (145/256)
|
||||
U+20d0 Combining Diacritical Marks for Symbols 21% (7/32) (0/32) (0/32)
|
||||
U+2100 Letterlike Symbols 94% (75/79) 39% (31/79) 8% (7/79)
|
||||
U+2150 Number Forms 100% (50/50) 100% (50/50) 26% (13/50)
|
||||
U+2190 Arrows 100% (112/112) 100% (112/112) 100% (112/112)
|
||||
U+2200 Mathematical Operators 96% (247/256) 39% (100/256) 56% (145/256)
|
||||
U+2300 Miscellaneous Technical 27% (64/232) 6% (16/232) 50% (117/232)
|
||||
U+2400 Control Pictures 5% (2/39) 2% (1/39) 2% (1/39)
|
||||
U+2440 Optical Character Recognition (0/11) (0/11) (0/11)
|
||||
U+2460 Enclosed Alphanumerics 6% (10/160) (0/160) (0/160)
|
||||
U+2500 Box Drawing (0/128) (0/128) 100% (128/128)
|
||||
U+2500 Box Drawing 100% (128/128) 100% (128/128) 100% (128/128)
|
||||
U+2580 Block Elements 100% (32/32) 100% (32/32) 100% (32/32)
|
||||
U+25a0 Geometric Shapes 100% (96/96) 100% (96/96) 100% (96/96)
|
||||
U+2600 Miscellaneous Symbols 100% (176/176) 17% (30/176) 84% (149/176)
|
||||
U+2700 Dingbats 100% (174/174) (0/174) 82% (144/174)
|
||||
U+2700 Dingbats 100% (174/174) 0% (1/174) 82% (144/174)
|
||||
U+27c0 Miscellaneous Mathematical Symbols-A 17% (7/39) 7% (3/39) 7% (3/39)
|
||||
U+27f0 Supplemental Arrows-A 100% (16/16) (0/16) (0/16)
|
||||
U+27f0 Supplemental Arrows-A 100% (16/16) 100% (16/16) (0/16)
|
||||
U+2800 Braille Patterns 100% (256/256) 100% (256/256) (0/256)
|
||||
U+2900 Supplemental Arrows-B 4% (6/128) (0/128) (0/128)
|
||||
U+2900 Supplemental Arrows-B 4% (6/128) 100% (128/128) (0/128)
|
||||
U+2980 Miscellaneous Mathematical Symbols-B 10% (13/128) 0% (1/128) 2% (3/128)
|
||||
U+2a00 Supplemental Mathematical Operators 28% (72/256) 1% (4/256) 0% (1/256)
|
||||
U+2b00 Miscellaneous Symbols and Arrows 100% (31/31) 29% (9/31) 29% (9/31)
|
||||
U+2b00 Miscellaneous Symbols and Arrows 100% (31/31) 87% (27/31) 29% (9/31)
|
||||
U+2c00 Glagolitic (0/94) (0/94) (0/94)
|
||||
U+2c60 Latin Extended-C 100% (17/17) 52% (9/17) 17% (3/17)
|
||||
U+2c80 Coptic (0/114) (0/114) (0/114)
|
||||
@@ -106,11 +106,11 @@ U+31f0 Katakana Phonetic Extensions (0/16) (0/16)
|
||||
U+3200 Enclosed CJK Letters and Months (0/242) (0/242) (0/242)
|
||||
U+3300 CJK Compatibility (0/256) (0/256) (0/256)
|
||||
U+3400 CJK Unified Ideographs Extension A (0/0) (0/0) (0/0)
|
||||
U+4dc0 Yijing Hexagram Symbols (0/64) (0/64) (0/64)
|
||||
U+4dc0 Yijing Hexagram Symbols 100% (64/64) (0/64) (0/64)
|
||||
U+4e00 CJK Unified Ideographs (0/0) (0/0) (0/0)
|
||||
U+a000 Yi Syllables (0/1165) (0/1165) (0/1165)
|
||||
U+a490 Yi Radicals (0/55) (0/55) (0/55)
|
||||
U+a700 Modifier Tone Letters (0/27) (0/27) (0/27)
|
||||
U+a700 Modifier Tone Letters 18% (5/27) (0/27) (0/27)
|
||||
U+a720 Latin Extended-D (0/2) (0/2) (0/2)
|
||||
U+a800 Syloti Nagri (0/44) (0/44) (0/44)
|
||||
U+a840 Phags-pa (0/56) (0/56) (0/56)
|
||||
@@ -124,12 +124,12 @@ U+fb00 Alphabetic Presentation Forms 100% (58/58) 12% (7/58)
|
||||
U+fb50 Arabic Presentation Forms-A 11% (70/595) (0/595) 12% (72/595)
|
||||
U+fe00 Variation Selectors 100% (16/16) 100% (16/16) (0/16)
|
||||
U+fe10 Vertical Forms (0/10) (0/10) (0/10)
|
||||
U+fe20 Combining Half Marks (0/4) (0/4) (0/4)
|
||||
U+fe20 Combining Half Marks 100% (4/4) (0/4) (0/4)
|
||||
U+fe30 CJK Compatibility Forms (0/32) (0/32) (0/32)
|
||||
U+fe50 Small Form Variants (0/26) (0/26) (0/26)
|
||||
U+fe70 Arabic Presentation Forms-B 100% (141/141) (0/141) 100% (141/141)
|
||||
U+ff00 Halfwidth and Fullwidth Forms (0/225) (0/225) (0/225)
|
||||
U+fff0 Specials 20% (1/5) 20% (1/5) 20% (1/5)
|
||||
U+fff0 Specials 100% (5/5) 100% (5/5) 100% (5/5)
|
||||
U+10000 Linear B Syllabary (0/88) (0/88) (0/88)
|
||||
U+10080 Linear B Ideograms (0/123) (0/123) (0/123)
|
||||
U+10100 Aegean Numbers (0/57) (0/57) (0/57)
|
||||
@@ -151,7 +151,7 @@ U+1d100 Musical Symbols (0/219) (0/219)
|
||||
U+1d200 Ancient Greek Musical Notation (0/70) (0/70) (0/70)
|
||||
U+1d300 Tai Xuan Jing Symbols 100% (87/87) (0/87) (0/87)
|
||||
U+1d360 Counting Rod Numerals (0/18) (0/18) (0/18)
|
||||
U+1d400 Mathematical Alphanumeric Symbols 4% (45/996) (0/996) (0/996)
|
||||
U+1d400 Mathematical Alphanumeric Symbols 10% (107/996) 5% (55/996) 6% (62/996)
|
||||
U+20000 CJK Unified Ideographs Extension B (0/0) (0/0) (0/0)
|
||||
U+2f800 CJK Compatibility Ideographs Supplement (0/542) (0/542) (0/542)
|
||||
U+e0000 Tags (0/98) (0/98) (0/98)
|
||||
+17
-9
@@ -426,6 +426,17 @@ gui_mch_new_colors(void)
|
||||
foreground:gui.def_norm_pixel];
|
||||
}
|
||||
|
||||
/*
|
||||
* Invert a rectangle from row r, column c, for nr rows and nc columns.
|
||||
*/
|
||||
void
|
||||
gui_mch_invert_rectangle(int r, int c, int nr, int nc, int invert)
|
||||
{
|
||||
[[MMBackend sharedInstance] drawInvertedRectAtRow:r column:c numRows:nr
|
||||
numColumns:nc invert:invert];
|
||||
}
|
||||
|
||||
|
||||
|
||||
// -- Tabline ---------------------------------------------------------------
|
||||
|
||||
@@ -1286,6 +1297,9 @@ gui_mch_browse(
|
||||
//NSLog(@"gui_mch_browse(saving=%d, title=%s, dflt=%s, ext=%s, initdir=%s,"
|
||||
// " filter=%s", saving, title, dflt, ext, initdir, filter);
|
||||
|
||||
// Ensure no data is on the output queue before presenting the dialog.
|
||||
gui_macvim_force_flush();
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
title = CONVERT_TO_UTF8(title);
|
||||
initdir = CONVERT_TO_UTF8(initdir);
|
||||
@@ -1319,6 +1333,9 @@ gui_mch_dialog(
|
||||
// "dfltbutton=%d textfield=%s)", type, title, message, buttons,
|
||||
// dfltbutton, textfield);
|
||||
|
||||
// Ensure no data is on the output queue before presenting the dialog.
|
||||
gui_macvim_force_flush();
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
title = CONVERT_TO_UTF8(title);
|
||||
message = CONVERT_TO_UTF8(message);
|
||||
@@ -1448,15 +1465,6 @@ gui_mch_iconify(void)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Invert a rectangle from row r, column c, for nr rows and nc columns.
|
||||
*/
|
||||
void
|
||||
gui_mch_invert_rectangle(int r, int c, int nr, int nc)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
#if defined(FEAT_EVAL) || defined(PROTO)
|
||||
/*
|
||||
* Bring the Vim window to the foreground.
|
||||
|
||||
@@ -40,6 +40,44 @@
|
||||
Sparkle supports updates in zip, tar, tbz, tgz, or dmg format.
|
||||
-->
|
||||
|
||||
<item>
|
||||
<title>Snapshot 31 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 31 released</h1>
|
||||
<p> Changes since snapshot 30:
|
||||
<ul>
|
||||
<li> Fixed problems with menus on OS X 10.4 and a related crash. </li>
|
||||
<li> Dialog box handling has been updated. This fixes a problem where the
|
||||
"swap file warning" dialog would pop up before the informational text in
|
||||
the editor window updated. Hopefully this will also cure various other
|
||||
problems with dialogs (e.g. nothing happening when opening files from a
|
||||
dialog box). </li>
|
||||
<li> Added dock menu with "New Window" item. This is useful with "Spaces" on
|
||||
OS X 10.5 since you can use this menu to open a new MacVim window on any
|
||||
"space" when another editor window is already open. (Also, now there is
|
||||
always a way to open a new window, even if the menus are customized,
|
||||
or if "-u NONE" is used.) </li>
|
||||
<li> I have started trying to fix "modeless selection" and it sort of works
|
||||
on my machine, but I've had one report stating that its not quite
|
||||
working so you mileage may vary. Make sure to let me know what works
|
||||
and doesn't so that I can fix this properly. (Try selecting text from
|
||||
the command line.) </li>
|
||||
<li> The default font (DejaVu Sans Mono) has been updated to version 2.25.
|
||||
</li>
|
||||
<li> Latest Vim source code merged </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Fri, 13 Jun 2008 16:00 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-31.tbz"
|
||||
length="8182620"
|
||||
sparkle:version="31"
|
||||
sparkle:shortVersionString="7.1"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 30 released</title>
|
||||
<description><![CDATA[
|
||||
|
||||
+20
-2
@@ -16,6 +16,10 @@
|
||||
* See ":help netbeans-protocol" for explanation.
|
||||
*/
|
||||
|
||||
#if defined(MSDOS) || defined(MSWIN)
|
||||
# include "vimio.h" /* for mch_open(), must be before vim.h */
|
||||
#endif
|
||||
|
||||
#include "vim.h"
|
||||
|
||||
#if defined(FEAT_NETBEANS_INTG) || defined(PROTO)
|
||||
@@ -1974,13 +1978,16 @@ nb_do_cmd(
|
||||
}
|
||||
else if (streq((char *)cmd, "setModified"))
|
||||
{
|
||||
int prev_b_changed;
|
||||
|
||||
if (buf == NULL || buf->bufp == NULL)
|
||||
{
|
||||
/* EMSG("E646: null bufp in setModified"); */
|
||||
return FAIL;
|
||||
}
|
||||
prev_b_changed = buf->bufp->b_changed;
|
||||
if (streq((char *)args, "T"))
|
||||
buf->bufp->b_changed = 1;
|
||||
buf->bufp->b_changed = TRUE;
|
||||
else
|
||||
{
|
||||
struct stat st;
|
||||
@@ -1990,9 +1997,20 @@ nb_do_cmd(
|
||||
if (buf->bufp->b_ffname != NULL
|
||||
&& mch_stat((char *)buf->bufp->b_ffname, &st) >= 0)
|
||||
buf_store_time(buf->bufp, &st, buf->bufp->b_ffname);
|
||||
buf->bufp->b_changed = 0;
|
||||
buf->bufp->b_changed = FALSE;
|
||||
}
|
||||
buf->modified = buf->bufp->b_changed;
|
||||
if (prev_b_changed != buf->bufp->b_changed)
|
||||
{
|
||||
#ifdef FEAT_WINDOWS
|
||||
check_status(buf->bufp);
|
||||
redraw_tabline = TRUE;
|
||||
#endif
|
||||
#ifdef FEAT_TITLE
|
||||
maketitle();
|
||||
#endif
|
||||
update_screen(0);
|
||||
}
|
||||
/* =====================================================================*/
|
||||
}
|
||||
else if (streq((char *)cmd, "setModtime"))
|
||||
|
||||
+3
-2
@@ -243,7 +243,8 @@
|
||||
/* WV_ and BV_ values get typecasted to this for the "indir" field */
|
||||
typedef enum
|
||||
{
|
||||
PV_NONE = 0
|
||||
PV_NONE = 0,
|
||||
PV_MAXVAL = 0xffff /* to avoid warnings for value out of range */
|
||||
} idopt_T;
|
||||
|
||||
/*
|
||||
@@ -8828,7 +8829,7 @@ put_setstring(fd, cmd, name, valuep, expand)
|
||||
{
|
||||
s = *valuep;
|
||||
while (*s != NUL)
|
||||
if (fputs((char *)str2special(&s, FALSE), fd) < 0)
|
||||
if (put_escstr(fd, str2special(&s, FALSE), 2) == FAIL)
|
||||
return FAIL;
|
||||
}
|
||||
else if (expand)
|
||||
|
||||
+17
-2
@@ -1,7 +1,8 @@
|
||||
" Vim script for checking .po files.
|
||||
"
|
||||
" Go through the file and verify that all %...s items in "msgid" are identical
|
||||
" to the ones in "msgstr".
|
||||
" Go through the file and verify that:
|
||||
" - All %...s items in "msgid" are identical to the ones in "msgstr".
|
||||
" - An error or warning code in "msgid" matches the one in "msgstr".
|
||||
|
||||
if 1 " Only execute this if the eval feature is available.
|
||||
|
||||
@@ -56,6 +57,20 @@ while 1
|
||||
endif
|
||||
endwhile
|
||||
|
||||
" Check that error code in msgid matches the one in msgstr.
|
||||
"
|
||||
" Examples of mismatches found with msgid "E123: ..."
|
||||
" - msgstr "E321: ..." error code mismatch
|
||||
" - msgstr "W123: ..." warning instead of error
|
||||
" - msgstr "E123 ..." missing colon
|
||||
" - msgstr "..." missing error code
|
||||
"
|
||||
1
|
||||
if search('msgid "\("\n"\)\?\([EW][0-9]\+:\).*\nmsgstr "\("\n"\)\?[^"]\@=\2\@!') > 0
|
||||
echo 'Mismatching error/warning code in line ' . line('.')
|
||||
let error = 1
|
||||
endif
|
||||
|
||||
if error == 0
|
||||
echo "OK"
|
||||
endif
|
||||
|
||||
@@ -124,7 +124,7 @@ gui_mch_haskey(char_u *name);
|
||||
void
|
||||
gui_mch_iconify(void);
|
||||
void
|
||||
gui_mch_invert_rectangle(int r, int c, int nr, int nc);
|
||||
gui_mch_invert_rectangle(int r, int c, int nr, int nc, int invert);
|
||||
void
|
||||
gui_mch_new_colors(void);
|
||||
void
|
||||
|
||||
@@ -1126,7 +1126,11 @@ clip_invert_rectangle(row, col, height, width, invert)
|
||||
{
|
||||
#ifdef FEAT_GUI
|
||||
if (gui.in_use)
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
gui_mch_invert_rectangle(row, col, height, width, invert);
|
||||
# else
|
||||
gui_mch_invert_rectangle(row, col, height, width);
|
||||
#endif
|
||||
else
|
||||
#endif
|
||||
screen_draw_rectangle(row, col, height, width, invert);
|
||||
|
||||
@@ -681,6 +681,12 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
314,
|
||||
/**/
|
||||
313,
|
||||
/**/
|
||||
312,
|
||||
/**/
|
||||
311,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user