Function: idlwave-create-user-catalog-file

idlwave-create-user-catalog-file is an interactive and byte-compiled function defined in idlwave.el.gz.

Signature

(idlwave-create-user-catalog-file &optional ARG)

Documentation

Scan all files on selected dirs of IDL search path for routine information.

A widget checklist will allow you to choose the directories. Write the result as a file idlwave-user-catalog-file. When this file exists, it will be automatically loaded to give routine information about library routines. With ARG, just rescan the same directories as last time - so no widget will pop up.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/obsolete/idlwave.el.gz
(defun idlwave-create-user-catalog-file (&optional arg)
  "Scan all files on selected dirs of IDL search path for routine information.

A widget checklist will allow you to choose the directories.  Write
the result as a file `idlwave-user-catalog-file'.  When this file
exists, it will be automatically loaded to give routine information
about library routines.  With ARG, just rescan the same directories
as last time - so no widget will pop up."
  (interactive "P")
  ;; Make sure the file is loaded if it exists.
  (if (and (stringp idlwave-user-catalog-file)
	   (file-regular-p idlwave-user-catalog-file))
      (condition-case nil
	  (load-file idlwave-user-catalog-file)
	(error nil)))
  ;; Make sure the file name makes sense
  (unless (and (stringp idlwave-user-catalog-file)
	       (> (length idlwave-user-catalog-file) 0)
	       (file-accessible-directory-p
		(file-name-directory idlwave-user-catalog-file))
	       (not (string= "" (file-name-nondirectory
				 idlwave-user-catalog-file))))
    (error "`idlwave-user-catalog-file' does not point to a file in an accessible directory"))

  (cond
    ;; Rescan the known directories
   ((and arg idlwave-path-alist
	 (consp (car idlwave-path-alist)))
    (idlwave-scan-user-lib-files idlwave-path-alist))

   ;; Expand the directories from library-path and run the widget
   (idlwave-library-path
    (idlwave-display-user-catalog-widget
     (if idlwave-true-path-alist
	 ;; Propagate any flags on the existing path-alist
	 (mapcar (lambda (x)
		   (let ((path-entry (assoc (file-truename x)
					    idlwave-true-path-alist)))
		     (if path-entry
			 (cons x (cdr path-entry))
		       (list x))))
		 (idlwave-expand-path idlwave-library-path))
       (mapcar #'list (idlwave-expand-path idlwave-library-path)))))

   ;; Ask the shell for the path and then run the widget
   (t
    (message "Asking the shell for IDL path...")
    (require 'idlw-shell)
    (idlwave-shell-send-command idlwave-shell-path-query
				'(idlwave-user-catalog-command-hook nil)
				'hide))))