From: "Sebastien Vauban" <sva-news-D0wtAvR13HarG/iDocfnWg@public.gmane.org>
To: help-gnu-emacs-mXXj517/zsQ@public.gmane.org
Subject: Re: Diff could also show the changes within lines
Date: Mon, 10 Feb 2014 16:55:24 +0100 [thread overview]
Message-ID: <867g930xoz.fsf@somewhere.org> (raw)
In-Reply-To: mailman.14135.1391835521.10748.help-gnu-emacs@gnu.org
Hello Michael,
Michael Heerdegen wrote:
> "Sebastien Vauban" writes:
>
>> Now, while it's still being called, and still going in the `while' loop,
>> it does not refine any hunk anymore...
>
> Did you try to edebug (this looks like a good exercise in debugging!)?
I did, in a minimal Emacs configuration:
--8<---------------cut here---------------start------------->8---
(load-theme 'leuven t)
;; mode for viewing/editing context diffs
(with-eval-after-load "diff-mode"
(defun my-diff-make-fine-diffs ()
"Enable Diff Auto Refine mode."
(interactive)
(message ">>> BEGIN <<<")
(let (diff-auto-refine-mode)
(condition-case nil
(save-excursion
(goto-char (point-min))
(while (not (eobp))
(diff-hunk-next)
(diff-refine-hunk)
(message ">> I've refined the next hunk... <<")))
(error nil))
(run-at-time 0.0 nil
(lambda ()
(if (eq major-mode 'diff-mode)
;; put back the cursor only if still in a Diff buffer
;; after the delay
(goto-char (point-min))))))
(message ">>> END <<<"))
(defun my--diff-make-fine-diffs-if-necessary ()
"Auto-refine only the regions of 14,000 bytes or less."
;; check for auto-refine limit
(unless (> (buffer-size) 14000)
(my-diff-make-fine-diffs)))
(add-hook 'diff-mode-hook
'my--diff-make-fine-diffs-if-necessary))
--8<---------------cut here---------------end--------------->8---
Weirdly enough, it does not work when done automatically, well when done
interactively...
In *all* cases, I see (in the *Messages* buffer):
--8<---------------cut here---------------start------------->8---
>>> BEGIN <<<
>> I've refined the next hunk... << [2 times]
>>> END <<<
--8<---------------cut here---------------end--------------->8---
... 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.
So, I don't understand anything anymore... and don't know how to
proceed to further debug this...
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?
Best regards,
Seb
--
Sebastien Vauban
next prev parent reply other threads:[~2014-02-10 15:55 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-07 16:50 Diff could also show the changes within lines Sebastien Vauban
2014-02-08 4:58 ` Michael Heerdegen
[not found] ` <mailman.14135.1391835521.10748.help-gnu-emacs@gnu.org>
2014-02-08 12:53 ` Sebastien Vauban
2014-02-10 15:55 ` Sebastien Vauban [this message]
2014-02-12 11:35 ` Michael Heerdegen
[not found] ` <mailman.14857.1392204947.10748.help-gnu-emacs@gnu.org>
2014-02-18 10:09 ` Sebastien Vauban
2014-02-18 11:01 ` Sebastien Vauban
2014-02-18 11:02 ` Sebastien Vauban
2014-02-18 16:07 ` Michael Heerdegen
[not found] ` <mailman.15440.1392739818.10748.help-gnu-emacs@gnu.org>
2014-02-18 19:01 ` Sebastien Vauban
2014-02-18 22:12 ` Michael Heerdegen
[not found] ` <mailman.15497.1392761564.10748.help-gnu-emacs@gnu.org>
2014-02-19 11:08 ` Sebastien Vauban
2014-02-19 17:54 ` Michael Heerdegen
2014-02-18 13:40 ` Stefan Monnier
2014-02-18 16:08 ` Michael Heerdegen
2014-02-18 16:04 ` Michael Heerdegen
2014-02-18 16:04 ` Michael Heerdegen
2014-02-18 16:05 ` Michael Heerdegen
2014-03-20 13:31 ` Sebastien Vauban
2014-03-21 11:46 ` Michael Heerdegen
-- strict thread matches above, loose matches on Subject: below --
2012-10-05 14:37 Tom
2012-10-05 14:39 ` Drew Adams
2012-10-05 14:47 ` Tom
2012-10-05 16:32 ` Doug Lewan
2012-10-05 15:09 ` chandan r
2012-10-05 14:57 ` Tom
2012-10-05 16:26 ` Tom
2012-10-05 18:11 ` Tom
[not found] ` <mailman.10388.1349460693.855.help-gnu-emacs@gnu.org>
2012-11-10 8:58 ` Sebastien Vauban
2012-11-10 15:30 ` Tom
2012-11-12 20:00 ` Oleksandr Gavenko
2012-11-13 8:45 ` Tom
[not found] ` <mailman.12687.1352561429.855.help-gnu-emacs@gnu.org>
2012-11-14 14:31 ` Sebastien Vauban
2012-11-14 18:03 ` Tom
[not found] ` <mailman.12981.1352916228.855.help-gnu-emacs@gnu.org>
2012-11-14 22:07 ` Sebastien Vauban
2012-11-15 6:36 ` Tom
[not found] ` <mailman.13015.1352961428.855.help-gnu-emacs@gnu.org>
2012-11-15 10:04 ` Sebastien Vauban
2012-11-15 10:15 ` Tom
[not found] ` <mailman.13023.1352974557.855.help-gnu-emacs@gnu.org>
2012-11-15 11:29 ` Sebastien Vauban
2012-11-15 12:30 ` Tom
[not found] ` <mailman.13025.1352982671.855.help-gnu-emacs@gnu.org>
2012-11-15 15:20 ` Sebastien Vauban
2012-11-15 16:32 ` Tom
2012-11-16 15:30 ` Stefan Monnier
2012-11-16 16:40 ` Tom
[not found] ` <mailman.13097.1353084086.855.help-gnu-emacs@gnu.org>
2012-11-19 14:48 ` Stefan Monnier
[not found] ` <mailman.13033.1352997200.855.help-gnu-emacs@gnu.org>
2012-11-15 18:17 ` Sebastien Vauban
2012-11-15 18:53 ` Tom
[not found] ` <mailman.13043.1353005666.855.help-gnu-emacs@gnu.org>
2012-11-15 21:34 ` Sebastien Vauban
2012-11-16 16:24 ` Tom
2012-11-19 12:51 ` Sebastien Vauban
2012-11-19 17:45 ` Tom
[not found] ` <mailman.10380.1349454390.855.help-gnu-emacs@gnu.org>
2012-10-06 13:10 ` Stefan Monnier
2012-10-07 14:10 ` Tom
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=867g930xoz.fsf@somewhere.org \
--to=sva-news-d0wtavr13harg/idocfnwg@public.gmane.org \
--cc=help-gnu-emacs-mXXj517/zsQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.