Subject: bug#3818: 23.1.50; widget manual xref clickable text

From: Kevin Ryde <[email-masked]>
Date: Sun, 12 Jul 2009 08:09:12 +1000

Glenn Morris <[email-masked]> writes:
>
> (Is there an automatic way to check for such things?)

Yep, my info-xref.el, now in emacs. :-)

I give it a run on my own files every so often too.  The only tedious
bit for the emacs cvs is working out which files are info files since
they don't have a .info suffix.  Then for myself I have to dig out
copies of manuals I don't have under /usr/share/info.  The nasty couple
of forms below is what I use lately.

(progn
  (require 'info-xref)

  ;; (shell-command "ln -sf /down/texinfo/texinfo/doc/texinfo /down/texinfo/texinfo/doc/texinfo-* /down/emacs/info")
  ;; (shell-command "ln -sf /down/texinfo/texinfo/doc/info-stnd.info /down/texinfo/texinfo/doc/info-stnd.info-* /down/emacs/info")

  (shell-command "ln -sf /usr/share/xemacs21/xemacs-packages/info/auctex.info.gz /down/emacs/info")
  (shell-command "ln -sf /usr/share/xemacs21/xemacs-packages/info/bbdb.info.gz /down/emacs/info")
  ;; (shell-command "ln -sf /usr/share/xemacs21/xemacs-packages/info/sasl.info.gz /down/emacs/info")

  ;; (shell-command "ln -sf /usr/share/info/automake-1.10.info.gz /down/emacs/info/automake.info.gz")
  ;; (shell-command "ln -sf /usr/share/info/automake-1.10.info-*.gz /down/emacs/info")

  (shell-command "ln -sf /down/autoconf/doc/autoconf.info* /down/emacs/info")

  (info-initialize)
  (setq Info-directory-list '("/down/emacs/info" "/usr/share/info")))

(let ((lst (directory-files "/down/emacs/info" t)))
  (setq lst (remove* "\\.\\'" lst :test 'string-match))
  (setq lst (remove* "/\\." lst :test 'string-match))
  (setq lst (remove* "/COPYING\\'" lst :test 'string-match))
  (setq lst (remove* "/CVS\\'" lst :test 'string-match))
  (setq lst (remove* "\\.gz\\'" lst :test 'string-match))
  (setq lst (remove* "auctex" lst :test 'string-match))
  (setq lst (remove* "bbdb" lst :test 'string-match))
  (setq lst (remove* "autoconf" lst :test 'string-match))
  (setq lst (remove* "automake" lst :test 'string-match))
  (dolist (i lst)
    (setq lst (remove* (concat (regexp-quote i) "-[0-9]+\\'") lst
                       :test 'string-match)))

  (info-xref-check-list lst))