GNU bug report logs - #7284
[PATCH] `find-change-log' fails in *derived* Diff modes

Previous Next

Package: emacs;

Reported by: "Aaron S. Hawley" <aaron.s.hawley <at> gmail.com>

Date: Tue, 26 Oct 2010 19:45:02 UTC

Severity: normal

Tags: patch

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

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#7284: closed ([PATCH] `find-change-log' fails in *derived*
 Diff modes)
Date: Wed, 27 Oct 2010 21:41:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 27 Oct 2010 17:38:46 -0400
with message-id <jwvbp6fl3jo.fsf-monnier+emacs <at> gnu.org>
and subject line Re: bug#7284: [PATCH] `find-change-log' fails in *derived* Diff modes
has caused the GNU bug report #7284,
regarding [PATCH] `find-change-log' fails in *derived* Diff modes
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
7284: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7284
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: "Aaron S. Hawley" <aaron.s.hawley <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: [PATCH] `find-change-log' fails in *derived* Diff modes
Date: Tue, 26 Oct 2010 15:47:43 -0400
[Message part 3 (text/plain, inline)]
Running `C-x 4 a' (add-change-log-entry-other-window) in a derived mode
of Diff mode (psvn-diff-mode, magit-diff-mode, and so on) does not open
the correct ChangeLog file.  The following patch fixes the problem.

--- lisp/vc/add-log.el~	2010-09-21 14:11:28.216630100 -0400
+++ lisp/vc/add-log.el	2010-10-25 16:46:49.808297800 -0400
@@ -701,7 +701,7 @@
 Optional arg BUFFER-FILE overrides `buffer-file-name'."
   ;; If we are called from a diff, first switch to the source buffer;
   ;; in order to respect buffer-local settings of change-log-default-name, etc.
-  (with-current-buffer (let ((buff (if (eq major-mode 'diff-mode)
+  (with-current-buffer (let ((buff (if (derived-mode-p 'diff-mode)
 				       (car (ignore-errors
 					     (diff-find-source-location))))))
 			 (if (buffer-live-p buff) buff



Perhaps, more of the cases of Emacs's Lisp that have (eq major-mode ...)
should be converted to (derived-mode-p ...).  Obviously, they'll need
to be studied on a case-by-case basis since there might be cases when
only the exact major-mode is intended to be matched.

Thanks for Emacs,
/a
[add-log_derived-diff-mode.patch (application/octet-stream, attachment)]
[Message part 5 (message/rfc822, inline)]
From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: "Aaron S. Hawley" <aaron.s.hawley <at> gmail.com>
Subject: Re: bug#7284: [PATCH] `find-change-log' fails in *derived* Diff modes
Date: Wed, 27 Oct 2010 17:38:46 -0400
> -  (with-current-buffer (let ((buff (if (eq major-mode 'diff-mode)
> +  (with-current-buffer (let ((buff (if (derived-mode-p 'diff-mode)

Installed in the emacs-23 branch, thank you,


        Stefan


This bug report was last modified 14 years and 211 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.