idlwave: User Catalog

 
 A.3.2 User Catalog
 ------------------
 
 The user catalog is the old routine catalog system.  It is produced
 within Emacs, and stored in a single file in the user’s home directory
 (‘.emacs.d/idlwave/idlusercat.el’ by default).  Although library
 catalogs are more flexible, there may be reasons to prefer a user
 catalog instead, including:
 
    • The scan is internal to Emacs, so you don’t need a working Perl
      installation, as you do for library catalogs.
    • Can be used to scan directories for which the user has no write
      privileges.
    • Easy widget-based path selection.
 
    However, no routine info is available in the user catalog by default;
 the user must actively complete a scan.  In addition, this type of
 catalog is all or nothing: if a single routine changes, the entire
 catalog must be rescanned to update it.  Creating the user catalog is
 also much slower than scanning library catalogs.
 
    You can scan any of the directories on the currently known path.
 Under Windows, you need to specify the IDL search path in the variable
 ‘idlwave-library-path’, and the location of the IDL directory (the value
 of the ‘!DIR’ system variable) in the variable
 ‘idlwave-system-directory’, like this(1):
 
      (setq idlwave-library-path
              '("+c:/RSI/IDL56/lib/" "+c:/user/me/idllibs"))
      (setq idlwave-system-directory "c:/RSI/IDL56/")
 
 Under GNU/Linux and UNIX, these values will be automatically gathered
 from the IDLWAVE shell, if run.
 
    The command ‘M-x idlwave-create-user-catalog-file’ (or the menu item
 ‘IDLWAVE->Routine Info->Select Catalog Directories’) can then be used to
 create a user catalog.  It brings up a widget in which you can select
 some or all directories on the search path.  Directories which already
 contain a library catalog are marked with ‘[LIB]’, and need not be
 scanned (although there is no harm if you do so, other than the
 additional memory used for the duplication).
 
    After selecting directories, click on the ‘[Scan & Save]’ button in
 the widget to scan all files in the selected directories and write out
 the resulting routine information.  In order to update the library
 information using the directory selection, call the command
 ‘idlwave-update-routine-info’ with a double prefix argument:
 ‘C-u C-u C-c C-i’.  This will rescan files in the previously selected
 directories, write an updated version of the user catalog file and
 rebuild IDLWAVE’s internal lists.  If you give three prefix arguments
 ‘C-u C-u C-u C-c C-i’, updating will be done with a background job(2).
 You can continue to work, and the library catalog will be re-read when
 it is ready.  If you find you need to update the user catalog often, you
 should consider building a library catalog for your routines instead
 (SeeLibrary Catalogs).
 
  -- User Option: idlwave-special-lib-alist
      Alist of regular expressions matching special library directories
      for labeling in routine-info display.
 
    ---------- Footnotes ----------
 
    (1) The initial ‘+’ leads to recursive expansion of the path, just
 like in IDL
 
    (2) Unix systems only, I think.