diff lisp/info-look.el @ 55238:373bc9e19710

(cfengine-mode): Accept a terminal ().
author Stefan Monnier <monnier@iro.umontreal.ca>
date Thu, 29 Apr 2004 19:09:20 +0000
parents 5c2770cd5506
children 2967bbb0802b 4c90ffeb71c5
line wrap: on
line diff
--- a/lisp/info-look.el	Thu Apr 29 19:02:12 2004 +0000
+++ b/lisp/info-look.el	Thu Apr 29 19:09:20 2004 +0000
@@ -887,11 +887,21 @@
                       ((string-equal item "gawk, versions of, information about, printing")
                        "gawk"))))))
 
+;; This misses some things which occur as node names but not in the
+;; index.  Unfortunately it also picks up the wrong one of multiple
+;; entries for the same term in some cases.  --fx
 (info-lookup-maybe-add-help
  :mode 'cfengine-mode
- :regexp "[[:alnum:]_]+"
- :doc-spec '(("(cfengine-Reference)Variable Index" nil
-	      "^ - [^:]+:[ ]+\\(\\[[^=]*=[ ]+\\)?" nil)))
+ :regexp "[[:alnum:]_]+\\(:?()\\)?"
+ :doc-spec '(("(cfengine-Reference)Variable Index"
+	      (lambda (item)
+		;; Index entries may be like `IsPlain()'
+		(if (string-match "\\([[:alnum:]_]+\\)()" item)
+		    (match-string 1 item)
+		  item))
+	      ;; This gets functions in evaluated classes.  Other
+	      ;; possible patterns don't seem to work too well.
+	      "`" "(")))
 
 (provide 'info-look)