From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.bugs Subject: bug#11999: 24.1.50; New Info file suffix ".info" breaks `Info-find-node-2' Date: Fri, 20 Jul 2012 09:13:22 -0700 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1342800908 30872 80.91.229.3 (20 Jul 2012 16:15:08 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 20 Jul 2012 16:15:08 +0000 (UTC) To: 11999@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jul 20 18:15:07 2012 Return-path: Envelope-to: geb-bug-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 1SsFr6-0007bN-Ux for geb-bug-gnu-emacs@m.gmane.org; Fri, 20 Jul 2012 18:15:05 +0200 Original-Received: from localhost ([::1]:45602 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SsFr6-0003OV-7y for geb-bug-gnu-emacs@m.gmane.org; Fri, 20 Jul 2012 12:15:04 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:46265) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SsFqv-0003Mu-MB for bug-gnu-emacs@gnu.org; Fri, 20 Jul 2012 12:15:01 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SsFqm-0002Eu-GL for bug-gnu-emacs@gnu.org; Fri, 20 Jul 2012 12:14:53 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:43183) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SsFqm-0002Ep-BV for bug-gnu-emacs@gnu.org; Fri, 20 Jul 2012 12:14:44 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1SsFwr-0001TM-My for bug-gnu-emacs@gnu.org; Fri, 20 Jul 2012 12:21:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: "Drew Adams" Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 20 Jul 2012 16:21:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 11999 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: Original-Received: via spool by submit@debbugs.gnu.org id=B.13428012105596 (code B ref -1); Fri, 20 Jul 2012 16:21:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 20 Jul 2012 16:20:10 +0000 Original-Received: from localhost ([127.0.0.1]:52729 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SsFvz-0001S8-OM for submit@debbugs.gnu.org; Fri, 20 Jul 2012 12:20:10 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:58490) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1SsFvt-0001Re-PZ for submit@debbugs.gnu.org; Fri, 20 Jul 2012 12:20:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SsFpj-0002An-S4 for submit@debbugs.gnu.org; Fri, 20 Jul 2012 12:13:43 -0400 Original-Received: from lists.gnu.org ([208.118.235.17]:55157) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SsFpj-0002Ai-OJ for submit@debbugs.gnu.org; Fri, 20 Jul 2012 12:13:39 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:50097) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SsFpf-0003Ea-LG for bug-gnu-emacs@gnu.org; Fri, 20 Jul 2012 12:13:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SsFpa-00029o-TH for bug-gnu-emacs@gnu.org; Fri, 20 Jul 2012 12:13:35 -0400 Original-Received: from rcsinet15.oracle.com ([148.87.113.117]:44220) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SsFpa-00029j-GF for bug-gnu-emacs@gnu.org; Fri, 20 Jul 2012 12:13:30 -0400 Original-Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by rcsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q6KGDSXb000923 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 20 Jul 2012 16:13:29 GMT Original-Received: from acsmt358.oracle.com (acsmt358.oracle.com [141.146.40.158]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q6KGDSND026782 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Fri, 20 Jul 2012 16:13:28 GMT Original-Received: from abhmt103.oracle.com (abhmt103.oracle.com [141.146.116.55]) by acsmt358.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q6KGDSWV023489 for ; Fri, 20 Jul 2012 11:13:28 -0500 Original-Received: from dradamslap1 (/10.159.80.190) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Fri, 20 Jul 2012 09:13:26 -0700 X-Mailer: Microsoft Office Outlook 11 Thread-Index: Ac1mkpVrCcUYkUAwS/yhfx2CphsP2A== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 1) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:62192 Archived-At: I do not have a recipe from emacs -Q. But here are two debug traces = from a build of 7/16, where there is a problem, and from Emacs 24.1, where there is no problem. =20 The code does exactly the same thing, step by step. But when `info-insert-file-contents' is called in the 7/16 build it returns nil instead of t, because it is looking for file "c:/Emacs-24.1/info/emacs" and there is no such file. There is now only a file "c:/Emacs-24.1/info/emacs.info". =20 IOW, changing the info files to have suffix ".info" breaks (at least) this code (i.e., at least `Info-find-node-2'). =20 ----------------------------------------------------------------- Emacs 24 built on 7/16: =20 Debugger entered--returning value: nil info-file-exists-p("c:/Emacs-24-2012-07-16/info/emacs") * info-insert-file-contents("c:/Emacs-24-2012-07-16/info/emacs" nil) * (cond ((eq filename t) (Info-insert-dir nomsg)) ((eq filename (quote = apro=3D pos)) (insert-buffer-substring " *info-apropos*")) ((eq filename (quote = his=3D tory)) (insert-buffer-substring " *info-history*")) ((eq filename (quote = to=3D c)) (insert-buffer-substring " *info-toc*")) (t = (info-insert-file-contents =3D filename nil) (setq default-directory (file-name-directory filename)))) * (let ((inhibit-read-only t)) (when (and (boundp (quote = Info-current-node-=3D virtual)) Info-current-node-virtual) (set (make-local-variable (quote = Info-=3D current-node-virtual)) nil) (unless filename (setq filename = Info-current-fi=3D le))) (setq Info-current-file nil Info-current-subfile nil = Info-current-fil=3D e-completions nil buffer-file-name nil) (erase-buffer) (cond ((eq = filename =3D t) (Info-insert-dir nomsg)) ((eq filename (quote apropos)) = (insert-buffer-s=3D ubstring " *info-apropos*")) ((eq filename (quote history)) = (insert-buffer-=3D substring " *info-history*")) ((eq filename (quote toc)) = (insert-buffer-sub=3D string " *info-toc*")) (t (info-insert-file-contents filename nil) (setq = de=3D fault-directory (file-name-directory filename)))) (set-buffer-modified-p = ni=3D l) (set (make-local-variable (quote Info-file-supports-index-cookies)) = (Inf=3D o-file-supports-index-cookies filename)) (goto-char (point-max)) = (forward-l=3D ine -8) (if (not (or (string-equal nodename "*") (not (search-forward = "=3D1F\=3D nEnd tag table\n" nil t)))) (let (pos) (search-backward "\nTag = table:\n") (=3D setq pos (point)) (if (save-excursion (forward-line 2) (looking-at = "(Indire=3D ct)\n")) (let ((buf (current-buffer)) (tagbuf (or Info-tag-table-buffer = ...=3D ))) (setq Info-tag-table-buffer tagbuf) (with-current-buffer tagbuf = (buffer=3D -disable-undo (current-buffer)) (setq case-fold-search t) (erase-buffer) = (i=3D nsert-buffer-substring buf)) (set-marker Info-tag-table-marker = (match-end 0=3D ) tagbuf)) (set-marker Info-tag-table-marker pos))) (set-marker = Info-tag-ta=3D ble-marker nil)) (setq Info-current-file filename)) * (cond ((functionp virtual-fun) (let ((filename (or filename = Info-current-=3D file))) (setq buffer-read-only nil Info-current-file filename = Info-current-=3D subfile nil Info-current-file-completions nil buffer-file-name nil) = (erase-=3D buffer) (Info-virtual-call virtual-fun filename nodename no-going-back) = (se=3D t-marker Info-tag-table-marker nil) (setq buffer-read-only t) = (set-buffer-m=3D odified-p nil) (set (make-local-variable (quote = Info-current-node-virtual))=3D t))) ((not (and (or (not (boundp (quote Info-current-node-virtual))) = (not =3D Info-current-node-virtual)) (or (null filename) (equal Info-current-file = fi=3D lename)))) (let ((inhibit-read-only t)) (when (and (boundp (quote = Info-curr=3D ent-node-virtual)) Info-current-node-virtual) (set (make-local-variable = (qu=3D ote Info-current-node-virtual)) nil) (unless filename (setq filename = Info-c=3D urrent-file))) (setq Info-current-file nil Info-current-subfile nil = Info-cu=3D rrent-file-completions nil buffer-file-name nil) (erase-buffer) (cond = ((eq =3D filename t) (Info-insert-dir nomsg)) ((eq filename (quote apropos)) = (insert=3D -buffer-substring " *info-apropos*")) ((eq filename (quote history)) = (inser=3D t-buffer-substring " *info-history*")) ((eq filename (quote toc)) = (insert-b=3D uffer-substring " *info-toc*")) (t (info-insert-file-contents filename = nil)=3D (setq default-directory (file-name-directory filename)))) = (set-buffer-modi=3D fied-p nil) (set (make-local-variable (quote = Info-file-supports-index-cooki=3D es)) (Info-file-supports-index-cookies filename)) (goto-char = (point-max)) (=3D forward-line -8) (if (not (or (string-equal nodename "*") (not = (search-forw=3D ard "=3D1F\nEnd tag table\n" nil t)))) (let (pos) (search-backward = "\nTag tab=3D le:\n") (setq pos (point)) (if (save-excursion (forward-line 2) = (looking-at=3D "(Indirect)\n")) (let (... ...) (setq Info-tag-table-buffer tagbuf) = (with-=3D current-buffer tagbuf ... ... ... ...) (set-marker Info-tag-table-marker = ..=3D . tagbuf)) (set-marker Info-tag-table-marker pos))) (set-marker = Info-tag-ta=3D ble-marker nil)) (setq Info-current-file filename)))) * (let ((case-fold-search t) (virtual-fun (and (fboundp (quote = Info-virtual=3D -fun)) (Info-virtual-fun (quote find-node) (or filename = Info-current-file) =3D nodename))) anchorpos) (cond ((functionp virtual-fun) (let ((filename = (or f=3D ilename Info-current-file))) (setq buffer-read-only nil = Info-current-file f=3D ilename Info-current-subfile nil Info-current-file-completions nil = buffer-f=3D ile-name nil) (erase-buffer) (Info-virtual-call virtual-fun filename = nodena=3D me no-going-back) (set-marker Info-tag-table-marker nil) (setq = buffer-read-=3D only t) (set-buffer-modified-p nil) (set (make-local-variable (quote = Info-c=3D urrent-node-virtual)) t))) ((not (and (or (not (boundp ...)) (not = Info-curr=3D ent-node-virtual)) (or (null filename) (equal Info-current-file = filename)))=3D ) (let ((inhibit-read-only t)) (when (and (boundp (quote = Info-current-node-=3D virtual)) Info-current-node-virtual) (set (make-local-variable (quote = Info-=3D current-node-virtual)) nil) (unless filename (setq filename = Info-current-fi=3D le))) (setq Info-current-file nil Info-current-subfile nil = Info-current-fil=3D e-completions nil buffer-file-name nil) (erase-buffer) (cond ((eq = filename =3D t) (Info-insert-dir nomsg)) ((eq filename (quote apropos)) = (insert-buffer-s=3D ubstring " *info-apropos*")) ((eq filename (quote history)) = (insert-buffer-=3D substring " *info-history*")) ((eq filename (quote toc)) = (insert-buffer-sub=3D string " *info-toc*")) (t (info-insert-file-contents filename nil) (setq = de=3D fault-directory (file-name-directory filename)))) (set-buffer-modified-p = ni=3D l) (set (make-local-variable (quote Info-file-supports-index-cookies)) = (Inf=3D o-file-supports-index-cookies filename)) (goto-char (point-max)) = (forward-l=3D ine -8) (if (not (or (string-equal nodename "*") (not ...))) (let (pos) = (se=3D arch-backward "\nTag table:\n") (setq pos (point)) (if (save-excursion = ... =3D ...) (let ... ... ... ...) (set-marker Info-tag-table-marker pos))) = (set-ma=3D rker Info-tag-table-marker nil)) (setq Info-current-file filename)))) = (if (=3D string-equal nodename "*") (progn (setq Info-current-node nodename) = (Info-s=3D et-mode-line)) (let ((guesspos (point-min)) (regexp (concat = "\\(Node:\\|Ref=3D :\\) *\\(" (if (stringp nodename) (regexp-quote nodename) "") "\\) *[, = \n=7F]=3D "))) (catch (quote foo) (when (marker-position Info-tag-table-marker) = (let*=3D ((m Info-tag-table-marker) (found ...)) (when found (setq guesspos ...) = (u=3D nless ... ...) (when ... ... ...)))) (goto-char (max (point-min) (- = (byte-t=3D o-position guesspos) 1000))) (let ((pos (Info-find-node-in-buffer = regexp)))=3D (when pos (goto-char pos) (throw (quote foo) t))) (when (string-match = "\\(=3D [^.]+\\)\\." nodename) (let (Info-point-loc) (Info-find-node-2 filename = (ma=3D tch-string 1 nodename) no-going-back nomsg)) (widen) (throw (quote foo) = t))=3D (error "No such node or anchor: %s" nodename)) (Info-select-node) = (goto-ch=3D ar (point-min)) (forward-line 1) (when (and (not (fboundp (quote = Info-bread=3D crumbs))) Info-breadcrumbs-in-header-flag (> Info-breadcrumbs-depth 0)) = (fo=3D rward-line 1)) (cond (anchorpos (let ((new-history ...)) (setq = Info-history=3D -list (cons new-history ...))) (goto-char anchorpos)) ((numberp = Info-point-=3D loc) (forward-line (- Info-point-loc 2)) (setq Info-point-loc nil)) = ((strin=3D gp Info-point-loc) (Info-find-index-name Info-point-loc) (setq = Info-point-l=3D oc nil))))) (when (and (one-window-p t) (not (window-minibuffer-p)) = (fbound=3D p (quote fit-frame)) Info-fit-frame-flag) (fit-frame))) * (unwind-protect (let ((case-fold-search t) (virtual-fun (and (fboundp = (qu=3D ote Info-virtual-fun)) (Info-virtual-fun (quote find-node) (or filename = Inf=3D o-current-file) nodename))) anchorpos) (cond ((functionp virtual-fun) = (let =3D ((filename (or filename Info-current-file))) (setq buffer-read-only nil = Inf=3D o-current-file filename Info-current-subfile nil = Info-current-file-completi=3D ons nil buffer-file-name nil) (erase-buffer) (Info-virtual-call = virtual-fun=3D filename nodename no-going-back) (set-marker Info-tag-table-marker nil) = (s=3D etq buffer-read-only t) (set-buffer-modified-p nil) (set = (make-local-variab=3D le (quote Info-current-node-virtual)) t))) ((not (and (or (not ...) (not = In=3D fo-current-node-virtual)) (or (null filename) (equal Info-current-file = file=3D name)))) (let ((inhibit-read-only t)) (when (and (boundp ...) = Info-current-=3D node-virtual) (set (make-local-variable ...) nil) (unless filename (setq = fi=3D lename Info-current-file))) (setq Info-current-file nil = Info-current-subfil=3D e nil Info-current-file-completions nil buffer-file-name nil) = (erase-buffer=3D ) (cond ((eq filename t) (Info-insert-dir nomsg)) ((eq filename ...) = (inser=3D t-buffer-substring " *info-apropos*")) ((eq filename ...) = (insert-buffer-su=3D bstring " *info-history*")) ((eq filename ...) (insert-buffer-substring = " *=3D info-toc*")) (t (info-insert-file-contents filename nil) (setq = default-dire=3D ctory ...))) (set-buffer-modified-p nil) (set (make-local-variable = (quote I=3D nfo-file-supports-index-cookies)) (Info-file-supports-index-cookies = filenam=3D e)) (goto-char (point-max)) (forward-line -8) (if (not (or ... ...)) = (let (=3D pos) (search-backward "\nTag table:\n") (setq pos ...) (if ... ... ...)) = (s=3D et-marker Info-tag-table-marker nil)) (setq Info-current-file = filename)))) =3D (if (string-equal nodename "*") (progn (setq Info-current-node nodename) = (I=3D nfo-set-mode-line)) (let ((guesspos (point-min)) (regexp (concat = "\\(Node:\=3D \|Ref:\\) *\\(" (if ... ... "") "\\) *[, \n=7F]"))) (catch (quote foo) = (when =3D (marker-position Info-tag-table-marker) (let* (... ...) (when found ... = ...=3D ...))) (goto-char (max (point-min) (- ... 1000))) (let ((pos ...)) = (when p=3D os (goto-char pos) (throw ... t))) (when (string-match "\\([^.]+\\)\\." = nod=3D ename) (let (Info-point-loc) (Info-find-node-2 filename ... = no-going-back n=3D omsg)) (widen) (throw (quote foo) t)) (error "No such node or anchor: = %s" n=3D odename)) (Info-select-node) (goto-char (point-min)) (forward-line 1) = (when=3D (and (not (fboundp ...)) Info-breadcrumbs-in-header-flag (> = Info-breadcrum=3D bs-depth 0)) (forward-line 1)) (cond (anchorpos (let (...) (setq = Info-histo=3D ry-list ...)) (goto-char anchorpos)) ((numberp Info-point-loc) = (forward-lin=3D e (- Info-point-loc 2)) (setq Info-point-loc nil)) ((stringp = Info-point-loc=3D ) (Info-find-index-name Info-point-loc) (setq Info-point-loc nil))))) = (when=3D (and (one-window-p t) (not (window-minibuffer-p)) (fboundp (quote = fit-fram=3D e)) Info-fit-frame-flag) (fit-frame))) (or Info-current-node = no-going-back =3D (null Info-history) (let ((hist (car Info-history))) (setq Info-history = (cd=3D r Info-history)) (Info-find-node (nth 0 hist) (nth 1 hist) t nomsg) = (goto-c=3D har (nth 2 hist))))) Info-find-node-2("c:/Emacs-24-2012-07-16/info/emacs" "Top" t nil) * Info-find-node("c:/Emacs-24-2012-07-16/info/emacs" "Top" t nil) (let ((hist (car Info-history))) (setq Info-history (cdr = Info-history)) (=3D Info-find-node (nth 0 hist) (nth 1 hist) t nomsg) (goto-char (nth 2 = hist))) * (or Info-current-node no-going-back (null Info-history) (let ((hist = (car =3D Info-history))) (setq Info-history (cdr Info-history)) (Info-find-node = (nth=3D 0 hist) (nth 1 hist) t nomsg) (goto-char (nth 2 hist)))) * signal(error ("No such node or anchor: Index for `ibuffer'")) * error("No such node or anchor: %s" "Index for `ibuffer'") * (catch (quote foo) (when (marker-position Info-tag-table-marker) (let* = ((=3D m Info-tag-table-marker) (found (Info-find-in-tag-table m regexp))) = (when f=3D ound (setq guesspos (nth 1 found)) (unless (eq (nth 2 found) (quote = Info-mo=3D de)) (setq guesspos (Info-read-subfile guesspos))) (when (nth 0 found) = (got=3D o-char (setq anchorpos guesspos)) (throw (quote foo) t))))) (goto-char = (max=3D (point-min) (- (byte-to-position guesspos) 1000))) (let ((pos = (Info-find-n=3D ode-in-buffer regexp))) (when pos (goto-char pos) (throw (quote foo) = t))) (=3D when (string-match "\\([^.]+\\)\\." nodename) (let (Info-point-loc) = (Info-f=3D ind-node-2 filename (match-string 1 nodename) no-going-back nomsg)) = (widen)=3D (throw (quote foo) t)) (error "No such node or anchor: %s" nodename)) * (let ((guesspos (point-min)) (regexp (concat "\\(Node:\\|Ref:\\) *\\(" = (i=3D f (stringp nodename) (regexp-quote nodename) "") "\\) *[, \n=7F]"))) = (catch (=3D quote foo) (when (marker-position Info-tag-table-marker) (let* ((m = Info-tag=3D -table-marker) (found (Info-find-in-tag-table m regexp))) (when found = (setq=3D guesspos (nth 1 found)) (unless (eq (nth 2 found) (quote Info-mode)) = (setq=3D guesspos (Info-read-subfile guesspos))) (when (nth 0 found) (goto-char = (se=3D tq anchorpos guesspos)) (throw (quote foo) t))))) (goto-char (max = (point-mi=3D n) (- (byte-to-position guesspos) 1000))) (let ((pos = (Info-find-node-in-buf=3D fer regexp))) (when pos (goto-char pos) (throw (quote foo) t))) (when = (stri=3D ng-match "\\([^.]+\\)\\." nodename) (let (Info-point-loc) = (Info-find-node-2=3D filename (match-string 1 nodename) no-going-back nomsg)) (widen) (throw = (q=3D uote foo) t)) (error "No such node or anchor: %s" nodename)) = (Info-select-n=3D ode) (goto-char (point-min)) (forward-line 1) (when (and (not (fboundp = (quo=3D te Info-breadcrumbs))) Info-breadcrumbs-in-header-flag (> = Info-breadcrumbs-=3D depth 0)) (forward-line 1)) (cond (anchorpos (let ((new-history (list = Info-=3D current-file (substring-no-properties nodename)))) (setq = Info-history-list =3D (cons new-history (delete new-history Info-history-list)))) (goto-char = anch=3D orpos)) ((numberp Info-point-loc) (forward-line (- Info-point-loc 2)) = (setq=3D Info-point-loc nil)) ((stringp Info-point-loc) (Info-find-index-name = Info-=3D point-loc) (setq Info-point-loc nil)))) * (if (string-equal nodename "*") (progn (setq Info-current-node = nodename) =3D (Info-set-mode-line)) (let ((guesspos (point-min)) (regexp (concat = "\\(Node=3D :\\|Ref:\\) *\\(" (if (stringp nodename) (regexp-quote nodename) "") = "\\) *=3D [, \n=7F]"))) (catch (quote foo) (when (marker-position = Info-tag-table-marker=3D ) (let* ((m Info-tag-table-marker) (found (Info-find-in-tag-table m = regexp)=3D )) (when found (setq guesspos (nth 1 found)) (unless (eq ... ...) (setq = gue=3D sspos ...)) (when (nth 0 found) (goto-char ...) (throw ... t))))) = (goto-cha=3D r (max (point-min) (- (byte-to-position guesspos) 1000))) (let ((pos = (Info-=3D find-node-in-buffer regexp))) (when pos (goto-char pos) (throw (quote = foo) =3D t))) (when (string-match "\\([^.]+\\)\\." nodename) (let = (Info-point-loc) (=3D Info-find-node-2 filename (match-string 1 nodename) no-going-back = nomsg)) (=3D widen) (throw (quote foo) t)) (error "No such node or anchor: %s" = nodename)=3D ) (Info-select-node) (goto-char (point-min)) (forward-line 1) (when (and = (n=3D ot (fboundp (quote Info-breadcrumbs))) Info-breadcrumbs-in-header-flag = (> I=3D nfo-breadcrumbs-depth 0)) (forward-line 1)) (cond (anchorpos (let = ((new-his=3D tory (list Info-current-file ...))) (setq Info-history-list (cons = new-histo=3D ry (delete new-history Info-history-list)))) (goto-char anchorpos)) = ((numbe=3D rp Info-point-loc) (forward-line (- Info-point-loc 2)) (setq = Info-point-loc=3D nil)) ((stringp Info-point-loc) (Info-find-index-name Info-point-loc) = (set=3D q Info-point-loc nil))))) * (let ((case-fold-search t) (virtual-fun (and (fboundp (quote = Info-virtual=3D -fun)) (Info-virtual-fun (quote find-node) (or filename = Info-current-file) =3D nodename))) anchorpos) (cond ((functionp virtual-fun) (let ((filename = (or f=3D ilename Info-current-file))) (setq buffer-read-only nil = Info-current-file f=3D ilename Info-current-subfile nil Info-current-file-completions nil = buffer-f=3D ile-name nil) (erase-buffer) (Info-virtual-call virtual-fun filename = nodena=3D me no-going-back) (set-marker Info-tag-table-marker nil) (setq = buffer-read-=3D only t) (set-buffer-modified-p nil) (set (make-local-variable (quote = Info-c=3D urrent-node-virtual)) t))) ((not (and (or (not (boundp ...)) (not = Info-curr=3D ent-node-virtual)) (or (null filename) (equal Info-current-file = filename)))=3D ) (let ((inhibit-read-only t)) (when (and (boundp (quote = Info-current-node-=3D virtual)) Info-current-node-virtual) (set (make-local-variable (quote = Info-=3D current-node-virtual)) nil) (unless filename (setq filename = Info-current-fi=3D le))) (setq Info-current-file nil Info-current-subfile nil = Info-current-fil=3D e-completions nil buffer-file-name nil) (erase-buffer) (cond ((eq = filename =3D t) (Info-insert-dir nomsg)) ((eq filename (quote apropos)) = (insert-buffer-s=3D ubstring " *info-apropos*")) ((eq filename (quote history)) = (insert-buffer-=3D substring " *info-history*")) ((eq filename (quote toc)) = (insert-buffer-sub=3D string " *info-toc*")) (t (info-insert-file-contents filename nil) (setq = de=3D fault-directory (file-name-directory filename)))) (set-buffer-modified-p = ni=3D l) (set (make-local-variable (quote Info-file-supports-index-cookies)) = (Inf=3D o-file-supports-index-cookies filename)) (goto-char (point-max)) = (forward-l=3D ine -8) (if (not (or (string-equal nodename "*") (not ...))) (let (pos) = (se=3D arch-backward "\nTag table:\n") (setq pos (point)) (if (save-excursion = ... =3D ...) (let ... ... ... ...) (set-marker Info-tag-table-marker pos))) = (set-ma=3D rker Info-tag-table-marker nil)) (setq Info-current-file filename)))) = (if (=3D string-equal nodename "*") (progn (setq Info-current-node nodename) = (Info-s=3D et-mode-line)) (let ((guesspos (point-min)) (regexp (concat = "\\(Node:\\|Ref=3D :\\) *\\(" (if (stringp nodename) (regexp-quote nodename) "") "\\) *[, = \n=7F]=3D "))) (catch (quote foo) (when (marker-position Info-tag-table-marker) = (let*=3D ((m Info-tag-table-marker) (found ...)) (when found (setq guesspos ...) = (u=3D nless ... ...) (when ... ... ...)))) (goto-char (max (point-min) (- = (byte-t=3D o-position guesspos) 1000))) (let ((pos (Info-find-node-in-buffer = regexp)))=3D (when pos (goto-char pos) (throw (quote foo) t))) (when (string-match = "\\(=3D [^.]+\\)\\." nodename) (let (Info-point-loc) (Info-find-node-2 filename = (ma=3D tch-string 1 nodename) no-going-back nomsg)) (widen) (throw (quote foo) = t))=3D (error "No such node or anchor: %s" nodename)) (Info-select-node) = (goto-ch=3D ar (point-min)) (forward-line 1) (when (and (not (fboundp (quote = Info-bread=3D crumbs))) Info-breadcrumbs-in-header-flag (> Info-breadcrumbs-depth 0)) = (fo=3D rward-line 1)) (cond (anchorpos (let ((new-history ...)) (setq = Info-history=3D -list (cons new-history ...))) (goto-char anchorpos)) ((numberp = Info-point-=3D loc) (forward-line (- Info-point-loc 2)) (setq Info-point-loc nil)) = ((strin=3D gp Info-point-loc) (Info-find-index-name Info-point-loc) (setq = Info-point-l=3D oc nil))))) (when (and (one-window-p t) (not (window-minibuffer-p)) = (fbound=3D p (quote fit-frame)) Info-fit-frame-flag) (fit-frame))) * (unwind-protect (let ((case-fold-search t) (virtual-fun (and (fboundp = (qu=3D ote Info-virtual-fun)) (Info-virtual-fun (quote find-node) (or filename = Inf=3D o-current-file) nodename))) anchorpos) (cond ((functionp virtual-fun) = (let =3D ((filename (or filename Info-current-file))) (setq buffer-read-only nil = Inf=3D o-current-file filename Info-current-subfile nil = Info-current-file-completi=3D ons nil buffer-file-name nil) (erase-buffer) (Info-virtual-call = virtual-fun=3D filename nodename no-going-back) (set-marker Info-tag-table-marker nil) = (s=3D etq buffer-read-only t) (set-buffer-modified-p nil) (set = (make-local-variab=3D le (quote Info-current-node-virtual)) t))) ((not (and (or (not ...) (not = In=3D fo-current-node-virtual)) (or (null filename) (equal Info-current-file = file=3D name)))) (let ((inhibit-read-only t)) (when (and (boundp ...) = Info-current-=3D node-virtual) (set (make-local-variable ...) nil) (unless filename (setq = fi=3D lename Info-current-file))) (setq Info-current-file nil = Info-current-subfil=3D e nil Info-current-file-completions nil buffer-file-name nil) = (erase-buffer=3D ) (cond ((eq filename t) (Info-insert-dir nomsg)) ((eq filename ...) = (inser=3D t-buffer-substring " *info-apropos*")) ((eq filename ...) = (insert-buffer-su=3D bstring " *info-history*")) ((eq filename ...) (insert-buffer-substring = " *=3D info-toc*")) (t (info-insert-file-contents filename nil) (setq = default-dire=3D ctory ...))) (set-buffer-modified-p nil) (set (make-local-variable = (quote I=3D nfo-file-supports-index-cookies)) (Info-file-supports-index-cookies = filenam=3D e)) (goto-char (point-max)) (forward-line -8) (if (not (or ... ...)) = (let (=3D pos) (search-backward "\nTag table:\n") (setq pos ...) (if ... ... ...)) = (s=3D et-marker Info-tag-table-marker nil)) (setq Info-current-file = filename)))) =3D (if (string-equal nodename "*") (progn (setq Info-current-node nodename) = (I=3D nfo-set-mode-line)) (let ((guesspos (point-min)) (regexp (concat = "\\(Node:\=3D \|Ref:\\) *\\(" (if ... ... "") "\\) *[, \n=7F]"))) (catch (quote foo) = (when =3D (marker-position Info-tag-table-marker) (let* (... ...) (when found ... = ...=3D ...))) (goto-char (max (point-min) (- ... 1000))) (let ((pos ...)) = (when p=3D os (goto-char pos) (throw ... t))) (when (string-match "\\([^.]+\\)\\." = nod=3D ename) (let (Info-point-loc) (Info-find-node-2 filename ... = no-going-back n=3D omsg)) (widen) (throw (quote foo) t)) (error "No such node or anchor: = %s" n=3D odename)) (Info-select-node) (goto-char (point-min)) (forward-line 1) = (when=3D (and (not (fboundp ...)) Info-breadcrumbs-in-header-flag (> = Info-breadcrum=3D bs-depth 0)) (forward-line 1)) (cond (anchorpos (let (...) (setq = Info-histo=3D ry-list ...)) (goto-char anchorpos)) ((numberp Info-point-loc) = (forward-lin=3D e (- Info-point-loc 2)) (setq Info-point-loc nil)) ((stringp = Info-point-loc=3D ) (Info-find-index-name Info-point-loc) (setq Info-point-loc nil))))) = (when=3D (and (one-window-p t) (not (window-minibuffer-p)) (fboundp (quote = fit-fram=3D e)) Info-fit-frame-flag) (fit-frame))) (or Info-current-node = no-going-back =3D (null Info-history) (let ((hist (car Info-history))) (setq Info-history = (cd=3D r Info-history)) (Info-find-node (nth 0 hist) (nth 1 hist) t nomsg) = (goto-c=3D har (nth 2 hist))))) Info-find-node-2("*Indexed*" "Index for `ibuffer'" nil nil) * Info-find-node("*Indexed*" "Index for `ibuffer'") Info-index-entries-across-manuals("ibuffer" ("emacs" "elisp") nil) =20 ----------------------------------------------------------------- Emacs 24.1: =20 Debugger entered--returning value: t info-file-exists-p("c:/Emacs-24.1/info/emacs") * info-insert-file-contents("c:/Emacs-24.1/info/emacs" nil) * (cond ((eq filename t) (Info-insert-dir nomsg)) ((eq filename (quote = apro=3D pos)) (insert-buffer-substring " *info-apropos*")) ((eq filename (quote = his=3D tory)) (insert-buffer-substring " *info-history*")) ((eq filename (quote = to=3D c)) (insert-buffer-substring " *info-toc*")) (t = (info-insert-file-contents =3D filename nil) (setq default-directory (file-name-directory filename)))) * (let ((inhibit-read-only t)) (when (and (boundp (quote = Info-current-node-=3D virtual)) Info-current-node-virtual) (set (make-local-variable (quote = Info-=3D current-node-virtual)) nil) (unless filename (setq filename = Info-current-fi=3D le))) (setq Info-current-file nil Info-current-subfile nil = Info-current-fil=3D e-completions nil buffer-file-name nil) (erase-buffer) (cond ((eq = filename =3D t) (Info-insert-dir nomsg)) ((eq filename (quote apropos)) = (insert-buffer-s=3D ubstring " *info-apropos*")) ((eq filename (quote history)) = (insert-buffer-=3D substring " *info-history*")) ((eq filename (quote toc)) = (insert-buffer-sub=3D string " *info-toc*")) (t (info-insert-file-contents filename nil) (setq = de=3D fault-directory (file-name-directory filename)))) (set-buffer-modified-p = ni=3D l) (set (make-local-variable (quote Info-file-supports-index-cookies)) = (Inf=3D o-file-supports-index-cookies filename)) (goto-char (point-max)) = (forward-l=3D ine -8) (if (not (or (string-equal nodename "*") (not (search-forward = "=3D1F\=3D nEnd tag table\n" nil t)))) (let (pos) (search-backward "\nTag = table:\n") (=3D setq pos (point)) (if (save-excursion (forward-line 2) (looking-at = "(Indire=3D ct)\n")) (let ((buf (current-buffer)) (tagbuf (or Info-tag-table-buffer = ...=3D ))) (setq Info-tag-table-buffer tagbuf) (with-current-buffer tagbuf = (buffer=3D -disable-undo (current-buffer)) (setq case-fold-search t) (erase-buffer) = (i=3D nsert-buffer-substring buf)) (set-marker Info-tag-table-marker = (match-end 0=3D ) tagbuf)) (set-marker Info-tag-table-marker pos))) (set-marker = Info-tag-ta=3D ble-marker nil)) (setq Info-current-file filename)) * (cond ((functionp virtual-fun) (let ((filename (or filename = Info-current-=3D file))) (setq buffer-read-only nil Info-current-file filename = Info-current-=3D subfile nil Info-current-file-completions nil buffer-file-name nil) = (erase-=3D buffer) (Info-virtual-call virtual-fun filename nodename no-going-back) = (se=3D t-marker Info-tag-table-marker nil) (setq buffer-read-only t) = (set-buffer-m=3D odified-p nil) (set (make-local-variable (quote = Info-current-node-virtual))=3D t))) ((not (and (or (not (boundp (quote Info-current-node-virtual))) = (not =3D Info-current-node-virtual)) (or (null filename) (equal Info-current-file = fi=3D lename)))) (let ((inhibit-read-only t)) (when (and (boundp (quote = Info-curr=3D ent-node-virtual)) Info-current-node-virtual) (set (make-local-variable = (qu=3D ote Info-current-node-virtual)) nil) (unless filename (setq filename = Info-c=3D urrent-file))) (setq Info-current-file nil Info-current-subfile nil = Info-cu=3D rrent-file-completions nil buffer-file-name nil) (erase-buffer) (cond = ((eq =3D filename t) (Info-insert-dir nomsg)) ((eq filename (quote apropos)) = (insert=3D -buffer-substring " *info-apropos*")) ((eq filename (quote history)) = (inser=3D t-buffer-substring " *info-history*")) ((eq filename (quote toc)) = (insert-b=3D uffer-substring " *info-toc*")) (t (info-insert-file-contents filename = nil)=3D (setq default-directory (file-name-directory filename)))) = (set-buffer-modi=3D fied-p nil) (set (make-local-variable (quote = Info-file-supports-index-cooki=3D es)) (Info-file-supports-index-cookies filename)) (goto-char = (point-max)) (=3D forward-line -8) (if (not (or (string-equal nodename "*") (not = (search-forw=3D ard "=3D1F\nEnd tag table\n" nil t)))) (let (pos) (search-backward = "\nTag tab=3D le:\n") (setq pos (point)) (if (save-excursion (forward-line 2) = (looking-at=3D "(Indirect)\n")) (let (... ...) (setq Info-tag-table-buffer tagbuf) = (with-=3D current-buffer tagbuf ... ... ... ...) (set-marker Info-tag-table-marker = ..=3D . tagbuf)) (set-marker Info-tag-table-marker pos))) (set-marker = Info-tag-ta=3D ble-marker nil)) (setq Info-current-file filename)))) * (let ((case-fold-search t) (virtual-fun (and (fboundp (quote = Info-virtual=3D -fun)) (Info-virtual-fun (quote find-node) (or filename = Info-current-file) =3D nodename))) anchorpos) (cond ((functionp virtual-fun) (let ((filename = (or f=3D ilename Info-current-file))) (setq buffer-read-only nil = Info-current-file f=3D ilename Info-current-subfile nil Info-current-file-completions nil = buffer-f=3D ile-name nil) (erase-buffer) (Info-virtual-call virtual-fun filename = nodena=3D me no-going-back) (set-marker Info-tag-table-marker nil) (setq = buffer-read-=3D only t) (set-buffer-modified-p nil) (set (make-local-variable (quote = Info-c=3D urrent-node-virtual)) t))) ((not (and (or (not (boundp ...)) (not = Info-curr=3D ent-node-virtual)) (or (null filename) (equal Info-current-file = filename)))=3D ) (let ((inhibit-read-only t)) (when (and (boundp (quote = Info-current-node-=3D virtual)) Info-current-node-virtual) (set (make-local-variable (quote = Info-=3D current-node-virtual)) nil) (unless filename (setq filename = Info-current-fi=3D le))) (setq Info-current-file nil Info-current-subfile nil = Info-current-fil=3D e-completions nil buffer-file-name nil) (erase-buffer) (cond ((eq = filename =3D t) (Info-insert-dir nomsg)) ((eq filename (quote apropos)) = (insert-buffer-s=3D ubstring " *info-apropos*")) ((eq filename (quote history)) = (insert-buffer-=3D substring " *info-history*")) ((eq filename (quote toc)) = (insert-buffer-sub=3D string " *info-toc*")) (t (info-insert-file-contents filename nil) (setq = de=3D fault-directory (file-name-directory filename)))) (set-buffer-modified-p = ni=3D l) (set (make-local-variable (quote Info-file-supports-index-cookies)) = (Inf=3D o-file-supports-index-cookies filename)) (goto-char (point-max)) = (forward-l=3D ine -8) (if (not (or (string-equal nodename "*") (not ...))) (let (pos) = (se=3D arch-backward "\nTag table:\n") (setq pos (point)) (if (save-excursion = ... =3D ...) (let ... ... ... ...) (set-marker Info-tag-table-marker pos))) = (set-ma=3D rker Info-tag-table-marker nil)) (setq Info-current-file filename)))) = (if (=3D string-equal nodename "*") (progn (setq Info-current-node nodename) = (Info-s=3D et-mode-line)) (let ((guesspos (point-min)) (regexp (concat = "\\(Node:\\|Ref=3D :\\) *\\(" (if (stringp nodename) (regexp-quote nodename) "") "\\) *[, = \n=7F]=3D "))) (catch (quote foo) (when (marker-position Info-tag-table-marker) = (let*=3D ((m Info-tag-table-marker) (found ...)) (when found (setq guesspos ...) = (u=3D nless ... ...) (when ... ... ...)))) (goto-char (max (point-min) (- = (byte-t=3D o-position guesspos) 1000))) (let ((pos (Info-find-node-in-buffer = regexp)))=3D (when pos (goto-char pos) (throw (quote foo) t))) (when (string-match = "\\(=3D [^.]+\\)\\." nodename) (let (Info-point-loc) (Info-find-node-2 filename = (ma=3D tch-string 1 nodename) no-going-back nomsg)) (widen) (throw (quote foo) = t))=3D (error "No such node or anchor: %s" nodename)) (Info-select-node) = (goto-ch=3D ar (point-min)) (forward-line 1) (when (and (not (fboundp (quote = Info-bread=3D crumbs))) Info-breadcrumbs-in-header-flag (> Info-breadcrumbs-depth 0)) = (fo=3D rward-line 1)) (cond (anchorpos (let ((new-history ...)) (setq = Info-history=3D -list (cons new-history ...))) (goto-char anchorpos)) ((numberp = Info-point-=3D loc) (forward-line (- Info-point-loc 2)) (setq Info-point-loc nil)) = ((strin=3D gp Info-point-loc) (Info-find-index-name Info-point-loc) (setq = Info-point-l=3D oc nil))))) (when (and (one-window-p t) (not (window-minibuffer-p)) = (fbound=3D p (quote fit-frame)) Info-fit-frame-flag) (fit-frame))) * (unwind-protect (let ((case-fold-search t) (virtual-fun (and (fboundp = (qu=3D ote Info-virtual-fun)) (Info-virtual-fun (quote find-node) (or filename = Inf=3D o-current-file) nodename))) anchorpos) (cond ((functionp virtual-fun) = (let =3D ((filename (or filename Info-current-file))) (setq buffer-read-only nil = Inf=3D o-current-file filename Info-current-subfile nil = Info-current-file-completi=3D ons nil buffer-file-name nil) (erase-buffer) (Info-virtual-call = virtual-fun=3D filename nodename no-going-back) (set-marker Info-tag-table-marker nil) = (s=3D etq buffer-read-only t) (set-buffer-modified-p nil) (set = (make-local-variab=3D le (quote Info-current-node-virtual)) t))) ((not (and (or (not ...) (not = In=3D fo-current-node-virtual)) (or (null filename) (equal Info-current-file = file=3D name)))) (let ((inhibit-read-only t)) (when (and (boundp ...) = Info-current-=3D node-virtual) (set (make-local-variable ...) nil) (unless filename (setq = fi=3D lename Info-current-file))) (setq Info-current-file nil = Info-current-subfil=3D e nil Info-current-file-completions nil buffer-file-name nil) = (erase-buffer=3D ) (cond ((eq filename t) (Info-insert-dir nomsg)) ((eq filename ...) = (inser=3D t-buffer-substring " *info-apropos*")) ((eq filename ...) = (insert-buffer-su=3D bstring " *info-history*")) ((eq filename ...) (insert-buffer-substring = " *=3D info-toc*")) (t (info-insert-file-contents filename nil) (setq = default-dire=3D ctory ...))) (set-buffer-modified-p nil) (set (make-local-variable = (quote I=3D nfo-file-supports-index-cookies)) (Info-file-supports-index-cookies = filenam=3D e)) (goto-char (point-max)) (forward-line -8) (if (not (or ... ...)) = (let (=3D pos) (search-backward "\nTag table:\n") (setq pos ...) (if ... ... ...)) = (s=3D et-marker Info-tag-table-marker nil)) (setq Info-current-file = filename)))) =3D (if (string-equal nodename "*") (progn (setq Info-current-node nodename) = (I=3D nfo-set-mode-line)) (let ((guesspos (point-min)) (regexp (concat = "\\(Node:\=3D \|Ref:\\) *\\(" (if ... ... "") "\\) *[, \n=7F]"))) (catch (quote foo) = (when =3D (marker-position Info-tag-table-marker) (let* (... ...) (when found ... = ...=3D ...))) (goto-char (max (point-min) (- ... 1000))) (let ((pos ...)) = (when p=3D os (goto-char pos) (throw ... t))) (when (string-match "\\([^.]+\\)\\." = nod=3D ename) (let (Info-point-loc) (Info-find-node-2 filename ... = no-going-back n=3D omsg)) (widen) (throw (quote foo) t)) (error "No such node or anchor: = %s" n=3D odename)) (Info-select-node) (goto-char (point-min)) (forward-line 1) = (when=3D (and (not (fboundp ...)) Info-breadcrumbs-in-header-flag (> = Info-breadcrum=3D bs-depth 0)) (forward-line 1)) (cond (anchorpos (let (...) (setq = Info-histo=3D ry-list ...)) (goto-char anchorpos)) ((numberp Info-point-loc) = (forward-lin=3D e (- Info-point-loc 2)) (setq Info-point-loc nil)) ((stringp = Info-point-loc=3D ) (Info-find-index-name Info-point-loc) (setq Info-point-loc nil))))) = (when=3D (and (one-window-p t) (not (window-minibuffer-p)) (fboundp (quote = fit-fram=3D e)) Info-fit-frame-flag) (fit-frame))) (or Info-current-node = no-going-back =3D (null Info-history) (let ((hist (car Info-history))) (setq Info-history = (cd=3D r Info-history)) (Info-find-node (nth 0 hist) (nth 1 hist) t nomsg) = (goto-c=3D har (nth 2 hist))))) Info-find-node-2("c:/Emacs-24.1/info/emacs" "Top" t nil) * Info-find-node("c:/Emacs-24.1/info/emacs" "Top" t nil) (let ((hist (car Info-history))) (setq Info-history (cdr = Info-history)) (=3D Info-find-node (nth 0 hist) (nth 1 hist) t nomsg) (goto-char (nth 2 = hist))) (or Info-current-node no-going-back (null Info-history) (let ((hist = (car =3D Info-history))) (setq Info-history (cdr Info-history)) (Info-find-node = (nth=3D 0 hist) (nth 1 hist) t nomsg) (goto-char (nth 2 hist)))) * signal(error ("No such node or anchor: Index for `ibuffer'")) * error("No such node or anchor: %s" "Index for `ibuffer'") * (catch (quote foo) (when (marker-position Info-tag-table-marker) (let* = ((=3D m Info-tag-table-marker) (found (Info-find-in-tag-table m regexp))) = (when f=3D ound (setq guesspos (nth 1 found)) (unless (eq (nth 2 found) (quote = Info-mo=3D de)) (setq guesspos (Info-read-subfile guesspos))) (when (nth 0 found) = (got=3D o-char (setq anchorpos guesspos)) (throw (quote foo) t))))) (goto-char = (max=3D (point-min) (- (byte-to-position guesspos) 1000))) (let ((pos = (Info-find-n=3D ode-in-buffer regexp))) (when pos (goto-char pos) (throw (quote foo) = t))) (=3D when (string-match "\\([^.]+\\)\\." nodename) (let (Info-point-loc) = (Info-f=3D ind-node-2 filename (match-string 1 nodename) no-going-back nomsg)) = (widen)=3D (throw (quote foo) t)) (error "No such node or anchor: %s" nodename)) * (let ((guesspos (point-min)) (regexp (concat "\\(Node:\\|Ref:\\) *\\(" = (i=3D f (stringp nodename) (regexp-quote nodename) "") "\\) *[, \n=7F]"))) = (catch (=3D quote foo) (when (marker-position Info-tag-table-marker) (let* ((m = Info-tag=3D -table-marker) (found (Info-find-in-tag-table m regexp))) (when found = (setq=3D guesspos (nth 1 found)) (unless (eq (nth 2 found) (quote Info-mode)) = (setq=3D guesspos (Info-read-subfile guesspos))) (when (nth 0 found) (goto-char = (se=3D tq anchorpos guesspos)) (throw (quote foo) t))))) (goto-char (max = (point-mi=3D n) (- (byte-to-position guesspos) 1000))) (let ((pos = (Info-find-node-in-buf=3D fer regexp))) (when pos (goto-char pos) (throw (quote foo) t))) (when = (stri=3D ng-match "\\([^.]+\\)\\." nodename) (let (Info-point-loc) = (Info-find-node-2=3D filename (match-string 1 nodename) no-going-back nomsg)) (widen) (throw = (q=3D uote foo) t)) (error "No such node or anchor: %s" nodename)) = (Info-select-n=3D ode) (goto-char (point-min)) (forward-line 1) (when (and (not (fboundp = (quo=3D te Info-breadcrumbs))) Info-breadcrumbs-in-header-flag (> = Info-breadcrumbs-=3D depth 0)) (forward-line 1)) (cond (anchorpos (let ((new-history (list = Info-=3D current-file (substring-no-properties nodename)))) (setq = Info-history-list =3D (cons new-history (delete new-history Info-history-list)))) (goto-char = anch=3D orpos)) ((numberp Info-point-loc) (forward-line (- Info-point-loc 2)) = (setq=3D Info-point-loc nil)) ((stringp Info-point-loc) (Info-find-index-name = Info-=3D point-loc) (setq Info-point-loc nil)))) * (if (string-equal nodename "*") (progn (setq Info-current-node = nodename) =3D (Info-set-mode-line)) (let ((guesspos (point-min)) (regexp (concat = "\\(Node=3D :\\|Ref:\\) *\\(" (if (stringp nodename) (regexp-quote nodename) "") = "\\) *=3D [, \n=7F]"))) (catch (quote foo) (when (marker-position = Info-tag-table-marker=3D ) (let* ((m Info-tag-table-marker) (found (Info-find-in-tag-table m = regexp)=3D )) (when found (setq guesspos (nth 1 found)) (unless (eq ... ...) (setq = gue=3D sspos ...)) (when (nth 0 found) (goto-char ...) (throw ... t))))) = (goto-cha=3D r (max (point-min) (- (byte-to-position guesspos) 1000))) (let ((pos = (Info-=3D find-node-in-buffer regexp))) (when pos (goto-char pos) (throw (quote = foo) =3D t))) (when (string-match "\\([^.]+\\)\\." nodename) (let = (Info-point-loc) (=3D Info-find-node-2 filename (match-string 1 nodename) no-going-back = nomsg)) (=3D widen) (throw (quote foo) t)) (error "No such node or anchor: %s" = nodename)=3D ) (Info-select-node) (goto-char (point-min)) (forward-line 1) (when (and = (n=3D ot (fboundp (quote Info-breadcrumbs))) Info-breadcrumbs-in-header-flag = (> I=3D nfo-breadcrumbs-depth 0)) (forward-line 1)) (cond (anchorpos (let = ((new-his=3D tory (list Info-current-file ...))) (setq Info-history-list (cons = new-histo=3D ry (delete new-history Info-history-list)))) (goto-char anchorpos)) = ((numbe=3D rp Info-point-loc) (forward-line (- Info-point-loc 2)) (setq = Info-point-loc=3D nil)) ((stringp Info-point-loc) (Info-find-index-name Info-point-loc) = (set=3D q Info-point-loc nil))))) * (let ((case-fold-search t) (virtual-fun (and (fboundp (quote = Info-virtual=3D -fun)) (Info-virtual-fun (quote find-node) (or filename = Info-current-file) =3D nodename))) anchorpos) (cond ((functionp virtual-fun) (let ((filename = (or f=3D ilename Info-current-file))) (setq buffer-read-only nil = Info-current-file f=3D ilename Info-current-subfile nil Info-current-file-completions nil = buffer-f=3D ile-name nil) (erase-buffer) (Info-virtual-call virtual-fun filename = nodena=3D me no-going-back) (set-marker Info-tag-table-marker nil) (setq = buffer-read-=3D only t) (set-buffer-modified-p nil) (set (make-local-variable (quote = Info-c=3D urrent-node-virtual)) t))) ((not (and (or (not (boundp ...)) (not = Info-curr=3D ent-node-virtual)) (or (null filename) (equal Info-current-file = filename)))=3D ) (let ((inhibit-read-only t)) (when (and (boundp (quote = Info-current-node-=3D virtual)) Info-current-node-virtual) (set (make-local-variable (quote = Info-=3D current-node-virtual)) nil) (unless filename (setq filename = Info-current-fi=3D le))) (setq Info-current-file nil Info-current-subfile nil = Info-current-fil=3D e-completions nil buffer-file-name nil) (erase-buffer) (cond ((eq = filename =3D t) (Info-insert-dir nomsg)) ((eq filename (quote apropos)) = (insert-buffer-s=3D ubstring " *info-apropos*")) ((eq filename (quote history)) = (insert-buffer-=3D substring " *info-history*")) ((eq filename (quote toc)) = (insert-buffer-sub=3D string " *info-toc*")) (t (info-insert-file-contents filename nil) (setq = de=3D fault-directory (file-name-directory filename)))) (set-buffer-modified-p = ni=3D l) (set (make-local-variable (quote Info-file-supports-index-cookies)) = (Inf=3D o-file-supports-index-cookies filename)) (goto-char (point-max)) = (forward-l=3D ine -8) (if (not (or (string-equal nodename "*") (not ...))) (let (pos) = (se=3D arch-backward "\nTag table:\n") (setq pos (point)) (if (save-excursion = ... =3D ...) (let ... ... ... ...) (set-marker Info-tag-table-marker pos))) = (set-ma=3D rker Info-tag-table-marker nil)) (setq Info-current-file filename)))) = (if (=3D string-equal nodename "*") (progn (setq Info-current-node nodename) = (Info-s=3D et-mode-line)) (let ((guesspos (point-min)) (regexp (concat = "\\(Node:\\|Ref=3D :\\) *\\(" (if (stringp nodename) (regexp-quote nodename) "") "\\) *[, = \n=7F]=3D "))) (catch (quote foo) (when (marker-position Info-tag-table-marker) = (let*=3D ((m Info-tag-table-marker) (found ...)) (when found (setq guesspos ...) = (u=3D nless ... ...) (when ... ... ...)))) (goto-char (max (point-min) (- = (byte-t=3D o-position guesspos) 1000))) (let ((pos (Info-find-node-in-buffer = regexp)))=3D (when pos (goto-char pos) (throw (quote foo) t))) (when (string-match = "\\(=3D [^.]+\\)\\." nodename) (let (Info-point-loc) (Info-find-node-2 filename = (ma=3D tch-string 1 nodename) no-going-back nomsg)) (widen) (throw (quote foo) = t))=3D (error "No such node or anchor: %s" nodename)) (Info-select-node) = (goto-ch=3D ar (point-min)) (forward-line 1) (when (and (not (fboundp (quote = Info-bread=3D crumbs))) Info-breadcrumbs-in-header-flag (> Info-breadcrumbs-depth 0)) = (fo=3D rward-line 1)) (cond (anchorpos (let ((new-history ...)) (setq = Info-history=3D -list (cons new-history ...))) (goto-char anchorpos)) ((numberp = Info-point-=3D loc) (forward-line (- Info-point-loc 2)) (setq Info-point-loc nil)) = ((strin=3D gp Info-point-loc) (Info-find-index-name Info-point-loc) (setq = Info-point-l=3D oc nil))))) (when (and (one-window-p t) (not (window-minibuffer-p)) = (fbound=3D p (quote fit-frame)) Info-fit-frame-flag) (fit-frame))) * (unwind-protect (let ((case-fold-search t) (virtual-fun (and (fboundp = (qu=3D ote Info-virtual-fun)) (Info-virtual-fun (quote find-node) (or filename = Inf=3D o-current-file) nodename))) anchorpos) (cond ((functionp virtual-fun) = (let =3D ((filename (or filename Info-current-file))) (setq buffer-read-only nil = Inf=3D o-current-file filename Info-current-subfile nil = Info-current-file-completi=3D ons nil buffer-file-name nil) (erase-buffer) (Info-virtual-call = virtual-fun=3D filename nodename no-going-back) (set-marker Info-tag-table-marker nil) = (s=3D etq buffer-read-only t) (set-buffer-modified-p nil) (set = (make-local-variab=3D le (quote Info-current-node-virtual)) t))) ((not (and (or (not ...) (not = In=3D fo-current-node-virtual)) (or (null filename) (equal Info-current-file = file=3D name)))) (let ((inhibit-read-only t)) (when (and (boundp ...) = Info-current-=3D node-virtual) (set (make-local-variable ...) nil) (unless filename (setq = fi=3D lename Info-current-file))) (setq Info-current-file nil = Info-current-subfil=3D e nil Info-current-file-completions nil buffer-file-name nil) = (erase-buffer=3D ) (cond ((eq filename t) (Info-insert-dir nomsg)) ((eq filename ...) = (inser=3D t-buffer-substring " *info-apropos*")) ((eq filename ...) = (insert-buffer-su=3D bstring " *info-history*")) ((eq filename ...) (insert-buffer-substring = " *=3D info-toc*")) (t (info-insert-file-contents filename nil) (setq = default-dire=3D ctory ...))) (set-buffer-modified-p nil) (set (make-local-variable = (quote I=3D nfo-file-supports-index-cookies)) (Info-file-supports-index-cookies = filenam=3D e)) (goto-char (point-max)) (forward-line -8) (if (not (or ... ...)) = (let (=3D pos) (search-backward "\nTag table:\n") (setq pos ...) (if ... ... ...)) = (s=3D et-marker Info-tag-table-marker nil)) (setq Info-current-file = filename)))) =3D (if (string-equal nodename "*") (progn (setq Info-current-node nodename) = (I=3D nfo-set-mode-line)) (let ((guesspos (point-min)) (regexp (concat = "\\(Node:\=3D \|Ref:\\) *\\(" (if ... ... "") "\\) *[, \n=7F]"))) (catch (quote foo) = (when =3D (marker-position Info-tag-table-marker) (let* (... ...) (when found ... = ...=3D ...))) (goto-char (max (point-min) (- ... 1000))) (let ((pos ...)) = (when p=3D os (goto-char pos) (throw ... t))) (when (string-match "\\([^.]+\\)\\." = nod=3D ename) (let (Info-point-loc) (Info-find-node-2 filename ... = no-going-back n=3D omsg)) (widen) (throw (quote foo) t)) (error "No such node or anchor: = %s" n=3D odename)) (Info-select-node) (goto-char (point-min)) (forward-line 1) = (when=3D (and (not (fboundp ...)) Info-breadcrumbs-in-header-flag (> = Info-breadcrum=3D bs-depth 0)) (forward-line 1)) (cond (anchorpos (let (...) (setq = Info-histo=3D ry-list ...)) (goto-char anchorpos)) ((numberp Info-point-loc) = (forward-lin=3D e (- Info-point-loc 2)) (setq Info-point-loc nil)) ((stringp = Info-point-loc=3D ) (Info-find-index-name Info-point-loc) (setq Info-point-loc nil))))) = (when=3D (and (one-window-p t) (not (window-minibuffer-p)) (fboundp (quote = fit-fram=3D e)) Info-fit-frame-flag) (fit-frame))) (or Info-current-node = no-going-back =3D (null Info-history) (let ((hist (car Info-history))) (setq Info-history = (cd=3D r Info-history)) (Info-find-node (nth 0 hist) (nth 1 hist) t nomsg) = (goto-c=3D har (nth 2 hist))))) Info-find-node-2("*Indexed*" "Index for `ibuffer'" nil nil) * Info-find-node("*Indexed*" "Index for `ibuffer'") Info-index-entries-across-manuals("ibuffer" ("emacs" "elisp") nil) =20 ----------------------------------------------------------------- =20 In GNU Emacs 24.1.50.1 (i386-mingw-nt5.1.2600) of 2012-07-16 on MARVIN Bzr revision: 109106 fabian@anue.biz-20120716171839-0dv19ib9h6vfggfn Windowing system distributor `Microsoft Corp.', version 5.1.2600 Configured using: `configure --with-gcc (4.6) --no-opt --enable-checking --cflags -ID:/devel/emacs/libs/libXpm-3.5.8/include -ID:/devel/emacs/libs/libXpm-3.5.8/src -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include -ID:/devel/emacs/libs/giflib-4.1.4-1/include -ID:/devel/emacs/libs/jpeg-6b-4/include -ID:/devel/emacs/libs/tiff-3.8.2-1/include -ID:/devel/emacs/libs/gnutls-3.0.9/include -ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include -ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2' =20