Function: idlwave-scan-user-lib-files
idlwave-scan-user-lib-files is a byte-compiled function defined in
idlwave.el.gz.
Signature
(idlwave-scan-user-lib-files PATH-ALIST)
Source Code
;; Defined in /usr/src/emacs/lisp/obsolete/idlwave.el.gz
(defun idlwave-scan-user-lib-files (path-alist)
;; Scan the PRO files in PATH-ALIST and store the info in the user catalog
(let* ((idlwave-scanning-lib t)
(idlwave-scanning-lib-dir "")
(idlwave-completion-case nil)
dirs-alist dir files file)
(setq idlwave-user-catalog-routines nil
idlwave-path-alist path-alist ; for library-path instead
idlwave-true-path-alist nil)
(if idlwave-auto-write-paths (idlwave-write-paths))
(with-current-buffer (get-buffer-create "*idlwave-scan.pro*")
(idlwave-mode)
(setq dirs-alist (reverse path-alist))
(while (setq dir (pop dirs-alist))
(when (memq 'user (cdr dir)) ; Has it marked for scan?
(setq dir (car dir))
(setq idlwave-scanning-lib-dir dir)
(when (file-directory-p dir)
(setq files (directory-files dir 'full "\\.[pP][rR][oO]\\'"))
(while (setq file (pop files))
(when (file-regular-p file)
(if (not (file-readable-p file))
(message "Skipping %s (no read permission)" file)
(message "Scanning %s..." file)
(erase-buffer)
(insert-file-contents file 'visit)
(setq idlwave-user-catalog-routines
(append (idlwave-get-routine-info-from-buffers
(list (current-buffer)))
idlwave-user-catalog-routines)))))))))
(message "Creating user catalog file...")
(kill-buffer "*idlwave-scan.pro*")
(kill-buffer (get-buffer-create "*IDLWAVE Widget*"))
(with-temp-buffer
(insert ";; IDLWAVE user catalog file\n")
(insert (format ";; Created %s\n\n" (current-time-string)))
;; Define the routine info list
(insert "\n(setq idlwave-user-catalog-routines\n '(")
(let ((standard-output (current-buffer)))
(mapc (lambda (x)
(insert "\n ")
(prin1 x)
(goto-char (point-max)))
idlwave-user-catalog-routines))
(insert (format "))\n\n;;; %s ends here\n"
(file-name-nondirectory idlwave-user-catalog-file)))
(write-region nil nil idlwave-user-catalog-file)))
(message "Creating user catalog file...done")
(message "Info for %d routines saved in %s"
(length idlwave-user-catalog-routines)
idlwave-user-catalog-file)
(sit-for 2)
(idlwave-update-routine-info t))