Subject: Git-gui: crashes on OS X when entering combining ("dead") keys

From: Beat Bolli <[email-masked]>
Date: Thu, 02 Feb 2012 23:04:12 +0100

Hi

I've just had git-gui crash on me when I tried to enter the ~ (tilde)
character on my Mac mini under OS X 10.6.8:

2012-02-02 22:26:25.992 Wish[49140:60f] An uncaught exception was raised
2012-02-02 22:26:25.995 Wish[49140:60f] *** -[NSCFString
characterAtIndex:]: Range or index out of bounds
2012-02-02 22:26:25.996 Wish[49140:60f] *** Terminating app due to
uncaught exception 'NSRangeException', reason: '*** -[NSCFString
characterAtIndex:]: Range or index out of bounds'
*** Call stack at first throw:
(
        0   CoreFoundation                      0x00007fff8273d784
__exceptionPreprocess + 180
        1   libobjc.A.dylib                     0x00007fff87c10f03
objc_exception_throw + 45
        2   CoreFoundation                      0x00007fff8273d5a7
+[NSException raise:format:arguments:] + 103
        3   CoreFoundation                      0x00007fff8273d534
+[NSException raise:format:] + 148
        4   Foundation                          0x00007fff843ec6ad
- -[NSCFString characterAtIndex:] + 97
        5   Tk                                  0x00000001000bdbcf
Tk_SetCaretPos + 663
        6   Tk                                  0x00000001000c3d94
Tk_MacOSXSetupTkNotifier + 699
        7   Tcl                                 0x00000001001c629e
Tcl_DoOneEvent + 297
        8   Tk                                  0x000000010001c080
Tk_MainLoop + 24
        9   Tk                                  0x0000000100028ab4
Tk_MainEx + 1555
        10  Wish                                0x0000000100004545 0x0
+ 4294985029
        11  Wish                                0x00000001000044a4 0x0
+ 4294984868
)
terminate called after throwing an instance of 'NSException'
error: git-gui died of signal 6

[sorry for wrapping]

I use the Swiss German keyboard layout where the tilde is a dead key
on Fn+n (for entering the spanish ñ, I assume). Other dead keys like
¨, ´ and ` also cause git-gui to crash. It does not matter whether the
dead key is the last one in the commit message or not.

Interestingly, the commit text was saved to .git/COMMIT_MSG in spite
of the crash, so I didn't lose any of it.

I use the current git 1.7.9 installed via homebrew.

Thanks,
Beat Bolli

PS: Please CC me on replies, I'm not on the list. Thanks.
- -- 
pgp: 0x506A903A; 49D5 794A EA77 F907 764F  D89E 304B 93CF 506A 903A
gsm: 4.7.7.6.0.7.7.9.7.1.4.e164.arpa
icbm: 47.0452 N, 7.2715 E

"It takes love over gold, and mind over matter" -- Dire Straits