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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 5652 in the body.
You can then email your comments to 5652 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5652; Package emacs. (Fri, 26 Feb 2010 01:35:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to enami tsugutomo <tsugutomo.enami <at> jp.sony.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 26 Feb 2010 01:35:02 GMT) Full text and rfc822 format available.

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

From: enami tsugutomo <tsugutomo.enami <at> jp.sony.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.1.92; Info-index puts cursor at wrong position
Date: Fri, 26 Feb 2010 10:26:06 +0900 (JST)
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:

=== modified file 'lisp/info.el'
*** lisp/info.el	2010-02-10 20:04:51 +0000
--- lisp/info.el	2010-02-26 00:46:14 +0000
***************
*** 3062,3068 ****
  	  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 3)			; don't search in headers
      (let ((name (car (car Info-index-alternatives))))
        (Info-find-index-name name)))
--- 3062,3069 ----
  	  num (1- num)))
    (Info-goto-node (nth 1 (car Info-index-alternatives)))
    (if (> (nth 3 (car Info-index-alternatives)) 0)
!       (forward-line (- (nth 3 (car Info-index-alternatives))
! 		       (line-number-at-pos)))
      (forward-line 3)			; don't search in headers
      (let ((name (car (car Info-index-alternatives))))
        (Info-find-index-name name)))

... when following change was done.

------------------------------------------------------------
revno: 91515
committer: Juri Linkov <juri <at> jurta.org>
timestamp: Sat 2008-10-18 23:04:38 +0000
message:
  (Info-find-node-2): Put initial point below the header line and breadcrumbs line.
------------------------------------------------------------

enami.


In GNU Emacs 23.1.92.1 (x86_64--netbsd)
 of 2010-02-24 on rplaca.sm.sony.co.jp
configured using `configure  'x86_64--netbsd' '--with-x=no' 'build_alias=x86_64--netbsd' 'host_alias=x86_64--netbsd' 'target_alias=x86_64--netbsd''

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: nil
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default enable-multibyte-characters: t

Major mode: Info

Minor modes in effect:
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
ESC x i n f o RET C-s e l i s p C-a m RET i s a v e 
- e x c u r s i o n RET ESC x r e p o r TAB RET

Recent messages:
("emacs")
For information about GNU Emacs and the GNU system, type C-h C-a.
Source file `/home/enami/src/emacs/lisp/info.el' newer than byte-compiled file
Composing main Info directory...done
Mark saved where search started
Found `save-excursion' in Index.  (Only match)

Load-path shadows:
None found.

Features:
(shadow sort mail-extr message sendmail regexp-opt ecomplete rfc822 mml
mml-sec password-cache mm-decode mm-bodies mm-encode mailcap mail-parse
rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util
netrc time-date mm-util mail-prsvr gmm-utils wid-edit mailheader canlock
sha1 hex-util hashcash mail-utils emacsbug multi-isearch info tool-bar
easymenu ediff-hook vc-hooks lisp-float-type lisp-mode register page
menu-bar rfn-eshadow timer jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev loaddefs button minibuffer faces cus-face files
text-properties overlay md5 base64 format env code-pages mule custom
widget hashtable-print-readable backquote make-network-process multi-tty
emacs)






Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5652; Package emacs. (Fri, 26 Feb 2010 09:21:03 GMT) Full text and rfc822 format available.

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/




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5652; Package emacs. (Fri, 26 Feb 2010 09:57:01 GMT) Full text and rfc822 format available.

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

From: Andreas Schwab <schwab <at> linux-m68k.org>
To: Juri Linkov <juri <at> jurta.org>
Cc: enami tsugutomo <tsugutomo.enami <at> jp.sony.com>, 5652 <at> debbugs.gnu.org
Subject: Re: bug#5652: 23.1.92; Info-index puts cursor at wrong position
Date: Fri, 26 Feb 2010 10:56:23 +0100
Juri Linkov <juri <at> jurta.org> writes:

> 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))))

Looks like a bug in bzr.  With git blame it points to f4ed1f85:

commit f4ed1f852b3fb7650178446ac53db773d9fd25d6
Author: Juri Linkov <juri <at> jurta.org>
Date:   Tue Apr 27 06:39:46 2004 +0000

    Add *info*<[0-9]+> to same-window-regexps instead of
    same-window-buffer-names.

Andreas.

-- 
Andreas Schwab, schwab <at> linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5652; Package emacs. (Fri, 26 Feb 2010 10:12:02 GMT) Full text and rfc822 format available.

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

From: Juri Linkov <juri <at> jurta.org>
To: Andreas Schwab <schwab <at> linux-m68k.org>
Cc: enami tsugutomo <tsugutomo.enami <at> jp.sony.com>, 5652 <at> debbugs.gnu.org
Subject: Re: broken bzr history
Date: Fri, 26 Feb 2010 12:09:03 +0200
>> 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))))
>
> Looks like a bug in bzr.  With git blame it points to f4ed1f85:
>
> commit f4ed1f852b3fb7650178446ac53db773d9fd25d6
> Author: Juri Linkov <juri <at> jurta.org>
> Date:   Tue Apr 27 06:39:46 2004 +0000

Yes, I can confirm this is the correct commit.  In read-only CVS I see:

revision 1.393
date: 2004-04-27 09:39:46 +0300;  author: jurta;  state: Exp;  lines: +80 -42;
[...]
(Info-index-next): Decrement line number.

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




Added tag(s) patch. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Fri, 26 Feb 2010 21:36:02 GMT) Full text and rfc822 format available.

Reply sent to Juri Linkov <juri <at> jurta.org>:
You have taken responsibility. (Tue, 02 Mar 2010 21:28:02 GMT) Full text and rfc822 format available.

Notification sent to enami tsugutomo <tsugutomo.enami <at> jp.sony.com>:
bug acknowledged by developer. (Tue, 02 Mar 2010 21:28:02 GMT) Full text and rfc822 format available.

Message #21 received at 5652-done <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-done <at> debbugs.gnu.org
Subject: bug#5652: 23.1.92; Info-index puts cursor at wrong position
Date: Tue, 02 Mar 2010 23:19:31 +0200
> revision 1.393
> date: 2004-04-27 09:39:46 +0300;  author: jurta;  state: Exp;  lines: +80 -42;
> [...]
> (Info-index-next): Decrement line number.

This log shows that my last patch is correct.  The 2004-04-27 change
decremented line number by 1 to put point to the same line as designated
by the index line numbers.  And after the 2008-10-18 change that moves
point one line down, it's necessary to compensate this and to decrement
by 2.  Patch installed.

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




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 31 Mar 2010 11:24:03 GMT) Full text and rfc822 format available.

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

Previous Next


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