idlwave

Homepage: https://www.gnu.org/software/emacs

Author: Carsten Dominik, Chris Chase, JD Smith

Summary

IDL editing mode for GNU Emacs

Commentary

IDLWAVE enables feature-rich development and interaction with IDL,
the Interactive Data Language.  It provides a compelling,
full-featured alternative to the IDLDE development environment
bundled with IDL.

In the remotely distant past, based on pascal.el, though bears
little resemblance to it now.

Incorporates many ideas, such as abbrevs, action routines, and
continuation line indenting, from wave.el.
wave.el original written by Lubos Pochman, Precision Visuals, Boulder.

See the mode description ("C-h m" in idlwave-mode or "C-h f idlwave-mode")
for features, key bindings, and info.
Also, Info format documentation is available with `M-x idlwave-info'

New versions of IDLWAVE, documentation, and more information
available from:
                https://github.com/jdtsmith/idlwave

INSTALLATION
============

Follow the instructions in the INSTALL file of the distribution.
In short, put this file on your load path and add the following
lines to your init file:

(autoload 'idlwave-mode "idlwave" "IDLWAVE Mode" t)
(autoload 'idlwave-shell "idlw-shell" "IDLWAVE Shell" t)
(setq auto-mode-alist (cons '("\\.pro\\'" . idlwave-mode) auto-mode-alist))


SOURCE
======

The newest version of this file is available from the maintainer's
Webpage:

  https://github.com/jdtsmith/idlwave

DOCUMENTATION
=============

IDLWAVE is documented online in info format.  A printable version
of the documentation is available from the maintainers webpage (see
SOURCE).


ACKNOWLEDGMENTS
===============

 Thanks to the following people for their contributions and comments:

   Ulrik Dickow 
   Eric E. Dors 
   Stein Vidar H. Haugan 
   David Huenemoerder 
   Kevin Ivory 
   Dick Jackson 
   Xuyong Liu 
   Simon Marshall 
   Laurent Mugnier 
   Lubos Pochman 
   Bob Portmann 
   Patrick M. Ryan 
   Marty Ryba 
   Paul Sorenson 
   Phil Sterne 
   Phil Williams 

CUSTOMIZATION:
=============

IDLWAVE has extensive customize support; to learn about the
variables which control the mode's behavior, use `M-x
idlwave-customize'.

You can set your own preferred values with Customize, or with Lisp
code in .emacs.  For an example of what to put into .emacs, check
the TexInfo documentation or see a complete .emacs available at the
website.

KNOWN PROBLEMS:
==============

  IDLWAVE support for the IDL-derived PV-WAVE CL language of Visual
  Numerics, Inc. is growing less and less complete as the two
  languages grow increasingly apart.  The mode probably shouldn't
  even have "WAVE" in its title, but it's catchy, and was required
  to avoid conflict with the CORBA idl.el mode.  Caveat WAVEor.

  Moving the point backwards in conjunction with abbrev expansion
  does not work as I would like it, but this is a problem with
  Emacs abbrev expansion done by the self-insert-command.  It ends
  up inserting the character that expanded the abbrev after moving
  point backward, e.g., "\cl" expanded with a space becomes
  "LONG( )" with point before the close paren.  This is solved by
  using a temporary function in `post-command-hook' - not pretty,
  but it works.

  Tabs and spaces are treated equally as whitespace when filling a
  comment paragraph.  To accomplish this, tabs are permanently
  replaced by spaces in the text surrounding the paragraph, which
  may be an undesirable side-effect.  Replacing tabs with spaces is
  limited to comments only and occurs only when a comment
  paragraph is filled via `idlwave-fill-paragraph'.

  Muti-statement lines (using "&") on block begin and end lines can
  ruin the formatting.  For example, multiple end statements on a
  line: endif & endif.  Using "&" outside of block begin/end lines
  should be okay.

  Determining the expression at point for printing and other
  examination commands is somewhat rough: currently only fairly
  simple entities are found.  You can always drag-select or examine
  a pre-selected region.

  When forcing completion of method keywords, the initial
  query for a method has multiple entries for some methods.  Would
  be too difficult to fix this hardly used case.

Dependencies