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

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

bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend


From: Dmitry Gutov
Subject: bug#15365: 24.3.50; Segfault when calling vc-git-log-edit-toggle-amend
Date: Sun, 15 Sep 2013 17:53:04 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130803 Thunderbird/17.0.8

On 15.09.2013 09:20, Eli Zaretskii wrote:
Do the situations that triggered the bug involve font changes?

Not to my knowledge, no.

In any case, that revision was about making redisplay optimizations
more aggressive, so it is small wonder that try_window_id, which is
part of those optimizations, is now called in situations where
previously it wasn't.  IOW, it is quite possible that there's nothing
wrong with try_window_id being invoked in these situations.

I see.

(TIL that 'git bisect', unlike its Bazaar counterpart, supports
filtering commits by files they touched. xdisp.c, in this example).

The display engine is not limited to xdisp.c; dispnew.c and
dispextern.h are important parts of it, and sometimes window.c and the
display-specific back-ends (xterm.c and xfns.c for X and similarly for
w32 and NS) are also involved.

I figured that most changes to the display engine would still touch xdisp.c, though maybe it was just a lucky guess.

None of GitHub repositories are publicly writable, so there's zero
danger of that.

Thanks, I didn't know that.  (Of course, I never had to use GitHub,
either.)

I think it's the same with most of the project hostings. Such as Savannah, for example.

I know about "git push" vs "git commit".  What I didn't know is what
exactly do the Emacs commands you used do, in git terms, and how does
that relate to commit and push and the myriad of their options.  The
only thing that was clear to me was that a commit is required, because
that's what "C-x v v" does in a modified buffer.  I know nothing about
"C-c C-e" in that context.

`C-x v v` won't perform the commit until you press `C-c C-c`.

`vc-git-log-edit-toggle-amend` works in a Log-Edit buffer. It just toggles the value of the "Amend" header and inserts the last commit's message, so that the user can edit it before committing.

And even if I knew that "push" is not involved, committing to a
repository that tracks upstream development (which is all I do with
git) would need some way to subsequently un-commit that, something I
don't know how to do with git.  I didn't want to screw up my work on
GNU Make and Gawk, I'm sure you will understand.

Sure. But just in case you're eventually going to make time to study Git, 'git reset' is the command you're looking for.

And speaking of experimenting, you can just create a new local repository, not tied to any remotes, with 'git init'.





reply via email to

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