annotate man/idlwave.texi @ 70652:fc5f994a4079

* xterm.c (handle_one_xevent): Check that f is not NULL before calling _XEditResCheckMessages.
author Jan Djärv <jan.h.d@swipnet.se>
date Sun, 14 May 2006 11:26:20 +0000
parents 15cb8a20aec0
children b7261e09f8e4 65ca8fb66a0d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2 @c %**start of header
58524
92dc214c88ac Fix the setfilename directive to put the produced file in ../info.
Eli Zaretskii <eliz@gnu.org>
parents: 58296
diff changeset
3 @setfilename ../info/idlwave
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4 @settitle IDLWAVE User Manual
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
5 @dircategory Emacs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
6 @direntry
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
7 * IDLWAVE: (idlwave). Major mode and shell for IDL files.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
8 @end direntry
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
9 @synindex ky cp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
10 @syncodeindex vr cp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
11 @syncodeindex fn cp
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
12 @set VERSION 6.0
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
13 @set EDITION 6.0
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
14 @set IDLVERSION 6.2
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
15 @set NSYSROUTINES 1966
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
16 @set DATE Feb, 2006
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
17 @set AUTHOR J.D. Smith & Carsten Dominik
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
18 @set AUTHOREMAIL jdsmith@@as.arizona.edu
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
19 @set MAINTAINER J.D. Smith
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
20 @set MAINTAINEREMAIL jdsmith@@as.arizona.edu
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
21 @set IDLWAVEHOMEPAGE http://idlwave.org/
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
22 @c %**end of header
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
23 @finalout
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
24
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
25 @ifinfo
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
26 This file documents IDLWAVE, a major mode for editing IDL files with
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
27 Emacs, and interacting with an IDL shell run as a subprocess.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
28
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
29 This is edition @value{EDITION} of the IDLWAVE User Manual for IDLWAVE
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
30 @value{VERSION}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
31
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
32 Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
33 2006 Free Software Foundation, Inc.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
34
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
35 Permission is granted to copy, distribute and/or modify this document
65555
69b3598a61c5 Update all manuals to specify GFDL version 1.2.
Romain Francoise <romain@orebokech.com>
parents: 64890
diff changeset
36 under the terms of the GNU Free Documentation License, Version 1.2 or
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
37 any later version published by the Free Software Foundation; with no
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
38 Invariant Sections, with the Front-Cover texts being ``A GNU
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
39 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
40 license is included in the section entitled ``GNU Free Documentation
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
41 License'' in the Emacs manual.
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
42
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
43 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
44 this GNU Manual, like GNU software. Copies published by the Free
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
45 Software Foundation raise funds for GNU development.''
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
46
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
47 This document is part of a collection distributed under the GNU Free
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
48 Documentation License. If you want to distribute this document
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
49 separately from the collection, you can do so by adding a copy of the
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
50 license to the document, as described in section 6 of the license.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
51 @end ifinfo
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
52
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
53 @titlepage
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
54 @title IDLWAVE User Manual
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
55 @subtitle Emacs major mode and shell for IDL
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
56 @subtitle Edition @value{EDITION}, @value{DATE}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
57
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
58 @author by J.D. Smith & Carsten Dominik
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
59 @page
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
60 This is edition @value{EDITION} of the @cite{IDLWAVE User Manual} for
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
61 IDLWAVE version @value{VERSION}, @value{DATE}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
62 @sp 2
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
63 Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
64 2006 Free Software Foundation, Inc.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
65 @sp 2
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
66 @cindex Copyright, of IDLWAVE
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
67 Permission is granted to copy, distribute and/or modify this document
65555
69b3598a61c5 Update all manuals to specify GFDL version 1.2.
Romain Francoise <romain@orebokech.com>
parents: 64890
diff changeset
68 under the terms of the GNU Free Documentation License, Version 1.2 or
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
69 any later version published by the Free Software Foundation; with no
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
70 Invariant Sections, with the Front-Cover texts being ``A GNU
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
71 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
72 license is included in the section entitled ``GNU Free Documentation
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
73 License'' in the Emacs manual.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
74
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
75 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
76 this GNU Manual, like GNU software. Copies published by the Free
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
77 Software Foundation raise funds for GNU development.''
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
78
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
79 This document is part of a collection distributed under the GNU Free
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
80 Documentation License. If you want to distribute this document
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
81 separately from the collection, you can do so by adding a copy of the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
82 license to the document, as described in section 6 of the license.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
83 @end titlepage
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
84 @contents
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
85
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
86 @page
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
87
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
88 @ifnottex
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
89
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
90 @node Top, Introduction, (dir), (dir)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
91
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
92 IDLWAVE is a package which supports editing source code written in the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
93 Interactive Data Language (IDL), and running IDL as an inferior shell.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
94
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
95 @end ifnottex
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
96
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
97 @menu
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
98 * Introduction:: What IDLWAVE is, and what it is not
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
99 * IDLWAVE in a Nutshell:: One page quick-start guide
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
100 * Getting Started:: Tutorial
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
101 * The IDLWAVE Major Mode:: The mode for editing IDL programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
102 * The IDLWAVE Shell:: The mode for running IDL as an inferior program
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
103 * Acknowledgements:: Who did what
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
104 * Sources of Routine Info:: How does IDLWAVE know about routine XYZ
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
105 * HTML Help Browser Tips::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
106 * Configuration Examples:: The user is king
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
107 * Windows and MacOS:: What still works, and how
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
108 * Troubleshooting:: When good computers turn bad
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
109 * Index:: Fast access
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
110
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
111 @detailmenu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
112 --- The Detailed Node Listing ---
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
113
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
114 Getting Started (Tutorial)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
115
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
116 * Lesson I -- Development Cycle::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
117 * Lesson II -- Customization::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
118 * Lesson III -- User Catalog::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
119
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
120 The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
121
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
122 * Code Formatting:: Making code look nice
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
123 * Routine Info:: Calling Sequence and Keyword List
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
124 * Online Help:: One key press from source to help
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
125 * Completion:: Completing routine names and Keywords
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
126 * Routine Source:: Finding routines, the easy way
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
127 * Resolving Routines:: Force the Shell to compile a routine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
128 * Code Templates:: Frequent code constructs
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
129 * Abbreviations:: Abbreviations for common commands
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
130 * Actions:: Changing case, Padding, End checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
131 * Doc Header:: Inserting a standard header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
132 * Motion Commands:: Moving through the structure of a program
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
133 * Misc Options:: Things that fit nowhere else
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
134
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
135 Code Formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
136
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
137 * Code Indentation:: Reflecting the logical structure
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
138 * Continued Statement Indentation::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
139 * Comment Indentation:: Special indentation for comment lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
140 * Continuation Lines:: Splitting statements over lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
141 * Syntax Highlighting:: Font-lock support
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
142 * Octals and Highlighting:: Why "123 causes problems
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
143
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
144 Online Help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
145
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
146 * Help with HTML Documentation::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
147 * Help with Source::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
148
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
149 Completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
150
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
151 * Case of Completed Words:: CaseOFcomPletedWords
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
152 * Object Method Completion and Class Ambiguity:: obj->Method, what?
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
153 * Object Method Completion in the Shell::
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
154 * Class and Keyword Inheritance:: obj->Method, _EXTRA=e
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
155 * Structure Tag Completion:: Completing state.Tag
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
156
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
157 Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
158
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
159 * Block Boundary Check:: Is the END statement correct?
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
160 * Padding Operators:: Enforcing space around `=' etc
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
161 * Case Changes:: Enforcing upper case keywords
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
162
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
163 The IDLWAVE Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
164
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
165 * Starting the Shell:: How to launch IDL as a subprocess
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
166 * Using the Shell:: Interactively working with the Shell
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
167 * Commands Sent to the Shell::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
168 * Debugging IDL Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
169 * Examining Variables::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
170 * Custom Expression Examination::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
171
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
172 Debugging IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
173
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
174 * A Tale of Two Modes::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
175 * Debug Key Bindings::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
176 * Breakpoints and Stepping::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
177 * Compiling Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
178 * Walking the Calling Stack::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
179 * Electric Debug Mode::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
180
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
181 Sources of Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
182
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
183 * Routine Definitions:: Where IDL Routines are defined.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
184 * Routine Information Sources:: So how does IDLWAVE know about...
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
185 * Catalogs::
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
186 * Load-Path Shadows:: Routines defined in several places
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
187 * Documentation Scan:: Scanning the IDL Manuals
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
188
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
189 Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
190
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
191 * Library Catalogs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
192 * User Catalog::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
193
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
194 @end detailmenu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
195 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
196
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
197 @node Introduction, IDLWAVE in a Nutshell, Top, Top
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
198 @chapter Introduction
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
199 @cindex Introduction
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
200 @cindex CORBA (Common Object Request Broker Architecture)
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
201 @cindex Interface Definition Language
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
202 @cindex Interactive Data Language
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
203 @cindex cc-mode.el
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
204 @cindex @file{idl.el}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
205 @cindex @file{idl-shell.el}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
206 @cindex Feature overview
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
207
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
208 IDLWAVE is a package which supports editing source files written in
69835
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
209 the Interactive Data Language (IDL), and running IDL as an inferior shell@footnote{IDLWAVE can also be used
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
210 for editing source files for the related WAVE/CL language, but with only
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
211 limited support.}. It is a feature-rich replacement for the IDLDE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
212 development environment included with IDL, and uses the full power of
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
213 Emacs to make editing and running IDL programs easier, quicker, and more
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
214 structured.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
215
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
216 IDLWAVE consists of two main parts: a major mode for editing IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
217 source files (@code{idlwave-mode}) and a mode for running the IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
218 program as an inferior shell (@code{idlwave-shell-mode}). Although
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
219 one mode can be used without the other, both work together closely to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
220 form a complete development environment. Here is a brief summary of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
221 what IDLWAVE does:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
222
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
223 @itemize @bullet
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
224 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
225 Smart code indentation and automatic-formatting.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
226 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
227 Three level syntax highlighting support.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
228 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
229 Context-sensitive display of calling sequences and keywords for more
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
230 than 1000 native IDL routines, extendible to any additional number of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
231 local routines, and already available with many pre-scanned libraries.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
232 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
233 Fast, context-sensitive online HTML help, or source-header help for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
234 undocumented routines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
235 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
236 Context sensitive completion of routine names, keywords, system
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
237 variables, class names and much more.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
238 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
239 Easy insertion of code templates and abbreviations of common constructs.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
240 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
241 Automatic corrections to enforce a variety of customizable coding
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
242 standards.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
243 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
244 Integrity checks and auto-termination of logical blocks.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
245 @item
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
246 Routine name space conflict search with likelihood-of-use ranking.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
247 @item
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
248 Support for @file{imenu} (Emacs) and @file{func-menu} (XEmacs).
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
249 @item
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
250 Documentation support.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
251 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
252 Running IDL as an inferior Shell with history search, command line
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
253 editing and all the completion and routine info capabilities present in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
254 IDL source buffers.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
255 @item
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
256 Full handling of debugging with breakpoints, with interactive setting
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
257 of break conditions, and easy stepping through code.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
258 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
259 Compilation, execution and interactive single-keystroke debugging of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
260 programs directly from the source buffer.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
261 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
262 Quick, source-guided navigation of the calling stack, with variable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
263 inspection, etc.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
264 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
265 Examining variables and expressions with a mouse click.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
266 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
267 And much, much more...
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
268 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
269
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
270 @ifnottex
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
271 @cindex Screenshots
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
272 Here are a number of screenshots showing IDLWAVE in action:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
273
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
274 @itemize @bullet
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
275 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
276 @uref{http://idlwave.org/screenshots/emacs_21_nav.gif,An IDLWAVE buffer}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
277 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
278 @uref{http://idlwave.org/screenshots/emacs_21_keys.gif,A keyword being completed}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
279 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
280 @uref{http://idlwave.org/screenshots/emacs_21_help.gif,Online help text.}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
281 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
282 @uref{http://idlwave.org/screenshots/emacs_21_ri.gif,Routine information displayed}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
283 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
284 @uref{http://idlwave.org/screenshots/emacs_21_bp.gif,Debugging code
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
285 stopped at a breakpoint}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
286 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
287 @end ifnottex
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
288
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
289 IDLWAVE is the distant successor to the @file{idl.el} and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
290 @file{idl-shell.el} files written by Chris Chase. The modes and files
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
291 had to be renamed because of a name space conflict with CORBA's
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
292 @code{idl-mode}, defined in Emacs in the file @file{cc-mode.el}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
293
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
294 In this manual, each section ends with a list of related user options.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
295 Don't be confused by the sheer number of options available --- in most
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
296 cases the default settings are just fine. The variables are listed here
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
297 to make sure you know where to look if you want to change anything. For
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
298 a full description of what a particular variable does and how to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
299 configure it, see the documentation string of that variable (available
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
300 with @kbd{C-h v}). Some configuration examples are also given in the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
301 appendix.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
302
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
303 @node IDLWAVE in a Nutshell, Getting Started, Introduction, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
304 @chapter IDLWAVE in a Nutshell
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
305 @cindex Summary of important commands
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
306 @cindex IDLWAVE in a Nutshell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
307 @cindex Nutshell, IDLWAVE in a
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
308
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
309 @subheading Editing IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
310
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
311 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
312 @item @key{TAB}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
313 @tab Indent the current line relative to context.
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
314 @item @kbd{C-M-\}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
315 @tab Re-indent all lines in the current region.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
316 @item @kbd{C-M-q}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
317 @tab Re-indent all lines in the current routine.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
318 @item @kbd{C-u @key{TAB}}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
319 @tab Re-indent all lines in the current statement.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
320 @item @kbd{M-@key{RET}}
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
321 @tab Start a continuation line, splitting the current line at point.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
322 @item @kbd{M-q}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
323 @tab Fill the current comment paragraph.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
324 @item @kbd{C-c ?}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
325 @tab Display calling sequence and keywords for the procedure or function call
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
326 at point.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
327 @item @kbd{M-?}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
328 @tab Load context sensitive online help for nearby routine, keyword, etc.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
329 @item @kbd{M-@key{TAB}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
330 @tab Complete a procedure name, function name or keyword in the buffer.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
331 @item @kbd{C-c C-i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
332 @tab Update IDLWAVE's knowledge about functions and procedures.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
333 @item @kbd{C-c C-v}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
334 @tab Visit the source code of a procedure/function.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
335 @item @kbd{C-u C-c C-v}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
336 @tab Visit the source code of a procedure/function in this buffer.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
337 @item @kbd{C-c C-h}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
338 @tab Insert a standard documentation header.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
339 @item @kbd{C-c @key{RET}}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
340 @tab Insert a new timestamp and history item in the documentation header.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
341 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
342
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
343 @subheading Running the IDLWAVE Shell, Debugging Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
344
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
345 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
346 @item @kbd{C-c C-s}
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
347 @tab Start IDL as a subprocess and/or switch to the shell buffer.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
348 @item @key{Up}, @kbd{M-p}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
349 @tab Cycle back through IDL command history.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
350 @item @key{Down},@kbd{M-n}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
351 @tab Cycle forward.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
352 @item @kbd{@key{TAB}}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
353 @tab Complete a procedure name, function name or keyword in the shell buffer.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
354 @item @kbd{C-c C-d C-c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
355 @tab Save and compile the source file in the current buffer.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
356 @item @kbd{C-c C-d C-x}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
357 @tab Go to next syntax error.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
358 @item @kbd{C-c C-d C-v}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
359 @tab Switch to electric debug mode.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
360 @item @kbd{C-c C-d C-b}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
361 @tab Set a breakpoint at the nearest viable source line.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
362 @item @kbd{C-c C-d C-d}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
363 @tab Clear the nearest breakpoint.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
364 @item @kbd{C-c C-d [}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
365 @tab Go to the previous breakpoint.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
366 @item @kbd{C-c C-d ]}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
367 @tab Go to the next breakpoint.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
368 @item @kbd{C-c C-d C-p}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
369 @tab Print the value of the expression near point in IDL.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
370 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
371
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
372 @subheading Commonly used Settings in @file{.emacs}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
373 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
374 ;; Change the indentation preferences
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
375 ;; Start autoloading routine info after 2 idle seconds
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
376 (setq idlwave-init-rinfo-when-idle-after 2)
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
377 ;; Pad operators with spaces
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
378 (setq idlwave-do-actions t
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
379 idlwave-surround-by-blank t)
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
380 ;; Syntax Highlighting
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
381 (add-hook 'idlwave-mode-hook 'turn-on-font-lock)
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
382 ;; Automatically start the shell when needed
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
383 (setq idlwave-shell-automatic-start t)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
384 ;; Bind debugging commands with CONTROL and SHIFT modifiers
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
385 (setq idlwave-shell-debug-modifiers '(control shift))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
386 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
387
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
388 @html
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
389 <A NAME="TUTORIAL"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
390 @end html
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
391
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
392 @node Getting Started, The IDLWAVE Major Mode, IDLWAVE in a Nutshell, Top
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
393 @chapter Getting Started (Tutorial)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
394 @cindex Quick-Start
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
395 @cindex Tutorial
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
396 @cindex Getting Started
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
397
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
398 @menu
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
399 * Lesson I -- Development Cycle::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
400 * Lesson II -- Customization::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
401 * Lesson III -- User Catalog::
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
402 @end menu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
403
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
404 @node Lesson I -- Development Cycle, Lesson II -- Customization, Getting Started, Getting Started
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
405 @section Lesson I: Development Cycle
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
406
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
407 The purpose of this tutorial is to guide you through a very basic
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
408 development cycle using IDLWAVE. We will paste a simple program into
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
409 a buffer and use the shell to compile, debug and run it. On the way
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
410 we will use many of the important IDLWAVE commands. Note, however,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
411 that IDLWAVE has many more capabilities than covered here, which can
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
412 be discovered by reading the entire manual, or hovering over the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
413 shoulder of your nearest IDLWAVE guru for a few days.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
414
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
415 It is assumed that you have access to Emacs or XEmacs with the full
69835
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
416 IDLWAVE package including online help. We also assume that you are
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
417 familiar with Emacs and can read the nomenclature of key presses in
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
418 Emacs (in particular, @kbd{C} stands for @key{CONTROL} and @kbd{M} for
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
419 @key{META} (often the @key{ALT} key carries this functionality)).
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
420
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
421 Open a new source file by typing:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
422
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
423 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
424 @kbd{C-x C-f tutorial.pro @key{RET}}
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
425 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
426
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
427 A buffer for this file will pop up, and it should be in IDLWAVE mode,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
428 indicated in the mode line just below the editing window. Also, the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
429 menu bar should contain @samp{IDLWAVE}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
430
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
431 Now cut-and-paste the following code, also available as
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
432 @file{tutorial.pro} in the IDLWAVE distribution.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
433
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
434 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
435 function daynr,d,m,y
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
436 ;; compute a sequence number for a date
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
437 ;; works 1901-2099.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
438 if y lt 100 then y = y+1900
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
439 if m le 2 then delta = 1 else delta = 0
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
440 m1 = m + delta*12 + 1
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
441 y1 = y * delta
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
442 return, d + floor(m1*30.6)+floor(y1*365.25)+5
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
443 end
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
444
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
445 function weekday,day,month,year
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
446 ;; compute weekday number for date
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
447 nr = daynr(day,month,year)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
448 return, nr mod 7
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
449 end
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
450
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
451 pro plot_wday,day,month
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
452 ;; Plot the weekday of a date in the first 10 years of this century.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
453 years = 2000,+indgen(10)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
454 wdays = intarr(10)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
455 for i=0,n_elements(wdays)-1 do begin
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
456 wdays[i] = weekday(day,month,years[i])
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
457 end
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
458 plot,years,wdays,YS=2,YT="Wday (0=Sunday)"
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
459 end
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
460 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
461
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
462 The indentation probably looks funny, since it's different from the
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
463 settings you use, so use the @key{TAB} key in each line to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
464 automatically line it up (or, more quickly, @emph{select} the entire
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
465 buffer with @kbd{C-x h}, and indent the whole region with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
466 @kbd{C-M-\}). Notice how different syntactical elements are
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
467 highlighted in different colors, if you have set up support for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
468 font-lock.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
469
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
470 Let's check out two particular editing features of IDLWAVE. Place the
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
471 cursor after the @code{end} statement of the @code{for} loop and press
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
472 @key{SPC}. IDLWAVE blinks back to the beginning of the block and
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
473 changes the generic @code{end} to the specific @code{endfor}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
474 automatically (as long as the variable @code{idlwave-expand-generic-end}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
475 is turned on --- @pxref{Lesson II -- Customization}). Now place the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
476 cursor in any line you would like to split and press @kbd{M-@key{RET}}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
477 The line is split at the cursor position, with the continuation @samp{$}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
478 and indentation all taken care of. Use @kbd{C-/} to undo the last
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
479 change.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
480
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
481 The procedure @code{plot_wday} is supposed to plot the day of the week
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
482 of a given date for the first 10 years of the 21st century. As in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
483 most code, there are a few bugs, which we are going to use IDLWAVE to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
484 help us fix.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
485
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
486 First, let's launch the IDLWAVE shell. You do this with the command
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
487 @kbd{C-c C-s}. The Emacs window will split or another window will popup
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
488 to display IDL running in a shell interaction buffer. Type a few
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
489 commands like @code{print,!PI} to convince yourself that you can work
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
490 there just as well as in a terminal, or the IDLDE. Use the arrow keys
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
491 to cycle through your command history. Are we having fun now?
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
492
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
493 Now go back to the source window and type @kbd{C-c C-d C-c} to compile
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
494 the program. If you watch the shell buffer, you see that IDLWAVE types
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
495 @samp{.run "tutorial.pro"} for you. But the compilation fails because
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
496 there is a comma in the line @samp{years=...}. The line with the error
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
497 is highlighted and the cursor positioned at the error, so remove the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
498 comma (you should only need to hit @kbd{Delete}!). Compile again, using
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
499 the same keystrokes as before. Notice that the file is automatically
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
500 saved for you. This time everything should work fine, and you should
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
501 see the three routines compile.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
502
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
503 Now we want to use the command to plot the day of the week on January
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
504 1st. We could type the full command ourselves, but why do that? Go
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
505 back to the shell window, type @samp{plot_} and hit @key{TAB}. After
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
506 a bit of a delay (while IDLWAVE initializes its routine info database,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
507 if necessary), the window will split to show all procedures it knows
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
508 starting with that string, and @w{@code{plot_wday}} should be one of
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
509 them. Saving the buffer alerted IDLWAVE about this new routine.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
510 Click with the middle mouse button on @code{plot_wday} and it will be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
511 copied to the shell buffer, or if you prefer, add @samp{w} to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
512 @samp{plot_} to make it unambiguous (depending on what other routines
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
513 starting with @samp{plot_} you have installed on your system), hit
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
514 @key{TAB} again, and the full routine name will be completed. Now
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
515 provide the two arguments:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
516
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
517 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
518 plot_wday,1,1
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
519 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
520
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
521 @noindent and press @key{RET}. This fails with an error message telling
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
522 you the @code{YT} keyword to plot is ambiguous. What are the allowed
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
523 keywords again? Go back to the source window and put the cursor into
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
524 the `plot' line and press @kbd{C-c ?}. This shows the routine info
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
525 window for the plot routine, which contains a list of keywords, along
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
526 with the argument list. Oh, we wanted @code{YTITLE}. Fix that up.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
527 Recompile with @kbd{C-c C-d C-c}. Jump back into the shell with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
528 @kbd{C-c C-s}, press the @key{UP} arrow to recall the previous command
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
529 and execute again.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
530
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
531 This time we get a plot, but it is pretty ugly --- the points are all
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
532 connected with a line. Hmm, isn't there a way for @code{plot} to use
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
533 symbols instead? What was that keyword? Position the cursor on the
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
534 plot line after a comma (where you'd normally type a keyword), and hit
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
535 @kbd{M-@key{Tab}}. A long list of plot's keywords appears. Aha,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
536 there it is, @code{PSYM}. Middle click to insert it. An @samp{=}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
537 sign is included for you too. Now what were the values of @code{PSYM}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
538 supposed to be? With the cursor on or after the keyword, press
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
539 @kbd{M-?} for online help (alternatively, you could have right clicked
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
540 on the colored keyword itself in the completion list). A browser will
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
541 pop up showing the HTML documentation for the @code{PYSM} keyword.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
542 OK, let's use diamonds=4. Fix this, recompile (you know the command
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
543 by now: @kbd{C-c C-d C-c}), go back to the shell (if it's vanished,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
544 you know what to do: @kbd{C-c C-s}) and execute again. Now things
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
545 look pretty good.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
546
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
547 Let's try a different day --- how about April fool's day?
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
548
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
549 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
550 plot_wday,1,4
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
551 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
552
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
553 Oops, this looks very wrong. All April Fool's days cannot be Fridays!
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
554 We've got a bug in the program, perhaps in the @code{daynr} function.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
555 Let's put a breakpoint on the last line there. Position the cursor on
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
556 the @samp{return, d+...} line and press @kbd{C-c C-d C-b}. IDL sets a
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
557 breakpoint (as you see in the shell window), and the break line is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
558 indicated. Back to the shell buffer, re-execute the previous command.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
559 IDL stops at the line with the breakpoint. Now hold down the SHIFT
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
560 key and click with the middle mouse button on a few variables there:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
561 @samp{d}, @samp{y}, @samp{m}, @samp{y1}, etc. Maybe @code{d} isn't
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
562 the correct type. CONTROL-SHIFT middle-click on it for help. Well,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
563 it's an integer, so that's not the problem. Aha, @samp{y1} is zero,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
564 but it should be the year, depending on delta. Shift click
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
565 @samp{delta} to see that it's 0. Below, we see the offending line:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
566 @samp{y1=y*delta...} the multiplication should have been a minus sign!
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
567 Hit @kbd{q} to exit the debugging mode, and fix the line to read:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
568
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
569 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
570 y1 = y - delta
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
571 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
572
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
573 Now remove all breakpoints: @kbd{C-c C-d C-a}. Recompile and rerun the
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
574 command. Everything should now work fine. How about those leap years?
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
575 Change the code to plot 100 years and see that every 28 years, the
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
576 sequence of weekdays repeats.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
577
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
578 @node Lesson II -- Customization, Lesson III -- User Catalog, Lesson I -- Development Cycle, Getting Started
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
579 @section Lesson II: Customization
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
580
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
581 Emacs is probably the most customizable piece of software ever written,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
582 and it would be a shame if you did not make use of this to adapt IDLWAVE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
583 to your own preferences. Customizing Emacs or IDLWAVE is accomplished
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
584 by setting Lisp variables in the @file{.emacs} file in your home
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
585 directory --- but do not be dismayed; for the most part, you can just
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
586 copy and work from the examples given here.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
587
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
588 Let's first use a boolean variable. These are variables which you turn
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
589 on or off, much like a checkbox. A value of @samp{t} means on, a value
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
590 of @samp{nil} means off. Copy the following line into your
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
591 @file{.emacs} file, exit and restart Emacs.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
592
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
593 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
594 (setq idlwave-reserved-word-upcase t)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
595 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
596
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
597 When this option is turned on, each reserved word you type into an IDL
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
598 source buffer will be converted to upper case when you press @key{SPC}
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
599 or @key{RET} right after the word. Try it out! @samp{if} changes to
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
600 @samp{IF}, @samp{begin} to @samp{BEGIN}. If you don't like this
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
601 behavior, remove the option again from your @file{.emacs} file and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
602 restart Emacs.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
603
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
604 You likely have your own indentation preferences for IDL code. For
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
605 example, some may prefer to indent the main block of an IDL program
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
606 slightly from the margin and use only 3 spaces as indentation between
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
607 @code{BEGIN} and @code{END}. Try the following lines in @file{.emacs}:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
608
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
609 @lisp
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
610 (setq idlwave-main-block-indent 1)
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
611 (setq idlwave-block-indent 3)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
612 (setq idlwave-end-offset -3)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
613 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
614
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
615 Restart Emacs, and re-indent the program we developed in the first part
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
616 of this tutorial with @kbd{C-c h} and @kbd{C-M-\}. You may want to keep
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
617 these lines in @file{.emacs}, with values adjusted to your likings. If
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
618 you want to get more information about any of these variables, type,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
619 e.g., @kbd{C-h v idlwave-main-block-indent @key{RET}}. To find which
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
620 variables can be customized, look for items marked @samp{User Option:}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
621 throughout this manual.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
622
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
623 If you cannot seem to master this Lisp customization in @file{.emacs},
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
624 there is another, more user-friendly way to customize all the IDLWAVE
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
625 variables. You can access it through the IDLWAVE menu in one of the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
626 @file{.pro} buffers, menu item @code{Customize->Browse IDLWAVE
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
627 Group}. Here you'll be presented with all the various variables grouped
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
628 into categories. You can navigate the hierarchy (e.g. @samp{IDLWAVE
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
629 Code Formatting->Idlwave Abbrev And Indent Action->Idlwave Expand
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
630 Generic End} to turn on @code{END} expansion), read about the variables,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
631 change them, and `Save for Future Sessions'. Few of these variables
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
632 need customization, but you can exercise considerable control over
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
633 IDLWAVE's functionality with them.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
634
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
635 You may also find the key bindings used for the debugging commands too
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
636 long and complicated. Often we have heard complaints along the lines
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
637 of, ``Do I really have to go through the finger gymnastics of @kbd{C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
638 C-d C-c} to run a simple command?'' Due to Emacs rules and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
639 conventions, shorter bindings cannot be set by default, but you can
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
640 easily enable them. First, there is a way to assign all debugging
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
641 commands in a single sweep to another simpler combination. The only
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
642 problem is that we have to use something which Emacs does not need for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
643 other important commands. One good option is to execute debugging
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
644 commands by holding down @key{CONTROL} and @key{SHIFT} while pressing
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
645 a single character: @kbd{C-S-b} for setting a breakpoint, @kbd{C-S-c}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
646 for compiling the current source file, @kbd{C-S-a} for deleting all
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
647 breakpoints (try it, it's easier). You can enable this with:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
648
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
649 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
650 (setq idlwave-shell-debug-modifiers '(shift control))
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
651 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
652
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
653 @noindent If you have a special keyboard with, for example, a
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
654 @key{SUPER} key, you could even shorten that:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
655
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
656 @lisp
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
657 (setq idlwave-shell-debug-modifiers '(super))
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
658 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
659
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
660 @noindent to get compilation on @kbd{S-c}. Often, a modifier key like
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
661 @key{SUPER} or @key{HYPER} is bound or can be bound to an otherwise
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
662 unused key on your keyboard --- consult your system documentation.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
663
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
664 You can also assign specific commands to keys. This you must do in the
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
665 @emph{mode-hook}, a special function which is run when a new IDLWAVE
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
666 buffer gets set up. The possibilities for key customization are
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
667 endless. Here we set function keys f4-f8 to common debugging commands.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
668
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
669 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
670 ;; First for the source buffer
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
671 (add-hook 'idlwave-mode-hook
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
672 (lambda ()
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
673 (local-set-key [f4] 'idlwave-shell-retall)
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
674 (local-set-key [f5] 'idlwave-shell-break-here)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
675 (local-set-key [f6] 'idlwave-shell-clear-current-bp)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
676 (local-set-key [f7] 'idlwave-shell-cont)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
677 (local-set-key [f8] 'idlwave-shell-clear-all-bp)))
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
678 ;; Then for the shell buffer
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
679 (add-hook 'idlwave-shell-mode-hook
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
680 (lambda ()
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
681 (local-set-key [f4] 'idlwave-shell-retall)
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
682 (local-set-key [f5] 'idlwave-shell-break-here)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
683 (local-set-key [f6] 'idlwave-shell-clear-current-bp)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
684 (local-set-key [f7] 'idlwave-shell-cont)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
685 (local-set-key [f8] 'idlwave-shell-clear-all-bp)))
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
686 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
687
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
688 @node Lesson III -- User Catalog, , Lesson II -- Customization, Getting Started
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
689 @section Lesson III: User and Library Catalogs
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
690
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
691 We have already used the routine info display in the first part of this
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
692 tutorial. This was the invoked using @kbd{C-c ?}, and displays
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
693 information about the IDL routine near the cursor position. Wouldn't it
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
694 be nice to have the same kind of information available for your own
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
695 routines and for the huge amount of code in major libraries like JHUPL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
696 or the IDL-Astro library? In many cases, you may already have this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
697 information. Files named @file{.idlwave_catalog} in library directories
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
698 contain scanned information on the routines in that directory; many
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
699 popular libraries ship with these ``library catalogs'' pre-scanned.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
700 Users can scan their own routines in one of two ways: either using the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
701 supplied tool to scan directories and build their own
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
702 @file{.idlwave_catalog} files, or using the built-in method to create a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
703 single ``user catalog'', which we'll show here. @xref{Catalogs}, for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
704 more information on choosing which method to use.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
705
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
706 To build a user catalog, select @code{Routine Info/Select Catalog
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
707 Directories} from the IDLWAVE entry in the menu bar. If necessary,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
708 start the shell first with @kbd{C-c C-s} (@pxref{Starting the Shell}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
709 IDLWAVE will find out about the IDL @code{!PATH} variable and offer a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
710 list of directories on the path. Simply select them all (or whichever
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
711 you want --- directories with existing library catalogs will not be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
712 selected by default) and click on the @samp{Scan&Save} button. Then
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
713 go for a cup of coffee while IDLWAVE collects information for each and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
714 every IDL routine on your search path. All this information is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
715 written to the file @file{.idlwave/idlusercat.el} in your home
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
716 directory and will from now on automatically load whenever you use
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
717 IDLWAVE. You may find it necessary to rebuild the catalog on occasion
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
718 as your local libraries change, or build a library catalog for those
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
719 directories instead. Invoke routine info (@kbd{C-c ?}) or completion
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
720 (@kbd{M-@key{TAB}}) on any routine or partial routine name you know to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
721 be located in the library. E.g., if you have scanned the IDL-Astro
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
722 library:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
723
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
724 @example
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
725 a=readf@key{M-@key{TAB}}
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
726 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
727
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
728 expands to `readfits('. Then try
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
729
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
730 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
731 a=readfits(@key{C-c ?}
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
732 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
733
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
734 and you get:
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
735
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
736 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
737 Usage: Result = READFITS(filename, header, heap)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
738 ...
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
739 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
740
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
741 I hope you made it until here. Now you are set to work with IDLWAVE.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
742 On the way you will want to change other things, and to learn more
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
743 about the possibilities not discussed in this short tutorial. Read
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
744 the manual, look at the documentation strings of interesting variables
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
745 (with @kbd{C-h v idlwave<-variable-name> @key{RET}}) and ask the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
746 remaining questions on the newsgroup @code{comp.lang.idl-pvwave}.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
747
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
748 @node The IDLWAVE Major Mode, The IDLWAVE Shell, Getting Started, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
749 @chapter The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
750 @cindex IDLWAVE major mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
751 @cindex Major mode, @code{idlwave-mode}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
752
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
753 The IDLWAVE major mode supports editing IDL source files. In this
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
754 chapter we describe the main features of the mode and how to customize
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
755 them.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
756
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
757 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
758 * Code Formatting:: Making code look nice
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
759 * Routine Info:: Calling Sequence and Keyword List
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
760 * Online Help:: One key press from source to help
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
761 * Completion:: Completing routine names and Keywords
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
762 * Routine Source:: Finding routines, the easy way
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
763 * Resolving Routines:: Force the Shell to compile a routine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
764 * Code Templates:: Frequent code constructs
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
765 * Abbreviations:: Abbreviations for common commands
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
766 * Actions:: Changing case, Padding, End checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
767 * Doc Header:: Inserting a standard header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
768 * Motion Commands:: Moving through the structure of a program
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
769 * Misc Options:: Things that fit nowhere else
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
770 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
771
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
772 @node Code Formatting, Routine Info, The IDLWAVE Major Mode, The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
773 @section Code Formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
774 @cindex Code formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
775 @cindex Formatting, of code
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
776
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
777 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
778 * Code Indentation:: Reflecting the logical structure
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
779 * Continued Statement Indentation::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
780 * Comment Indentation:: Special indentation for comment lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
781 * Continuation Lines:: Splitting statements over lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
782 * Syntax Highlighting:: Font-lock support
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
783 * Octals and Highlighting:: Why "123 causes problems
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
784 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
785
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
786 The IDL language, with its early roots in FORTRAN, modern
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
787 implementation in C, and liberal borrowing of features of many vector
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
788 and other languages along its 25+ year history, has inherited an
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
789 unusual mix of syntax elements. Left to his or her own devices, a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
790 novice IDL programmer will often conjure code which is very difficult
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
791 to read and impossible to adapt. Much can be gleaned from studying
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
792 available IDL code libraries for coding style pointers, but, due to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
793 the variety of IDL syntax elements, replicating this style can be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
794 challenging at best. Luckily, IDLWAVE understands the structure of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
795 IDL code very well, and takes care of almost all formatting issues for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
796 you. After configuring it to match your coding standards, you can
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
797 rely on it to help keep your code neat and organized.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
798
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
799
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
800 @node Code Indentation, Continued Statement Indentation, Code Formatting, Code Formatting
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
801 @subsection Code Indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
802 @cindex Code indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
803 @cindex Indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
804
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
805 Like all Emacs programming modes, IDLWAVE performs code indentation.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
806 The @key{TAB} key indents the current line relative to context.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
807 @key{LFD} insert a newline and indents the new line. The indentation is
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
808 governed by a number of variables. IDLWAVE indents blocks (between
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
809 @code{PRO}/@code{FUNCTION}/@code{BEGIN} and @code{END}), and
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
810 continuation lines.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
811
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
812 @cindex Foreign code, adapting
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
813 @cindex Indentation, of foreign code
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
814 @kindex C-M-\
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
815 To re-indent a larger portion of code (e.g. when working with foreign
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
816 code written with different conventions), use @kbd{C-M-\}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
817 (@code{indent-region}) after marking the relevant code. Useful marking
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
818 commands are @kbd{C-x h} (the entire file) or @kbd{C-M-h} (the current
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
819 subprogram). The command @kbd{C-M-q} reindents the entire current
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
820 routine. @xref{Actions}, for information how to impose additional
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
821 formatting conventions on foreign code.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
822
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
823 @defopt idlwave-main-block-indent (@code{2})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
824 Extra indentation for the main block of code. That is the block between
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
825 the FUNCTION/PRO statement and the END statement for that program
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
826 unit.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
827 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
828
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
829 @defopt idlwave-block-indent (@code{3})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
830 Extra indentation applied to block lines. If you change this, you
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
831 probably also want to change @code{idlwave-end-offset}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
832 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
833
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
834 @defopt idlwave-end-offset (@code{-3})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
835 Extra indentation applied to block END lines. A value equal to negative
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
836 @code{idlwave-block-indent} will make END lines line up with the block
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
837 BEGIN lines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
838 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
839
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
840 @node Continued Statement Indentation, Comment Indentation, Code Indentation, Code Formatting
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
841 @subsection Continued Statement Indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
842 @cindex Indentation, continued statement
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
843 @cindex Continued statement indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
844 Continuation lines (following a line ending with @code{$}) can receive a
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
845 fixed indentation offset from the main level, but in several situations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
846 IDLWAVE can use a special form of indentation which aligns continued
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
847 statements more naturally. Special indentation is calculated for
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
848 continued routine definition statements and calls, enclosing parentheses
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
849 (like function calls, structure/class definitions, explicit structures
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
850 or lists, etc.), and continued assignments. An attempt is made to line
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
851 up with the first non-whitespace character after the relevant opening
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
852 punctuation mark (@code{,},@code{(},@code{@{},@code{[},@code{=}). For
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
853 lines without any non-comment characters on the line with the opening
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
854 punctuation, the continued line(s) are aligned just past the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
855 punctuation. An example:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
856
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
857 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
858 function foo, a, b, $
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
859 c, d
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
860 bar = sin( a + b + $
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
861 c + d)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
862 end
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
863 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
864 @noindent
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
865
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
866 The only drawback to this special continued statement indentation is
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
867 that it consumes more space, e.g., for long function names or left hand
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
868 sides of an assignment:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
869
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
870 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
871 function thisfunctionnameisverylongsoitwillleavelittleroom, a, b, $
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
872 c, d
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
873 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
874
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
875 You can instruct IDLWAVE when to avoid using this special continuation
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
876 indentation by setting the variable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
877 @code{idlwave-max-extra-continuation-indent}, which specifies the
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
878 maximum additional indentation beyond the basic indent to be
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
879 tolerated, otherwise defaulting to a fixed-offset from the enclosing
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
880 indent (the size of which offset is set in
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
881 @code{idlwave-continuation-indent}). As a special case, continuations
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
882 of routine calls without any arguments or keywords will @emph{not}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
883 align the continued line, under the assumption that you continued
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
884 because you needed the space.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
885
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
886 Also, since the indentation level can be somewhat dynamic in continued
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
887 statements with special continuation indentation, especially if
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
888 @code{idlwave-max-extra-continuation-indent} is small, the key
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
889 @kbd{C-u @key{TAB}} will re-indent all lines in the current statement.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
890 Note that @code{idlwave-indent-to-open-paren}, if non-@code{nil},
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
891 overrides the @code{idlwave-max-extra-continuation-indent} limit, for
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
892 parentheses only, forcing them always to line up.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
893
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
894
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
895 @defopt idlwave-continuation-indent (@code{2})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
896 Extra indentation applied to normal continuation lines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
897 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
898
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
899 @defopt idlwave-max-extra-continuation-indent (@code{20})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
900 The maximum additional indentation (over the basic continuation-indent)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
901 that will be permitted for special continues. To effectively disable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
902 special continuation indentation, set to @code{0}. To enable it
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
903 constantly, set to a large number (like @code{100}). Note that the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
904 indentation in a long continued statement never decreases from line to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
905 line, outside of nested parentheses statements.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
906 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
907
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
908 @defopt idlwave-indent-to-open-paren (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
909 Non-@code{nil} means indent continuation lines to innermost open
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
910 parenthesis, regardless of whether the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
911 @code{idlwave-max-extra-continuation-indent} limit is satisfied.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
912 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
913
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
914 @node Comment Indentation, Continuation Lines, Continued Statement Indentation, Code Formatting
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
915 @subsection Comment Indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
916 @cindex Comment indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
917 @cindex Hanging paragraphs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
918 @cindex Paragraphs, filling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
919 @cindex Paragraphs, hanging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
920
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
921 In IDL, lines starting with a @samp{;} are called @emph{comment lines}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
922 Comment lines are indented as follows:
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
923
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
924 @multitable @columnfractions .1 .90
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
925 @item @code{;;;}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
926 @tab The indentation of lines starting with three semicolons remains
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
927 unchanged.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
928 @item @code{;;}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
929 @tab Lines starting with two semicolons are indented like the surrounding code.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
930 @item @code{;}
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
931 @tab Lines starting with a single semicolon are indented to a minimum column.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
932 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
933
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
934 @noindent
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
935 The indentation of comments starting in column 0 is never changed.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
936
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
937 @defopt idlwave-no-change-comment
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
938 The indentation of a comment starting with this regexp will not be
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
939 changed.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
940 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
941
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
942 @defopt idlwave-begin-line-comment
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
943 A comment anchored at the beginning of line.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
944 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
945
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
946 @defopt idlwave-code-comment
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
947 A comment that starts with this regexp is indented as if it is a part of
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
948 IDL code.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
949 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
950
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
951 @node Continuation Lines, Syntax Highlighting, Comment Indentation, Code Formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
952 @subsection Continuation Lines and Filling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
953 @cindex Continuation lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
954 @cindex Line splitting
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
955 @cindex String splitting
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
956 @cindex Splitting, of lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
957
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
958 @kindex M-@key{RET}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
959 In IDL, a newline character terminates a statement unless preceded by a
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
960 @samp{$}. If you would like to start a continuation line, use
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
961 @kbd{M-@key{RET}}, which calls the command @code{idlwave-split-line}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
962 It inserts the continuation character @samp{$}, terminates the line and
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
963 indents the new line. The command @kbd{M-@key{RET}} can also be invoked
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
964 inside a string to split it at that point, in which case the @samp{+}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
965 concatenation operator is used.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
966
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
967 @cindex Filling
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
968 @cindex @code{auto-fill-mode}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
969 @cindex Hanging paragraphs
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
970 When filling comment paragraphs, IDLWAVE overloads the normal filling
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
971 functions and uses a function which creates the hanging paragraphs
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
972 customary in IDL routine headers. When @code{auto-fill-mode} is turned
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
973 on (toggle with @kbd{C-c C-a}), comments will be auto-filled. If the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
974 first line of a paragraph contains a match for
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
975 @code{idlwave-hang-indent-regexp} (a dash-space by default), subsequent
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
976 lines are positioned to line up after it, as in the following example.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
977
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
978 @example
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
979 @group
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
980 ;=================================
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
981 ; x - an array containing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
982 ; lots of interesting numbers.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
983 ;
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
984 ; y - another variable where
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
985 ; a hanging paragraph is used
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
986 ; to describe it.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
987 ;=================================
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
988 @end group
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
989 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
990
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
991 @kindex M-q
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
992 You can also refill a comment at any time paragraph with @kbd{M-q}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
993 Comment delimiting lines as in the above example, consisting of one or
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
994 more @samp{;} followed by one or more of the characters @samp{+=-_*},
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
995 are kept in place, as is.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
996
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
997 @defopt idlwave-fill-comment-line-only (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
998 Non-@code{nil} means auto fill will only operate on comment lines.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
999 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1000
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1001 @defopt idlwave-auto-fill-split-string (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1002 Non-@code{nil} means auto fill will split strings with the IDL @samp{+}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1003 operator.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1004 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1005
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1006 @defopt idlwave-split-line-string (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1007 Non-@code{nil} means @code{idlwave-split-line} will split strings with
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1008 @samp{+}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1009 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1010
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1011 @defopt idlwave-hanging-indent (@code{t})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1012 Non-@code{nil} means comment paragraphs are indented under the hanging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1013 indent given by @code{idlwave-hang-indent-regexp} match in the first
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1014 line of the paragraph.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1015 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1016
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1017 @defopt idlwave-hang-indent-regexp (@code{"- "})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1018 Regular expression matching the position of the hanging indent
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1019 in the first line of a comment paragraph.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1020 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1021
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1022 @defopt idlwave-use-last-hang-indent (@code{nil})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1023 Non-@code{nil} means use last match on line for
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1024 @code{idlwave-indent-regexp}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1025 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1026
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1027 @node Syntax Highlighting, Octals and Highlighting, Continuation Lines, Code Formatting
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1028 @subsection Syntax Highlighting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1029 @cindex Syntax highlighting
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1030 @cindex Highlighting of syntax
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1031 @cindex Font lock
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1032
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1033 Highlighting of keywords, comments, strings etc. can be accomplished
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1034 with @code{font-lock}. If you are using @code{global-font-lock-mode}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1035 (in Emacs), or have @code{font-lock} turned on in any other buffer in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1036 XEmacs, it should also automatically work in IDLWAVE buffers. If you'd
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1037 prefer invoking font-lock individually by mode, you can enforce it in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1038 @code{idlwave-mode} with the following line in your @file{.emacs}:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1039
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1040 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1041 (add-hook 'idlwave-mode-hook 'turn-on-font-lock)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1042 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1043
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1044 @noindent IDLWAVE supports 3 increasing levels of syntax highlighting.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1045 The variable @code{font-lock-maximum-decoration} determines which level
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1046 is selected. Individual categories of special tokens can be selected
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1047 for highlighting using the variable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1048 @code{idlwave-default-font-lock-items}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1049
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1050 @defopt idlwave-default-font-lock-items
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1051 Items which should be fontified on the default fontification level
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1052 2.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1053 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1054
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1055 @node Octals and Highlighting, , Syntax Highlighting, Code Formatting
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1056 @subsection Octals and Highlighting
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1057 @cindex Syntax highlighting, Octals
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1058 @cindex Highlighting of syntax, Octals
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1059
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1060 A rare syntax highlighting problem results from an extremely unfortunate
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1061 notation for octal numbers in IDL: @code{"123}. This unpaired quotation
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1062 mark is very difficult to parse, given that it can be mixed on a single
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1063 line with any number of strings. Emacs will incorrectly identify this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1064 as a string, and the highlighting of following lines of code can be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1065 distorted, since the string is never terminated.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1066
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1067 One solution to this involves terminating the mistakenly identified
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1068 string yourself by providing a closing quotation mark in a comment:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1069
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1070 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1071 string("305B) + $ ;" <--- for font-lock
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1072 ' is an Angstrom.'
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1073 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1074
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1075 @noindent A far better solution is to abandon this notation for octals
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1076 altogether, and use the more sensible alternative IDL provides:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1077
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1078 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1079 string('305'OB) + ' is an Angstrom.'
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1080 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1081
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1082 @noindent This simultaneously solves the font-lock problem and is more
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1083 consistent with the notation for hexadecimal numbers, e.g. @code{'C5'XB}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1084
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1085 @node Routine Info, Online Help, Code Formatting, The IDLWAVE Major Mode
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1086 @section Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1087 @cindex Routine info
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1088 @cindex Updating routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1089 @cindex Scanning buffers for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1090 @cindex Buffers, scanning for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1091 @cindex Shell, querying for routine info
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1092
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1093 @kindex C-c C-i
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1094 IDL comes bundled with more than one thousand procedures, functions
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1095 and object methods, and large libraries typically contain hundreds or
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1096 even thousands more (each with a few to tens of keywords and
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1097 arguments). This large command set can make it difficult to remember
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1098 the calling sequence and keywords for the routines you use, but
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1099 IDLWAVE can help. It builds up routine information from a wide
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1100 variety of sources; IDLWAVE in fact knows far more about the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1101 @samp{.pro} routines on your system than IDL itself! It maintains a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1102 list of all built-in routines, with calling sequences and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1103 keywords@footnote{This list is created by scanning the IDL manuals and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1104 might contain (very few) errors. Please report any errors to the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1105 maintainer, so that they can be fixed.}. It also scans Emacs buffers
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1106 for routine definitions, queries the IDLWAVE-Shell for information
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1107 about routines currently compiled there, and automatically locates
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1108 library and user-created catalogs. This information is updated
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1109 automatically, and so should usually be current. To force a global
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1110 update and refresh the routine information, use @kbd{C-c C-i}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1111 (@code{idlwave-update-routine-info}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1112
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1113 @kindex C-c ?
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1114 To display the information about a routine, press @kbd{C-c ?}, which
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1115 calls the command @code{idlwave-routine-info}. When the current cursor
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1116 position is on the name or in the argument list of a procedure or
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1117 function, information will be displayed about the routine. For example,
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1118 consider the indicated cursor positions in the following line:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1119
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1120 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1121 plot,x,alog(x+5*sin(x) + 2),
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1122 | | | | | | | |
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1123 1 2 3 4 5 6 7 8
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1124 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1125
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1126 @cindex Default routine, for info and help
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1127 On positions 1,2 and 8, information about the @samp{plot} procedure will
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1128 be shown. On positions 3,4, and 7, the @samp{alog} function will be
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1129 described, while positions 5 and 6 will investigate the @samp{sin}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1130 function.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1131
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1132 When you ask for routine information about an object method, and the
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1133 method exists in several classes, IDLWAVE queries for the class of the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1134 object, unless the class is already known through a text property on the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1135 @samp{->} operator (@pxref{Object Method Completion and Class
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1136 Ambiguity}), or by having been explicity included in the call
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1137 (e.g. @code{a->myclass::Foo}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1138
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1139 @cindex Calling sequences
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1140 @cindex Keywords of a routine
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1141 @cindex Routine source information
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1142 The description displayed contains the calling sequence, the list of
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1143 keywords and the source location of this routine. It looks like this:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1144
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1145 @example
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1146 Usage: XMANAGER, NAME, ID
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1147 Keywords: BACKGROUND CATCH CLEANUP EVENT_HANDLER GROUP_LEADER
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1148 JUST_REG MODAL NO_BLOCK
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1149 Source: SystemLib [LCSB] /soft1/idl53/lib/xmanager.pro
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1150 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1151
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1152 @cindex Categories, of routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1153 @cindex Load-path shadows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1154 @cindex Shadows, load-path
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1155 @cindex IDL variable @code{!PATH}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1156 @cindex @code{!PATH}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1157 @cindex IDL variable @code{!DIR}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1158 @cindex @code{!DIR}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1159
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1160 If a definition of this routine exists in several files accessible to
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1161 IDLWAVE, several @samp{Source} lines will point to the different
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1162 files. This may indicate that your routine is shadowing a system
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1163 library routine, which may or may not be what you want
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1164 (@pxref{Load-Path Shadows}). The information about the calling
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1165 sequence and keywords is derived from the first source listed.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1166 Library routines are available only if you have scanned your local IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1167 directories or are using pre-scanned libraries (@pxref{Catalogs}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1168 The source entry consists of a @emph{source category}, a set of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1169 @emph{flags} and the path to the @emph{source file}. The following
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1170 default categories exist:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1171
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1172 @multitable @columnfractions .15 .85
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1173 @item @i{System}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1174 @tab A system routine of unknown origin. When the system library has
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1175 been scanned as part of a catalog (@pxref{Catalogs}), this category
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1176 will automatically split into the next two.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1177 @item @i{Builtin}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1178 @tab A builtin system routine with no source code available.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1179 @item @i{SystemLib}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1180 @tab A library system routine in the official lib directory @file{!DIR/lib}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1181 @item @i{Obsolete}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1182 @tab A library routine in the official lib directory @file{!DIR/lib/obsolete}.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1183 @item @i{Library}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1184 @tab A routine in a file on IDL's search path @code{!PATH}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1185 @item @i{Other}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1186 @tab Any other routine with a file not known to be on the search path.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1187 @item @i{Unresolved}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1188 @tab An otherwise unkown routine the shell lists as unresolved
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1189 (referenced, but not compiled).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1190 @end multitable
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1191
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1192 Any routines discovered in library catalogs (@pxref{Library
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1193 Catalogs}), will display the category assigned during creation,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1194 e.g. @samp{NasaLib}. For routines not discovered in this way, you can
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1195 create additional categories based on the routine's filename using the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1196 variable @code{idlwave-special-lib-alist}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1197
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1198 @cindex Flags, in routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1199 @cindex Duplicate routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1200 @cindex Multiply defined routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1201 @cindex Routine definitions, multiple
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1202 The flags @code{[LCSB]} indicate the source of the information IDLWAVE
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1203 has regarding the file: from a library catalog (@w{@code{[L---]}}),
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1204 from a user catalog (@w{@code{[-C--]}}, from the IDL Shell
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1205 (@w{@code{[--S-]}}) or from an Emacs buffer (@w{@code{[---B]}}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1206 Combinations are possible (a compiled library routine visited in a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1207 buffer might read @w{@code{[L-SB]}}). If a file contains multiple
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1208 definitions of the same routine, the file name will be prefixed with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1209 @samp{(Nx)} where @samp{N} is the number of definitions.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1210
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1211 @cindex Online Help from the routine info buffer
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1212 @cindex Active text, in routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1213 @cindex Inserting keywords, from routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1214 @cindex Source file, access from routine info
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1215 Some of the text in the @file{*Help*} routine info buffer will be active
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1216 (it is highlighted when the mouse moves over it). Typically, clicking
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1217 with the right mouse button invokes online help lookup, and clicking
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1218 with the middle mouse button inserts keywords or visits files:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1219
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1220 @multitable @columnfractions 0.15 0.85
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1221 @item @i{Usage}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1222 @tab If online help is installed, a click with the @emph{right} mouse
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1223 button on the @i{Usage:} line will access the help for the
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1224 routine (@pxref{Online Help}).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1225 @item @i{Keyword}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1226 @tab Online help about keywords is also available with the
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1227 @emph{right} mouse button. Clicking on a keyword with the @emph{middle}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1228 mouse button will insert this keyword in the buffer from where
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1229 @code{idlwave-routine-info} was called. Holding down @key{SHIFT} while
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1230 clicking also adds the initial @samp{/}.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1231 @item @i{Source}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1232 @tab Clicking with the @emph{middle} mouse button on a @samp{Source} line
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1233 finds the source file of the routine and visits it in another window.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1234 Another click on the same line switches back to the buffer from which
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1235 @kbd{C-c ?} was called. If you use the @emph{right} mouse button, the
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1236 source will not be visited by a buffer, but displayed in the online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1237 window.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1238 @item @i{Classes}
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1239 @tab The @i{Classes} line is only included in the routine info window if
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1240 the current class inherits from other classes. You can click with the
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1241 @emph{middle} mouse button to display routine info about the current
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1242 method in other classes on the inheritance chain, if such a method
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1243 exists there.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1244 @end multitable
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1245
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1246 @defopt idlwave-resize-routine-help-window (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1247 Non-@code{nil} means resize the Routine-info @file{*Help*} window to
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1248 fit the content.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1249 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1250
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1251 @defopt idlwave-special-lib-alist
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1252 Alist of regular expressions matching special library directories.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1253 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1254
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1255 @defopt idlwave-rinfo-max-source-lines (@code{5})
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1256 Maximum number of source files displayed in the Routine Info window.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1257 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1258
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1259
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1260 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1261 <A NAME="ONLINE_HELP"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1262 @end html
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1263 @node Online Help, Completion, Routine Info, The IDLWAVE Major Mode
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1264 @section Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1265
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1266 @cindex Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1267 @cindex @file{idlw-help.txt}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1268 @cindex @file{idlw-help.el}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1269 @cindex Installing online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1270 @cindex Online Help, Installation
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1271 @cindex Speed, of online help
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1272 @cindex XML Help Catalog
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1273
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1274 For IDL system routines, extensive documentation is supplied with IDL.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1275 IDLWAVE can access the HTML version of this documentation very quickly
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1276 and accurately, based on the local context. This can be @emph{much}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1277 faster than using the IDL online help application, because IDLWAVE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1278 usually gets you to the right place in the documentation directly ---
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1279 e.g. a specific keyword of a routine --- without any additional browsing
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1280 and scrolling.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1281
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1282 For this online help to work, an HTML version of the IDL documentation
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1283 is required. Beginning with IDL 6.2, HTML documentation is distributed
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1284 directly with IDL, along with an XML-based catalog of routine
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1285 information. By default, IDLWAVE automatically attempts to convert this
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1286 XML catalog into a format Emacs can more easily understand, and caches
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1287 this information in your @code{idlwave_config_directory}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1288 (@file{~/.idlwave/}, by default). It also re-scans the XML catalog if
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1289 it is newer than the current cached version. You can force rescan with
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1290 the menu entry @code{IDLWAVE->Routine Info->Rescan XML Help Catalog}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1291
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1292 Before IDL 6.2, the HTML help was not distributed with IDL, and was not
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1293 part of the standalone IDLWAVE distribution, but had to be downloaded
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1294 separately. This is no longer necessary: all help and routine
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1295 information is supplied with IDL versions 6.2 and later.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1296
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1297 There are a variety of options for displaying the HTML help: see below.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1298 Help for routines without HTML documentation is also available, by using
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1299 the routine documentation header and/or routine source.
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1300
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1301 @kindex M-?
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1302 In any IDL program (or, as with most IDLWAVE commands, in the IDL
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1303 Shell), press @kbd{M-?} (@code{idlwave-context-help}), or click with
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
1304 @kbd{S-Mouse-3} to access context sensitive online help. The following
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1305 locations are recognized context for help:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1306
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1307 @cindex Context, for online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1308 @multitable @columnfractions .25 .75
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1309 @item @i{Routine names}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1310 @tab The name of a routine (function, procedure, method).
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1311 @item @i{Keyword Parameters}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1312 @tab A keyword parameter of a routine.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1313 @item @i{System Variables}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1314 @tab System variables like @code{!DPI}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1315 @item @i{System Variable Tags}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1316 @tab System variables tags like @code{!D.X_SIZE}.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1317 @item @i{IDL Statements}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1318 @tab Statements like @code{PRO}, @code{REPEAT}, @code{COMPILE_OPT}, etc.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1319 @item @i{IDL Controls}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1320 @tab Control structures like @code{FOR}, @code{SWITCH}, etc.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1321 @item @i{Class names}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1322 @tab A class name in an @code{OBJ_NEW} call.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1323 @item @i{Class Init Keywords}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1324 @tab Beyond the class name in an @code{OBJ_NEW} call.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1325 @item @i{Executive Command}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1326 @tab An executive command like @code{.RUN}. Mostly useful in the shell.
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1327 @item @i{Structure Tags}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1328 @tab Structure tags like @code{state.xsize}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1329 @item @i{Class Tags}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1330 @tab Class tags like @code{self.value}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1331 @item @i{Default}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1332 @tab The routine that would be selected for routine info display.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1333 @end multitable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1334
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1335 @cindex @code{OBJ_NEW}, special online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1336 Note that the @code{OBJ_NEW} function is special in that the help
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1337 displayed depends on the cursor position. If the cursor is on the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1338 @samp{OBJ_NEW}, this function is described. If it is on the class
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1339 name inside the quotes, the documentation for the class is pulled up.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1340 If the cursor is @emph{after} the class name, anywhere in the argument
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1341 list, the documentation for the corresponding @code{Init} method and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1342 its keywords is targeted.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1343
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1344 Apart from an IDLWAVE buffer or shell, there are two more places from
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1345 which online help can be accessed.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1346
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1347 @itemize @bullet
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1348 @item
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1349 Online help for routines and keywords can be accessed through the
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
1350 Routine Info display. Click with @kbd{Mouse-3} on an item to see the
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1351 corresponding help (@pxref{Routine Info}).
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1352 @item
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1353 When using completion and Emacs pops up a @file{*Completions*} buffer
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1354 with possible completions, clicking with @kbd{Mouse-3} on a completion
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1355 item invokes help on that item (@pxref{Completion}). Items for which
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1356 help is available in the online system documentation (vs. just the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1357 program source itself) will be emphasized (e.g. colored blue).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1358 @end itemize
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1359 @noindent
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1360 In both cases, a blue face indicates that the item is documented in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1361 the IDL manual, but an attempt will be made to visit non-blue items
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1362 directly in the originating source file.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1363
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1364
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1365 @menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1366 * Help with HTML Documentation::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1367 * Help with Source::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1368 @end menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1369
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1370 @node Help with HTML Documentation, Help with Source, Online Help, Online Help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1371 @subsection Help with HTML Documentation
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1372 @cindex HTML Help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1373 @cindex Help using HTML manuals
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1374 @cindex IDL manual, HTML version
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1375 @cindex IDL Assistant
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1376
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1377 Help using the HTML documentation is invoked with the built-in Emacs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1378 command @code{browse-url}, which displays the relevant help topic in a
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1379 browser of your choosing. Beginning with version 6.2, IDL comes with
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1380 the help browser @emph{IDL Assistant}, which it uses by default for
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1381 displaying online help on all supported platforms. This browser
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1382 offers topical searches, an index, and is also now the default and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1383 recommended IDLWAVE help browser. The variable
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1384 @code{idlwave-help-use-assistant} controls whether this browser is
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1385 used. Note that, due to limitations in the Assistant, invoking help
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1386 within IDLWAVE and @code{? topic} within IDL will result in two
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1387 running copies of Assistant.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1388
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1389 Aside from the IDL Assistant, there are many possible browsers to choose
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1390 among, with differing advantages and disadvantages. The variable
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1391 @code{idlwave-help-browser-function} controls which browser help is sent
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1392 to (as long as @code{idlwave-help-use-assistant} is not set). This
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1393 function is used to set the variable @code{browse-url-browser-function}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1394 locally for IDLWAVE help only. Customize the latter variable to see
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1395 what choices of browsers your system offers. Certain browsers like
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1396 @code{w3} (bundled with many versions of Emacs) and @code{w3m}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1397 (@uref{http://emacs-w3m.namazu.org/}) are run within Emacs, and use
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1398 Emacs buffers to display the HTML help. This can be convenient,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1399 especially on small displays, and images can even be displayed in-line
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1400 on newer Emacs versions. However, better formatting results are often
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1401 achieved with external browsers, like Mozilla. IDLWAVE assumes any
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1402 browser function containing "w3" is displayed in a local buffer. If you
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1403 are using another Emacs-local browser for which this is not true, set
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1404 the variable @code{idlwave-help-browser-is-local}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1405
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1406 With IDL 6.2 or later, it is important to ensure that the variable
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1407 @code{idlwave-system-directory} is set (@pxref{Catalogs}). One easy way
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1408 to ensure this is to run the IDL Shell (@kbd{C-c C-s}). It will be
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1409 queried for this directory, and the results will be cached to file for
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1410 subsequent use.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1411
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1412 @xref{HTML Help Browser Tips}, for more information on selecting and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1413 configuring a browser for use with IDL's HTML help system.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1414
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1415 @defopt idlwave-html-system-help-location @file{help/online_help}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1416 Relative directory of the system-supplied HTML help directory,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1417 considered with respect to @code{idlwave-system-directory}. Relevant
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1418 for IDL 6.2 and greater. Should not change.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1419 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1420
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1421 @defopt idlwave-html-help-location @file{/usr/local/etc/}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1422 The directory where the @file{idl_html_help} HTML directory live.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1423 Obsolete and ignored for IDL 6.2 and greater
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1424 (@code{idlwave-html-system-help-location} is used instead).
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1425 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1426
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1427 @defopt idlwave-help-use-assistant @code{t}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1428 If set, use the IDL Assistant if possible for online HTML help,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1429 otherwise use the browser function specified in
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1430 @code{idlwave-help-browser-function}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1431 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1432
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1433 @defopt idlwave-help-browser-function
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1434 The browser function to use to display IDLWAVE HTML help. Should be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1435 one of the functions available for setting
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1436 @code{browse-url-browser-function}, which see.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1437 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1438
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1439 @defopt idlwave-help-browser-is-local
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1440 Is the browser selected in @code{idlwave-help-browser-function} run in a
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1441 local Emacs buffer or window? Defaults to @code{t} if the function
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1442 contains "-w3".
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1443 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1444
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1445 @defopt idlwave-help-link-face
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1446 The face for links to IDLWAVE online help.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1447 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1448
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1449 @node Help with Source, , Help with HTML Documentation, Online Help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1450 @subsection Help with Source
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1451 @cindex Help using routine source
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1452
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1453 @cindex Source code, as online help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1454 @cindex DocLib header, as online help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1455 For routines which are not documented in an HTML manual (for example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1456 personal or library routines), the source code itself is used as help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1457 text. If the requested information can be found in a (more or less)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1458 standard DocLib file header, IDLWAVE shows the header (scrolling down to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1459 a keyword, if appropriate). Otherwise the routine definition statement
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1460 (@code{pro}/@code{function}) is shown. The doclib header sections which
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1461 are searched for include @samp{NAME} and @samp{KEYWORDS}. Localization
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1462 support can be added by customizing the @code{idlwave-help-doclib-name}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1463 and @code{idlwave-help-doclib-keyword} variables.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1464
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1465 @cindex Structure tags, in online help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1466 @cindex Class tags, in online help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1467 Help is also available for class structure tags (@code{self.TAG}), and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1468 generic structure tags, if structure tag completion is enabled
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1469 (@pxref{Structure Tag Completion}). This is implemented by visiting the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1470 tag within the class or structure definition source itself. Help is not
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1471 available on built-in system class tags.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1472
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1473 The help window is normally displayed in the same frame, but can be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1474 popped-up in a separate frame. The following commands can be used to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1475 navigate inside the help system for source files:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1476
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1477 @multitable @columnfractions .15 .85
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1478 @item @kbd{@key{SPACE}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1479 @tab Scroll forward one page.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1480 @item @kbd{@key{RET}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1481 @tab Scroll forward one line.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1482 @item @kbd{@key{DEL}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1483 @tab Scroll back one page.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1484 @item @kbd{h}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1485 @tab Jump to DocLib Header of the routine whose source is displayed
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1486 as help.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1487 @item @kbd{H}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1488 @tab Jump to the first DocLib Header in the file.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1489 @item @kbd{.} @r{(Dot)}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1490 @tab Jump back and forth between the routine definition (the
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1491 @code{pro}/@code{function} statement) and the description of the help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1492 item in the DocLib header.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1493 @item @kbd{F}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1494 @tab Fontify the buffer like source code. See the variable @code{idlwave-help-fontify-source-code}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1495 @item @kbd{q}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1496 @tab Kill the help window.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1497 @end multitable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1498
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1499
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1500 @defopt idlwave-help-use-dedicated-frame (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1501 Non-@code{nil} means use a separate frame for Online Help if possible.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1502 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1503
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1504 @defopt idlwave-help-frame-parameters
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1505 The frame parameters for the special Online Help frame.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1506 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1507
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1508 @defopt idlwave-max-popup-menu-items (@code{20})
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
1509 Maximum number of items per pane in pop-up menus.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1510 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1511
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1512 @defopt idlwave-extra-help-function
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1513 Function to call for help if the normal help fails.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1514 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1515
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1516 @defopt idlwave-help-fontify-source-code (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1517 Non-@code{nil} means fontify source code displayed as help.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1518 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1519
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1520 @defopt idlwave-help-source-try-header (@code{t})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1521 Non-@code{nil} means try to find help in routine header when
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1522 displaying source file.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1523 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1524
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1525 @defopt idlwave-help-doclib-name (@code{"name"})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1526 The case-insensitive heading word in doclib headers to locate the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1527 @emph{name} section. Can be a regexp, e.g. @code{"\\(name\\|nom\\)"}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1528 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1529
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1530 @defopt idlwave-help-doclib-keyword (@code{"KEYWORD"})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1531 The case-insensitive heading word in doclib headers to locate the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1532 @emph{keywords} section. Can be a regexp.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1533 @end defopt
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1534
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1535
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1536 @node Completion, Routine Source, Online Help, The IDLWAVE Major Mode
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1537 @section Completion
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1538 @cindex Completion
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1539 @cindex Keyword completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1540 @cindex Method completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1541 @cindex Object method completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1542 @cindex Class name completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1543 @cindex Function name completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1544 @cindex Procedure name completion
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1545
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1546 @kindex M-@key{TAB}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1547 @kindex C-c C-i
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1548 IDLWAVE offers completion for class names, routine names, keywords,
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1549 system variables, system variable tags, class structure tags, regular
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1550 structure tags and file names. As in many programming modes, completion
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1551 is bound to @kbd{M-@key{TAB}} (or simply @kbd{@key{TAB}} in the IDLWAVE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1552 Shell --- @pxref{Using the Shell}). Completion uses exactly the same
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1553 internal information as routine info, so when necessary (rarely) it can
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1554 be updated with @kbd{C-c C-i} (@code{idlwave-update-routine-info}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1555
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1556 The completion function is context sensitive and figures out what to
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1557 complete based on the location of the point. Here are example lines and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1558 what @kbd{M-@key{TAB}} would try to complete when the cursor is on the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1559 position marked with a @samp{_}:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1560
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1561 @example
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1562 plo_ @r{Procedure}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1563 x = a_ @r{Function}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1564 plot,xra_ @r{Keyword of @code{plot} procedure}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1565 plot,x,y,/x_ @r{Keyword of @code{plot} procedure}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1566 plot,min(_ @r{Keyword of @code{min} function}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1567 obj -> a_ @r{Object method (procedure)}
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1568 a[2,3] = obj -> a_ @r{Object method (function)}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1569 x = obj_new('IDL_ @r{Class name}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1570 x = obj_new('MyCl',a_ @r{Keyword to @code{Init} method in class @code{MyCl}}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1571 pro A_ @r{Class name}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1572 pro _ @r{Fill in @code{Class::} of first method in this file}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1573 !v_ @r{System variable}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1574 !version.t_ @r{Structure tag of system variable}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1575 self.g_ @r{Class structure tag in methods}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1576 state.w_ @r{Structure tag, if tag completion enabled}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1577 name = 'a_ @r{File name (default inside quotes)}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1578 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1579
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1580 @cindex Completion, ambiguity
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1581 @cindex Completion, forcing function name
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1582 The only place where completion is ambiguous is procedure/function
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1583 @emph{keywords} versus @emph{functions}. After @samp{plot,x,_}, IDLWAVE
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1584 will always assume a keyword to @samp{plot}. However, a function is
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1585 also a possible completion here. You can force completion of a function
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1586 name at such a location by using a prefix arg: @kbd{C-u M-@key{TAB}}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1587
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1588 Giving two prefix arguments (@kbd{C-u C-u M-@key{TAB}}) prompts for a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1589 regular expression to search among the commands to be completed. As
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1590 an example, completing a blank line in this way will allow you to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1591 search for a procedure matching a regexp.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1592
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1593 @cindex Scrolling the @file{*Completions*} window
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1594 @cindex Completion, scrolling
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1595 @cindex Completion, Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1596 @cindex Online Help in @file{*Completions*} buffer
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1597 If the list of completions is too long to fit in the
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1598 @file{*Completions*} window, the window can be scrolled by pressing
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1599 @kbd{M-@key{TAB}} repeatedly. Online help (if installed) for each
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
1600 possible completion is available by clicking with @kbd{Mouse-3} on the
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1601 item. Items for which system online help (from the IDL manual) is
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1602 available will be emphasized (e.g. colored blue). For other items, the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1603 corresponding source code or DocLib header will be used as the help
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1604 text.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1605
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1606 @cindex Completion, cancelling
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1607 @cindex Cancelling completion
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1608 Completion is not a blocking operation --- you are free to continue
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1609 editing, enter commands, or simply ignore the @file{*Completions*}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1610 buffer during a completion operation. If, however, the most recent
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1611 command was a completion, @kbd{C-g} will remove the buffer and restore
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1612 the window configuration. You can also remove the buffer at any time
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1613 with no negative consequences.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1614
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1615 @defopt idlwave-keyword-completion-adds-equal (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1616 Non-@code{nil} means completion automatically adds @samp{=} after
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1617 completed keywords.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1618 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1619
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1620 @defopt idlwave-function-completion-adds-paren (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1621 Non-@code{nil} means completion automatically adds @samp{(} after
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1622 completed function. A value of `2' means also add the closing
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1623 parenthesis and position the cursor between the two.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1624 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1625
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1626 @defopt idlwave-completion-restore-window-configuration (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1627 Non-@code{nil} means restore window configuration after successful
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1628 completion.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1629 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1630
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1631 @defopt idlwave-highlight-help-links-in-completion (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1632 Non-@code{nil} means highlight completions for which system help is
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1633 available.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1634 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1635
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1636 @menu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1637 * Case of Completed Words:: CaseOFcomPletedWords
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1638 * Object Method Completion and Class Ambiguity:: obj->Method, what?
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1639 * Object Method Completion in the Shell::
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1640 * Class and Keyword Inheritance:: obj->Method, _EXTRA=e
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1641 * Structure Tag Completion:: Completing state.Tag
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1642 @end menu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1643
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1644 @node Case of Completed Words, Object Method Completion and Class Ambiguity, Completion, Completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1645 @subsection Case of Completed Words
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1646 @cindex Case of completed words
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1647 @cindex Mixed case completion
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1648 IDL is a case-insensitive language, so casing is a matter of style
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1649 only. IDLWAVE helps maintain a consistent casing style for completed
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1650 items. The case of the completed words is determined by what is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1651 already in the buffer. As an exception, when the partial word being
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1652 completed is all lower case, the completion will be lower case as
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1653 well. If at least one character is upper case, the string will be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1654 completed in upper case or mixed case, depending on the value of the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1655 variable @code{idlwave-completion-case}. The default is to use upper
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1656 case for procedures, functions and keywords, and mixed case for object
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1657 class names and methods, similar to the conventions in the IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1658 manuals. For instance, to enable mixed-case completion for routines
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1659 in addition to classes and methods, you need an entry such as
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1660 @code{(routine . preserve)} in that variable. To enable total control
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1661 over the case of completed items, independent of buffer context, set
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1662 @code{idlwave-completion-force-default-case} to non-@code{nil}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1663
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1664 @defopt idlwave-completion-case
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1665 Association list setting the case (UPPER/lower/Capitalized/MixedCase...)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1666 of completed words.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1667 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1668
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1669 @defopt idlwave-completion-force-default-case (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1670 Non-@code{nil} means completion will always honor the settings in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1671 @code{idlwave-completion-case}. When nil (the default), entirely lower
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1672 case strings will always be completed to lower case, no matter what the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1673 settings in @code{idlwave-completion-case}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1674 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1675
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1676 @defopt idlwave-complete-empty-string-as-lower-case (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1677 Non-@code{nil} means the empty string is considered lower case for
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1678 completion.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1679 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1680
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1681 @node Object Method Completion and Class Ambiguity, Object Method Completion in the Shell, Case of Completed Words, Completion
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1682 @subsection Object Method Completion and Class Ambiguity
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1683 @cindex Object methods
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1684 @cindex Class ambiguity
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1685 @cindex @code{self} object, default class
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1686 An object method is not uniquely determined without the object's class.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1687 Since the class is almost always omitted in the calling source (as
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1688 required to obtain the true benefits of object-based programming),
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1689 IDLWAVE considers all available methods in all classes as possible
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1690 method name completions. The combined list of keywords of the current
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1691 method in @emph{all} known classes which contain that method will be
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1692 considered for keyword completion. In the @file{*Completions*} buffer,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1693 the matching classes will be shown next to each item (see option
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1694 @code{idlwave-completion-show-classes}). As a special case, the class
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1695 of an object called @samp{self} is always taken to be the class of the
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1696 current routine, when in an IDLWAVE buffer. All inherits classes are
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1697 considered as well.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1698
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1699 @cindex Forcing class query.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1700 @cindex Class query, forcing
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1701 You can also call @code{idlwave-complete} with a prefix arg: @kbd{C-u
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1702 M-@key{TAB}}. IDLWAVE will then prompt you for the class in order to
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1703 narrow down the number of possible completions. The variable
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1704 @code{idlwave-query-class} can be configured to make such prompting the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1705 default for all methods (not recommended), or selectively for very
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1706 common methods for which the number of completing keywords would be too
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1707 large (e.g. @code{Init,SetProperty,GetProperty}).
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1708
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1709 @cindex Saving object class on @code{->}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1710 @cindex @code{->}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1711 After you have specified the class for a particular statement (e.g. when
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1712 completing the method), IDLWAVE can remember it for the rest of the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1713 editing session. Subsequent completions in the same statement
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1714 (e.g. keywords) can then reuse this class information. This works by
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1715 placing a text property on the method invocation operator @samp{->},
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1716 after which the operator will be shown in a different face (bold by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1717 default). The variable @code{idlwave-store-inquired-class} can be used
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1718 to turn it off or on.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1719
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
1720 @defopt idlwave-completion-show-classes (@code{1})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1721 Non-@code{nil} means show up to that many classes in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1722 @file{*Completions*} buffer when completing object methods and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1723 keywords.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1724 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1725
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1726 @defopt idlwave-completion-fontify-classes (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1727 Non-@code{nil} means fontify the classes in completions buffer.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1728 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1729
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1730 @defopt idlwave-query-class (@code{nil})
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1731 Association list governing query for object classes during completion.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1732 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1733
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1734 @defopt idlwave-store-inquired-class (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1735 Non-@code{nil} means store class of a method call as text property on
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1736 @samp{->}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1737 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1738
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1739 @defopt idlwave-class-arrow-face
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1740 Face to highlight object operator arrows @samp{->} which carry a saved
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1741 class text property.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1742 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1743
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1744 @node Object Method Completion in the Shell, Class and Keyword Inheritance, Object Method Completion and Class Ambiguity, Completion
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1745 @subsection Object Method Completion in the Shell
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1746 @cindex Method Completion in Shell
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1747 In the IDLWAVE Shell (@pxref{The IDLWAVE Shell}), objects on which
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1748 methods are being invoked have a special property: they must exist as
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1749 variables, and so their class can be determined (for instance, using the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1750 @code{obj_class()} function). In the Shell, when attempting completion,
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1751 routine info, or online help within a method routine, a query is sent to
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1752 determine the class of the object. If this query is successful, the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1753 class found will be used to select appropriate completions, routine
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1754 info, or help. If unsuccessful, information from all known classes will
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1755 be used (as in the buffer).
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1756
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1757 @node Class and Keyword Inheritance, Structure Tag Completion, Object Method Completion in the Shell, Completion
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1758 @subsection Class and Keyword Inheritance
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1759 @cindex Inheritance, class
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1760 @cindex Keyword inheritance
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1761 @cindex Inheritance, keyword
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1762
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1763 Class inheritance affects which methods are called in IDL. An object of
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1764 a class which inherits methods from one or more superclasses can
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1765 override that method by defining its own method of the same name, extend
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1766 the method by calling the method(s) of its superclass(es) in its
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1767 version, or inherit the method directly by making no modifications.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1768 IDLWAVE examines class definitions during completion and routine
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1769 information display, and records all inheritance information it finds.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1770 This information is displayed if appropriate with the calling sequence
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1771 for methods (@pxref{Routine Info}), as long as variable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1772 @code{idlwave-support-inheritance} is non-@code{nil}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1773
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1774 In many class methods, @emph{keyword} inheritance (@code{_EXTRA} and
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1775 @code{_REF_EXTRA}) is used hand-in-hand with class inheritance and
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1776 method overriding. E.g., in a @code{SetProperty} method, this technique
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1777 allows a single call @code{obj->SetProperty} to set properties up the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1778 entire class inheritance chain. This is often referred to as
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1779 @emph{chaining}, and is characterized by chained method calls like
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1780 @w{@code{self->MySuperClass::SetProperty,_EXTRA=e}}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1781
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1782 IDLWAVE can accomodate this special synergy between class and keyword
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1783 inheritance: if @code{_EXTRA} or @code{_REF_EXTRA} is detected among a
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1784 method's keyword parameters, all keywords of superclass versions of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1785 the method being considered can be included in completion. There is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1786 of course no guarantee that this type of keyword chaining actually
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1787 occurrs, but for some methods it's a very convenient assumption. The
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1788 variable @code{idlwave-keyword-class-inheritance} can be used to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1789 configure which methods have keyword inheritance treated in this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1790 simple, class-driven way. By default, only @code{Init} and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1791 @code{(Get|Set)Property} are. The completion buffer will label
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1792 keywords based on their originating class.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1793
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1794 @defopt idlwave-support-inheritance (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1795 Non-@code{nil} means consider inheritance during completion, online help etc.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1796 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1797
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1798 @defopt idlwave-keyword-class-inheritance
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1799 A list of regular expressions to match methods for which simple
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1800 class-driven keyword inheritance will be used for Completion.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1801 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1802
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1803 @node Structure Tag Completion, , Class and Keyword Inheritance, Completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1804 @subsection Structure Tag Completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1805 @cindex Completion, structure tag
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1806 @cindex Structure tag completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1807
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1808 In many programs, especially those involving widgets, large structures
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1809 (e.g. the @samp{state} structure) are used to communicate among
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1810 routines. It is very convenient to be able to complete structure tags,
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1811 in the same way as for instance variables (tags) of the @samp{self}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1812 object (@pxref{Object Method Completion and Class Ambiguity}). Add-in
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1813 code for structure tag completion is available in the form of a loadable
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1814 completion module: @file{idlw-complete-structtag.el}. Tag completion in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1815 structures is highly ambiguous (much more so than @samp{self}
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1816 completion), so @code{idlw-complete-structtag} makes an unusual and very
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1817 specific assumption: the exact same variable name is used to refer to
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1818 the structure in all parts of the program. This is entirely unenforced
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1819 by the IDL language, but is a typical convention. If you consistently
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1820 refer to the same structure with the same variable name
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1821 (e.g. @samp{state}), structure tags which are read from its definition
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1822 in the same file can be used for completion.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1823
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1824 Structure tag completion is not enabled by default. To enable it,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1825 simply add the following to your @file{.emacs}:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1826
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1827 @lisp
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1828 (add-hook 'idlwave-load-hook
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1829 (lambda () (require 'idlw-complete-structtag)))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1830 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1831
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1832 Once enabled, you'll also be able to access online help on the structure
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1833 tags, using the usual methods (@pxref{Online Help}). In addition,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1834 structure variables in the shell will be queried for tag names, similar
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1835 to the way object variables in the shell are queried for method names.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1836 So, e.g.:
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1837
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1838 @example
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1839 IDL> st.[Tab]
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1840 @end example
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1841
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1842 @noindent will complete with all structure fields of the structure
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1843 @code{st}.
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1844
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1845 @node Routine Source, Resolving Routines, Completion, The IDLWAVE Major Mode
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1846 @section Routine Source
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1847 @cindex Routine source file
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1848 @cindex Module source file
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1849 @cindex Source file, of a routine
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1850 @kindex C-c C-v
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1851 In addition to clicking on a @i{Source:} line in the routine info
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1852 window, there is another way to quickly visit the source file of a
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1853 routine. The command @kbd{C-c C-v} (@code{idlwave-find-module}) asks
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1854 for a module name, offering the same default as
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1855 @code{idlwave-routine-info} would have used, taken from nearby buffer
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1856 contents. In the minibuffer, specify a complete routine name (including
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1857 any class part). IDLWAVE will display the source file in another
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1858 window, positioned at the routine in question. You can also limit this
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1859 to a routine in the current buffer only, with completion, and a
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1860 context-sensitive default, by using a single prefix (@kbd{C-u C-c C-v})
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1861 or the convenience binding @kbd{C-c C-t}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1862
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1863 @cindex Buffers, killing
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1864 @cindex Killing autoloaded buffers
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1865 Since getting the source of a routine into a buffer is so easy with
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1866 IDLWAVE, too many buffers visiting different IDL source files are
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1867 sometimes created. The special command @kbd{C-c C-k}
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1868 (@code{idlwave-kill-autoloaded-buffers}) can be used to easily remove
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1869 these buffers.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1870
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1871 @node Resolving Routines, Code Templates, Routine Source, The IDLWAVE Major Mode
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1872 @section Resolving Routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1873 @cindex @code{RESOLVE_ROUTINE}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1874 @cindex Compiling library modules
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1875 @cindex Routines, resolving
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1876
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1877 The key sequence @kbd{C-c =} calls the command @code{idlwave-resolve}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1878 and sends the line @samp{RESOLVE_ROUTINE, '@var{routine_name}'} to IDL
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1879 in order to resolve (compile) it. The default routine to be resolved is
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1880 taken from context, but you get a chance to edit it. Usually this is
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1881 not necessary, since IDL automatically discovers routines on its path.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1882
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1883 @code{idlwave-resolve} is one way to get a library module within reach
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1884 of IDLWAVE's routine info collecting functions. A better way is to
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1885 keep routine information available in catalogs (@pxref{Catalogs}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1886 Routine info on modules will then be available without the need to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1887 compile the modules first, and even without a running shell.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1888
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1889 @xref{Sources of Routine Info}, for more information on the ways IDLWAVE
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1890 collects data about routines, and how to update this information.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1891
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1892 @node Code Templates, Abbreviations, Resolving Routines, The IDLWAVE Major Mode
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1893 @section Code Templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1894 @cindex Code templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1895 @cindex Templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1896
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1897 IDLWAVE can insert IDL code templates into the buffer. For a few
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
1898 templates, this is done with direct key bindings:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1899
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1900 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1901 @item @kbd{C-c C-c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1902 @tab @code{CASE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1903 @item @kbd{C-c C-f}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1904 @tab @code{FOR} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1905 @item @kbd{C-c C-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1906 @tab @code{REPEAT} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1907 @item @kbd{C-c C-w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1908 @tab @code{WHILE} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1909 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1910
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1911 All code templates are also available as abbreviations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1912 (@pxref{Abbreviations}).
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1913
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1914 @node Abbreviations, Actions, Code Templates, The IDLWAVE Major Mode
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1915 @section Abbreviations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1916 @cindex Abbreviations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1917
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1918 Special abbreviations exist to enable rapid entry of commonly used
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1919 commands. Emacs abbreviations are expanded by typing text into the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1920 buffer and pressing @key{SPC} or @key{RET}. The special abbreviations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1921 used to insert code templates all start with a @samp{\} (the backslash),
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1922 or, optionally, any other character set in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1923 @code{idlwave-abbrev-start-char}. IDLWAVE ensures that abbreviations are
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1924 only expanded where they should be (i.e., not in a string or comment),
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1925 and permits the point to be moved after an abbreviation expansion ---
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1926 very useful for positioning the mark inside of parentheses, etc.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1927
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1928 Special abbreviations are pre-defined for code templates and other
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1929 useful items. To visit the full list of abbreviations, use @kbd{M-x
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1930 idlwave-list-abbrevs}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1931
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1932 Template abbreviations:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1933
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1934 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1935 @item @code{\pr}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1936 @tab @code{PROCEDURE} template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1937 @item @code{\fu}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1938 @tab @code{FUNCTION} template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1939 @item @code{\c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1940 @tab @code{CASE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1941 @item @code{\f}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1942 @tab @code{FOR} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1943 @item @code{\r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1944 @tab @code{REPEAT} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1945 @item @code{\w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1946 @tab @code{WHILE} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1947 @item @code{\i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1948 @tab @code{IF} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1949 @item @code{\elif}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1950 @tab @code{IF-ELSE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1951 @end multitable
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
1952
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1953 String abbreviations:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1954
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1955 @multitable @columnfractions .15 .85
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1956 @item @code{\ap}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1957 @tab @code{arg_present()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1958 @item @code{\b}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1959 @tab @code{begin}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1960 @item @code{\cb}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1961 @tab @code{byte()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1962 @item @code{\cc}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1963 @tab @code{complex()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1964 @item @code{\cd}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1965 @tab @code{double()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1966 @item @code{\cf}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1967 @tab @code{float()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1968 @item @code{\cl}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1969 @tab @code{long()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1970 @item @code{\co}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1971 @tab @code{common}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1972 @item @code{\cs}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1973 @tab @code{string()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1974 @item @code{\cx}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1975 @tab @code{fix()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1976 @item @code{\e}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1977 @tab @code{else}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1978 @item @code{\ec}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1979 @tab @code{endcase}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1980 @item @code{\ee}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1981 @tab @code{endelse}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1982 @item @code{\ef}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1983 @tab @code{endfor}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1984 @item @code{\ei}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1985 @tab @code{endif else if}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1986 @item @code{\el}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1987 @tab @code{endif else}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1988 @item @code{\en}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1989 @tab @code{endif}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1990 @item @code{\er}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1991 @tab @code{endrep}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1992 @item @code{\es}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1993 @tab @code{endswitch}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1994 @item @code{\ew}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1995 @tab @code{endwhile}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1996 @item @code{\g}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1997 @tab @code{goto,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1998 @item @code{\h}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1999 @tab @code{help,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2000 @item @code{\ik}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2001 @tab @code{if keyword_set() then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2002 @item @code{\iap}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2003 @tab @code{if arg_present() then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2004 @item @code{\ine}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2005 @tab @code{if n_elements() eq 0 then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2006 @item @code{\inn}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2007 @tab @code{if n_elements() ne 0 then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2008 @item @code{\k}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2009 @tab @code{keyword_set()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2010 @item @code{\n}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2011 @tab @code{n_elements()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2012 @item @code{\np}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2013 @tab @code{n_params()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2014 @item @code{\oi}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2015 @tab @code{on_ioerror,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2016 @item @code{\or}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2017 @tab @code{openr,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2018 @item @code{\ou}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2019 @tab @code{openu,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2020 @item @code{\ow}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2021 @tab @code{openw,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2022 @item @code{\p}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2023 @tab @code{print,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2024 @item @code{\pt}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2025 @tab @code{plot,}
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2026 @item @code{\pv}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2027 @tab @code{ptr_valid()}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2028 @item @code{\re}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2029 @tab @code{read,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2030 @item @code{\rf}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2031 @tab @code{readf,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2032 @item @code{\rt}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2033 @tab @code{return}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2034 @item @code{\ru}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2035 @tab @code{readu,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2036 @item @code{\s}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2037 @tab @code{size()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2038 @item @code{\sc}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2039 @tab @code{strcompress()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2040 @item @code{\sl}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2041 @tab @code{strlowcase()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2042 @item @code{\sm}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2043 @tab @code{strmid()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2044 @item @code{\sn}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2045 @tab @code{strlen()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2046 @item @code{\sp}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2047 @tab @code{strpos()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2048 @item @code{\sr}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2049 @tab @code{strtrim()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2050 @item @code{\st}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2051 @tab @code{strput()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2052 @item @code{\su}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2053 @tab @code{strupcase()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2054 @item @code{\t}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2055 @tab @code{then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2056 @item @code{\u}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2057 @tab @code{until}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2058 @item @code{\wc}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2059 @tab @code{widget_control,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2060 @item @code{\wi}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2061 @tab @code{widget_info()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2062 @item @code{\wu}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2063 @tab @code{writeu,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2064 @end multitable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2065
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2066 @noindent You can easily add your own abbreviations or override existing
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
2067 abbrevs with @code{define-abbrev} in your mode hook, using the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2068 convenience function @code{idlwave-define-abbrev}:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2069
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2070 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2071 (add-hook 'idlwave-mode-hook
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2072 (lambda ()
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2073 (idlwave-define-abbrev "wb" "widget_base()"
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2074 (idlwave-keyword-abbrev 1))
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2075 (idlwave-define-abbrev "ine" "IF N_Elements() EQ 0 THEN"
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2076 (idlwave-keyword-abbrev 11))))
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2077 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2078
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2079 Notice how the abbreviation (here @emph{wb}) and its expansion
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2080 (@emph{widget_base()}) are given as arguments, and the single argument to
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2081 @code{idlwave-keyword-abbrev} (here @emph{1}) specifies how far back to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2082 move the point upon expansion (in this example, to put it between the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2083 parentheses).
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2084
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2085 The abbreviations are expanded in upper or lower case, depending upon
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2086 the variables @code{idlwave-abbrev-change-case} and, for reserved word
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2087 templates, @code{idlwave-reserved-word-upcase} (@pxref{Case Changes}).
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
2088
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2089 @defopt idlwave-abbrev-start-char (@code{"\"})
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2090 A single character string used to start abbreviations in abbrev mode.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2091 Beware of common characters which might naturally occur in sequence with
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2092 abbreviation strings.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2093 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2094
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2095 @defopt idlwave-abbrev-move (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2096 Non-@code{nil} means the abbrev hook can move point, e.g. to end up
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2097 between the parentheses of a function call.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2098 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2099
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2100 @node Actions, Doc Header, Abbreviations, The IDLWAVE Major Mode
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2101 @section Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2102 @cindex Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2103 @cindex Coding standards, enforcing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2104
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2105 @emph{Actions} are special formatting commands which are executed
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2106 automatically while you write code in order to check the structure of
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2107 the program or to enforce coding standards. Most actions which have
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2108 been implemented in IDLWAVE are turned off by default, assuming that the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2109 average user wants her code the way she writes it. But if you are a
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2110 lazy typist and want your code to adhere to certain standards, actions
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2111 can be helpful.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2112
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2113 Actions can be applied in three ways:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2114
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2115 @itemize @bullet
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2116 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2117 Some actions are applied directly while typing. For example, pressing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2118 @samp{=} can run a check to make sure that this operator is surrounded
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2119 by spaces and insert these spaces if necessary. Pressing @key{SPC}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2120 after a reserved word can call a command to change the word to upper
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2121 case.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2122 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2123 When a line is re-indented with @key{TAB}, actions can be applied to the
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2124 entire line. To enable this, the variable @code{idlwave-do-actions}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2125 must be non-@code{nil}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2126 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2127 @cindex Foreign code, adapting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2128 @cindex Actions, applied to foreign code
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2129 Actions can also be applied to a larger piece of code, e.g. to convert
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2130 foreign code to your own style. To do this, mark the relevant part of
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2131 the code and execute @kbd{M-x expand-region-abbrevs}. Useful marking
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2132 commands are @kbd{C-x h} (the entire file) or @kbd{C-M-h} (the current
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2133 subprogram). @xref{Code Indentation}, for information how to adjust the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2134 indentation of the code.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2135 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2136
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2137 @defopt idlwave-do-actions (@code{nil})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2138 Non-@code{nil} means performs actions when indenting. Individual action
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2139 settings are described below and set separately.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2140 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2141
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2142 @menu
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2143 * Block Boundary Check:: Is the END statement correct?
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2144 * Padding Operators:: Enforcing space around `=' etc
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2145 * Case Changes:: Enforcing upper case keywords
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2146 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2147
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2148 @node Block Boundary Check, Padding Operators, Actions, Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2149 @subsection Block Boundary Check
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2150 @cindex Block boundary check
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2151 @cindex @code{END} type checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2152 @cindex @code{END}, automatic insertion
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2153 @cindex @code{END}, expanding
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2154 @cindex Block, closing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2155 @cindex Closing a block
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2156
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2157 Whenever you type an @code{END} statement, IDLWAVE finds the
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2158 corresponding start of the block and the cursor blinks back to that
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2159 location for a second. If you have typed a specific @code{END}, like
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2160 @code{ENDIF} or @code{ENDCASE}, you get a warning if that terminator
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2161 does not match the type of block it terminates.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2162
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2163 Set the variable @code{idlwave-expand-generic-end} in order to have all
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2164 generic @code{END} statements automatically expanded to the appropriate
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2165 type. You can also type @kbd{C-c ]} to close the current block by
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2166 inserting the appropriate @code{END} statement.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2167
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2168 @defopt idlwave-show-block (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2169 Non-@code{nil} means point blinks to block beginning for
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2170 @code{idlwave-show-begin}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2171 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2172
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2173 @defopt idlwave-expand-generic-end (@code{t})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2174 Non-@code{nil} means expand generic END to ENDIF/ENDELSE/ENDWHILE etc.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2175 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2176
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2177 @defopt idlwave-reindent-end (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2178 Non-@code{nil} means re-indent line after END was typed.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2179 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2180
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2181 @node Padding Operators, Case Changes, Block Boundary Check, Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2182 @subsection Padding Operators
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2183 @cindex Padding operators with spaces
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2184 @cindex Operators, padding with spaces
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2185 @cindex Space, around operators
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2186
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2187 Some operators can be automatically surrounded by spaces. This can
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2188 happen when the operator is typed, or later when the line is indented.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2189 IDLWAVE can pad the operators @samp{<}, @samp{>}, @samp{,}, @samp{=},
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2190 and @samp{->}, as well as the modified assignment operators
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2191 (@samp{AND=}, @samp{OR=}, etc.). This feature is turned off by default.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2192 If you want to turn it on, customize the variables
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2193 @code{idlwave-surround-by-blank} and @code{idlwave-do-actions} and turn
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2194 both on. You can also define similar actions for other operators by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2195 using the function @code{idlwave-action-and-binding} in the mode hook.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2196 For example, to enforce space padding of the @samp{+} and @samp{*}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2197 operators (outside of strings and comments, of course), try this in
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2198 @file{.emacs}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2199
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2200 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2201 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2202 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2203 (setq idlwave-surround-by-blank t) ; Turn this type of actions on
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2204 (idlwave-action-and-binding "*" '(idlwave-surround 1 1))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2205 (idlwave-action-and-binding "+" '(idlwave-surround 1 1))))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2206 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2207
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2208 Note that the modified assignment operators which begin with a word
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2209 (@samp{AND=}, @samp{OR=}, @samp{NOT=}, etc.) require a leading space to
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2210 be recognized (e.g @code{vAND=4} would be intepreted as a variable
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2211 @code{vAND}). Also note that, since e.g., @code{>} and @code{>=} are
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2212 both valid operators, it is impossible to surround both by blanks while
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2213 they are being typed. Similarly with @code{&} and @code{&&}. For
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2214 these, a compromise is made: the padding is placed on the left, and if
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2215 the longer operator is keyed in, on the right as well (otherwise you
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2216 must insert spaces to pad right yourself, or press simply press Tab to
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2217 repad everything if @code{idlwave-do-actions} is on).
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2218
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2219 @defopt idlwave-surround-by-blank (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2220 Non-@code{nil} means enable @code{idlwave-surround}. If non-@code{nil},
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2221 @samp{=}, @samp{<}, @samp{>}, @samp{&}, @samp{,}, @samp{->}, and the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2222 modified assignment operators (@samp{AND=}, @samp{OR=}, etc.) are
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2223 surrounded with spaces by @code{idlwave-surround}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2224 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2225
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2226 @defopt idlwave-pad-keyword (@code{t})
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2227 Non-@code{nil} means space-pad the @samp{=} in keyword assignments.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2228 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2229
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2230 @node Case Changes, , Padding Operators, Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2231 @subsection Case Changes
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2232 @cindex Case changes
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2233 @cindex Upcase, enforcing for reserved words
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2234 @cindex Downcase, enforcing for reserved words
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2235
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2236 Actions can be used to change the case of reserved words or expanded
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2237 abbreviations by customizing the variables
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2238 @code{idlwave-abbrev-change-case} and
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2239 @code{idlwave-reserved-word-upcase}. If you want to change the case of
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2240 additional words automatically, put something like the following into
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2241 your @file{.emacs} file:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2242
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2243 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2244 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2245 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2246 ;; Capitalize system vars
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2247 (idlwave-action-and-binding idlwave-sysvar '(capitalize-word 1) t)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2248 ;; Capitalize procedure name
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2249 (idlwave-action-and-binding "\\<\\(pro\\|function\\)\\>[ \t]*\\<"
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2250 '(capitalize-word 1) t)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2251 ;; Capitalize common block name
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2252 (idlwave-action-and-binding "\\<common\\>[ \t]+\\<"
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2253 '(capitalize-word 1) t)))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2254 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2255
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2256 For more information, see the documentation string for the function
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2257 @code{idlwave-action-and-binding}. For information on controlling the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2258 case of routines, keywords, classes, and methods as they are completed, see
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2259 @ref{Completion}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2260
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2261 @defopt idlwave-abbrev-change-case (@code{nil})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2262 Non-@code{nil} means all abbrevs will be forced to either upper or lower
60927
bae786986f2e * calc.texi, cl.texi, gnus.texi, idlwave.texi, reftex.texi: Replace
Werner LEMBERG <wl@gnu.org>
parents: 60880
diff changeset
2263 case. Valid values are @code{nil}, @code{t}, and @code{down}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2264 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2265
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2266 @defopt idlwave-reserved-word-upcase (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2267 Non-@code{nil} means reserved words will be made upper case via abbrev
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2268 expansion.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2269 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2270
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2271
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2272 @node Doc Header, Motion Commands, Actions, The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2273 @section Documentation Header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2274 @cindex Documentation header
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2275 @cindex DocLib header
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2276 @cindex Modification timestamp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2277 @cindex Header, for file documentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2278 @cindex Timestamp, in doc header.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2279 @cindex Changelog, in doc header.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2280
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2281 @kindex C-c C-h
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2282 @kindex C-c C-m
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2283 The command @kbd{C-c C-h} inserts a standard routine header into the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2284 buffer, with the usual fields for documentation (a different header can
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2285 be specified with @code{idlwave-file-header}). One of the keywords is
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2286 @samp{MODIFICATION HISTORY} under which the changes to a routine can be
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2287 recorded. The command @kbd{C-c C-m} jumps to the @samp{MODIFICATION
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2288 HISTORY} of the current routine or file and inserts the user name with a
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2289 timestamp.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2290
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2291 @defopt idlwave-file-header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2292 The doc-header template or a path to a file containing it.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2293 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2294
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2295 @defopt idlwave-header-to-beginning-of-file (@code{nil})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2296 Non-@code{nil} means the documentation header will always be at start
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2297 of file.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2298 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2299
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2300 @defopt idlwave-timestamp-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2301 The hook function used to update the timestamp of a function.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2302 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2303
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2304 @defopt idlwave-doc-modifications-keyword
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2305 The modifications keyword to use with the log documentation commands.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2306 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2307
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2308 @defopt idlwave-doclib-start
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2309 Regexp matching the start of a document library header.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2310 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2311
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2312 @defopt idlwave-doclib-end
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2313 Regexp matching the start of a document library header.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2314 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2315
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2316 @node Motion Commands, Misc Options, Doc Header, The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2317 @section Motion Commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2318 @cindex Motion commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2319 @cindex Program structure, moving through
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2320 @cindex Code structure, moving through
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2321 @cindex @file{Func-menu}, XEmacs package
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2322 @cindex @file{Imenu}, Emacs package
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2323 @cindex Function definitions, jumping to
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2324 @cindex Procedure definitions, jumping to
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2325
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2326 IDLWAVE supports both @file{Imenu} and @file{Func-menu}, two packages
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2327 which make it easy to jump to the definitions of functions and
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2328 procedures in the current file with a pop-up selection. To bind
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2329 @file{Imenu} to a mouse-press, use in your @file{.emacs}:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2330
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2331 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2332 (define-key global-map [S-down-mouse-3] 'imenu)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2333 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2334
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2335 @cindex @file{Speedbar}, Emacs package
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2336
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2337 In addition, @file{Speedbar} support allows convenient navigation of a
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2338 source tree of IDL routine files, quickly stepping to routine
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2339 definitions. See @code{Tools->Display Speedbar}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2340
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2341 Several commands allow you to move quickly through the structure of an
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2342 IDL program:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2343
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2344 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2345 @item @kbd{C-M-a}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2346 @tab Beginning of subprogram
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2347 @item @kbd{C-M-e}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2348 @tab End of subprogram
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2349 @item @kbd{C-c @{}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2350 @tab Beginning of block (stay inside the block)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2351 @item @kbd{C-c @}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2352 @tab End of block (stay inside the block)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2353 @item @kbd{C-M-n}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2354 @tab Forward block (on same level)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2355 @item @kbd{C-M-p}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2356 @tab Backward block (on same level)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2357 @item @kbd{C-M-d}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2358 @tab Down block (enters a block)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2359 @item @kbd{C-M-u}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2360 @tab Backward up block (leaves a block)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2361 @item @kbd{C-c C-n}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2362 @tab Next Statement
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2363 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2364
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2365
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2366 @node Misc Options, , Motion Commands, The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2367 @section Miscellaneous Options
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2368 @cindex Hooks
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2369
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2370 @defopt idlwave-help-application
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2371 The external application providing reference help for programming.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2372 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2373
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2374 @defopt idlwave-startup-message (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2375 Non-@code{nil} means display a startup message when @code{idlwave-mode}'
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2376 is first called.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2377 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2378
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2379 @defopt idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2380 Normal hook. Executed when a buffer is put into @code{idlwave-mode}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2381 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2382
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2383 @defopt idlwave-load-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2384 Normal hook. Executed when @file{idlwave.el} is loaded.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2385 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2386
60880
78ef32e30574 Don't say where to get IDL or its non-free manual.
Richard M. Stallman <rms@gnu.org>
parents: 58527
diff changeset
2387 @node The IDLWAVE Shell, Acknowledgements, The IDLWAVE Major Mode, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2388 @chapter The IDLWAVE Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2389 @cindex IDLWAVE shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2390 @cindex Major mode, @code{idlwave-shell-mode}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2391 @cindex IDL, as Emacs subprocess
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2392 @cindex Subprocess of Emacs, IDL
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2393 @cindex Comint, Emacs package
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2394 @cindex Windows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2395 @cindex MacOS
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2396
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2397 The IDLWAVE shell is an Emacs major mode which permits running the IDL
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2398 program as an inferior process of Emacs, and works closely with the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2399 IDLWAVE major mode in buffers. It can be used to work with IDL
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2400 interactively, to compile and run IDL programs in Emacs buffers and to
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2401 debug these programs. The IDLWAVE shell is built on @file{comint}, an
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2402 Emacs packages which handles the communication with the IDL program.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2403 Unfortunately, IDL for Windows does not have command-prompt versions and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2404 thus do not allow the interaction with Emacs --- so the IDLWAVE shell
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2405 currently only works under Unix and MacOSX.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2406
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2407 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2408 * Starting the Shell:: How to launch IDL as a subprocess
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2409 * Using the Shell:: Interactively working with the Shell
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2410 * Commands Sent to the Shell::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2411 * Debugging IDL Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2412 * Examining Variables::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2413 * Custom Expression Examination::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2414 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2415
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2416 @node Starting the Shell, Using the Shell, The IDLWAVE Shell, The IDLWAVE Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2417 @section Starting the Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2418 @cindex Starting the shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2419 @cindex Shell, starting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2420 @cindex Dedicated frame, for shell buffer
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2421 @cindex Frame, for shell buffer
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2422 @cindex Subprocess of Emacs, IDL
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2423
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2424 @kindex C-c C-s
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2425 The IDLWAVE shell can be started with the command @kbd{M-x
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2426 idlwave-shell}. In @code{idlwave-mode} the function is bound to
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2427 @kbd{C-c C-s}. It creates a buffer @file{*idl*} which is used to
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2428 interact with the shell. If the shell is already running, @kbd{C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2429 C-s} will simply switch to the shell buffer. The command @kbd{C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2430 C-l} (@code{idlwave-shell-recenter-shell-window}) displays the shell
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2431 window without selecting it. The shell can also be started
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2432 automatically when another command tries to send a command to it. To
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2433 enable auto start, set the variable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2434 @code{idlwave-shell-automatic-start} to @code{t}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2435
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2436 In order to create a separate frame for the IDLWAVE shell buffer, call
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2437 @code{idlwave-shell} with a prefix argument: @kbd{C-u C-c C-s} or
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2438 @kbd{C-u C-c C-l}. If you always want a dedicated frame for the shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2439 window, configure the variable
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2440 @code{idlwave-shell-use-dedicated-frame}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2441
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2442 To launch a quick IDLWAVE shell directly from a shell prompt without
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2443 an IDLWAVE buffer (e.g., as a replacement for running inside an
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2444 xterm), define a system alias with the following content:
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2445
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2446 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2447 emacs -geometry 80x32 -eval "(idlwave-shell 'quick)"
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2448 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2449
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2450 Replace the @samp{-geometry 80x32} option with @samp{-nw} if you prefer
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2451 the Emacs process to run directly inside the terminal window.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2452
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2453 @cindex ENVI
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2454 @cindex IDL> Prompt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2455
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2456 To use IDLWAVE with ENVI or other custom packages which change the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2457 @samp{IDL> } prompt, you must change the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2458 @code{idlwave-shell-prompt-pattern}, which defaults to @samp{"^ ?IDL>
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2459 "}. Normally, you can just replace the @samp{IDL} in this expression
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2460 with the prompt you see. A suitable pattern which matches the prompt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2461 for both ENVI and IDL simultaneously is @samp{"^ ?\\(ENVI\\|IDL\\)> "}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2462
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2463 @defopt idlwave-shell-explicit-file-name (@file{idl})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2464 This is the command to run IDL.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2465 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2466
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2467 @defopt idlwave-shell-command-line-options
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2468 A list of command line options for calling the IDL program.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2469 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2470
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2471 @defopt idlwave-shell-prompt-pattern
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2472 Regexp to match IDL prompt at beginning of a line.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2473 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2474
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2475 @defopt idlwave-shell-process-name
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2476 Name to be associated with the IDL process.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2477 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2478
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2479 @defopt idlwave-shell-automatic-start (@code{nil})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2480 Non-@code{nil} means attempt to invoke idlwave-shell if not already
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2481 running.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2482 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2483
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2484 @defopt idlwave-shell-initial-commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2485 Initial commands, separated by newlines, to send to IDL.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2486 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2487
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2488 @defopt idlwave-shell-save-command-history (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2489 Non-@code{nil} means preserve command history between sessions.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2490 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2491
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2492 @defopt idlwave-shell-command-history-file (@file{~/.idlwave/.idlwhist})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2493 The file in which the command history of the idlwave shell is saved.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2494 Unless it's an absolute path, it goes in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2495 @code{idlwave-config-directory}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2496 @end defopt
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2497
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2498 @defopt idlwave-shell-use-dedicated-frame (@code{nil})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2499 Non-@code{nil} means IDLWAVE should use a special frame to display the
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47737
diff changeset
2500 shell buffer.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2501 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2502
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2503 @defopt idlwave-shell-use-dedicated-window (@code{nil})
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2504 Non-@code{nil} means use a dedicated window for the shell, taking care
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2505 not it replace it with other buffers.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2506 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2507
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2508 @defopt idlwave-shell-frame-parameters
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2509 The frame parameters for a dedicated idlwave-shell frame.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2510 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2511
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2512 @defopt idlwave-shell-raise-frame (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2513 Non-@code{nil} means `idlwave-shell' raises the frame showing the shell
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2514 window.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2515 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2516
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2517 @defopt idlwave-shell-temp-pro-prefix
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2518 The prefix for temporary IDL files used when compiling regions.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2519 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2520
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2521 @cindex Hooks
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2522 @defopt idlwave-shell-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2523 Hook for customizing @code{idlwave-shell-mode}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2524 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2525
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2526 @node Using the Shell, Commands Sent to the Shell, Starting the Shell, The IDLWAVE Shell
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2527 @section Using the Shell
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2528 @cindex Comint
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2529 @cindex Shell, basic commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2530
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2531 The IDLWAVE shell works in the same fashion as other shell modes in
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2532 Emacs. It provides command history, command line editing and job
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2533 control. The @key{UP} and @key{DOWN} arrows cycle through the input
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2534 history just like in an X terminal@footnote{This is different from
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2535 normal Emacs/Comint behavior, but more like an xterm. If you prefer the
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2536 default comint functionality, check the variable
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2537 @code{idlwave-shell-arrows-do-history}.}. The history is preserved
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2538 between emacs and IDL sessions. Here is a list of commonly used
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2539 commands:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2540
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2541 @multitable @columnfractions .12 .88
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2542 @item @key{UP}, @key{M-p}
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2543 @tab Cycle backwards in input history
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2544 @item @key{DOWN}, @key{M-n}
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2545 @tab Cycle forwards in input history
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2546 @item @kbd{M-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2547 @tab Previous input matching a regexp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2548 @item @kbd{M-s}
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2549 @tab Next input matching a regexp
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2550 @item @kbd{return}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2551 @tab Send input or copy line to current prompt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2552 @item @kbd{C-c C-a}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2553 @tab Beginning of line; skip prompt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2554 @item @kbd{C-c C-u}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2555 @tab Kill input to beginning of line
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2556 @item @kbd{C-c C-w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2557 @tab Kill word before cursor
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2558 @item @kbd{C-c C-c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2559 @tab Send ^C
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2560 @item @kbd{C-c C-z}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2561 @tab Send ^Z
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2562 @item @kbd{C-c C-\}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2563 @tab Send ^\
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2564 @item @kbd{C-c C-o}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2565 @tab Delete last batch of process output
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2566 @item @kbd{C-c C-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2567 @tab Show last batch of process output
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2568 @item @kbd{C-c C-l}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2569 @tab List input history
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2570 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2571
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2572 In addition to these standard @file{comint} commands,
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2573 @code{idlwave-shell-mode} provides many of the same commands which
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2574 simplify writing IDL code available in IDLWAVE buffers. This includes
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2575 abbreviations, online help, and completion. See @ref{Routine Info} and
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2576 @ref{Online Help} and @ref{Completion} for more information on these
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2577 commands.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2578
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2579 @cindex Completion, in the shell
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2580 @cindex Routine info, in the shell
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2581 @cindex Online Help, in the shell
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2582 @multitable @columnfractions .12 .88
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2583 @item @kbd{@key{TAB}}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2584 @tab Completion of file names (between quotes and after executive
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2585 commands @samp{.run} and @samp{.compile}), routine names, class names,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2586 keywords, system variables, system variable tags etc.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2587 (@code{idlwave-shell-complete}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2588 @item @kbd{M-@key{TAB}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2589 @tab Same as @key{TAB}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2590 @item @kbd{C-c ?}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2591 @tab Routine Info display (@code{idlwave-routine-info})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2592 @item @kbd{M-?}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2593 @tab IDL online help on routine (@code{idlwave-routine-info-from-idlhelp})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2594 @item @kbd{C-c C-i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2595 @tab Update routine info from buffers and shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2596 (@code{idlwave-update-routine-info})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2597 @item @kbd{C-c C-v}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2598 @tab Find the source file of a routine (@code{idlwave-find-module})
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2599 @item @kbd{C-c C-t}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2600 @tab Find the source file of a routine in the currently visited file
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2601 (@code{idlwave-find-module-this-file}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2602 @item @kbd{C-c =}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2603 @tab Compile a library routine (@code{idlwave-resolve})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2604 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2605
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2606 @defopt idlwave-shell-arrows-do-history (@code{t})
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2607 Non-@code{nil} means @key{UP} and @key{DOWN} arrows move through command
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2608 history like xterm.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2609 @end defopt
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2610
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2611 @defopt idlwave-shell-comint-settings
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2612 Alist of special settings for the comint variables in the IDLWAVE Shell.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2613 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2614
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2615 @defopt idlwave-shell-file-name-chars
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2616 The characters allowed in file names, as a string. Used for file name
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2617 completion.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2618 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2619
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2620 @defopt idlwave-shell-graphics-window-size
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2621 Size of IDL graphics windows popped up by special IDLWAVE command.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2622 @end defopt
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2623
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2624 @cindex Input mode
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2625 @cindex Character input mode (Shell)
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2626 @cindex Line input mode (Shell)
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2627 @cindex Magic spells, for input mode
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2628 @cindex Spells, magic
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2629 IDLWAVE works in line input mode: You compose a full command line, using
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2630 all the power Emacs gives you to do this. When you press @key{RET}, the
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2631 whole line is sent to IDL. Sometimes it is necessary to send single
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2632 characters (without a newline), for example when an IDL program is
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2633 waiting for single character input with the @code{GET_KBRD} function.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2634 You can send a single character to IDL with the command @kbd{C-c C-x}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2635 (@code{idlwave-shell-send-char}). When you press @kbd{C-c C-y}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2636 (@code{idlwave-shell-char-mode-loop}), IDLWAVE runs a blocking loop
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2637 which accepts characters and immediately sends them to IDL. The loop
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2638 can be exited with @kbd{C-g}. It terminates also automatically when the
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2639 current IDL command is finished. Check the documentation of the two
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2640 variables described below for a way to make IDL programs trigger
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2641 automatic switches of the input mode.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2642
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2643 @defopt idlwave-shell-use-input-mode-magic (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2644 Non-@code{nil} means IDLWAVE should check for input mode spells in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2645 output.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2646 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2647
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2648 @defopt idlwave-shell-input-mode-spells
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2649 The three regular expressions which match the magic spells for input
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2650 modes.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2651 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2652
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2653 @node Commands Sent to the Shell, Debugging IDL Programs, Using the Shell, The IDLWAVE Shell
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2654 @section Commands Sent to the Shell
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2655 @cindex Commands in shell, showing
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2656 @cindex Showing commands in shell
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2657
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2658 The IDLWAVE buffers and shell interact very closely. In addition to the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2659 normal commands you enter at the @code{IDL>} prompt, many other special
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2660 commands are sent to the shell, sometimes as a direct result of invoking
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2661 a key command, menu item, or toolbar button, but also automatically, as
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2662 part of the normal flow of information updates between the buffer and
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2663 shell.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2664
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2665 The commands sent include @code{breakpoint}, @code{.step} and other
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2666 debug commands (@pxref{Debugging IDL Programs}), @code{.run} and other
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2667 compilation statements (@pxref{Compiling Programs}), examination
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2668 commands like @code{print} and @code{help} (@pxref{Examining
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2669 Variables}), and other special purpose commands designed to keep
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2670 information on the running shell current.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2671
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2672 By default, much of this background shell input and output is hidden
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2673 from the user, but this is configurable. The custom variable
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2674 @code{idlwave-abbrev-show-commands} allows you to configure which
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2675 commands sent to the shell are shown there. For a related customization
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2676 for separating the output of @emph{examine} commands, see @ref{Examining
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2677 Variables}.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2678
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2679 @defopt idlwave-shell-show-commands (@code{'(run misc breakpoint)})
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2680 A list of command types to echo in the shell when sent. Possible values
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2681 are @code{run} for @code{.run}, @code{.compile} and other run commands,
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2682 @code{misc} for lesser used commands like @code{window},
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2683 @code{retall},@code{close}, etc., @code{breakpoint} for breakpoint
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2684 setting and clearing commands, and @code{debug} for other debug,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2685 stepping, and continue commands. In addition, if the variable is set to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2686 the single symbol @code{'everything}, all the copious shell input is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2687 displayed (which is probably only useful for debugging purposes).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2688 N.B. For hidden commands which produce output by side-effect, that
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2689 output remains hidden (e.g., stepping through a @code{print} command).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2690 As a special case, any error message in the output will be displayed
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2691 (e.g., stepping to an error).
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2692 @end defopt
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2693
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2694 @node Debugging IDL Programs, Examining Variables, Commands Sent to the Shell, The IDLWAVE Shell
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2695 @section Debugging IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2696 @cindex Debugging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2697 @cindex Keybindings for debugging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2698 @cindex Toolbar
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2699
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2700 Programs can be compiled, run, and debugged directly from the source
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2701 buffer in Emacs, walking through arbitrarily deeply nested code,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2702 printing expressions and skipping up and down the calling stack along
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2703 the way. IDLWAVE makes compiling and debugging IDL programs far less
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2704 cumbersome by providing a full-featured, key/menu/toolbar-driven
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2705 interface to commands like @code{breakpoint}, @code{.step},
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2706 @code{.run}, etc. It can even perform complex debug operations not
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2707 natively supported by IDL (like continuing to the line at the cursor).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2708
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2709 The IDLWAVE shell installs key bindings both in the shell buffer and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2710 in all IDL code buffers of the current Emacs session, so debug
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2711 commands work in both places (in the shell, commands operate on the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2712 last file compiled). On Emacs versions which support it, a debugging
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2713 toolbar is also installed. The toolbar display can be toggled with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2714 @kbd{C-c C-d C-t} (@code{idlwave-shell-toggle-toolbar}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2715
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2716
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2717 @defopt idlwave-shell-use-toolbar (@code{t})
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2718 Non-@code{nil} means use the debugging toolbar in all IDL related
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2719 buffers.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2720 @end defopt
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2721
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2722 @menu
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2723 * A Tale of Two Modes::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2724 * Debug Key Bindings::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2725 * Breakpoints and Stepping::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2726 * Compiling Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2727 * Walking the Calling Stack::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2728 * Electric Debug Mode::
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2729 @end menu
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2730
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2731
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2732 @node A Tale of Two Modes, Debug Key Bindings, Debugging IDL Programs, Debugging IDL Programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2733 @subsection A Tale of Two Modes
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2734 @cindex Electric Debug Mode
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2735 @cindex Debugging Interface
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2736
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2737 The many debugging, compiling, and examination commands provided in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2738 IDLWAVE are available simultaneously through two different interfaces:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2739 the original, multi-key command interface, and the new Electric Debug
65575
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2740 Mode. The functionality they offer is similar, but the way you interact
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2741 with them is quite different. The main difference is that, in Electric
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2742 Debug Mode, the source buffers are made read-only, and single
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2743 key-strokes are used to step through, examine expressions, set and
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2744 remove breakpoints, etc. The same variables, prefix arguments, and
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2745 settings apply to both versions, and both can be used interchangeably.
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2746 By default, when breakpoints are hit, Electric Debug Mode is enabled.
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2747 The traditional interface is described first. @xref{Electric Debug
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2748 Mode}, for more on that mode. Note that electric debug mode can be
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2749 prevented from activating automatically by customizing the variable
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2750 @code{idlwave-shell-automatic-electric-debug}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2751
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2752 @node Debug Key Bindings, Breakpoints and Stepping, A Tale of Two Modes, Debugging IDL Programs
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2753 @subsection Debug Key Bindings
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2754 @kindex C-c C-d
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2755 @cindex Key bindings
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2756
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2757 The standard debugging key bindings are always available by default on
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2758 the prefix key @kbd{C-c C-d}, so, for example, setting a breakpoint is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2759 done with @kbd{C-c C-d C-b}, and compiling a source file with @kbd{C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2760 C-d C-c}. You can also easily configure IDLWAVE to use one or more
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2761 modifier keys not in use by other commands, in lieu of the prefix
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2762 @kbd{C-c C-d} (though these bindings will typically also be available
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2763 --- see @code{idlwave-shell-activate-prefix-keybindings}). For
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2764 example, if you include in @file{.emacs}:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2765
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2766 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2767 (setq idlwave-shell-debug-modifiers '(control shift))
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2768 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2769
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2770 @noindent a breakpoint can then be set by pressing @kbd{b} while holding down
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2771 @kbd{shift} and @kbd{control} keys, i.e. @kbd{C-S-b}. Compiling a
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2772 source file will be on @kbd{C-S-c}, deleting a breakpoint @kbd{C-S-d},
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2773 etc. In the remainder of this chapter we will assume that the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2774 @kbd{C-c C-d} bindings are active, but each of these bindings will
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2775 have an equivalent shortcut if modifiers are given in the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2776 @code{idlwave-shell-debug-modifiers} variable (@pxref{Lesson II --
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2777 Customization}). A much simpler and faster form of debugging for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2778 running code is also available by default --- see @ref{Electric Debug
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2779 Mode}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2780
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2781 @defopt idlwave-shell-prefix-key (@kbd{C-c C-d})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2782 The prefix key for the debugging map
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2783 @code{idlwave-shell-mode-prefix-map}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2784 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2785
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2786 @defopt idlwave-shell-activate-prefix-keybindings (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2787 Non-@code{nil} means debug commands will be bound to the prefix
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2788 key, like @kbd{C-c C-d C-b}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2789 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2790
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2791 @defopt idlwave-shell-debug-modifiers (@code{nil})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2792 List of modifier keys to use for additional, alternative binding of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2793 debugging commands in the shell and source buffers. Can be one or
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2794 more of @code{control}, @code{meta}, @code{super}, @code{hyper},
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2795 @code{alt}, and @code{shift}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2796 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2797
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2798 @node Breakpoints and Stepping, Compiling Programs, Debug Key Bindings, Debugging IDL Programs
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2799 @subsection Breakpoints and Stepping
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2800 @cindex Breakpoints
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2801 @cindex Stepping
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2802 @cindex Execution, controlled
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2803
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2804 @kindex C-c C-d C-b
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2805 @kindex C-c C-d C-b
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2806 IDLWAVE helps you set breakpoints and step through code. Setting a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2807 breakpoint in the current line of the source buffer is accomplished
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2808 with @kbd{C-c C-d C-b} (@code{idlwave-shell-break-here}). With a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2809 prefix arg of 1 (i.e. @kbd{C-1 C-c C-d C-b}), the breakpoint gets a
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2810 @code{/ONCE} keyword, meaning that it will be deleted after first use.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2811 With a numeric prefix greater than one (e.g. @kbd{C-4 C-c C-d C-b}),
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2812 the breakpoint will only be active the @code{nth} time it is hit.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2813 With a single non-numeric prefix (i.e. @kbd{C-u C-c C-d C-b}), prompt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2814 for a condition --- an IDL expression to be evaulated and trigger the
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2815 breakpoint only if true. To clear the breakpoint in the current line,
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2816 use @kbd{C-c C-d C-d} (@code{idlwave-clear-current-bp}). When
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2817 executed from the shell window, the breakpoint where IDL is currently
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2818 stopped will be deleted. To clear all breakpoints, use @kbd{C-c C-d
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2819 C-a} (@code{idlwave-clear-all-bp}). Breakpoints can also be disabled
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2820 and re-enabled: @kbd{C-c C-d C-\}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2821 (@code{idlwave-shell-toggle-enable-current-bp}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2822
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2823 Breakpoint lines are highlighted or indicated with an icon in the source
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2824 code (different icons for conditional, after, and other break types).
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2825 Disabled breakpoints are @emph{grayed out} by default. Note that IDL
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2826 places breakpoints as close as possible on or after the line you
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2827 specify. IDLWAVE queries the shell for the actual breakpoint location
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2828 which was set, so the exact line you specify may not be marked. You can
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2829 re-sync the breakpoint list and update the display at any time (e.g., if
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2830 you add or remove some on the command line) using @kbd{C-c C-d C-l}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2831
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2832 In recent IDLWAVE versions, the breakpoint line is highlighted when the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2833 mouse is moved over it, and a tooltip pops up describing the break
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2834 details. @kbd{Mouse-3} on the breakpoint line pops up a menu of
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2835 breakpoint actions, including clearing, disabling, and adding or
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2836 changing break conditions or ``after'' break count.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2837
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2838 Once the program has stopped somewhere, you can step through it. The
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2839 most important stepping commands are @kbd{C-c C-d C-s} to execute one
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2840 line of IDL code ("step into"); @kbd{C-c C-d C-n} to step a single line,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2841 treating procedure and function calls as a single step ("step over");
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2842 @kbd{C-c C-d C-h} to continue execution to the line at the cursor and
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2843 @kbd{C-c C-d C-r} to continue execution. @xref{Commands Sent to the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2844 Shell}, for information on displaying or hiding the breakpoint and
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2845 stepping commands the shell receives. Here is a summary of the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2846 breakpoint and stepping commands:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2847
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2848 @multitable @columnfractions .23 .77
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2849 @item @kbd{C-c C-d C-b}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2850 @tab Set breakpoint (@code{idlwave-shell-break-here})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2851 @item @kbd{C-c C-d C-i}
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2852 @tab Set breakpoint in module named here (@code{idlwave-shell-break-in})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2853 @item @kbd{C-c C-d C-d}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2854 @tab Clear current breakpoint (@code{idlwave-shell-clear-current-bp})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2855 @item @kbd{C-c C-d C-a}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2856 @tab Clear all breakpoints (@code{idlwave-shell-clear-all-bp})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2857 @item @kbd{C-c C-d [}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2858 @tab Go to the previous breakpoint (@code{idlwave-shell-goto-previous-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2859 @item @kbd{C-c C-d ]}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2860 @tab Go to the next breakpoint (@code{idlwave-shell-goto-next-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2861 @item @kbd{C-c C-d C-\}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2862 @tab Disable/Enable current breakpoint (@code{idlwave-shell-toggle-enable-current-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2863 @item @kbd{C-c C-d C-j}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2864 @tab Set a breakpoint at the beginning of the enclosing routine.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2865 @item @kbd{C-c C-d C-s}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2866 @tab Step, into function calls (@code{idlwave-shell-step})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2867 @item @kbd{C-c C-d C-n}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2868 @tab Step, over function calls (@code{idlwave-shell-stepover})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2869 @item @kbd{C-c C-d C-k}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2870 @tab Skip one statement (@code{idlwave-shell-skip})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2871 @item @kbd{C-c C-d C-u}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2872 @tab Continue to end of block (@code{idlwave-shell-up})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2873 @item @kbd{C-c C-d C-m}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2874 @tab Continue to end of function (@code{idlwave-shell-return})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2875 @item @kbd{C-c C-d C-o}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2876 @tab Continue past end of function (@code{idlwave-shell-out})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2877 @item @kbd{C-c C-d C-h}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2878 @tab Continue to line at cursor position (@code{idlwave-shell-to-here})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2879 @item @kbd{C-c C-d C-r}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2880 @tab Continue execution to next breakpoint, if any (@code{idlwave-shell-cont})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2881 @item @kbd{C-c C-d C-up}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2882 @tab Show higher level in calling stack (@code{idlwave-shell-stack-up})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2883 @item @kbd{C-c C-d C-down}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2884 @tab Show lower level in calling stack (@code{idlwave-shell-stack-down})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2885 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2886
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2887 All of these commands have equivalents in Electric Debug Mode, which
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2888 provides faster single-key access (@pxref{Electric Debug Mode}).
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2889
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2890 The line where IDL is currently stopped, at breakpoints, halts, and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2891 errors, etc., is marked with a color overlay or arrow, depending on the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2892 setting in @code{idlwave-shell-mark-stop-line}. If an overlay face is
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2893 used to mark the stop line (as it is by default), when stepping through
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2894 code, the face color is temporarily changed to gray, until IDL completes
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2895 the next command and moves to the new line.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2896
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2897 @defopt idlwave-shell-mark-breakpoints (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2898 Non-@code{nil} means mark breakpoints in the source file buffers. The
60927
bae786986f2e * calc.texi, cl.texi, gnus.texi, idlwave.texi, reftex.texi: Replace
Werner LEMBERG <wl@gnu.org>
parents: 60880
diff changeset
2899 value indicates the preferred method. Valid values are @code{nil},
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2900 @code{t}, @code{face}, and @code{glyph}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2901 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2902
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2903 @defopt idlwave-shell-breakpoint-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2904 The face for breakpoint lines in the source code if
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2905 @code{idlwave-shell-mark-breakpoints} has the value @code{face}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2906 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2907
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2908 @defopt idlwave-shell-breakpoint-popup-menu (@code{t})
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2909 Whether to pop-up a menu and present a tooltip description on
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2910 breakpoint lines.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2911 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2912
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2913 @defopt idlwave-shell-mark-stop-line (@code{t})
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2914 Non-@code{nil} means mark the source code line where IDL is currently
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2915 stopped. The value specifies the preferred method. Valid values are
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2916 @code{nil}, @code{t}, @code{arrow}, and @code{face}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2917 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2918
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2919 @defopt idlwave-shell-overlay-arrow (@code{">"})
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2920 The overlay arrow to display at source lines where execution halts, if
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2921 configured in @code{idlwave-shell-mark-stop-line}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2922 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2923
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2924 @defopt idlwave-shell-stop-line-face
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2925 The face which highlights the source line where IDL is stopped, if
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2926 configured in @code{idlwave-shell-mark-stop-line}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2927 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2928
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2929
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2930 @node Compiling Programs, Walking the Calling Stack, Breakpoints and Stepping, Debugging IDL Programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2931 @subsection Compiling Programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2932 @cindex Compiling programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2933 @cindex Programs, compiling
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2934 @cindex Default command line, executing
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2935 @cindex Executing a default command line
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2936
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2937 @kindex C-c C-d C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2938 In order to compile the current buffer under the IDLWAVE shell, press
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2939 @kbd{C-c C-d C-c} (@code{idlwave-save-and-run}). This first saves the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2940 current buffer and then sends the command @samp{.run path/to/file} to the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2941 shell. You can also execute @kbd{C-c C-d C-c} from the shell buffer, in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2942 which case the most recently compiled buffer will be saved and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2943 re-compiled.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2944
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2945 When developing or debugging a program, it is often necessary to execute
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2946 the same command line many times. A convenient way to do this is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2947 @kbd{C-c C-d C-y} (@code{idlwave-shell-execute-default-command-line}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2948 This command first resets IDL from a state of interrupted execution by
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2949 closing all files and returning to the main interpreter level. Then a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2950 default command line is send to the shell. To edit the default command
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2951 line, call @code{idlwave-shell-execute-default-command-line} with a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2952 prefix argument: @kbd{C-u C-c C-d C-y}. If no default command line has
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2953 been set (or you give two prefix arguments), the last command on the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2954 @code{comint} input history is sent.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2955
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2956 @node Walking the Calling Stack, Electric Debug Mode, Compiling Programs, Debugging IDL Programs
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2957 @subsection Walking the Calling Stack
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2958 @cindex Calling stack, walking
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2959
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2960 While debugging a program, it can be very useful to check the context in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2961 which the current routine was called, for instance to help understand
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2962 the value of the arguments passed. To do so conveniently you need to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2963 examine the calling stack. If execution is stopped somewhere deep in a
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2964 program, you can use the commands @kbd{C-c C-d C-@key{UP}}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2965 (@code{idlwave-shell-stack-up}) and @kbd{C-c C-d C-@key{DOWN}}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2966 (@code{idlwave-shell-stack-down}), or the corresponding toolbar buttons,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2967 to move up or down through the calling stack. The mode line of the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2968 shell window will indicate the position within the stack with a label
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2969 like @samp{[-3:MYPRO]}. The line of IDL code at that stack position
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2970 will be highlighted. If you continue execution, IDLWAVE will
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2971 automatically return to the current level. @xref{Examining Variables},
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2972 for information how to examine the value of variables and expressions on
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2973 higher calling stack levels.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2974
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2975 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2976 <A NAME="EDEBUG"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2977 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2978 @node Electric Debug Mode, , Walking the Calling Stack, Debugging IDL Programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2979 @subsection Electric Debug Mode
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2980 @cindex Electric Debug Mode
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2981 @cindex @samp{*Debugging*}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2982
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2983 Even with a convenient debug key prefix enabled, repetitive stepping,
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2984 variable examination (@pxref{Examining Variables}), and other debugging
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2985 activities can be awkward and slow using commands which require multiple
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2986 keystrokes. Luckily, there's a better way, inspired by the lisp e-debug
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2987 mode, and available through the @emph{Electric Debug Mode}. By default,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2988 as soon as a breakpoint is hit, this minor mode is enabled. The buffer
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2989 showing the line where execution has halted is switched to Electric
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2990 Debug Mode. This mode is visible as @samp{*Debugging*} in the mode
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2991 line, and a different face (violet by default, if color is available)
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2992 for the line stopped at point. The buffer is made read-only and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2993 single-character bindings for the most commonly used debugging commands
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2994 are enabled. These character commands (a list of which is available
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2995 with @kbd{C-?}) are:
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2996
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2997 @multitable @columnfractions .2 .8
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2998 @item @kbd{a}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2999 @tab Clear all breakpoints (@code{idlwave-shell-clear-all-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3000 @item @kbd{b}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3001 @tab Set breakpoint, @kbd{C-u b} for a conditional break, @kbd{C-n b} for nth hit (@code{idlwave-shell-break-here})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3002 @item @kbd{d}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3003 @tab Clear current breakpoint (@code{idlwave-shell-clear-current-bp})
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3004 @item @kbd{e}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3005 @tab Prompt for expression to print (@code{idlwave-shell-clear-current-bp}).
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3006 @item @kbd{h}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3007 @tab Continue to the line at cursor position (@code{idlwave-shell-to-here})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3008 @item @kbd{i}
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3009 @tab Set breakpoint in module named here (@code{idlwave-shell-break-in})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3010 @item @kbd{[}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3011 @tab Go to the previous breakpoint in the file (@code{idlwave-shell-goto-previous-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3012 @item @kbd{]}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3013 @tab Go to the next breakpoint in the file
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3014 (@code{idlwave-shell-goto-next-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3015 @item @kbd{\}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3016 @tab Disable/Enable current breakpoint (@code{idlwave-shell-toggle-enable-current-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3017 @item @kbd{j}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3018 @tab Set breakpoint at beginning of enclosing routine (@code{idlwave-shell-break-this-module})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3019 @item @kbd{k}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3020 @tab Skip one statement (@code{idlwave-shell-skip})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3021 @item @kbd{m}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3022 @tab Continue to end of function (@code{idlwave-shell-return})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3023 @item @kbd{n}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3024 @tab Step, over function calls (@code{idlwave-shell-stepover})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3025 @item @kbd{o}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3026 @tab Continue past end of function (@code{idlwave-shell-out})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3027 @item @kbd{p}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3028 @tab Print expression near point or in region with @kbd{C-u p} (@code{idlwave-shell-print})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3029 @item @kbd{q}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3030 @tab End the debugging session and return to the Shell's main level
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3031 (@code{idlwave-shell-retall})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3032 @item @kbd{r}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3033 @tab Continue execution to next breakpoint, if any (@code{idlwave-shell-cont})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3034 @item @kbd{s} or @kbd{@key{SPACE}}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3035 @tab Step, into function calls (@code{idlwave-shell-step})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3036 @item @kbd{t}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3037 @tab Print a calling-level traceback in the shell
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3038 @item @kbd{u}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3039 @tab Continue to end of block (@code{idlwave-shell-up})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3040 @item @kbd{v}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3041 @tab Turn Electric Debug Mode off
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3042 (@code{idlwave-shell-electric-debug-mode})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3043 @item @kbd{x}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3044 @tab Examine expression near point (or in region with @kbd{C-u x})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3045 with shortcut of examine type.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3046 @item @kbd{z}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3047 @tab Reset IDL (@code{idlwave-shell-reset})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3048 @item @kbd{+} or @kbd{=}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3049 @tab Show higher level in calling stack (@code{idlwave-shell-stack-up})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3050 @item @kbd{-} or @kbd{_}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3051 @tab Show lower level in calling stack (@code{idlwave-shell-stack-down})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3052 @item @kbd{?}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3053 @tab Help on expression near point or in region with @kbd{C-u ?}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3054 (@code{idlwave-shell-help-expression})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3055 @item @kbd{C-?}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3056 @tab Show help on the commands available.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3057 @end multitable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3058
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3059 Most single-character electric debug bindings use the final keystroke
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3060 of the equivalent multiple key commands (which are of course also
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3061 still available), but some differ (e.g. @kbd{e},@kbd{t},@kbd{q},@kbd{x}).
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3062 Some have additional convenience bindings (like @kbd{@key{SPACE}} for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3063 stepping). All prefix and other argument options described in this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3064 section for the commands invoked by electric debug bindings are still
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3065 valid. For example, @kbd{C-u b} sets a conditional breakpoint, just
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3066 as it did with @kbd{C-u C-c C-d C-b}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3067
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3068 You can toggle the electric debug mode at any time in a buffer using
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3069 @kbd{C-c C-d C-v} (@kbd{v} to turn it off while in the mode), or from
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3070 the Debug menu. Normally the mode will be enabled and disabled at the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3071 appropriate times, but occassionally you might want to edit a file
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3072 while still debugging it, or switch to the mode for conveniently
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3073 setting lots of breakpoints.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3074
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3075 To quickly abandon a debugging session and return to normal editing at
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3076 the Shell's main level, use @kbd{q} (@code{idlwave-shell-retall}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3077 This disables electric debug mode in all IDLWAVE buffers@footnote{Note
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3078 that this binding is not symmetric: @kbd{C-c C-d C-q} is bound to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3079 @code{idlwave-shell-quit}, which quits your IDL session.}. Help is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3080 available for the command shortcuts with @kbd{C-?}. If you find this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3081 mode gets in your way, you can keep it from automatically activating
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3082 by setting the variable @code{idlwave-shell-automatic-electric-debug}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3083 to @code{nil}, or @code{'breakpoint}. If you'd like the convenient
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3084 electric debug shortcuts available also when run-time errors are
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3085 encountered, set to @code{t}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3086
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3087 @defopt idlwave-shell-automatic-electric-debug (@code{'breakpoint})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3088 Whether to enter electric debug mode automatically when a breakpoint
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3089 or run-time error is encountered, and then disable it in all buffers
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3090 when the $MAIN$ level is reached (either through normal program
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3091 execution, or retall). In addition to @code{nil} for never, and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3092 @code{t} for both breakpoints and errors, this can be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3093 @code{'breakpoint} (the default) to enable it only at breakpoint
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3094 halts.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3095 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3096
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3097 @defopt idlwave-shell-electric-stop-color (Violet)
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3098 Default color of the stopped line overlay when in electric debug mode.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3099 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3100
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3101 @defopt idlwave-shell-electric-stop-line-face
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3102 The face to use for the stopped line. Defaults to a face similar to the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3103 modeline, with color @code{idlwave-shell-electric-stop-color}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3104 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3105
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3106 @defopt idlwave-shell-electric-zap-to-file (@code{t})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3107 If set, when entering electric debug mode, select the window displaying
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3108 the file where point is stopped. This takes point away from the shell
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3109 window, but is useful for immediate stepping, etc.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3110 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3111
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3112 @html
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3113 <A NAME="EXAMINE"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3114 @end html
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3115 @node Examining Variables, Custom Expression Examination, Debugging IDL Programs, The IDLWAVE Shell
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3116 @section Examining Variables
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3117 @cindex @code{PRINT} expressions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3118 @cindex @code{HELP}, on expressions
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3119 @cindex Expressions, printing & help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3120 @cindex Examining expressions
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3121 @cindex Printing expressions
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3122 @cindex Mouse binding to print expressions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3123
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3124 @kindex C-c C-d C-p
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3125 Do you find yourself repeatedly typing, e.g. @code{print,n_elements(x)},
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3126 and similar statements to remind yourself of the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3127 type/size/structure/value/etc. of variables and expressions in your code
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3128 or at the command line? IDLWAVE has a suite of special commands to
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3129 automate these types of variable or expression examinations. They work
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3130 by sending statements to the shell formatted to include the indicated
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3131 expression, and can be accessed in several ways.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3132
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3133 These @emph{examine} commands can be used in the shell or buffer at any
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3134 time (as long as the shell is running), and are very useful when
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3135 execution is stopped in a buffer due to a triggered breakpoint or error,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3136 or while composing a long command in the IDLWAVE shell. In the latter
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3137 case, the command is sent to the shell and its output is visible, but
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3138 point remains unmoved in the command being composed --- you can inspect
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3139 the contituents of a command you're building without interrupting the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3140 process of building it! You can even print arbitrary expressions from
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3141 older input or output further up in the shell window --- any expression,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3142 variable, number, or function you see can be examined.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3143
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3144 If the variable @code{idlwave-shell-separate-examine-output} is
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3145 non-@code{nil} (the default), all examine output will be sent to a
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3146 special @file{*Examine*} buffer, rather than the shell. The output of
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3147 prior examine commands is saved in this buffer. In this buffer @key{c}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3148 clears the contents, and @key{q} hides the buffer.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3149
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3150 The two most basic examine commands are bound to @kbd{C-c C-d C-p}, to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3151 print the expression at point, and @kbd{C-c C-d ?}, to invoke help on
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3152 this expression@footnote{Available as @kbd{p} and @kbd{?} in Electric
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3153 Debug Mode (@pxref{Electric Debug Mode})}. The expression at point is
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3154 either an array expression or a function call, or the contents of a pair
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3155 of parentheses. The chosen expression is highlighted, and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3156 simultaneously the resulting output is highlighted in the shell or
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3157 separate output buffer. Calling the above commands with a prefix
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3158 argument will use the current region as expression instead of using the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3159 one at point. which can be useful for examining complicated, multi-line
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3160 expressions. Two prefix arguments (@kbd{C-u C-u C-c C-d C-p}) will
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3161 prompt for an expression to print directly. By default, when invoking
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3162 print, only an initial portion of long arrays will be printed, up to
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3163 @code{idlwave-shell-max-print-length}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3164
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3165 For added speed and convenience, there are mouse bindings which allow
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3166 you to click on expressions and examine their values. Use
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
3167 @kbd{S-Mouse-2} to print an expression and @kbd{C-M-Mouse-2} to invoke
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3168 help (i.e. you need to hold down @key{META} and @key{CONTROL} while
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3169 clicking with the middle mouse button). If you simply click, the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3170 nearest expression will be selected in the same manner as described
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3171 above. You can also @emph{drag} the mouse in order to highlight
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3172 exactly the specific expression or sub-expression you want to examine.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3173 For custom expression examination, and the powerful customizable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3174 pop-up examine selection, @xref{Custom Expression Examination}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3175
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3176 @cindex Printing expressions, on calling stack
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3177 @cindex Restrictions for expression printing
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3178 The same variable inspection commands work both in the IDL Shell and
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3179 IDLWAVE buffers, and even for variables at higher levels of the calling
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3180 stack. For instance, if you're stopped at a breakpoint in a routine,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3181 you can examine the values of variables and expressions inside its
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3182 calling routine, and so on, all the way up through the calling stack.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3183 Simply step up the stack, and print variables as you see them
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3184 (@pxref{Walking the Calling Stack}, for information on stepping back
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3185 through the calling stack). The following restrictions apply for all
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3186 levels except the current:
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3187
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3188 @itemize @bullet
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3189 @item
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3190 Array expressions must use the @samp{[ ]} index delimiters. Identifiers
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3191 with a @samp{( )} will be interpreted as function calls.
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3192 @item
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3193 @cindex ROUTINE_NAMES, IDL procedure
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3194 N.B.: printing values of expressions on higher levels of the calling
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3195 stack uses the @emph{unsupported} IDL routine @code{ROUTINE_NAMES},
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3196 which may or may not be available in future versions of IDL. Caveat
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3197 Examinor.
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3198 @end itemize
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3199
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3200 @defopt idlwave-shell-expression-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3201 The face for @code{idlwave-shell-expression-overlay}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3202 Allows you to choose the font, color and other properties for
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3203 the expression printed by IDL.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3204 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3205
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3206 @defopt idlwave-shell-output-face
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3207 The face for @code{idlwave-shell-output-overlay}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3208 Allows to choose the font, color and other properties for the most
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3209 recent output of IDL when examining an expression."
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3210 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3211
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3212 @defopt idlwave-shell-separate-examine-output (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3213 If non-@code{nil}, re-direct the output of examine commands to a special
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3214 @file{*Examine*} buffer, instead of in the shell itself.
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3215 @end defopt
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3216
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3217 @defopt idlwave-shell-max-print-length (200)
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3218 The maximum number of leading array entries to print, when examining
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3219 array expressions.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3220 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3221
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3222 @node Custom Expression Examination, , Examining Variables, The IDLWAVE Shell
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3223 @section Custom Expression Examination
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3224 @cindex Expressions, custom examination
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3225 @cindex Custom expression examination
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3226
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3227 The variety of possible variable and expression examination commands is
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3228 endless (just look, for instance, at the keyword list to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3229 @code{widget_info()}). Rather than attempt to include them all, IDLWAVE
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3230 provides two easy methods to customize your own commands, with a special
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3231 mouse examine command, and two macros for generating your own examine
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3232 key and mouse bindings.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3233
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3234 The most powerful and flexible mouse examine command of all is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3235 available on @kbd{C-S-Mouse-2}. Just as for all the other mouse
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3236 examine commands, it permits click or drag expression selection, but
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3237 instead of sending hard-coded commands to the shell, it pops-up a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3238 customizable selection list of examine functions to choose among,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3239 configured with the @code{idlwave-shell-examine-alist}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3240 variable@footnote{In Electric Debug Mode (@pxref{Electric Debug
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3241 Mode}), the key @kbd{x} provides a single-character shortcut interface
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3242 to the same examine functions for the expression at point or marked by
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3243 the region.}. This variable is a list of key-value pairs (an
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3244 @emph{alist} in Emacs parlance), where the key gives a name to be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3245 shown for the examine command, and the value is the command strings
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3246 itself, in which the text @code{___} (three underscores) will be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3247 replaced by the selected expression before being sent to the shell.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3248 An example might be key @code{Structure Help} with value
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3249 @code{help,___,/STRUCTURE}. In that case, you'd be prompted with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3250 @emph{Structure Help}, which might send something like
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3251 @code{help,var,/STRUCTURE} to the shell for output.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3252 @code{idlwave-shell-examine-alist} comes configured by default with a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3253 large list of examine commands, but you can easily customize it to add
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3254 your own.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3255
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3256 In addition to configuring the functions available to the pop-up mouse
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3257 command, you can easily create your own customized bindings to inspect
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3258 expressions using the two convenience macros
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3259 @code{idlwave-shell-examine} and @code{idlwave-shell-mouse-examine}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3260 These create keyboard or mouse-based custom inspections of variables,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3261 sharing all the same properties of the built-in examine commands.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3262 Both functions take a single string argument sharing the syntax of the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3263 @code{idlwave-shell-examine-alist} values, e.g.:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3264
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3265 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3266 (add-hook 'idlwave-shell-mode-hook
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3267 (lambda ()
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3268 (idlwave-shell-define-key-both [s-down-mouse-2]
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3269 (idlwave-shell-mouse-examine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3270 "print, size(___,/DIMENSIONS)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3271 (idlwave-shell-define-key-both [f9] (idlwave-shell-examine
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3272 "print, size(___,/DIMENSIONS)"))
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3273 (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3274 "print,size(___,/TNAME)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3275 (idlwave-shell-define-key-both [f11] (idlwave-shell-examine
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3276 "help,___,/STRUCTURE"))))
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3277 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3278
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3279 @noindent Now pressing @key{f9}, or middle-mouse dragging with the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3280 @key{SUPER} key depressed, will print the dimensions of the nearby or
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3281 highlighted expression. Pressing @key{f10} will give the type string,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3282 and @key{f11} will show the contents of a nearby structure. As you can
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3283 see, the possibilities are only marginally finite.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3284
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3285 @defopt idlwave-shell-examine-alist
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3286 An alist of examine commands in which the keys name the command and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3287 are displayed in the selection pop-up, and the values are custom IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3288 examine command strings to send, after all instances of @code{___}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3289 (three underscores) are replaced by the indicated expression.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3290 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3291
60880
78ef32e30574 Don't say where to get IDL or its non-free manual.
Richard M. Stallman <rms@gnu.org>
parents: 58527
diff changeset
3292 @node Acknowledgements, Sources of Routine Info, The IDLWAVE Shell, Top
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3293 @chapter Acknowledgements
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3294 @cindex Acknowledgements
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3295 @cindex Maintainer, of IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3296 @cindex Authors, of IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3297 @cindex Contributors, to IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3298 @cindex Email address, of Maintainer
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3299 @cindex Thanks
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3300
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3301 @noindent
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3302 The main contributors to the IDLWAVE package have been:
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3303
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3304 @itemize @minus
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3305 @item
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3306 @uref{mailto:chase@@att.com, @b{Chris Chase}}, the original author.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3307 Chris wrote @file{idl.el} and @file{idl-shell.el} and maintained them
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3308 for several years.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3309
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3310 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3311 @uref{mailto:dominik@@astro.uva.nl, @b{Carsten Dominik}} was in charge
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3312 of the package from version 3.0, during which time he overhauled almost
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3313 everything, modernized IDLWAVE with many new features, and developed the
41745
1061224d9cb0 Update maintainer.
Eli Zaretskii <eliz@gnu.org>
parents: 40705
diff changeset
3314 manual.
1061224d9cb0 Update maintainer.
Eli Zaretskii <eliz@gnu.org>
parents: 40705
diff changeset
3315
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3316 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3317 @uref{mailto:jdsmith@@as.arizona.edu, @b{J.D. Smith}}, the current
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3318 maintainer, as of version 4.10, helped shape object method completion
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3319 and most new features introduced in versions 4.x, and introduced many
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3320 new features for IDLWAVE versions 5.x and 6.x.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3321 @end itemize
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3322
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3323 @noindent
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3324 The following people have also contributed to the development of IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3325 with patches, ideas, bug reports and suggestions.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3326
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3327 @itemize @minus
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3328 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3329 Ulrik Dickow <dickow__at__nbi.dk>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3330 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3331 Eric E. Dors <edors__at__lanl.gov>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3332 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3333 Stein Vidar H. Haugan <s.v.h.haugan__at__astro.uio.no>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3334 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3335 David Huenemoerder <dph__at__space.mit.edu>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3336 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3337 Kevin Ivory <Kevin.Ivory__at__linmpi.mpg.de>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3338 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3339 Dick Jackson <dick__at__d-jackson.com>
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3340 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3341 Xuyong Liu <liu__at__stsci.edu>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3342 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3343 Simon Marshall <Simon.Marshall__at__esrin.esa.it>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3344 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3345 Craig Markwardt <craigm__at__cow.physics.wisc.edu>
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3346 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3347 Laurent Mugnier <mugnier__at__onera.fr>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3348 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3349 Lubos Pochman <lubos__at__rsinc.com>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3350 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3351 Bob Portmann <portmann__at__al.noaa.gov>
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3352 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3353 Patrick M. Ryan <pat__at__jaameri.gsfc.nasa.gov>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3354 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3355 Marty Ryba <ryba__at__ll.mit.edu>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3356 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3357 Phil Williams <williams__at__irc.chmcc.org>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3358 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3359 Phil Sterne <sterne__at__dublin.llnl.gov>
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3360 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3361 Paul Sorenson <aardvark62__at__msn.com>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3362 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3363
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3364 Doug Dirks was instrumental in providing the crucial IDL XML catalog to
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3365 support HTML help with IDL v6.2 and later, and Ali Bahrami provided
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3366 scripts and documentation to interface with the IDL Assistant.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3367
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3368 @noindent
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3369 Thanks to everyone!
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3370
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3371 @node Sources of Routine Info, HTML Help Browser Tips, Acknowledgements, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3372 @appendix Sources of Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3373
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3374 @cindex Sources of routine information
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3375 In @ref{Routine Info} and @ref{Completion} we showed how IDLWAVE
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3376 displays the calling sequence and keywords of routines, and completes
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3377 routine names and keywords. For these features to work, IDLWAVE must
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3378 know about the accessible routines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3379
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3380 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3381 * Routine Definitions:: Where IDL Routines are defined.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3382 * Routine Information Sources:: So how does IDLWAVE know about...
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3383 * Catalogs::
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3384 * Load-Path Shadows:: Routines defined in several places
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3385 * Documentation Scan:: Scanning the IDL Manuals
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3386 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3387
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3388 @node Routine Definitions, Routine Information Sources, Sources of Routine Info, Sources of Routine Info
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3389 @appendixsec Routine Definitions
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3390 @cindex Routine definitions
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3391 @cindex IDL variable @code{!PATH}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3392 @cindex @code{!PATH}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3393 @cindex @code{CALL_EXTERNAL}, IDL routine
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3394 @cindex @code{LINKIMAGE}, IDL routine
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3395 @cindex External routines
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3396
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3397 @noindent Routines which can be used in an IDL program can be defined in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3398 several places:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3399
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3400 @enumerate
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3401 @item
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3402 @emph{Builtin routines} are defined inside IDL itself. The source code
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3403 of such routines is not available, but instead are learned about through
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3404 the IDL documentation.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3405 @item
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3406 Routines which are @emph{part of the current program}, are defined in a
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3407 file explicitly compiled by the user. This file may or may not be
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3408 located on the IDL search path.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3409 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3410 @emph{Library routines} are defined in files located on IDL's search
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3411 path. When a library routine is called for the first time, IDL will
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3412 find the source file and compile it dynamically. A special sub-category
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3413 of library routines are the @emph{system routines} distributed with IDL,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3414 and usually available in the @file{lib} subdirectory of the IDL
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3415 distribution.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3416 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3417 External routines written in other languages (like Fortran or C) can be
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3418 called with @code{CALL_EXTERNAL}, linked into IDL via @code{LINKIMAGE},
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3419 or included as dynamically loaded modules (DLMs). Currently IDLWAVE
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3420 cannot provide routine info and completion for such external routines,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3421 except by querying the Shell for calling information (DLMs only).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3422 @end enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3423
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3424 @node Routine Information Sources, Catalogs, Routine Definitions, Sources of Routine Info
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3425 @appendixsec Routine Information Sources
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3426 @cindex Routine info sources
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3427 @cindex Builtin list of routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3428 @cindex Updating routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3429 @cindex Scanning buffers for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3430 @cindex Buffers, scanning for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3431 @cindex Shell, querying for routine info
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3432
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3433 @noindent To maintain the most comprehensive information about all IDL
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3434 routines on a system, IDLWAVE collects data from many sources:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3435
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3436 @enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3437
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3438 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3439 It has a @emph{builtin list} with information about the routines IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3440 ships with. IDLWAVE @value{VERSION} is distributed with a list of
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3441 @value{NSYSROUTINES} routines, reflecting IDL version
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3442 @value{IDLVERSION}. As of IDL v6.2, the routine info is distributed
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3443 directly with IDL in the form of an XML catalog which IDLWAVE scans.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3444 Formerly, this list was created by scanning the IDL manuals to produce
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3445 the file @file{idlw-rinfo.el}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3446
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3447 @item
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3448 IDLWAVE @emph{scans} all its @emph{buffers} in the current Emacs session
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3449 for routine definitions. This is done automatically when routine
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3450 information or completion is first requested by the user. Each new
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3451 buffer and each buffer saved after making changes is also scanned. The
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3452 command @kbd{C-c C-i} (@code{idlwave-update-routine-info}) can be used
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3453 at any time to rescan all buffers.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3454
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3455 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3456 If you have an IDLWAVE-Shell running in the Emacs session, IDLWAVE will
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3457 @emph{query the shell} for compiled routines and their arguments. This
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3458 happens automatically when routine information or completion is first
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3459 requested by the user. Each time an Emacs buffer is compiled with
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3460 @kbd{C-c C-d C-c}, the routine info for that file is queried. Though
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3461 rarely necessary, the command @kbd{C-c C-i}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3462 (@code{idlwave-update-routine-info}) can be used to explicitly update
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3463 the shell routine data.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3464
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3465 @item
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3466 Many popular libraries are distributed with routine information already
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3467 scanned into @emph{library catalogs} (@pxref{Library Catalogs}). These
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3468 per-directory catalog files can also be built by the user with the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3469 supplied @file{idlwave_catalog} tool. They are automatically discovered
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3470 by IDLWAVE.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3471
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3472 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3473 IDLWAVE can scan selected directories of source files and store the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3474 result in a single @emph{user catalog} file which will be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3475 automatically loaded just like @file{idlw-rinfo.el}. @xref{User
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3476 Catalog}, for information on how to scan files in this way.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3477 @end enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3478
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3479 Loading all the routine and catalog information can be a time consuming
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3480 process, especially over slow networks. Depending on the system and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3481 network configuration it could take up to 30 seconds (though locally on
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3482 fast systems is usually only a few seconds). In order to minimize the
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3483 wait time upon your first completion or routine info command in a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3484 session, IDLWAVE uses Emacs idle time to do the initialization in six
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3485 steps, yielding to user input in between. If this gets into your way,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3486 set the variable @code{idlwave-init-rinfo-when-idle-after} to 0 (zero).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3487 The more routines documented in library and user catalogs, the slower
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3488 the loading will be, so reducing this number can help alleviate any long
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3489 load times.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3490
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3491 @defopt idlwave-init-rinfo-when-idle-after (@code{10})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3492 Seconds of idle time before routine info is automatically initialized.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3493 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3494
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3495 @defopt idlwave-scan-all-buffers-for-routine-info (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3496 Non-@code{nil} means scan all buffers for IDL programs when updating
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3497 info.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3498 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3499
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3500 @defopt idlwave-query-shell-for-routine-info (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3501 Non-@code{nil} means query the shell for info about compiled routines.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3502 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3503
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3504 @defopt idlwave-auto-routine-info-updates
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3505 Controls under what circumstances routine info is updated automatically.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3506 @end defopt
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3507
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3508 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3509 <A NAME="CATALOGS"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3510 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3511 @node Catalogs, Load-Path Shadows, Routine Information Sources, Sources of Routine Info
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3512 @appendixsec Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3513 @cindex Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3514
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3515 @emph{Catalogs} are files containing scanned information on individual
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3516 routines, including arguments and keywords, calling sequence, file path,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3517 class and procedure vs. function type, etc. They represent a way of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3518 extending the internal built-in information available for IDL system
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3519 routines (@pxref{Routine Info}) to other source collections.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3520
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3521 Starting with version 5.0, there are two types of catalogs available
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3522 with IDLWAVE. The traditional @emph{user catalog} and the newer
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3523 @emph{library catalogs}. Although they can be used interchangeably, the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3524 library catalogs are more flexible, and preferred. There are few
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3525 occasions when a user catalog might be preferred --- read below. Both
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3526 types of catalogs can coexist without causing problems.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3527
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3528 To facilitate the catalog systems, IDLWAVE stores information it gathers
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3529 from the shell about the IDL search paths, and can write this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3530 information out automatically, or on-demand (menu @code{Debug->Save Path
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3531 Info}). On systems with no shell from which to discover the path
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3532 information (e.g. Windows), a library path must be specified in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3533 @code{idlwave-library-path} to allow library catalogs to be located, and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3534 to setup directories for user catalog scan (@pxref{User Catalog} for
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3535 more on this variable). Note that, before the shell is running, IDLWAVE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3536 can only know about the IDL search path by consulting the file pointed
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3537 to by @code{idlwave-path-file} (@file{~/.idlwave/idlpath.el}, by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3538 default). If @code{idlwave-auto-write-path} is enabled (which is the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3539 default), the paths are written out whenever the IDLWAVE shell is
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3540 started.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3541
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3542 @defopt idlwave-auto-write-path (@code{t})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3543 Write out information on the !PATH and !DIR paths from IDL automatically
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3544 when they change and when the Shell is closed. These paths are needed
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3545 to locate library catalogs.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3546 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3547
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3548 @defopt idlwave-library-path
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3549 IDL library path for Windows and MacOS. Under Unix/MacOSX, will be
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3550 obtained from the Shell when run.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3551 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3552
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3553 @defopt idlwave-system-directory
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3554 The IDL system directory for Windows and MacOS. Also needed for
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3555 locating HTML help and the IDL Assistant for IDL v6.2 and later. Under
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3556 Unix/MacOSX, will be obtained from the Shell and recorded, if run.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3557 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3558
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3559 @defopt idlwave-config-directory (@file{~/.idlwave})
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3560 Default path where IDLWAVE saves configuration information, a user
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3561 catalog (if any), and a cached scan of the XML catalog (IDL v6.2 and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3562 later).
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3563 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3564
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3565 @menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3566 * Library Catalogs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3567 * User Catalog::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3568 @end menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3569
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3570 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3571 <A NAME="LIBRARY_CATALOGS"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3572 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3573 @node Library Catalogs, User Catalog, Catalogs, Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3574 @appendixsubsec Library Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3575 @cindex @file{.idlwave_catalog}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3576 @cindex Library catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3577 @cindex @code{idlwave_catalog}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3578
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3579 Library catalogs consist of files named @file{.idlwave_catalog} stored
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3580 in directories containing @code{.pro} routine files. They are
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3581 discovered on the IDL search path and loaded automatically when routine
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3582 information is read. Each catalog file documents the routines found in
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3583 that directory --- one catalog per directory. Every catalog has a
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3584 library name associated with it (e.g. @emph{AstroLib}). This name will
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3585 be shown briefly when the catalog is found, and in the routine info of
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3586 routines it documents.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3587
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3588 Many popular libraries of routines are shipped with IDLWAVE catalog
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3589 files by default, and so will be automatically discovered. Library
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3590 catalogs are scanned externally to Emacs using a tool provided with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3591 IDLWAVE. Each catalog can be re-scanned independently of any other.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3592 Catalogs can easily be made available system-wide with a common source
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3593 repository, providing uniform routine information, and lifting the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3594 burden of scanning from the user (who may not even know they're using a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3595 scanned catalog). Since all catalogs are independent, they can be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3596 re-scanned automatically to gather updates, e.g. in a @file{cron} job.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3597 Scanning is much faster than with the built-in user catalog method. One
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3598 minor disadvantage: the entire IDL search path is scanned for catalog
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3599 files every time IDLWAVE starts up, which might be slow if accessing IDL
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3600 routines over a slow network.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3601
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3602 A Perl tool to create library catalogs is distributed with IDLWAVE:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3603 @code{idlwave_catalog}. It can be called quite simply:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3604 @example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3605 idlwave_catalog MyLib
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3606 @end example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3607
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3608 @noindent This will scan all directories recursively beneath the current and
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3609 populate them with @file{.idlwave_catalog} files, tagging the routines
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3610 found there with the name library ``MyLib''. The full usage
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3611 information:
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3612
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3613 @example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3614 Usage: idlwave_catalog [-l] [-v] [-d] [-s] [-f] [-h] libname
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3615 libname - Unique name of the catalog (4 or more alphanumeric
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3616 characters).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3617 -l - Scan local directory only, otherwise recursively
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3618 catalog all directories at or beneath this one.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3619 -v - Print verbose information.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3620 -d - Instead of scanning, delete all .idlwave_catalog files
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3621 here or below.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3622 -s - Be silent.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3623 -f - Force overwriting any catalogs found with a different
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3624 library name.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3625 -h - Print this usage.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3626 @end example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3627
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3628 To re-load the library catalogs on the IDL path, force a system routine
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3629 info update using a single prefix to @code{idlwave-update-routine-info}:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3630 @kbd{C-u C-c C-i}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3631
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3632 @defopt idlwave-use-library-catalogs (@code{t})
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3633 Whether to search for and load library catalogs. Disable if load
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3634 performance is a problem and/or the catalogs are not needed.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3635 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3636
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3637 @node User Catalog, , Library Catalogs, Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3638 @appendixsubsec User Catalog
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3639 @cindex User catalog
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3640 @cindex IDL library routine info
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3641 @cindex Windows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3642 @cindex MacOS
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3643 @cindex IDL variable @code{!DIR}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3644 @cindex @code{!DIR}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3645
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3646 The user catalog is the old routine catalog system. It is produced
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3647 within Emacs, and stored in a single file in the user's home directory
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3648 (@file{.idlwave/idlusercat.el} by default). Although library catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3649 are more flexible, there may be reasons to prefer a user catalog
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3650 instead, including:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3651
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3652 @itemize @bullet
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3653 @item The scan is internal to Emacs, so you don't need a working Perl
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3654 installation, as you do for library catalogs.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3655 @item Can be used to scan directories for which the user has no write
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3656 privileges.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3657 @item Easy widget-based path selection.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3658 @end itemize
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3659
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3660 However, no routine info is available in the user catalog by default;
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3661 the user must actively complete a scan. In addition, this type of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3662 catalog is all or nothing: if a single routine changes, the entire
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3663 catalog must be rescanned to update it. Creating the user catalog is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3664 also much slower than scanning library catalogs.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3665
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3666 You can scan any of the directories on the currently known path. Under
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3667 Windows and MacOS (not OSX), you need to specify the IDL search path in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3668 the variable @code{idlwave-library-path}, and the location of the IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3669 directory (the value of the @code{!DIR} system variable) in the variable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3670 @code{idlwave-system-directory}, like this@footnote{The initial @samp{+}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3671 leads to recursive expansion of the path, just like in IDL}:
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3672
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3673 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3674 (setq idlwave-library-path
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3675 '("+c:/RSI/IDL56/lib/" "+c:/user/me/idllibs"))
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3676 (setq idlwave-system-directory "c:/RSI/IDL56/")
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3677 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3678
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3679 @noindent Under GNU/Linux and UNIX, these values will be automatically
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3680 gathered from the IDLWAVE shell, if run.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3681
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3682 The command @kbd{M-x idlwave-create-user-catalog-file} (or the menu item
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3683 @samp{IDLWAVE->Routine Info->Select Catalog Directories}) can then be
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3684 used to create a user catalog. It brings up a widget in which you can
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3685 select some or all directories on the search path. Directories which
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3686 already contain a library catalog are marked with @samp{[LIB]}, and need
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3687 not be scanned (although there is no harm if you do so, other than the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3688 additional memory used for the duplication).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3689
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3690 After selecting directories, click on the @w{@samp{[Scan & Save]}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3691 button in the widget to scan all files in the selected directories and
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3692 write out the resulting routine information. In order to update the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3693 library information using the directory selection, call the command
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3694 @code{idlwave-update-routine-info} with a double prefix argument:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3695 @w{@kbd{C-u C-u C-c C-i}}. This will rescan files in the previously
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3696 selected directories, write an updated version of the user catalog file
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3697 and rebuild IDLWAVE's internal lists. If you give three prefix
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3698 arguments @w{@kbd{C-u C-u C-u C-c C-i}}, updating will be done with a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3699 background job@footnote{Unix systems only, I think.}. You can continue
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3700 to work, and the library catalog will be re-read when it is ready. If
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3701 you find you need to update the user catalog often, you should consider
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3702 building a library catalog for your routines instead (@pxref{Library
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3703 Catalogs}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3704
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3705 @defopt idlwave-special-lib-alist
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3706 Alist of regular expressions matching special library directories for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3707 labeling in routine-info display.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3708 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3709
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3710 @node Load-Path Shadows, Documentation Scan, Catalogs, Sources of Routine Info
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3711 @appendixsec Load-Path Shadows
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3712 @cindex Load-path shadows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3713 @cindex Shadows, load-path
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3714 @cindex Duplicate routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3715 @cindex Multiply defined routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3716 @cindex Routine definitions, multiple
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3717 @cindex Application, testing for shadowing
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3718 @cindex Buffer, testing for shadowing
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3719
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3720 IDLWAVE can compile a list of routines which are (re-)defined in more
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3721 than one file. Since one definition will hide (shadow) the others
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3722 depending on which file is compiled first, such multiple definitions are
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3723 called "load-path shadows". IDLWAVE has several routines to scan for
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3724 load path shadows. The output is placed into the special buffer
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3725 @file{*Shadows*}. The format of the output is identical to the source
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3726 section of the routine info buffer (@pxref{Routine Info}). The
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3727 different definitions of a routine are ordered by @emph{likelihood of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3728 use}. So the first entry will be most likely the one you'll get if an
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3729 unsuspecting command uses that routine. Before listing shadows, you
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3730 should make sure that routine info is up-to-date by pressing @kbd{C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3731 C-i}. Here are the different routines (also available in the Menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3732 @samp{IDLWAVE->Routine Info}):
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3733
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3734 @table @asis
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3735 @item @kbd{M-x idlwave-list-buffer-load-path-shadows}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3736 This commands checks the names of all routines defined in the current
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3737 buffer for shadowing conflicts with other routines accessible to
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3738 IDLWAVE. The command also has a key binding: @kbd{C-c C-b}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3739 @item @kbd{M-x idlwave-list-shell-load-path-shadows}.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3740 Checks all routines compiled under the shell for shadowing. This is
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3741 very useful when you have written a complete application. Just compile
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3742 the application, use @code{RESOLVE_ALL} to compile any routines used by
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3743 your code, update the routine info inside IDLWAVE with @kbd{C-c C-i} and
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3744 then check for shadowing.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3745 @item @kbd{M-x idlwave-list-all-load-path-shadows}
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3746 This command checks all routines accessible to IDLWAVE for conflicts.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3747 @end table
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3748
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3749 For these commands to work fully you need to scan the entire load path
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3750 in either a user or library catalog. Also, IDLWAVE should be able to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3751 distinguish between the system library files (normally installed in
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3752 @file{/usr/local/rsi/idl/lib}) and any site specific or user specific
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3753 files. Therefore, such local files should not be installed inside the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3754 @file{lib} directory of the IDL directory. This is also advisable for
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3755 many other reasons.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3756
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3757 @cindex Windows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3758 @cindex MacOS
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3759 @cindex IDL variable @code{!DIR}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3760 @cindex @code{!DIR}, IDL variable
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3761 Users of Windows and MacOS (not X) also must set the variable
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3762 @code{idlwave-system-directory} to the value of the @code{!DIR} system
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3763 variable in IDL. IDLWAVE appends @file{lib} to the value of this
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3764 variable and assumes that all files found on that path are system
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3765 routines.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3766
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3767 Another way to find out if a specific routine has multiple definitions
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3768 on the load path is routine info display (@pxref{Routine Info}).
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3769
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3770 @node Documentation Scan, , Load-Path Shadows, Sources of Routine Info
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3771 @appendixsec Documentation Scan
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3772 @cindex @file{get_html_rinfo}
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
3773 @cindex @file{idlw-rinfo.el}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3774 @cindex Scanning the documentation
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
3775 @cindex Perl program, to create @file{idlw-rinfo.el}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3776
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3777 @strong{Starting with version 6.2, IDL is distributed directly with HTML
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3778 online help, and an XML-based catalog of routine information}. This
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3779 makes scanning the manuals with the tool @file{get_html_rinfo}, and the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3780 @file{idlw-rinfo.el} file it produced, as described here, entirely
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3781 unnecessary. The information is left here for users wishing to produce
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3782 a catalog of older IDL versions' help.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3783
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3784
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3785 IDLWAVE derives its knowledge about system routines from the IDL
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3786 manuals. The file @file{idlw-rinfo.el} contains the routine information
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3787 for the IDL system routines, and links to relevant sections of the HTML
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3788 documentation. The Online Help feature of IDLWAVE requires HTML
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3789 versions of the IDL manuals to be available; the HTML documentation is
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3790 not distributed with IDLWAVE by default, but must be downloaded
69835
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
3791 separately.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3792
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3793 The HTML files and related images can be produced from the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3794 @file{idl.chm} HTMLHelp file distributed with IDL using the free
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3795 Microsoft HTML Help Workshop. If you are lucky, the maintainer of
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3796 IDLWAVE will always have access to the newest version of IDL and provide
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3797 updates. The IDLWAVE distribution also contains the Perl program
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3798 @file{get_html_rinfo} which constructs the @file{idlw-rinfo.el} file by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3799 scanning the HTML documents produced from the IDL documentation.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3800 Instructions on how to use @file{get_html_rinfo} are in the program
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3801 itself.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3802
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3803 @node HTML Help Browser Tips, Configuration Examples, Sources of Routine Info, Top
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3804 @appendix HTML Help Browser Tips
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3805 @cindex Browser Tips
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3806
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3807 There are a wide variety of possible browsers to use for displaying
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3808 the online HTML help available with IDLWAVE (starting with version
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3809 5.0). Since IDL v6.2, a single cross-platform HTML help browser, the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3810 @emph{IDL Assistant} is distributed with IDL. If this help browser is
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3811 available, it is the preferred choice, and the default. The variable
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3812 @code{idlwave-help-use-assistant}, enabled by default, controls
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3813 whether this help browser is used. If you use the IDL Assistant, the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3814 tips here are not relevant.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3815
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3816 Since IDLWAVE runs on a many different system types, a single browser
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3817 configuration is not possible, but choices abound. On many systems,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3818 the default browser configured in @code{browse-url-browser-function},
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3819 and hence inherited by default by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3820 @code{idlwave-help-browser-function}, is Netscape. Unfortunately, the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3821 HTML manuals decompiled from the original source contain formatting
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3822 structures which Netscape 4.x does not handle well, though they are
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3823 still readable. A much better choice is Mozilla, or one of the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3824 Mozilla-derived browsers such as
60880
78ef32e30574 Don't say where to get IDL or its non-free manual.
Richard M. Stallman <rms@gnu.org>
parents: 58527
diff changeset
3825 @uref{http://galeon.sourceforge.net/,Galeon} (GNU/Linux),
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3826 @uref{http://www.mozilla.org/projects/camino/,Camino} (MacOSX), or
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3827 @uref{http://www.mozilla.org/projects/firebird/,Firebird} (all
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3828 platforms). Newer versions of Emacs provide a browser-function choice
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3829 @code{browse-url-gnome-moz} which uses the Gnome-configured browser.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3830
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3831 Note that the HTML files decompiled from the help sources contain
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3832 specific references to the @samp{Symbol} font, which by default is not
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3833 permitted in normal encodings (it's invalid, technically). Though it
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3834 only impacts a few symbols, you can trick Mozilla-based browsers into
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3835 recognizing @samp{Symbol} by following the directions
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3836 @uref{http://hutchinson.belmont.ma.us/tth/Xfonts.html, here}. With
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3837 this fix in place, HTML help pages look almost identical to their PDF
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3838 equivalents (yet can be bookmarked, browsed as history, searched,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3839 etc.).
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3840
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3841 @noindent Individual platform recommendations:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3842
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3843 @itemize @bullet
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3844 @item Unix/MacOSX: The @uref{http://www.w3m.org,@code{w3m}} browser
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3845 and its associated
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3846 @uref{http://emacs-w3m.namazu.org/,@code{emacs-w3m}} emacs mode
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3847 provide in-buffer browsing with image display, and excellent speed and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3848 formatting. Both the Emacs mode and the browser itself must be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3849 downloaded separately. To use this browser, include
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3850
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3851 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3852 (setq idlwave-help-browser-function 'w3m-browse-url)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3853 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3854
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3855 in your @file{.emacs}. Setting a few other nice @code{w3m} options
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3856 cuts down on screen clutter:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3857
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3858 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3859 (setq w3m-use-tab nil
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3860 w3m-use-header-line nil
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3861 w3m-use-toolbar nil)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3862 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3863
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3864 If you use a dedicated frame for help, you might want to add the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3865 following, to get consistent behavior with the @kbd{q} key:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3866
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3867 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3868 ;; Close my help window when w3m closes.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3869 (defadvice w3m-close-window (after idlwave-close activate)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3870 (if (boundp 'idlwave-help-frame)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3871 (idlwave-help-quit)))
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3872 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3873
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3874 Note that you can open the file in an external browser from within
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3875 @code{w3m} using @kbd{M}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3876 @end itemize
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3877
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3878 @node Configuration Examples, Windows and MacOS, HTML Help Browser Tips, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3879 @appendix Configuration Examples
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3880 @cindex Configuration examples
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3881 @cindex Example configuration
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3882 @cindex @file{.emacs}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3883 @cindex Default settings, of options
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3884 @cindex Interview, with the maintainer
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3885
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3886 @noindent
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3887 @b{Question:} You have all these complicated configuration options in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3888 your package, but which ones do @emph{you} as the maintainer actually
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3889 set in your own configuration?
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3890
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3891 @noindent
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3892 @b{Answer:} Not many, beyond custom key bindings. I set most defaults
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3893 the way that seems best. However, the default settings do not turn on
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3894 features which:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3895
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3896 @itemize @minus
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3897 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3898 are not self-evident (i.e. too magic) when used by an unsuspecting user.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3899 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3900 are too intrusive.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3901 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3902 will not work properly on all Emacs installations.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3903 @item
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3904 break with widely used standards.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3905 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3906 use function or other non-standard keys.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3907 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3908 are purely personal customizations, like additional key bindings, and
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3909 library names.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3910 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3911
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3912 @noindent To see what I mean, here is the @emph{entire} configuration
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3913 the old maintainer had in his @file{.emacs}:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3914
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3915 @lisp
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3916 (setq idlwave-shell-debug-modifiers '(control shift)
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3917 idlwave-store-inquired-class t
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3918 idlwave-shell-automatic-start t
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3919 idlwave-main-block-indent 2
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3920 idlwave-init-rinfo-when-idle-after 2
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3921 idlwave-help-dir "~/lib/emacs/idlwave"
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3922 idlwave-special-lib-alist '(("/idl-astro/" . "AstroLib")
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3923 ("/jhuapl/" . "JHUAPL-Lib")
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3924 ("/dominik/lib/idl/" . "MyLib")))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3925 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3926
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3927 However, if you are an Emacs power-user and want IDLWAVE to work
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3928 completely differently, you can change almost every aspect of it. Here
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3929 is an example of a much more extensive configuration of IDLWAVE. The
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3930 user is King!
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3931
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3932 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3933 ;;; Settings for IDLWAVE mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3934
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3935 (setq idlwave-block-indent 3) ; Indentation settings
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3936 (setq idlwave-main-block-indent 3)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3937 (setq idlwave-end-offset -3)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3938 (setq idlwave-continuation-indent 1)
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3939 (setq idlwave-begin-line-comment "^;[^;]") ; Leave ";" but not ";;"
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3940 ; anchored at start of line.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3941 (setq idlwave-surround-by-blank t) ; Turn on padding ops =,<,>
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3942 (setq idlwave-pad-keyword nil) ; Remove spaces for keyword '='
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3943 (setq idlwave-expand-generic-end t) ; convert END to ENDIF etc...
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3944 (setq idlwave-reserved-word-upcase t) ; Make reserved words upper case
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3945 ; (with abbrevs only)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3946 (setq idlwave-abbrev-change-case nil) ; Don't force case of expansions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3947 (setq idlwave-hang-indent-regexp ": ") ; Change from "- " for auto-fill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3948 (setq idlwave-show-block nil) ; Turn off blinking to begin
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3949 (setq idlwave-abbrev-move t) ; Allow abbrevs to move point
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3950 (setq idlwave-query-class '((method-default . nil) ; No query for method
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3951 (keyword-default . nil); or keyword completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3952 ("INIT" . t) ; except for these
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3953 ("CLEANUP" . t)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3954 ("SETPROPERTY" .t)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3955 ("GETPROPERTY" .t)))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3956
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3957 ;; Using w3m for help (must install w3m and emacs-w3m)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3958 (autoload 'w3m-browse-url "w3m" "Interface for w3m on Emacs." t)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3959 (setq idlwave-help-browser-function 'w3m-browse-url
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3960 w3m-use-tab nil ; no tabs, location line, or toolbar
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3961 w3m-use-header-line nil
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3962 w3m-use-toolbar nil)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3963
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3964 ;; Close my help window or frame when w3m closes with `q'
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3965 (defadvice w3m-close-window (after idlwave-close activate)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3966 (if (boundp 'idlwave-help-frame)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3967 (idlwave-help-quit)))
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3968
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3969 ;; Some setting can only be done from a mode hook. Here is an example:
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3970 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3971 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3972 (setq case-fold-search nil) ; Make searches case sensitive
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3973 ;; Run other functions here
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3974 (font-lock-mode 1) ; Turn on font-lock mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3975 (idlwave-auto-fill-mode 0) ; Turn off auto filling
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3976 (setq idlwave-help-browser-function 'browse-url-w3)
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3977
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
3978 ;; Pad with 1 space (if -n is used then make the
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3979 ;; padding a minimum of n spaces.) The defaults use -1
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3980 ;; instead of 1.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3981 (idlwave-action-and-binding "=" '(idlwave-expand-equal 1 1))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3982 (idlwave-action-and-binding "<" '(idlwave-surround 1 1))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3983 (idlwave-action-and-binding ">" '(idlwave-surround 1 1 '(?-)))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3984 (idlwave-action-and-binding "&" '(idlwave-surround 1 1))
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3985
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3986 ;; Only pad after comma and with exactly 1 space
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3987 (idlwave-action-and-binding "," '(idlwave-surround nil 1))
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3988 (idlwave-action-and-binding "&" '(idlwave-surround 1 1))
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3989
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3990 ;; Pad only after `->', remove any space before the arrow
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3991 (idlwave-action-and-binding "->" '(idlwave-surround 0 -1 nil 2))
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3992
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3993 ;; Set some personal bindings
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3994 ;; (In this case, makes `,' have the normal self-insert behavior.)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3995 (local-set-key "," 'self-insert-command)
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3996 (local-set-key [f5] 'idlwave-shell-break-here)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3997 (local-set-key [f6] 'idlwave-shell-clear-current-bp)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3998
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3999 ;; Create a newline, indenting the original and new line.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4000 ;; A similar function that does _not_ reindent the original
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4001 ;; line is on "\C-j" (The default for emacs programming modes).
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4002 (local-set-key "\n" 'idlwave-newline)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4003 ;; (local-set-key "\C-j" 'idlwave-newline) ; My preference.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4004
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4005 ;; Some personal abbreviations
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4006 (define-abbrev idlwave-mode-abbrev-table
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4007 (concat idlwave-abbrev-start-char "wb") "widget_base()"
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4008 (idlwave-keyword-abbrev 1))
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4009 (define-abbrev idlwave-mode-abbrev-table
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4010 (concat idlwave-abbrev-start-char "on") "obj_new()"
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4011 (idlwave-keyword-abbrev 1))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4012 ))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4013
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4014 ;;; Settings for IDLWAVE SHELL mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4015
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4016 (setq idlwave-shell-overlay-arrow "=>") ; default is ">"
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4017 (setq idlwave-shell-use-dedicated-frame t) ; Make a dedicated frame
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4018 (setq idlwave-shell-prompt-pattern "^WAVE> ") ; default is "^IDL> "
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4019 (setq idlwave-shell-explicit-file-name "wave")
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4020 (setq idlwave-shell-process-name "wave")
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4021 (setq idlwave-shell-use-toolbar nil) ; No toolbar
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4022
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4023 ;; Most shell interaction settings can be done from the shell-mode-hook.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4024 (add-hook 'idlwave-shell-mode-hook
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4025 (lambda ()
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4026 ;; Set up some custom key and mouse examine commands
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4027 (idlwave-shell-define-key-both [s-down-mouse-2]
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4028 (idlwave-shell-mouse-examine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4029 "print, size(___,/DIMENSIONS)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4030 (idlwave-shell-define-key-both [f9] (idlwave-shell-examine
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4031 "print, size(___,/DIMENSIONS)"))
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4032 (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4033 "print,size(___,/TNAME)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4034 (idlwave-shell-define-key-both [f11] (idlwave-shell-examine
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4035 "help,___,/STRUCTURE"))))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4036 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4037
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4038 @html
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
4039 <A NAME="WIN_MAC"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4040 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4041 @node Windows and MacOS, Troubleshooting, Configuration Examples, Top
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4042 @appendix Windows and MacOS
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4043 @cindex Windows
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4044 @cindex MacOS
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4045 @cindex MacOSX
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4046
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4047 IDLWAVE was developed on a UNIX system. However, thanks to the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4048 portability of Emacs, much of IDLWAVE does also work under different
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4049 operating systems like Windows (with NTEmacs or NTXEmacs) or MacOS.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4050
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4051 The only real problem is that there is no command-line version of IDL
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4052 for Windows or MacOS(<=9) with which IDLWAVE can interact. As a
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4053 result, the IDLWAVE Shell does not work and you have to rely on IDLDE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4054 to run and debug your programs. However, editing IDL source files
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4055 with Emacs/IDLWAVE works with all bells and whistles, including
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4056 routine info, completion and fast online help. Only a small amount of
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4057 additional information must be specified in your @file{.emacs} file:
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4058 the path names which, on a UNIX system, are automatically gathered by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4059 talking to the IDL program.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4060
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4061 Here is an example of the additional configuration needed for a Windows
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4062 system. I am assuming that IDLWAVE has been installed in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4063 @w{@samp{C:\Program Files\IDLWAVE}} and that IDL is installed in
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4064 @w{@samp{C:\RSI\IDL62}}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4065
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4066 @lisp
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4067 ;; location of the lisp files (only needed if IDLWAVE is not part of
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4068 ;; your default X/Emacs installation)
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4069 (setq load-path (cons "c:/program files/IDLWAVE" load-path))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4070
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4071 ;; The location of the IDL library directories, both standard, and your own.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4072 ;; note that the initial "+" expands the path recursively
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4073 (setq idlwave-library-path
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4074 '("+c:/RSI/IDL55/lib/" "+c:/path/to/my/idllibs" ))
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4075
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4076 ;; location of the IDL system directory (try "print,!DIR")
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4077 (setq idlwave-system-directory "c:/RSI/IDL62/")
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4078
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4079 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4080
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4081 @noindent Furthermore, Windows sometimes tries to outsmart you --- make
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4082 sure you check the following things:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4083
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4084 @itemize @bullet
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4085 @item When you download the IDLWAVE distribution, make sure you save the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4086 file under the names @file{idlwave.tar.gz}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4087 @item M-TAB switches among running programs --- use Esc-TAB
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4088 instead.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4089 @item Other issues as yet unnamed...
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4090 @end itemize
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4091
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4092 Windows users who'd like to make use of IDLWAVE's context-aware HTML
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4093 help can skip the browser and use the HTMLHelp functionality directly.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4094 @xref{Help with HTML Documentation}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4095
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4096 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4097 <A NAME="TROUBLE"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4098 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4099 @node Troubleshooting, Index, Windows and MacOS, Top
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4100 @appendix Troubleshooting
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4101 @cindex Troubleshooting
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4102
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4103 Although IDLWAVE usually installs and works without difficulty, a few
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4104 common problems and their solutions are documented below.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4105
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4106 @enumerate
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4107
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4108 @item @strong{Whenever an IDL error occurs or a breakpoint is hit, I get
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4109 errors or strange behavior when I try to type anything into some of my
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4110 IDLWAVE buffers.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4111
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4112 This is a @emph{feature}, not an error. You're in @emph{Electric
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4113 Debug Mode} (@pxref{Electric Debug Mode}). You should see
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4114 @code{*Debugging*} in the mode-line. The buffer is read-only and all
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4115 debugging and examination commands are available as single keystrokes;
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4116 @kbd{C-?} lists these shortcuts. Use @kbd{q} to quit the mode, and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4117 customize the variable @code{idlwave-shell-automatic-electric-debug}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4118 if you prefer not to enter electric debug on breakpoints@dots{} but
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4119 you really should try it before you disable it! You can also
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4120 customize this variable to enter debug mode when errors are
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4121 encountered.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4122
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4123 @item @strong{I get errors like @samp{Searching for program: no such
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4124 file or directory, idl} when attempting to start the IDL shell.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4125
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4126 IDLWAVE needs to know where IDL is in order to run it as a process.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4127 By default, it attempts to invoke it simply as @samp{idl}, which
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4128 presumes such an executable is on your search path. You need to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4129 ensure @samp{idl} is on your @samp{$PATH}, or specify the full
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4130 pathname to the idl program with the variable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4131 @code{idlwave-shell-explicit-file-name}. Note that you may need to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4132 set your shell search path in two places when running Emacs as an Aqua
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4133 application with MacOSX; see the next topic.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4134
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4135 @item @strong{IDLWAVE is disregarding my @samp{IDL_PATH} which I set
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4136 under MacOSX}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4137
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4138 If you run Emacs directly as an Aqua application, rather than from the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4139 console shell, the environment is set not from your usual shell
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4140 configuration files (e.g. @file{.cshrc}), but from the file
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4141 @file{~/.MacOSX/environment.plist}. Either include your path settings
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4142 there, or start Emacs and IDLWAVE from the shell.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4143
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4144 @item @strong{I get errors like @samp{Symbol's function is void:
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4145 overlayp}}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4146
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4147 You don't have the @samp{fsf-compat} package installed, which IDLWAVE
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4148 needs to run under XEmacs. Install it, or find an XEmacs distribution
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4149 which includes it by default.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4150
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4151 @item @strong{I'm getting errors like @samp{Symbol's value as variable is void:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4152 cl-builtin-gethash} on completion or routine info.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4153
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4154 This error arises if you upgraded Emacs from 20.x to 21.x without
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4155 re-installing IDLWAVE. Old Emacs and new Emacs are not byte-compatible
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4156 in compiled lisp files. Presumably, you kept the original .elc files in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4157 place, and this is the source of the error. If you recompile (or just
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4158 "make; make install") from source, it should resolve this problem.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4159 Another option is to recompile the @file{idlw*.el} files by hand using
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4160 @kbd{M-x byte-compile-file}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4161
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4162 @item @strong{@kbd{M-@key{TAB}} doesn't complete words, it switches
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4163 windows on my desktop.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4164
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4165 Your system is trapping @kbd{M-@key{TAB}} and using it for its own
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4166 nefarious purposes: Emacs never sees the keystrokes. On many Unix
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4167 systems, you can reconfigure your window manager to use another key
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4168 sequence for switching among windows. Another option is to use the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4169 equivalent sequence @kbd{@key{ESC}-@key{TAB}}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4170
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4171 @item @strong{When stopping at breakpoints or errors, IDLWAVE does not
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4172 seem to highlight the relevant line in the source.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4173
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4174 IDLWAVE scans for error and halt messages and highlights the stop
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4175 location in the correct file. However, if you've changed the system
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4176 variable @samp{!ERROR_STATE.MSG_PREFIX}, it is unable to parse these
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4177 message correctly. Don't do that.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4178
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4179 @item @strong{IDLWAVE doesn't work correctly when using ENVI.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4180
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4181 Though IDLWAVE was not written with ENVI in mind, it works just fine
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4182 with it, as long as you update the prompt it's looking for (@samp{IDL>
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4183 } by default). You can do this with the variable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4184 @code{idlwave-shell-prompt-pattern} (@pxref{Starting the Shell}), e.g.,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4185 in your @file{.emacs}:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4186
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4187 @lisp
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4188 (setq idlwave-shell-prompt-pattern "^\r? ?\\(ENVI\\|IDL\\)> ")
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4189 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4190
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4191 @item @strong{Attempts to set breakpoints fail: no breakpoint is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4192 indicated in the IDLWAVE buffer.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4193
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4194 IDL changed its breakpoint reporting format starting with IDLv5.5. The
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4195 first version of IDLWAVE to support the new format is IDLWAVE v4.10. If
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4196 you have an older version and are using IDL >v5.5, you need to upgrade,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4197 and/or make sure your recent version of IDLWAVE is being found on the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4198 Emacs load-path (see the next entry). You can list the version being
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4199 used with @kbd{C-h v idlwave-mode-version @key{RET}}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4200
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4201 @item @strong{I installed a new version of IDLWAVE, but the old
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4202 version is still being used} or @strong{IDLWAVE works, but when I
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4203 tried to install the optional modules @file{idlw-roprompt.el} or
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4204 @file{idlw-complete-structtag}, I get errors like @samp{Cannot open
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4205 load file}}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4206
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4207 The problem is that your Emacs is not finding the version of IDLWAVE you
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4208 installed. Many Emacsen come with an older bundled copy of IDLWAVE
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4209 (e.g. v4.7 for Emacs 21.x), which is likely what's being used instead.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4210 You need to make sure your Emacs @emph{load-path} contains the directory
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4211 where IDLWAVE is installed (@file{/usr/local/share/emacs/site-lisp}, by
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4212 default), @emph{before} Emacs' default search directories. You can
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4213 accomplish this by putting the following in your @file{.emacs}:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4214
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4215 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4216 (setq load-path (cons "/usr/local/share/emacs/site-lisp" load-path))
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4217 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4218
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4219 @noindent You can check on your load-path value using @kbd{C-h v
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4220 load-path @key{RET}}, and @kbd{C-h m} in an IDLWAVE buffer should show
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4221 you the version Emacs is using.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4222
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4223 @item @strong{IDLWAVE is screwing up the formatting of my @file{.idl} files.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4224
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4225 Actually, this isn't IDLWAVE at all, but @samp{idl-mode}, an unrelated
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4226 programming mode for CORBA's Interface Definition Language (you should
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4227 see @samp{(IDL)}, not @samp{(IDLWAVE)} in the mode-line). One
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4228 solution: don't name your file @file{.idl}, but rather @file{.pro}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4229 Another solution: make sure @file{.idl} files load IDLWAVE instead of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4230 @samp{idl-mode} by adding the following to your @file{.emacs}:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4231
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4232 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4233 (setcdr (rassoc 'idl-mode auto-mode-alist) 'idlwave-mode)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4234 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4235
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4236 @item @strong{The routine info for my local routines is out of date!}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4237
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4238 IDLWAVE collects routine info from various locations (@pxref{Routine
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4239 Information Sources}). Routines in files visited in a buffer or
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4240 compiled in the shell should be up to date. For other routines, the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4241 information is only as current as the most recent scan. If you have a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4242 rapidly changing set of routines, and you'd like the latest routine
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4243 information to be available for it, one powerful technique is to make
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4244 use of the library catalog tool, @samp{idlwave_catalog}. Simply add a
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4245 line to your @samp{cron} file (@samp{crontab -e} will let you edit this
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4246 on some systems), like this
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4247
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4248 @example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4249 45 3 * * 1-5 (cd /path/to/myidllib; /path/to/idlwave_catalog MyLib)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4250 @end example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4251
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4252 @noindent where @samp{MyLib} is the name of your library. This will
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4253 rescan all @file{.pro} files at or below @file{/path/to/myidllib} every
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4254 week night at 3:45am. You can even scan site-wide libraries with this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4255 method, and the most recent information will be available to all users.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4256 Since the scanning is very fast, there is very little impact.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4257
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4258 @item @strong{All the Greek-font characters in the HTML help are
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4259 displayed as Latin characters!}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4260
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4261 Unfortunately, the HTMLHelp files RSI provides attempt to switch to
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4262 @samp{Symbol} font to display Greek characters, which is not really an
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4263 permitted method for doing this in HTML. There is a "workaround" for
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4264 some browsers: @xref{HTML Help Browser Tips}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4265
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4266 @item @strong{In the shell, my long commands are truncated at 256 characters!}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4267
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4268 This actually happens when running IDL in an XTerm as well. There are
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4269 a couple of work arounds: @code{define_key,/control,'^d'} (e.g. in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4270 your @file{$IDL_STARTUP} file) will disable the @samp{EOF} character
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4271 and give you a 512 character limit. You won't be able to use
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4272 @key{C-d} to quit the shell, however. Another possibility is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4273 @code{!EDIT_INPUT=0}, which gives you an @emph{infinite} limit (OK, a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4274 memory-bounded limit), but disables the processing of background
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4275 widget events (those with @code{/NO_BLOCK} passed to @code{XManager}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4276
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4277 @item @strong{When I invoke IDL HTML help on a routine, the page which
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4278 is loaded is one page off, e.g. for @code{CONVERT_COORD}, I get
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4279 @code{CONTOUR}.}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4280
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4281 You have a mismatch between your help index and the HTML help package
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4282 you downloaded. You need to ensure you download a ``downgrade kit'' if
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4283 you are using anything older than the latest HTML help package. A new
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4284 help package apppears with each IDL release (assuming the documentation
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4285 is updated).
69835
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
4286 Starting with IDL 6.2, the HTML help and its catalog are
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4287 distributed with IDL, and so should never be inconsistent.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4288
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4289 @item @strong{I get errors such as @samp{void-variable
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4290 browse-url-browser-function} or similar when attempting to load IDLWAVE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4291 under XEmacs.}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4292
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4293 You don't have the @samp{browse-url} (or other required) XEmacs package.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4294 Unlike GNU Emacs, XEmacs distributes many packages separately from the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4295 main program. IDLWAVE is actually among these, but is not always the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4296 most up to date. When installing IDLWAVE as an XEmacs package, it
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4297 should prompt you for required additional packages. When installing it
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4298 from source, it won't and you'll get this error. The easiest solution
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4299 is to install all the packages when you install XEmacs (the so-called
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4300 @samp{sumo} bundle). The minimum set of XEmacs packages required by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4301 IDLWAVE is @samp{fsf-compat, xemacs-base, mail-lib}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4302
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4303 @end enumerate
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4304
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4305 @node Index, , Troubleshooting, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4306 @unnumbered Index
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4307 @printindex cp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4308
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4309 @bye
69837
15cb8a20aec0 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 69835
diff changeset
4310
15cb8a20aec0 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 69835
diff changeset
4311 @ignore
15cb8a20aec0 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 69835
diff changeset
4312 arch-tag: f1d73958-1423-4127-b8aa-f7b953d64492
15cb8a20aec0 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 69835
diff changeset
4313 @end ignore