Subject: bug#6709: 24.0.50; With semantic-mode enabled mo-git-blame-current gives a post-command-hook error

From: Dan Nicolaescu <[email-masked]>
Date: Mon, 26 Jul 2010 17:41:26 -0400

"Aneesh Kumar K. V" <[email-masked]> writes:

> On Sat, 24 Jul 2010 01:23:15 -0400, Dan Nicolaescu <[email-masked]> wrote:
>> [email-masked] writes:
>> 
>> > Here is how to reproduce
>> >
>> > mo-git-blame can be downloaded from 
>> >
>> > git://git.bunkus.org/mo-git-blame.git
>> >
>> > emacs -Q
>> > M-x load-file mo-git-blame-el
>> > open a file in git repository
>> > M-x mo-git-blame-current
>> >
>> > We will see the error 
>> >
>> > Running 'git cat-file'... done
>> > Running 'git blame'...
>> > Error in post-command-hook: (wrong-type-argument arrayp nil)
>> > Git finished.
>> > Running 'git blame'... done
>> >
>> > The error actually disable scroll-all-mode. So further scrolling doesn't
>> > cause both windows to scroll
>> 
>> Not really related to your bug report, but from the name it looks like mo-git-blame is a package for
>> using "git blame".  Can you please tell us what it has that we are
>> missing in C-x v g ? 
>
> I quickly tried C-x v g. This is what i found

Thanks for doing this!

> 1) No incremental blame support. That is we have to wait for the entire
> history to be available.

Does this make a difference in real life? 
You might want to file a bug report for this, maybe it will get implemented.

> 2) ability to blame previous version/next version in the blame window

Isn't that functionality available using the p n a j w keys? Please
see the VC-annotate menu for the command names.  These commands should
work even in the presence of renamed and moved files.

> 3) Ability to show the commit information on selecting the commit.

You can get the diff (using D) and the log (using L).  This might need
another bug report, if git users think it's important it can be
implemented in about 3-4 lines of code...

> 4) No scroll-all-window support so that boththe annotation information
> and source code will scroll together

The two-column.el package should help doing that...

Maybe we need to ask the author of mo-git-blame-el if he wants to
implement these features in vc-annotate.el...