X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/bdb0f2d5510b9941d844c12d3f64bcd76087ec9c..08d87b2d0dbddc8c23c48bcc04fbade37a8f8046:/lisp/info-look.el?ds=sidebyside diff --git a/lisp/info-look.el b/lisp/info-look.el index e81d33e65f..8242932c3a 100644 --- a/lisp/info-look.el +++ b/lisp/info-look.el @@ -1,7 +1,7 @@ ;;; info-look.el --- major-mode-sensitive Info index lookup facility ;; An older version of this was known as libc.el. -;; Copyright (C) 1995,96,97,98,99,2001,2003 Free Software Foundation, Inc. +;; Copyright (C) 1995,96,97,98,99,2001,2003,2004 Free Software Foundation, Inc. ;; Author: Ralph Schleicher ;; (did not show signs of life (Nov 2001) -stef) @@ -27,7 +27,7 @@ ;;; Commentary: ;; Really cool code to lookup info indexes. -;; Try especially info-lookup-symbol (aka C-h TAB). +;; Try especially info-lookup-symbol (aka C-h S). ;;; Code: @@ -321,7 +321,7 @@ If optional argument QUERY is non-nil, query for the help mode." (let* ((completions (info-lookup->completions topic mode)) (ignore-case (info-lookup->ignore-case topic mode)) (entry (or (assoc (if ignore-case (downcase item) item) completions) - (assoc-ignore-case item completions) + (assoc-string item completions t) (error "Not documented as a %s: %s" topic (or item "")))) (modes (info-lookup->all-modes topic mode)) (window (selected-window)) @@ -682,13 +682,37 @@ Return nil if there is nothing appropriate in the buffer near point." (info-lookup-maybe-add-help :mode 'autoconf-mode :regexp "A[CM]_[_A-Z0-9]+" - :doc-spec '(("(autoconf)Autoconf Macro Index" "AC_" + :doc-spec '(;; Autoconf Macro Index entries are without an "AC_" prefix, + ;; but with "AH_" or "AU_" for those. So add "AC_" if there + ;; isn't already an "A._". + ("(autoconf)Autoconf Macro Index" + (lambda (item) + (if (string-match "^A._" item) item (concat "AC_" item))) "^[ \t]+- \\(Macro\\|Variable\\): .*\\<" "\\>") - ("(automake)Macro and Variable Index" nil - "^[ \t]*`" "'") - ;; These are for older versions (probably pre autoconf 2.5x): + ;; M4 Macro Index entries are without "AS_" prefixes, and + ;; mostly without "m4_" prefixes. "dnl" is an exception, not + ;; wanting any prefix. So AS_ is added back to upper-case + ;; names, m4_ to others which don't already an m4_. + ("(autoconf)M4 Macro Index" + (lambda (item) + (let ((case-fold-search nil)) + (cond ((or (string-equal item "dnl") + (string-match "^m4_" item)) + item) + ((string-match "^[A-Z0-9_]+$" item) + (concat "AS_" item)) + (t + (concat "m4_" item))))) + "^[ \t]+- Macro: .*\\<" "\\>") + ;; Autotest Macro Index entries are without "AT_". + ("(autoconf)Autotest Macro Index" "AT_" + "^[ \t]+- Macro: .*\\<" "\\>") + ;; This is for older versions (probably pre autoconf 2.5x): ("(autoconf)Macro Index" "AC_" "^[ \t]+- \\(Macro\\|Variable\\): .*\\<" "\\>") + ;; Automake has index entries for its notes on various autoconf + ;; macros (eg. AC_PROG_CC). Ensure this is after the autoconf + ;; index, so as to prefer the autoconf docs. ("(automake)Macro and Variable Index" nil "^[ \t]*`" "'")) ;; Autoconf symbols are M4 macros. Thus use M4's parser. @@ -784,7 +808,7 @@ Return nil if there is nothing appropriate in the buffer near point." (info-lookup-maybe-add-help :mode 'scheme-mode - :regexp "[^()'\" \t\n]+" + :regexp "[^()`',\" \t\n]+" :ignore-case t ;; Aubrey Jaffer's rendition from :doc-spec '(("(r5rs)Index" nil @@ -806,6 +830,17 @@ Return nil if there is nothing appropriate in the buffer near point." nil; "^ - [^:]+:[ ]+" don't think this prefix is useful here. nil))) +(info-lookup-maybe-add-help + :mode 'maxima-mode + :ignore-case t + :regexp "[a-zA-Z_%]+" + :doc-spec '( ("(maxima)Function and Variable Index" nil + "^ - [^:]+:[ ]+\\(\\[[^=]*=[ ]+\\)?" nil))) + +(info-lookup-maybe-add-help + :mode 'inferior-maxima-mode + :other-modes '(maxima-mode)) + ;; coreutils and bash builtins overlap in places, eg. printf, so there's a ;; question which should come first. Some of the coreutils descriptions are ;; more detailed, but if bash is usually /bin/sh on a GNU system then the @@ -854,4 +889,5 @@ Return nil if there is nothing appropriate in the buffer near point." (provide 'info-look) +;;; arch-tag: 0f1e3ea3-32a2-4461-bbab-3cff93539a74 ;;; info-look.el ends here