 
 ;; Continuing
 
-(defvar ocaml-info-alist nil
+(defvar ocaml-info-alist 'ocaml-ocamldoc-info
   "A-list binding module names to info entries: 
 
   nil means do not use info.
 
   A function to build the list lazily (at the first call). The result of
 the function call will be assign permanently to this variable for future
-uses. We provide two default functions `ocaml-hevea-info' and
-`ocaml-ocamldoc-info'. 
+uses. We provide two default functions \\[ocaml-info-default-function]
+(info produced by HeVeA is the default) and \\[ocaml-info-default-function] 
+(info produced by ocamldoc). 
 
   Otherwise, this value should be an alist binding module names to info
-entries of the form to \"(entry)section\" be taken by the `info'
+entries of the form to \"(entry)section\" be taken by the \\[info] 
 command. An entry may be an info module or a complete file name."
 )
 

to the Module.mli file otherwises, and searches for entry. 

With prefix arg 0, it recomputes visible modules and their content. 
With prefix arg 4, it prompt for Module instead of its contectual value. 
"
  (interactive "p")
  (let ((module) (entry))
    (cond
     ((= arg 4)
      (or (and
           (setq module
                (completing-read "Module: " ocaml-module-alist nil t))
           (not (string-equal module "")))
          (error "Quit")))
     (t
      (if (= arg 0) (setq ocaml-visible-modules 'lazy))
      (let ((module-entry (ocaml-qualified-identifier)))
        (setq entry (ocaml-buffer-substring (cdr module-entry)))
        (setq module
              (or (ocaml-buffer-substring (car module-entry))
                  (let ((modules
                         (or (ocaml-find-module entry (ocaml-visible-modules))
                             (ocaml-find-module entry)))
                         (hist))
                    (cond
                     ((null modules)
                      (error "No module found for entry %s" entry))
                     ((equal (length modules) 1)
                      (caar modules))
                     (t
                      (setq hist (mapcar 'car modules))
                      (completing-read "Module: " modules nil t
                                       "" (cons 'hist 0)))
                     ))))
        )))
     (message "Help for %s%s%s" module (if entry "." "") (or entry ""))
     (ocaml-goto-help module entry)
     ))

  "Does completion for qualified identifiers. 

It attemps to recognize an qualified identifier Module . entry 
around point using function \\[ocaml-qualified-identifier].

If Module is defined, it does completion for identifier in Module.

