GNU bug report logs -
#4368
23.1; diff-hunk-kill -vs- final hunk in a file
Previous Next
Reported by: Tom Tromey <tromey <at> redhat.com>
Date: Tue, 8 Sep 2009 04:20:05 UTC
Severity: normal
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
This is an automatic notification regarding your bug report
which was filed against the emacs package:
#4368: 23.1; diff-hunk-kill -vs- final hunk in a file
It has been closed by Stefan Monnier <monnier <at> iro.umontreal.ca>.
Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Stefan Monnier <monnier <at> iro.umontreal.ca> by
replying to this email.
--
4368: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4368
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Stefan> Can you show the content before the last M-k ?
> The appended is a sample diff. I just grabbed a couple random hunks
> from the actual diff I was editing. It was originally made by git.
> Put it in a file, then M-x diff-mode.
> M-n to go to the first @@.
> M-k.
> You will see that all the header info from lisp.h remains in the buffer.
> I don't think you even need the second file diff in there to see this, a
> single file will do.
Hmm... indeed it fails all the time. Yet, I'm sure it used to work.
Anyway, the patch below seems to fix it.
Thanks,
Stefan
Index: lisp/diff-mode.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/diff-mode.el,v
retrieving revision 1.161
diff -u -r1.161 diff-mode.el
--- lisp/diff-mode.el 1 Sep 2009 07:24:18 -0000 1.161
+++ lisp/diff-mode.el 9 Sep 2009 14:47:45 -0000
@@ -546,7 +546,8 @@
(interactive)
(diff-beginning-of-hunk)
(let* ((start (point))
- (nexthunk (when (re-search-forward diff-hunk-header-re nil t)
+ ;; Search the second match, since we're looking at the first.
+ (nexthunk (when (re-search-forward diff-hunk-header-re nil t 2)
(match-beginning 0)))
(firsthunk (ignore-errors
(goto-char start)
[Message part 3 (message/rfc822, inline)]
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.
Your bug report will be posted to the bug-gnu-emacs <at> gnu.org mailing list,
and to the gnu.emacs.bug news group.
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:
I'm using diff-mode to edit a patch.
The patch was generated by "git diff".
I typed M-k to remove the last hunk in a file.
However, it left the "header" around:
diff --git a/src/data.c b/src/data.c
index 7b59673..9063cef 100644
--- a/src/data.c
+++ b/src/data.c
diff --git a/src/eval.c b/src/eval.c
index 4b7aa32..dbaa385 100644
--- a/src/eval.c
[...]
This yielded an invalid patch.
If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
`bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/share/emacs/23.1/etc/DEBUG for instructions.
In GNU Emacs 23.1.1 (i386-redhat-linux-gnu, GTK+ Version 2.16.5)
of 2009-08-24 on x86-2.fedora.phx.redhat.com
Windowing system distributor `The X.Org Foundation', version 11.0.10601901
configured using `configure '--build=i386-redhat-linux-gnu' '--host=i386-redhat-linux-gnu' '--target=i586-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-dbus' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xft' '--with-xpm' '--with-x-toolkit=gtk' 'build_alias=i386-redhat-linux-gnu' 'host_alias=i386-redhat-linux-gnu' 'target_alias=i586-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i586 -mtune=generic -fasynchronous-unwind-tables''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en_US.UTF-8
value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix
default-enable-multibyte-characters: t
Major mode: Diff
Minor modes in effect:
shell-dirtrack-mode: t
diff-auto-refine-mode: t
erc-list-mode: t
erc-menu-mode: t
erc-autojoin-mode: t
erc-ring-mode: t
erc-pcomplete-mode: t
erc-track-mode: t
erc-track-minor-mode: t
erc-match-mode: t
erc-button-mode: t
erc-fill-mode: t
erc-stamp-mode: t
erc-netsplit-mode: t
erc-spelling-mode: t
erc-truncate-mode: t
erc-status-mode: t
erc-services-mode: t
erc-networks-mode: t
erc-irccontrols-mode: t
erc-noncommands-mode: t
erc-move-to-prompt-mode: t
erc-readonly-mode: t
tooltip-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
global-auto-composition-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
g i t - r e v e r t RET C-x o C-x 1 C-v C-v C-l ESC
v C-x b * s h TAB RET f r o m RET C-x b RET C-l ESC
v C-h u g i t - r e s e t RET C-x o C-x 1 C-v C-v C-v
C-v C-v k C-x b * s h TAB RET C-r 8 a 9 C-w C-r C-r
C-r C-r C-x C-f / t m p / L RET C-s C-s C-a ESC v ESC
v ESC v ESC v C-x b RET ESC p ESC p ESC DEL Q ESC b
ESC b ESC b ESC b ESC t C-_ ESC f ESC t RET C-x C-f
/ t m p / Q RET C-v C-v C-x k RET g i t C-a C-k . RET
g i t SPC a p p l y SPC / t m p / Q RET g i t SPC s
t a t u s RET C-c C-o g i t SPC c o m m i t SPC - a
SPC - m ' r e v e r t SPC a SPC f e w SPC p a t c h
e s SPC b y SPC h n d DEL DEL a n d ' RET g i t SPC
a p p l y SPC t / DEL DEL / t m p / P RET C-x C-f /
t m p / P RET C-c g 1 4 6 RET ESC x r e p o r t - e
m TAB b TAB RET d i f f - C-g C-h k ESC k ESC x r e
p o r t - e m TAB b TAB RET
Recent messages:
Please wait: formatting the git-reset man page...
git-reset man page formatted
Mark saved where search started [2 times]
call-interactively: Beginning of buffer [4 times]
History item: 1
History item: 2
Undo!
Mark set
Quit
Type C-x 1 to delete the help window.
Tom
This bug report was last modified 15 years and 341 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.