From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Phil Hagelberg <phil@hagelb.org>
Cc: emacs-devel@gnu.org
Subject: Re: Hyperlinks in *vc-change-log*
Date: Fri, 11 Apr 2008 12:36:59 -0400 [thread overview]
Message-ID: <jwvprswxskq.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <874pa9djro.fsf@hagelb.org> (Phil Hagelberg's message of "Thu, 10 Apr 2008 22:48:27 -0700")
>> Doesn't seem like a bad idea. But it should be generalized to show not
>> only files but also diffs.
> I'm not sure what you mean by this. When I follow a hyperlink labelled
> with a given commit ID, I would expect to see the file revision of the
> file as it was in that commit.
Depends on your point of view: some people/VCS consider each "id" as
referring to a particular revision, others consider it as referring to
a particular changeset (i.e. patch/diff). While most VCS take one point
of view as "fundamental", they all provide ways to get the other view.
> I'm guessing this means that it would also be handy to be able to see a
> diff between the given revision and the previous one,
Yes.
> or perhaps the given revision and the current one.
We could add that as well.
> But I'm not sure how that would work in terms of the UI. This is all
> implemented using buttons, so I am only tying functionality to text
> that already exists in the buffer. Perhaps another binding could be
> used? RET to visit a revision, and C-RET to view the diff between that
> revision and the last?
I was thinking of a menu. From the keyboard we already have bindings
for those operations, IIRC (at least `d' for the diff).
>> For multifile logs, the best option would be to popup a menu of files.
>> BTW this is specific to the display of files. For `diffs', this problem
>> wouldn't occur.
> That makes perfect sense; good idea. I would expect a keyboard
> invocation of the hyperlink would cause the choice to be given in the
> minibuffer, while a mouse invocation would cause a contextual menu much
> like the one you see with C-mouse-1. Is there any way to create such a
> menu in a unified fashion? I am only familiar with the minibuffer route.
I don't think we do exactly, but we have code that does that in various
places: tmm-menubar and imenu.el at least. You may want to steal some
of their code and (better yet) merge that code into a generic function
that we could install in subr.el or somesuch.
Stefan
next prev parent reply other threads:[~2008-04-11 16:36 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-09 16:29 Hyperlinks in *vc-change-log* Phil Hagelberg
2008-04-09 17:43 ` Lennart Borgman (gmail)
2008-04-09 19:59 ` Stefan Monnier
2008-04-10 7:37 ` Dan Nicolaescu
2008-04-11 5:48 ` Phil Hagelberg
2008-04-11 16:36 ` Stefan Monnier [this message]
2008-04-12 6:44 ` Phil Hagelberg
2008-04-13 17:33 ` Thien-Thi Nguyen
2008-04-15 22:33 ` Juri Linkov
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=jwvprswxskq.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=emacs-devel@gnu.org \
--cc=phil@hagelb.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.