@set AUTHOREMAIL jdsmith@@as.arizona.edu
@set MAINTAINER J.D. Smith
@set MAINTAINEREMAIL jdsmith@@as.arizona.edu
-@set PARTOFEMACS
@set IDLWAVEHOMEPAGE http://idlwave.org/
@c %**end of header
@finalout
@value{VERSION}
Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006 Free Software Foundation, Inc.
+ 2006, 2007 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
IDLWAVE version @value{VERSION}, @value{DATE}.
@sp 2
Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006 Free Software Foundation, Inc.
+ 2006, 2007 Free Software Foundation, Inc.
@sp 2
@cindex Copyright, of IDLWAVE
Permission is granted to copy, distribute and/or modify this document
* Getting Started:: Tutorial
* The IDLWAVE Major Mode:: The mode for editing IDL programs
* The IDLWAVE Shell:: The mode for running IDL as an inferior program
-@ifclear PARTOFEMACS
-* Installation:: How to Install or Upgrade
-@end ifclear
* Acknowledgements:: Who did what
* Sources of Routine Info:: How does IDLWAVE know about routine XYZ
* HTML Help Browser Tips::
* Walking the Calling Stack::
* Electric Debug Mode::
-@ifclear PARTOFEMACS
-Installation
-
-* Installing IDLWAVE:: How to install the distribution
-* Installing Online Help:: Where to get the additional files needed
-@end ifclear
-
Sources of Routine Info
* Routine Definitions:: Where IDL Routines are defined.
@cindex Feature overview
IDLWAVE is a package which supports editing source files written in
-the Interactive Data Language (IDL@c
-@ifclear PARTOFEMACS
-@footnote{IDL is a registered
-trademark of Research Systems, Inc.}@c
-@end ifclear
-), and running IDL as an inferior shell@footnote{IDLWAVE can also be used
+the Interactive Data Language (IDL), and running IDL as an inferior shell@footnote{IDLWAVE can also be used
for editing source files for the related WAVE/CL language, but with only
limited support.}. It is a feature-rich replacement for the IDLDE
development environment included with IDL, and uses the full power of
shoulder of your nearest IDLWAVE guru for a few days.
It is assumed that you have access to Emacs or XEmacs with the full
-IDLWAVE package including online help@c
-@ifclear PARTOFEMACS
-@ (@pxref{Installation})@c
-@end ifclear
-. We also assume that you are familiar with Emacs and can read the
-nomenclature of key presses in Emacs (in particular, @kbd{C} stands
-for @key{CONTROL} and @kbd{M} for @key{META} (often the @key{ALT} key
-carries this functionality)).
+IDLWAVE package including online help. We also assume that you are
+familiar with Emacs and can read the nomenclature of key presses in
+Emacs (in particular, @kbd{C} stands for @key{CONTROL} and @kbd{M} for
+@key{META} (often the @key{ALT} key carries this functionality)).
Open a new source file by typing:
method exists in several classes, IDLWAVE queries for the class of the
object, unless the class is already known through a text property on the
@samp{->} operator (@pxref{Object Method Completion and Class
-Ambiguity}), or by having been explicity included in the call
+Ambiguity}), or by having been explicitly included in the call
(e.g. @code{a->myclass::Foo}).
@cindex Calling sequences
@item @i{Other}
@tab Any other routine with a file not known to be on the search path.
@item @i{Unresolved}
-@tab An otherwise unkown routine the shell lists as unresolved
+@tab An otherwise unknown routine the shell lists as unresolved
(referenced, but not compiled).
@end multitable
@emph{chaining}, and is characterized by chained method calls like
@w{@code{self->MySuperClass::SetProperty,_EXTRA=e}}.
-IDLWAVE can accomodate this special synergy between class and keyword
+IDLWAVE can accommodate this special synergy between class and keyword
inheritance: if @code{_EXTRA} or @code{_REF_EXTRA} is detected among a
method's keyword parameters, all keywords of superclass versions of
the method being considered can be included in completion. There is
of course no guarantee that this type of keyword chaining actually
-occurrs, but for some methods it's a very convenient assumption. The
+occurs, but for some methods it's a very convenient assumption. The
variable @code{idlwave-keyword-class-inheritance} can be used to
configure which methods have keyword inheritance treated in this
simple, class-driven way. By default, only @code{Init} and
Note that the modified assignment operators which begin with a word
(@samp{AND=}, @samp{OR=}, @samp{NOT=}, etc.) require a leading space to
-be recognized (e.g @code{vAND=4} would be intepreted as a variable
+be recognized (e.g @code{vAND=4} would be interpreted as a variable
@code{vAND}). Also note that, since e.g., @code{>} and @code{>=} are
both valid operators, it is impossible to surround both by blanks while
they are being typed. Similarly with @code{&} and @code{&&}. For
Normal hook. Executed when @file{idlwave.el} is loaded.
@end defopt
-@ifset PARTOFEMACS
@node The IDLWAVE Shell, Acknowledgements, The IDLWAVE Major Mode, Top
-@end ifset
-
-@ifclear PARTOFEMACS
-@node The IDLWAVE Shell, Installation, The IDLWAVE Major Mode, Top
-@end ifclear
-
@chapter The IDLWAVE Shell
@cindex IDLWAVE shell
@cindex Major mode, @code{idlwave-shell-mode}
With a numeric prefix greater than one (e.g. @kbd{C-4 C-c C-d C-b}),
the breakpoint will only be active the @code{nth} time it is hit.
With a single non-numeric prefix (i.e. @kbd{C-u C-c C-d C-b}), prompt
-for a condition --- an IDL expression to be evaulated and trigger the
+for a condition --- an IDL expression to be evaluated and trigger the
breakpoint only if true. To clear the breakpoint in the current line,
use @kbd{C-c C-d C-d} (@code{idlwave-clear-current-bp}). When
executed from the shell window, the breakpoint where IDL is currently
You can toggle the electric debug mode at any time in a buffer using
@kbd{C-c C-d C-v} (@kbd{v} to turn it off while in the mode), or from
the Debug menu. Normally the mode will be enabled and disabled at the
-appropriate times, but occassionally you might want to edit a file
+appropriate times, but occasionally you might want to edit a file
while still debugging it, or switch to the mode for conveniently
setting lots of breakpoints.
or while composing a long command in the IDLWAVE shell. In the latter
case, the command is sent to the shell and its output is visible, but
point remains unmoved in the command being composed --- you can inspect
-the contituents of a command you're building without interrupting the
+the constituents of a command you're building without interrupting the
process of building it! You can even print arbitrary expressions from
older input or output further up in the shell window --- any expression,
variable, number, or function you see can be examined.
(three underscores) are replaced by the indicated expression.
@end defopt
-
-@ifclear PARTOFEMACS
-@node Installation, Acknowledgements, The IDLWAVE Shell, Top
-@chapter Installation
-@cindex Installation
-
-@menu
-* Installing IDLWAVE:: How to install the distribution
-* Installing Online Help:: Where to get the additional files needed
-@end menu
-
-@node Installing IDLWAVE, Installing Online Help, Installation, Installation
-@section Installing IDLWAVE
-
-@cindex FTP site
-@cindex URL, homepage for IDLWAVE
-@cindex Homepage for IDLWAVE
-@cindex IDLWAVE, homepage
-@cindex XEmacs package IDLWAVE
-@cindex Emacs, distributed with IDLWAVE
-IDLWAVE is part of Emacs 21.1 and later. It is also an XEmacs package
-and can be installed from
-@uref{ftp://ftp.xemacs.org/pub/xemacs/packages/,the XEmacs ftp site}
-with the normal package management system on XEmacs 21. You can also
-download IDLWAVE and install it yourself from
-@uref{@value{IDLWAVEHOMEPAGE}, the maintainers webpage}. Follow the
-instructions in the INSTALL file.
-
-@node Installing Online Help, , Installing IDLWAVE, Installation
-@section Installing Online Help
-@cindex Installing online help
-@cindex Online Help, Installation
-
-Starting with IDL v6.2, all necessary online help files and routine
-information are distributed directly with IDL. Nothing additional is
-required.
-
-For version of IDL prior to 6.2 (and IDLWAVE prior to version 6.0), if
-you want to use the online help display, an additional set of files
-(HTML versions of the IDL documentation) must be installed. These files
-can also be downloaded from @uref{@value{IDLWAVEHOMEPAGE}, the
-maintainers webpage}. You need to place the files somewhere on your
-system and tell IDLWAVE where they are with:
-
-@lisp
-; e.g. /usr/local/etc/
-(setq idlwave-html-help-location "/path/to/help/dir/")
-@end lisp
-
-@noindent The default location is @file{/usr/local/etc}, and if you
-install the directory there, you do not need to set this variable. Note
-that the help package only changes with new versions of the IDL
-documentation, and need not be updated unless your version of IDL
-changes. Since the help system is distributed with IDL starting at
-version 6.2, no new help packages will be created for these versions.
-
-@node Acknowledgements, Sources of Routine Info, Installation, Top
-@end ifclear
-
-@ifset PARTOFEMACS
@node Acknowledgements, Sources of Routine Info, The IDLWAVE Shell, Top
-@end ifset
-
@chapter Acknowledgements
@cindex Acknowledgements
@cindex Maintainer, of IDLWAVE
documentation. The Online Help feature of IDLWAVE requires HTML
versions of the IDL manuals to be available; the HTML documentation is
not distributed with IDLWAVE by default, but must be downloaded
-separately@c
-@ifclear PARTOFEMACS
-@ from @uref{@value{IDLWAVEHOMEPAGE}, the maintainers
-webpage}@c
-@end ifclear
-.
+separately.
The HTML files and related images can be produced from the
@file{idl.chm} HTMLHelp file distributed with IDL using the free
"make; make install") from source, it should resolve this problem.
Another option is to recompile the @file{idlw*.el} files by hand using
@kbd{M-x byte-compile-file}.
-@ifclear PARTOFEMACS
-Why not take the opportunity to grab the
-latest IDLWAVE version at @uref{@value{IDLWAVEHOMEPAGE}, the
-maintainers webpage}.
-@end ifclear
@item @strong{@kbd{M-@key{TAB}} doesn't complete words, it switches
windows on my desktop.}
@item @strong{In the shell, my long commands are truncated at 256 characters!}
This actually happens when running IDL in an XTerm as well. There are
-a couple of work arounds: @code{define_key,/control,'^d'} (e.g. in
+a couple of workarounds: @code{define_key,/control,'^d'} (e.g. in
your @file{$IDL_STARTUP} file) will disable the @samp{EOF} character
and give you a 512 character limit. You won't be able to use
@key{C-d} to quit the shell, however. Another possibility is
You have a mismatch between your help index and the HTML help package
you downloaded. You need to ensure you download a ``downgrade kit'' if
you are using anything older than the latest HTML help package. A new
-help package apppears with each IDL release (assuming the documentation
+help package appears with each IDL release (assuming the documentation
is updated).
-@ifclear PARTOFEMACS
-See @uref{@value{IDLWAVEHOMEPAGE}, the maintainers
-webpage} for more.
-@end ifclear
-Note that, starting with IDL 6.2, the HTML help and its catalog are
+Starting with IDL 6.2, the HTML help and its catalog are
distributed with IDL, and so should never be inconsistent.
@item @strong{I get errors such as @samp{void-variable
@printindex cp
@bye
+
+@ignore
+ arch-tag: f1d73958-1423-4127-b8aa-f7b953d64492
+@end ignore