GNU Info

Info Node: (idlwave)Load-Path Shadows

(idlwave)Load-Path Shadows


Next: Documentation Scan Prev: Library Catalog Up: Sources of Routine Info
Enter node , (file) or (file)node

Load-Path Shadows
=================

   IDLWAVE can compile a list of routines which are defined in several
different files.  Since one definition will hide (shadow) the others
depending on which file is compiled first, such multiple definitions are
called "load-path shadows".  IDLWAVE has several routines to scan for
load path shadows.  The output is placed into the special buffer
`*Shadows*'.  The format of the output is identical to the source
section of the routine info buffer (Note: Routine Info).  The
different definitions of a routine are listed in the sequence of
_likelyhood of use_.  So the first entry will be most likely the one
you'll get if an unsuspecting command uses that routine.  Before
listing shadows, you should make sure that routine info is up-to-date by
pressing `C-c C-i'.  Here are the different routines:

`M-x idlwave-list-buffer-load-path-shadows'
     This commands checks the names of all routines defined in the
     current buffer for shadowing conflicts with other routines
     accessible to IDLWAVE.  The command also has a key binding: `C-c
     C-b'

`M-x idlwave-list-shell-load-path-shadows'.
     Checks all routines compiled under the shell for shadowing.  This
     is very useful when you have written a complete application.  Just
     compile the application, use `RESOLVE_ALL' to compile any routines
     used by your code, update the routine info inside IDLWAVE with
     `C-c C-i' and then check for shadowing.

`M-x idlwave-list-all-load-path-shadows'
     This command checks all routines accessible to IDLWAVE for
     conflicts.

   For these commands to work properly you should have scanned the
entire load path, not just selected directories.  Also, IDLWAVE should
be able to distinguish between the system library files (normally
installed in `/usr/local/rsi/idl/lib') and any site specific or user
specific files.  Therefore, such local files should not be installed
inside the `lib' directory of the IDL directory.  This is of course
also advisable for many other reasons.

   Users of Windows and MacOS also must set the variable
`idlwave-system-directory' to the value of the `!DIR' system variable
in IDL.  IDLWAVE appends `lib' to the value of this variable and
assumes that all files found on that path are system routines.

   Another way to find out if a specific routine has multiple
definitions on the load path is routine info display (Note: Routine
Info).


automatically generated by info2www version 1.2.2.9