From: "Herring, Davis" <herring@lanl.gov>
To: Eli Zaretskii <eliz@gnu.org>
Cc: "emacs-devel@gnu.org" <emacs-devel@gnu.org>
Subject: RE: [PATCH] Showing the relevant part of a diff
Date: Sat, 20 Feb 2016 20:20:06 +0000 [thread overview]
Message-ID: <B393F5AD12955C48A84FFB08032CD04F6C433731@ECS-EXG-P-MB01.win.lanl.gov> (raw)
In-Reply-To: <83vb5lrss7.fsf@gnu.org>
> > +(defun diff-goto-line (file line column)
> > + "Go to the place in this diff producing LINE in FILE.
>
> This first line should mention COLUMN as well.
So, to keep to the length limit, I guess we want
Go to the place in this diff producing LINE:COLUMN in FILE.
even though that (still) doesn't name the arguments in order.
> > +If LINE (in the new version of FILE) is included, move to it and then
> ^^^^^^^^^^^
> Included where?
In the diff, as a +/! line or a context line.
> > +COLUMN characters forward. If it is absent, go to the first hunk
> > +starting after LINE, or to the end if none does.
>
> Why this fallback? Would it make sense to just stay at the beginning?
First, it handles the case where point is just outside a hunk's context, by putting it "just off the edge" of the context. It can also be useful to see the nearest changes before and after point even if they are far away: they might be additions/removals of "#ifdef...#endif", for example.
> > + (unless rev2 ; remember the position in the or a current buffer
>
> Typo in the comment.
Not a typo -- I meant "in the [current buffer] or a current buffer". I could write "in the, or a, current buffer", but now that I think of it we shouldn't call another existing buffer "a current buffer". Maybe
; remember position in some buffer
and then
;; Prefer current buffer:
above the "(setq f ...)"?
There's actually a more general issue there: some members of `files' may be directories (for C-x v D, for instance), and the buffer chosen (current or no) might be visiting a file that has no changes. These points don't matter for plain `vc-diff', which was my first use case. I'll change it to record positions for all possibly-relevant buffers, and try each (current first) until it finds one relevant to the resulting diff.
> Thanks.
Thanks for looking at it,
Davis
next prev parent reply other threads:[~2016-02-20 20:20 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-19 5:43 [PATCH] Showing the relevant part of a diff Herring, Davis
2016-02-19 5:49 ` Lars Ingebrigtsen
2016-02-19 8:47 ` Eli Zaretskii
2016-02-20 20:20 ` Herring, Davis [this message]
2016-02-20 20:39 ` Eli Zaretskii
2016-02-20 22:49 ` Herring, Davis
2016-07-15 21:19 ` Davis Herring
2016-07-16 2:14 ` Herring, Davis
2016-07-16 9:28 ` Dmitry Gutov
2016-07-18 14:15 ` Ted Zlatanov
2016-07-18 23:20 ` Dmitry Gutov
2016-07-19 14:12 ` Ted Zlatanov
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=B393F5AD12955C48A84FFB08032CD04F6C433731@ECS-EXG-P-MB01.win.lanl.gov \
--to=herring@lanl.gov \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.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.