GNU bug report logs - #5652
23.1.92; Info-index puts cursor at wrong position

Previous Next

Package: emacs;

Reported by: enami tsugutomo <tsugutomo.enami <at> jp.sony.com>

Date: Fri, 26 Feb 2010 01:35:02 UTC

Severity: normal

Tags: patch

Done: Juri Linkov <juri <at> jurta.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 5652 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> jurta.org>
To: enami tsugutomo <tsugutomo.enami <at> jp.sony.com>
Cc: 5652 <at> debbugs.gnu.org
Subject: Re: bug#5652: 23.1.92; Info-index puts cursor at wrong position
Date: Fri, 26 Feb 2010 11:08:27 +0200
> Info-index puts cursor at wrong position.  The key sequence in `Recent
> input' below is the example when `save-excursion' is searched on emacs
> lisp refernec manual.  Ideally (and acutually at least emacs 20.7 does)
> it puts cursor at the line here:
>
>  -- Special Form: save-excursion body...
>
> .. but instead it puts 2 lines below.
>
> I guess Info-index-next should be changed as follows:

Thanks for the bug report.  I think your patch is not right.

When you look at the raw Info file in info/elisp-11, you can see:

  * save-excursion:         Excursions.          (line  20)
                                                  ========

When you turn breadcrumbs off e.g. by (setq Info-breadcrumbs-depth 0),
visit (info "(elisp) Excursions") and go to the line 20, you can see
that it is the following line:

     The `save-excursion' special form saves the identity of the current

So currently the incorrect offset is not 2 lines, but only 1 line.

When you see that the line 20 is "-- Special Form: save-excursion body..."
it is only when breadcrumbs insert a line directly to the Info buffer
and thus breaks line numbers.  We have more troubles with breadcrumbs
and hope to fix them by displaying breadcrumbs in the header window.

Now it seems the right fix is to just decrement this offset by 1:

=== modified file 'lisp/info.el'
--- lisp/info.el	2010-02-11 20:57:10 +0000
+++ lisp/info.el	2010-02-26 09:07:27 +0000
@@ -3090,7 +3090,7 @@ (defun Info-index-next (num)
 	  num (1- num)))
   (Info-goto-node (nth 1 (car Info-index-alternatives)))
   (if (> (nth 3 (car Info-index-alternatives)) 0)
-      (forward-line (1- (nth 3 (car Info-index-alternatives))))
+      (forward-line (- (nth 3 (car Info-index-alternatives)) 2))
     (forward-line 3)			; don't search in headers
     (let ((name (car (car Info-index-alternatives))))
       (Info-find-index-name name)))

BTW, the brz history seems corrupted.

Trying to see the reason why this line in `Info-index-next'
was changed last time:

      (forward-line (1- (nth 3 (car Info-index-alternatives))))

I typed `C-x v g' (vc-annotate) in info.el, and it displays:

  49780.1.32 henrik. | (forward-line (1- (nth 3 (car Info-index-alternatives))))

Typing `l' on this line displays the *vc-change-log* buffer:

  ------------------------------------------------------------
  revno: 49780.1.32
  committer: Henrik Enberg <henrik.enberg <at> telia.com>
  timestamp: Mon 2006-01-16 00:03:54 +0000
  message:
    sync with trunk

Does anyone know is it possible to see the original log
instead of this merge commit?

-- 
Juri Linkov
http://www.jurta.org/emacs/




This bug report was last modified 15 years and 85 days ago.

Previous Next


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