help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Diff could also show the changes within lines


From: Sebastien Vauban
Subject: Re: Diff could also show the changes within lines
Date: Tue, 18 Feb 2014 11:09:37 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (windows-nt)

Hello Michael,

Michael Heerdegen wrote:
> "Sebastien Vauban" writes:
>
>> Weirdly enough, [my-diff-make-fine-diffs] does not work when done
>> automatically, well when done interactively...
>>
>> In *all* cases, I see (in the *Messages* buffer):
>>
>> >>> BEGIN <<<
>> >> I've refined the next hunk... << [2 times]
>> >>> END <<<
>>
>> ... so, even when done by the hook, I see those messages, as if the
>> refining was done, but it's not visible in the Diff buffer, as you can
>> see on http://screencast.com/t/e7et4xeO.
>>
>> When Edebugging, or when going to the *vc-diff* buffer and calling M-x
>> my-diff-make-fine-diffs, the same messages appear in the *Messages*
>> buffer, but the buffer is well colored differently, as you can see on
>> http://screencast.com/t/K2VdxlF2fMld.
>
> My guess is that diff-mode-hook is not a good place to push your
> function to.  Maybe it is called too early, and the effect is somehow
> reverted later.  You may try something like
>
> (advice-add
>  'vc-diff :after
>  (lambda (&rest _)
>    (my--diff-make-fine-diffs-if-necessary)))
>
> I wonder if that work's.

Well, that does work!  Thanks a lot... That's something very
handy... (that everybody should have IMO)...

>> So, I don't understand anything anymore... and don't know how to
>> proceed to further debug this...
>
> Have you already tried to (debug-on-entry 'my-diff-make-fine-diffs)?  I
> wonder how the buffer looks like after `my-diff-make-fine-diffs' is
> done.  You may try to find out what is going on later.
>
>> Side (though important) question: when Edebugging, as soon as I step
>> through the function, the *vc-diff* buffer disappears from my
>> sight.  I always have to switch to it, and check what changed, to see
>> what's going on.  Is there a way to make the buffer (on which the code
>> is applied) stay visible during the stepping session?
>
> I think it is best to display it just in a different frame after
> starting edebug.  Yes, it is very aggressive in capturing frames.

s/frames/windows?

Thanks for the tip. I'll try next time (I never use frames).

Best regards,
  Seb

-- 
Sebastien Vauban


reply via email to

[Prev in Thread] Current Thread [Next in Thread]