From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alan Newsgroups: gmane.emacs.help Subject: Re: Disappointed by texinfo @anchor construct Date: Thu, 20 Nov 2014 20:16:10 -0800 (PST) Message-ID: <26c25b1d-80e1-4704-8200-90ae204403af@googlegroups.com> References: <015154a6-54b1-4fd7-a023-76925ea0b546@googlegroups.com> <966d2154-942f-48f6-b48c-5f6085270c69@googlegroups.com> <825a2af7-2c2c-4478-b69a-916c317eb117@googlegroups.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1416543630 21839 80.91.229.3 (21 Nov 2014 04:20:30 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 21 Nov 2014 04:20:30 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Nov 21 05:20:25 2014 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Xrfhl-0004V2-SQ for geh-help-gnu-emacs@m.gmane.org; Fri, 21 Nov 2014 05:20:22 +0100 Original-Received: from localhost ([::1]:38370 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xrfhl-0005YE-Ei for geh-help-gnu-emacs@m.gmane.org; Thu, 20 Nov 2014 23:20:21 -0500 X-Received: by 10.66.248.229 with SMTP id yp5mr2287981pac.12.1416543371957; Thu, 20 Nov 2014 20:16:11 -0800 (PST) X-Received: by 10.182.76.70 with SMTP id i6mr455obw.35.1416543370964; Thu, 20 Nov 2014 20:16:10 -0800 (PST) Original-Path: usenet.stanford.edu!uq10no2154274igb.0!news-out.google.com!w7ni50qay.0!nntp.google.com!w8no1259784qac.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Original-Newsgroups: gnu.emacs.help In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=173.150.111.222; posting-account=czAMxQoAAAAUEojshw4CrIvcwSdulymE Original-NNTP-Posting-Host: 173.150.111.222 User-Agent: G2/1.0 Injection-Date: Fri, 21 Nov 2014 04:16:11 +0000 Original-Xref: usenet.stanford.edu gnu.emacs.help:208810 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:101090 Archived-At: On Thursday, November 20, 2014 11:30:10 AM UTC-6, Eli Zaretskii wrote: > > Date: Wed, 19 Nov 2014 19:45:10 -0800 (PST) > > From: Alan > >=20 > > I've been checking which makeinfo I am using. I did the latest testing= with makeinfo from texinfo 5.2. >=20 > Pick up an anchor that doesn't work, then visit the Info file > literally, and look up that anchor in the Tag Table at the end of the > file. It should have the byte offset near it. Check where does this > byte offset point to in the file. If it points to the correct place, > then makeinfo is innocent. >=20 > Can you try with some other file, like wisent.info that comes with > Emacs? I just tried there, and the anchor wisent-skip-token, > referenced from the node "Error Recovery", works for me. Does it work > for you? The offset looks okay. I tried wisent.info and the problem remains. I then decided to explore the operation of the code, with edebug. I record= my observations below: I explored code using edebug and found the critical section of code in (defun Info-find-node-2 To be able to reference particular lines, I added a number at the beginning= of each line: 1 ;; First, search a tag table, if any 2 (when (marker-position Info-tag-table-marker) 3 (let* ((m Info-tag-table-marker) 4 (found (Info-find-in-tag-table m regexp strict-case= ))) 5 6 (when found 7 ;; FOUND is (ANCHOR POS MODE). 8 (setq guesspos (nth 1 found)) 9 10 ;; If this is an indirect file, determine which 11 ;; file really holds this node and read it in. 12 (unless (eq (nth 2 found) 'Info-mode) 13 ;; Note that the current buffer must be the 14 ;; *info* buffer on entry to 15 ;; Info-read-subfile. Thus the hackery above. 16 (setq guesspos (Info-read-subfile guesspos))) 17 18 ;; Handle anchor 19 (when (nth 0 found) 20 (goto-char (setq anchorpos guesspos)) 21 (throw 'foo t))))) I have a texinfo file of mine where I've added an anchor & then ran it thro= ugh makeinfo. I looked at the tag table for that anchor in the info file a= nd it has an offset that makes sense. I then examine what happens in the a= bove section of code--using edebug--when I reference that anchor. At line = 8 the guesspos is what I would regard as proper for the anchor. The test a= t line 12 fails because the mode recorded in "found" is "fundamental". Lin= e 16 then changes guesspos to a value that doesn't correspond to the anchor= . My next task is to figure out why the mode recorded in "found" isn't 'Info-= mode.