GNU bug report logs -
#2612
VC annotate mode places point on wrong line number when narrowing is in effect
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Mon, 09 Mar 2009 21:01:02 -0400
with message-id <87r616dwdt.fsf <at> cyd.mit.edu>
and subject line Re: VC annotate mode places point on wrong line number when narrowing is in effect
has caused the Emacs bug report #2612,
regarding VC annotate mode places point on wrong line number when narrowing is in effect
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact help-debbugs <at> gnu.org
immediately.)
--
2612: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=2612
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Actual Behaviour:
The VC annotate mode automatically places point on the same line as it
is in the buffer of the corresponding file. Thus, one sees the same line
in the annotated buffer as in the file buffer. However, when narrowing
is in effect in the file buffer when vc-annotate is called, point is
placed on the wrong line.
How to Reproduce:
* Visit a version-controlled file with at least 2 lines.
* Narrow to a region that does not start on line 1 (say, on line 2).
* Place point on say, line 1 of the narrowed portion (i.e., line 2 of
the file).
* Call vc-annotate (C-x v g)
* Note how point is on line 1 of the file instead of the expected line 2.
Patch:
In vc.el, surround the call to (line-number-at-pos) by a
(save-restriction (widen) ...):
diff -u "c:/Programme/emacs/emacs-22.2/lisp/vc.el~"
"c:/Programme/emacs/emacs-22.2/lisp/vc.el"
--- c:/Programme/emacs/emacs-22.2/lisp/vc.el~ 2008-02-04
03:32:56.000000000 +0100
+++ c:/Programme/emacs/emacs-22.2/lisp/vc.el 2009-03-04
17:57:40.078000000 +0100
@@ -3194,7 +3194,7 @@
;; If BUF is specified, we presume the caller maintains
current line,
;; so we don't need to do it here. This implementation may give
;; strange results occasionally in the case of REV !=
WORKFILE-REV.
- (current-line (unless buf (line-number-at-pos))))
+ (current-line (unless buf (save-restriction (widen)
(line-number-at-pos)))))
(message "Annotating...")
;; If BUF is specified it tells in which buffer we should put the
;; annotations. This is used when switching annotations to another
Diff finished. Mon Mar 09 15:24:19 2009
By the Way:
vc.el contains '$Id$', looks like keyword expansion was not switched on.
In GNU Emacs 22.2.1 (i386-mingw-nt5.1.2600)
of 2008-03-26 on RELEASE
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'
[Message part 3 (message/rfc822, inline)]
> The VC annotate mode automatically places point on the same line as it
> is in the buffer of the corresponding file. Thus, one sees the same
> line in the annotated buffer as in the file buffer. However, when
> narrowing is in effect in the file buffer when vc-annotate is called,
> point is placed on the wrong line.
Thanks, I've checked your patch into CVS.
This bug report was last modified 16 years and 73 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.