Function: info-xref-check-node
info-xref-check-node is a byte-compiled function defined in
info-xref.el.gz.
Signature
(info-xref-check-node NODE)
Source Code
;; Defined in /usr/src/emacs/lisp/info-xref.el.gz
(defun info-xref-check-node (node)
;; Collapse spaces as per info.el and `help-make-xrefs'.
;; Note defcustom :info-link nodes don't get this whitespace collapsing,
;; they should be the exact node name ready to visit.
;; `info-xref-check-all-custom' uses `info-xref-goto-node-p' and so
;; doesn't come through here.
;;
;; Could use "[\t\n ]+" but try to avoid uselessly replacing " " with " ".
(setq node (replace-regexp-in-string "[\t\n][\t\n ]*\\| [\t\n ]+" " "
node t t))
(if (not (string-match "\\`([^)]*)" node))
(info-xref-output-error "No `(file)' part at start of node: %s\n" node)
(let ((file (match-string 0 node)))
(if (string-equal "()" file)
(info-xref-output-error "Empty filename part: %s" node)
;; see if the file exists, if haven't looked before
(unless (assoc file info-xref-xfile-alist)
(let ((found (info-xref-goto-node-p file)))
(push (cons file found) info-xref-xfile-alist)
(unless found
(info-xref-output-error "Not available to check: %s\n (this reported once per file)" file))))
;; if the file exists, try the node
(cond ((not (cdr (assoc file info-xref-xfile-alist)))
(incf info-xref-unavail))
((info-xref-goto-node-p node)
(incf info-xref-good))
(t
(incf info-xref-bad)
(info-xref-output-error "No such node: %s" node)))))))