In current ltx-help.el, latex-help-get-cmd-alist doesn't seem to recognise the index of recent latex2e.info (in debian texlive-lang-english) but returns an empty list so M-x latex-help has nothing to go to.
M-x latex-help \begin Tab => [no match] I think latex-help-get-cmd-alist is tricked by the index entry for math mode \: appearing as \::, and then the regexp is a little too tight for the recent makeinfo "(line 123)" bits (fontified to invisible by info-mode, but they're there). I get some joy from a little tightening and loosening below.
--- ltx-help.el.orig 2015-12-03 17:13:25.137365950 +1100 +++ ltx-help.el 2015-12-03 17:38:14.805329570 +1100 @@ -128,16 +128,20 @@ ;; Thu Apr 25 2013 Mandar Mitra (mandar.mi...@gmail.com) ;; Using with (for example) "array" goes to the top node ;; of latex2e.info instead of the intended node. +;; +;; Thu Dec 3 2015 Kevin Ryde (user42_ke...@yahoo.com.au) +;; * latex-help-get-cmd-alist don't take \:: as double-colon style index, +;; and allow "(line 123)" at the end of recent makeinfo output. +;; * Use buffer-substring-no-properties when exists (does in XEmacs 21.4). ;;; Code: (require 'info) -(if (string-match "XEmacs\\|Lucid" emacs-version) - ; XEmacs - (fset 'ltxh-buffer-substring (symbol-function 'buffer-substring)) - ; FSFmacs - (fset 'ltxh-buffer-substring (symbol-function 'buffer-substring-no-properties))) +(defalias 'ltxh-buffer-substring + (if (fboundp 'buffer-substring-no-properties) ;; when available + 'buffer-substring-no-properties + 'buffer-substring)) (defvar latex-help-file "(latex2e)") @@ -259,7 +263,7 @@ (save-window-excursion (setq latex-help-cmd-alist nil) (Info-goto-node (concat latex-help-file "Command Index")) - (if (search-forward "::" nil t) + (if (re-search-forward "::$" nil t) (progn (end-of-buffer) (while (re-search-backward "^\\* \\(.+\\)::$" nil t) @@ -267,7 +271,7 @@ (setq latex-help-cmd-alist (cons (cons key key) latex-help-cmd-alist)))) (end-of-buffer) - (while (re-search-backward "^\\* \\(.+\\): *\\(.+\\)\\.$" nil t) + (while (re-search-backward "^\\* \\(.+\\): *\\(.+\\)\\." nil t) (setq key (ltxh-buffer-substring (match-beginning 1) (match-end 1))) (setq value (ltxh-buffer-substring (match-beginning 2) (match-end 2))) (setq latex-help-cmd-alist