annotate man/idlwave.texi @ 77348:9fa5e9cd5e93

* sysdep.c (init_system_name): Don't accept localhost.localdomain.
author Chong Yidong <cyd@stupidchicken.com>
date Fri, 20 Apr 2007 21:36:38 +0000
parents 88224dc74061
children 2c3331730126 e6fdae9180d4
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,
75348
3d45362f1d38 Add 2007 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 71224
diff changeset
33 2006, 2007 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,
75348
3d45362f1d38 Add 2007 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 71224
diff changeset
64 2006, 2007 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
77235
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
109 * GNU Free Documentation License:: The license for this documentation.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
110 * Index:: Fast access
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
111
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
112 @detailmenu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
113 --- The Detailed Node Listing ---
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
114
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
115 Getting Started (Tutorial)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
116
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
117 * 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
118 * Lesson II -- Customization::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
119 * Lesson III -- User Catalog::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
120
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
121 The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
122
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
123 * Code Formatting:: Making code look nice
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
124 * Routine Info:: Calling Sequence and Keyword List
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
125 * 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
126 * 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
127 * Routine Source:: Finding routines, the easy way
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
128 * 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
129 * Code Templates:: Frequent code constructs
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
130 * Abbreviations:: Abbreviations for common commands
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
131 * Actions:: Changing case, Padding, End checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
132 * Doc Header:: Inserting a standard header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
133 * 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
134 * 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
135
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
136 Code Formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
137
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
138 * 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
139 * Continued Statement Indentation::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
140 * 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
141 * Continuation Lines:: Splitting statements over lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
142 * Syntax Highlighting:: Font-lock support
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
143 * 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
144
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
145 Online Help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
146
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
147 * 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
148 * Help with Source::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
149
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
150 Completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
151
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
152 * Case of Completed Words:: CaseOFcomPletedWords
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
153 * 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
154 * 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
155 * 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
156 * 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
157
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
158 Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
159
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
160 * 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
161 * Padding Operators:: Enforcing space around `=' etc
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
162 * Case Changes:: Enforcing upper case keywords
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
163
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
164 The IDLWAVE Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
165
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
166 * 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
167 * 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
168 * 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
169 * Debugging IDL Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
170 * Examining Variables::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
171 * Custom Expression Examination::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
172
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
173 Debugging IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
174
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
175 * 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
176 * Debug Key Bindings::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
177 * Breakpoints and Stepping::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
178 * Compiling Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
179 * 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
180 * Electric Debug Mode::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
181
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
182 Sources of Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
183
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
184 * Routine Definitions:: Where IDL Routines are defined.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
185 * 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
186 * Catalogs::
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
187 * Load-Path Shadows:: Routines defined in several places
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
188 * Documentation Scan:: Scanning the IDL Manuals
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
189
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
190 Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
191
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
192 * Library Catalogs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
193 * User Catalog::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
194
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
195 @end detailmenu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
196 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
197
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
198 @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
199 @chapter Introduction
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
200 @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
201 @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
202 @cindex Interface Definition Language
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
203 @cindex Interactive Data Language
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
204 @cindex cc-mode.el
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
205 @cindex @file{idl.el}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
206 @cindex @file{idl-shell.el}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
207 @cindex Feature overview
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
208
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
209 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
210 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
211 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
212 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
213 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
214 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
215 structured.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
216
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
217 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
218 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
219 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
220 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
221 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
222 what IDLWAVE does:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
223
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
224 @itemize @bullet
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
225 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
226 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
227 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
228 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
229 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
230 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
231 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
232 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
233 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
234 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
235 undocumented routines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
236 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
237 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
238 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
239 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
240 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
241 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
242 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
243 standards.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
244 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
245 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
246 @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
247 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
248 @item
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
249 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
250 @item
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
251 Documentation support.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
252 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
253 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
254 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
255 IDL source buffers.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
256 @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
257 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
258 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
259 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
260 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
261 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
262 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
263 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
264 inspection, etc.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
265 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
266 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
267 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
268 And much, much more...
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
269 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
270
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
271 @ifnottex
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
272 @cindex Screenshots
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
273 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
274
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
275 @itemize @bullet
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
276 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
277 @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
278 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
279 @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
280 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
281 @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
282 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
283 @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
284 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
285 @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
286 stopped at a breakpoint}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
287 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
288 @end ifnottex
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
289
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
290 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
291 @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
292 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
293 @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
294
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
295 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
296 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
297 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
298 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
299 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
300 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
301 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
302 appendix.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
303
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
304 @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
305 @chapter IDLWAVE in a Nutshell
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
306 @cindex Summary of important commands
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
307 @cindex IDLWAVE in a Nutshell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
308 @cindex Nutshell, IDLWAVE in a
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
309
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
310 @subheading Editing IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
311
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
312 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
313 @item @key{TAB}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
314 @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
315 @item @kbd{C-M-\}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
316 @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
317 @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
318 @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
319 @item @kbd{C-u @key{TAB}}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
320 @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
321 @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
322 @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
323 @item @kbd{M-q}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
324 @tab Fill the current comment paragraph.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
325 @item @kbd{C-c ?}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
326 @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
327 at point.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
328 @item @kbd{M-?}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
329 @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
330 @item @kbd{M-@key{TAB}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
331 @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
332 @item @kbd{C-c C-i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
333 @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
334 @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
335 @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
336 @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
337 @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
338 @item @kbd{C-c C-h}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
339 @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
340 @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
341 @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
342 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
343
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
344 @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
345
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
346 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
347 @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
348 @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
349 @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
350 @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
351 @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
352 @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
353 @item @kbd{@key{TAB}}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
354 @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
355 @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
356 @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
357 @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
358 @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
359 @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
360 @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
361 @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
362 @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
363 @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
364 @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
365 @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
366 @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
367 @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
368 @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
369 @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
370 @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
371 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
372
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
373 @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
374 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
375 ;; Change the indentation preferences
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
376 ;; 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
377 (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
378 ;; Pad operators with spaces
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
379 (setq idlwave-do-actions t
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
380 idlwave-surround-by-blank t)
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
381 ;; Syntax Highlighting
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
382 (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
383 ;; Automatically start the shell when needed
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
384 (setq idlwave-shell-automatic-start t)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
385 ;; 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
386 (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
387 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
388
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
389 @html
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
390 <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
391 @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
392
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
393 @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
394 @chapter Getting Started (Tutorial)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
395 @cindex Quick-Start
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
396 @cindex Tutorial
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
397 @cindex Getting Started
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
398
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
399 @menu
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
400 * 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
401 * Lesson II -- Customization::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
402 * Lesson III -- User Catalog::
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
403 @end menu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
404
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
405 @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
406 @section Lesson I: Development Cycle
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
407
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
408 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
409 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
410 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
411 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
412 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
413 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
414 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
415
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
416 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
417 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
418 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
419 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
420 @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
421
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
422 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
423
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
424 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
425 @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
426 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
427
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
428 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
429 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
430 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
431
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
432 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
433 @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
434
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
435 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
436 function daynr,d,m,y
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
437 ;; 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
438 ;; works 1901-2099.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
439 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
440 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
441 m1 = m + delta*12 + 1
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
442 y1 = y * delta
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
443 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
444 end
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
445
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
446 function weekday,day,month,year
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
447 ;; compute weekday number for date
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
448 nr = daynr(day,month,year)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
449 return, nr mod 7
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
450 end
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
451
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
452 pro plot_wday,day,month
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
453 ;; 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
454 years = 2000,+indgen(10)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
455 wdays = intarr(10)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
456 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
457 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
458 end
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
459 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
460 end
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
461 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
462
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
463 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
464 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
465 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
466 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
467 @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
468 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
469 font-lock.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
470
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
471 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
472 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
473 @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
474 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
475 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
476 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
477 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
478 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
479 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
480 change.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
481
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
482 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
483 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
484 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
485 help us fix.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
486
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
487 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
488 @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
489 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
490 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
491 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
492 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
493
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
494 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
495 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
496 @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
497 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
498 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
499 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
500 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
501 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
502 see the three routines compile.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
503
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
504 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
505 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
506 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
507 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
508 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
509 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
510 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
511 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
512 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
513 @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
514 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
515 @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
516 provide the two arguments:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
517
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
518 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
519 plot_wday,1,1
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
520 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
521
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
522 @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
523 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
524 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
525 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
526 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
527 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
528 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
529 @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
530 and execute again.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
531
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
532 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
533 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
534 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
535 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
536 @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
537 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
538 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
539 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
540 @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
541 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
542 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
543 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
544 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
545 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
546 look pretty good.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
547
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
548 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
549
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
550 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
551 plot_wday,1,4
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
552 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
553
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
554 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
555 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
556 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
557 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
558 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
559 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
560 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
561 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
562 @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
563 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
564 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
565 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
566 @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
567 @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
568 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
569
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
570 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
571 y1 = y - delta
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
572 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
573
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
574 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
575 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
576 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
577 sequence of weekdays repeats.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
578
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
579 @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
580 @section Lesson II: Customization
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
581
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
582 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
583 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
584 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
585 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
586 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
587 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
588
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
589 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
590 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
591 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
592 @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
593
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
594 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
595 (setq idlwave-reserved-word-upcase t)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
596 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
597
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
598 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
599 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
600 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
601 @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
602 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
603 restart Emacs.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
604
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
605 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
606 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
607 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
608 @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
609
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
610 @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
611 (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
612 (setq idlwave-block-indent 3)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
613 (setq idlwave-end-offset -3)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
614 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
615
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
616 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
617 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
618 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
619 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
620 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
621 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
622 throughout this manual.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
623
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
624 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
625 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
626 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
627 @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
628 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
629 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
630 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
631 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
632 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
633 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
634 IDLWAVE's functionality with them.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
635
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
636 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
637 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
638 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
639 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
640 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
641 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
642 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
643 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
644 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
645 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
646 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
647 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
648 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
649
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
650 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
651 (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
652 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
653
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
654 @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
655 @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
656
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
657 @lisp
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
658 (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
659 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
660
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
661 @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
662 @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
663 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
664
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
665 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
666 @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
667 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
668 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
669
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
670 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
671 ;; First for the source buffer
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
672 (add-hook 'idlwave-mode-hook
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
673 (lambda ()
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
674 (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
675 (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
676 (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
677 (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
678 (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
679 ;; Then for the shell buffer
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
680 (add-hook 'idlwave-shell-mode-hook
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
681 (lambda ()
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
682 (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
683 (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
684 (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
685 (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
686 (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
687 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
688
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
689 @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
690 @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
691
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
692 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
693 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
694 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
695 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
696 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
697 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
698 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
699 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
700 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
701 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
702 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
703 @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
704 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
705 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
706
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
707 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
708 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
709 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
710 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
711 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
712 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
713 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
714 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
715 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
716 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
717 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
718 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
719 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
720 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
721 (@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
722 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
723 library:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
724
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
725 @example
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
726 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
727 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
728
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
729 expands to `readfits('. Then try
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
730
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
731 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
732 a=readfits(@key{C-c ?}
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
733 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
734
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
735 and you get:
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
736
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
737 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
738 Usage: Result = READFITS(filename, header, heap)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
739 ...
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
740 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
741
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
742 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
743 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
744 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
745 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
746 (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
747 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
748
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
749 @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
750 @chapter The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
751 @cindex IDLWAVE major mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
752 @cindex Major mode, @code{idlwave-mode}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
753
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
754 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
755 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
756 them.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
757
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
758 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
759 * Code Formatting:: Making code look nice
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
760 * Routine Info:: Calling Sequence and Keyword List
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
761 * 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
762 * 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
763 * Routine Source:: Finding routines, the easy way
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
764 * 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
765 * Code Templates:: Frequent code constructs
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
766 * Abbreviations:: Abbreviations for common commands
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
767 * Actions:: Changing case, Padding, End checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
768 * Doc Header:: Inserting a standard header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
769 * 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
770 * 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
771 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
772
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
773 @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
774 @section Code Formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
775 @cindex Code formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
776 @cindex Formatting, of code
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
777
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
778 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
779 * 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
780 * Continued Statement Indentation::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
781 * 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
782 * Continuation Lines:: Splitting statements over lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
783 * Syntax Highlighting:: Font-lock support
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
784 * 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
785 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
786
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
787 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
788 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
789 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
790 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
791 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
792 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
793 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
794 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
795 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
796 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
797 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
798 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
799
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
800
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
801 @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
802 @subsection Code Indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
803 @cindex Code indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
804 @cindex Indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
805
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
806 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
807 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
808 @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
809 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
810 @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
811 continuation lines.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
812
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
813 @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
814 @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
815 @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
816 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
817 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
818 (@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
819 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
820 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
821 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
822 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
823
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
824 @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
825 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
826 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
827 unit.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
828 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
829
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
830 @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
831 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
832 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
833 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
834
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
835 @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
836 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
837 @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
838 BEGIN lines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
839 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
840
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
841 @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
842 @subsection Continued Statement Indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
843 @cindex Indentation, continued statement
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
844 @cindex Continued statement indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
845 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
846 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
847 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
848 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
849 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
850 (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
851 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
852 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
853 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
854 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
855 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
856 punctuation. An example:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
857
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
858 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
859 function foo, a, b, $
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
860 c, d
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
861 bar = sin( a + b + $
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
862 c + d)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
863 end
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
864 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
865 @noindent
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
866
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
867 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
868 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
869 sides of an assignment:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
870
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
871 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
872 function thisfunctionnameisverylongsoitwillleavelittleroom, a, b, $
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
873 c, d
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
874 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
875
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
876 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
877 indentation by setting the variable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
878 @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
879 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
880 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
881 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
882 @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
883 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
884 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
885 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
886
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
887 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
888 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
889 @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
890 @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
891 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
892 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
893 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
894
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
895
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
896 @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
897 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
898 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
899
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
900 @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
901 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
902 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
903 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
904 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
905 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
906 line, outside of nested parentheses statements.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
907 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
908
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
909 @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
910 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
911 parenthesis, regardless of whether the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
912 @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
913 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
914
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
915 @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
916 @subsection Comment Indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
917 @cindex Comment indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
918 @cindex Hanging paragraphs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
919 @cindex Paragraphs, filling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
920 @cindex Paragraphs, hanging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
921
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
922 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
923 Comment lines are indented as follows:
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
924
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
925 @multitable @columnfractions .1 .90
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
926 @item @code{;;;}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
927 @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
928 unchanged.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
929 @item @code{;;}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
930 @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
931 @item @code{;}
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
932 @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
933 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
934
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
935 @noindent
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
936 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
937
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
938 @defopt idlwave-no-change-comment
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
939 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
940 changed.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
941 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
942
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
943 @defopt idlwave-begin-line-comment
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
944 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
945 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
946
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
947 @defopt idlwave-code-comment
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
948 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
949 IDL code.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
950 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
951
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
952 @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
953 @subsection Continuation Lines and Filling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
954 @cindex Continuation lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
955 @cindex Line splitting
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
956 @cindex String splitting
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
957 @cindex Splitting, of lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
958
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
959 @kindex M-@key{RET}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
960 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
961 @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
962 @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
963 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
964 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
965 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
966 concatenation operator is used.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
967
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
968 @cindex Filling
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
969 @cindex @code{auto-fill-mode}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
970 @cindex Hanging paragraphs
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
971 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
972 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
973 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
974 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
975 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
976 @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
977 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
978
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
979 @example
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
980 @group
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
981 ;=================================
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
982 ; x - an array containing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
983 ; lots of interesting numbers.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
984 ;
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
985 ; y - another variable where
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
986 ; a hanging paragraph is used
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
987 ; to describe it.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
988 ;=================================
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
989 @end group
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
990 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
991
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
992 @kindex M-q
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
993 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
994 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
995 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
996 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
997
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
998 @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
999 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
1000 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1001
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1002 @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
1003 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
1004 operator.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1005 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1006
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1007 @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
1008 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
1009 @samp{+}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1010 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1011
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1012 @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
1013 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
1014 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
1015 line of the paragraph.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1016 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1017
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1018 @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
1019 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
1020 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
1021 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1022
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1023 @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
1024 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
1025 @code{idlwave-indent-regexp}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1026 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1027
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1028 @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
1029 @subsection Syntax Highlighting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1030 @cindex Syntax highlighting
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1031 @cindex Highlighting of syntax
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1032 @cindex Font lock
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1033
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1034 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
1035 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
1036 (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
1037 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
1038 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
1039 @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
1040
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1041 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1042 (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
1043 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1044
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1045 @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
1046 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
1047 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
1048 for highlighting using the variable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1049 @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
1050
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1051 @defopt idlwave-default-font-lock-items
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1052 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
1053 2.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1054 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1055
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1056 @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
1057 @subsection Octals and Highlighting
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1058 @cindex Syntax highlighting, Octals
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1059 @cindex Highlighting of syntax, Octals
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1060
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1061 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
1062 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
1063 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
1064 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
1065 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
1066 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
1067
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1068 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
1069 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
1070
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1071 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1072 string("305B) + $ ;" <--- for font-lock
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1073 ' is an Angstrom.'
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1074 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1075
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1076 @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
1077 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
1078
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1079 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1080 string('305'OB) + ' is an Angstrom.'
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1081 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1082
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1083 @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
1084 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
1085
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1086 @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
1087 @section Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1088 @cindex Routine info
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1089 @cindex Updating routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1090 @cindex Scanning buffers for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1091 @cindex Buffers, scanning for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1092 @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
1093
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1094 @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
1095 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
1096 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
1097 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
1098 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
1099 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
1100 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
1101 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
1102 @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
1103 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
1104 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
1105 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
1106 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
1107 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
1108 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
1109 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
1110 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
1111 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
1112 (@code{idlwave-update-routine-info}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1113
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1114 @kindex C-c ?
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1115 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
1116 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
1117 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
1118 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
1119 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
1120
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1121 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1122 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
1123 | | | | | | | |
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1124 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
1125 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1126
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1127 @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
1128 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
1129 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
1130 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
1131 function.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1132
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1133 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
1134 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
1135 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
1136 @samp{->} operator (@pxref{Object Method Completion and Class
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
1137 Ambiguity}), or by having been explicitly included in the call
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1138 (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
1139
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1140 @cindex Calling sequences
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1141 @cindex Keywords of a routine
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1142 @cindex Routine source information
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1143 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
1144 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
1145
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1146 @example
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1147 Usage: XMANAGER, NAME, ID
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1148 Keywords: BACKGROUND CATCH CLEANUP EVENT_HANDLER GROUP_LEADER
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1149 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
1150 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
1151 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1152
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1153 @cindex Categories, of routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1154 @cindex Load-path shadows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1155 @cindex Shadows, load-path
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1156 @cindex IDL variable @code{!PATH}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1157 @cindex @code{!PATH}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1158 @cindex IDL variable @code{!DIR}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1159 @cindex @code{!DIR}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1160
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1161 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
1162 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
1163 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
1164 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
1165 (@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
1166 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
1167 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
1168 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
1169 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
1170 @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
1171 default categories exist:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1172
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1173 @multitable @columnfractions .15 .85
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1174 @item @i{System}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1175 @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
1176 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
1177 will automatically split into the next two.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1178 @item @i{Builtin}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1179 @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
1180 @item @i{SystemLib}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1181 @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
1182 @item @i{Obsolete}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1183 @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
1184 @item @i{Library}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1185 @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
1186 @item @i{Other}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1187 @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
1188 @item @i{Unresolved}
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
1189 @tab An otherwise unknown 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
1190 (referenced, but not compiled).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1191 @end multitable
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1192
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1193 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
1194 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
1195 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
1196 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
1197 variable @code{idlwave-special-lib-alist}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1198
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1199 @cindex Flags, in routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1200 @cindex Duplicate routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1201 @cindex Multiply defined routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1202 @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
1203 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
1204 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
1205 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
1206 (@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
1207 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
1208 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
1209 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
1210 @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
1211
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1212 @cindex Online Help from the routine info buffer
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1213 @cindex Active text, in routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1214 @cindex Inserting keywords, from routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1215 @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
1216 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
1217 (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
1218 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
1219 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
1220
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1221 @multitable @columnfractions 0.15 0.85
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1222 @item @i{Usage}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1223 @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
1224 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
1225 routine (@pxref{Online Help}).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1226 @item @i{Keyword}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1227 @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
1228 @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
1229 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
1230 @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
1231 clicking also adds the initial @samp{/}.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1232 @item @i{Source}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1233 @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
1234 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
1235 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
1236 @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
1237 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
1238 window.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1239 @item @i{Classes}
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1240 @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
1241 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
1242 @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
1243 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
1244 exists there.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1245 @end multitable
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1246
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1247 @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
1248 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
1249 fit the content.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1250 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1251
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1252 @defopt idlwave-special-lib-alist
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1253 Alist of regular expressions matching special library directories.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1254 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1255
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1256 @defopt idlwave-rinfo-max-source-lines (@code{5})
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1257 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
1258 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1259
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1260
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
1261 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1262 <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
1263 @end html
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1264 @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
1265 @section Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1266
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1267 @cindex Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1268 @cindex @file{idlw-help.txt}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1269 @cindex @file{idlw-help.el}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1270 @cindex Installing online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1271 @cindex Online Help, Installation
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1272 @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
1273 @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
1274
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 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
1276 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
1277 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
1278 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
1279 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
1280 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
1281 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
1282
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 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
1284 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
1285 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
1286 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
1287 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
1288 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
1289 (@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
1290 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
1291 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
1292
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 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
1294 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
1295 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
1296 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
1297
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 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
1299 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
1300 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
1301
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1302 @kindex M-?
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1303 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
1304 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
1305 @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
1306 locations are recognized context for help:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1307
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1308 @cindex Context, for online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1309 @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
1310 @item @i{Routine names}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1311 @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
1312 @item @i{Keyword Parameters}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1313 @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
1314 @item @i{System Variables}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1315 @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
1316 @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
1317 @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
1318 @item @i{IDL Statements}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1319 @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
1320 @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
1321 @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
1322 @item @i{Class names}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1323 @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
1324 @item @i{Class Init Keywords}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1325 @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
1326 @item @i{Executive Command}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1327 @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
1328 @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
1329 @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
1330 @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
1331 @tab Class tags like @code{self.value}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1332 @item @i{Default}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1333 @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
1334 @end multitable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1335
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1336 @cindex @code{OBJ_NEW}, special online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1337 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
1338 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
1339 @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
1340 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
1341 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
1342 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
1343 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
1344
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1345 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
1346 which online help can be accessed.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1347
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1348 @itemize @bullet
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1349 @item
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1350 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
1351 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
1352 corresponding help (@pxref{Routine Info}).
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1353 @item
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1354 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
1355 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
1356 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
1357 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
1358 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
1359 @end itemize
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1360 @noindent
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1361 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
1362 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
1363 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
1364
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1365
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1366 @menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1367 * 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
1368 * Help with Source::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1369 @end menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1370
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1371 @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
1372 @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
1373 @cindex HTML Help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1374 @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
1375 @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
1376 @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
1377
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1378 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
1379 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
1380 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
1381 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
1382 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
1383 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
1384 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
1385 @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
1386 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
1387 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
1388 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
1389
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1390 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
1391 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
1392 @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
1393 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
1394 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
1395 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
1396 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
1397 @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
1398 (@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
1399 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
1400 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
1401 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
1402 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
1403 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
1404 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
1405 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
1406
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 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
1408 @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
1409 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
1410 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
1411 subsequent use.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1412
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1413 @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
1414 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
1415
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
1416 @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
1417 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
1418 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
1419 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
1420 @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
1421
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 @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
1423 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
1424 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
1425 (@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
1426 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1427
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
1428 @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
1429 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
1430 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
1431 @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
1432 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1433
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1434 @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
1435 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
1436 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
1437 @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
1438 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1439
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1440 @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
1441 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
1442 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
1443 contains "-w3".
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1444 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1445
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1446 @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
1447 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
1448 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1449
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1450 @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
1451 @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
1452 @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
1453
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1454 @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
1455 @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
1456 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
1457 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
1458 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
1459 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
1460 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
1461 (@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
1462 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
1463 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
1464 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
1465
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1466 @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
1467 @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
1468 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
1469 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
1470 (@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
1471 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
1472 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
1473
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1474 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
1475 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
1476 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
1477
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1478 @multitable @columnfractions .15 .85
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1479 @item @kbd{@key{SPACE}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1480 @tab Scroll forward one page.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1481 @item @kbd{@key{RET}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1482 @tab Scroll forward one line.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1483 @item @kbd{@key{DEL}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1484 @tab Scroll back one page.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1485 @item @kbd{h}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1486 @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
1487 as help.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1488 @item @kbd{H}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1489 @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
1490 @item @kbd{.} @r{(Dot)}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1491 @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
1492 @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
1493 item in the DocLib header.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1494 @item @kbd{F}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1495 @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
1496 @item @kbd{q}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1497 @tab Kill the help window.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1498 @end multitable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1499
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1500
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1501 @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
1502 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
1503 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1504
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1505 @defopt idlwave-help-frame-parameters
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1506 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
1507 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1508
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1509 @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
1510 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
1511 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1512
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1513 @defopt idlwave-extra-help-function
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1514 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
1515 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1516
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1517 @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
1518 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
1519 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1520
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1521 @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
1522 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
1523 displaying source file.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1524 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1525
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1526 @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
1527 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
1528 @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
1529 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1530
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1531 @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
1532 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
1533 @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
1534 @end defopt
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1535
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1536
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1537 @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
1538 @section Completion
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1539 @cindex Completion
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1540 @cindex Keyword completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1541 @cindex Method completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1542 @cindex Object method completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1543 @cindex Class name completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1544 @cindex Function name completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1545 @cindex Procedure name completion
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1546
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1547 @kindex M-@key{TAB}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1548 @kindex C-c C-i
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1549 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
1550 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
1551 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
1552 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
1553 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
1554 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
1555 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
1556
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1557 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
1558 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
1559 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
1560 position marked with a @samp{_}:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1561
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1562 @example
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1563 plo_ @r{Procedure}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1564 x = a_ @r{Function}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1565 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
1566 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
1567 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
1568 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
1569 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
1570 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
1571 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
1572 pro A_ @r{Class name}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1573 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
1574 !v_ @r{System variable}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1575 !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
1576 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
1577 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
1578 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
1579 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1580
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1581 @cindex Completion, ambiguity
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1582 @cindex Completion, forcing function name
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1583 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
1584 @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
1585 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
1586 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
1587 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
1588
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1589 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
1590 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
1591 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
1592 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
1593
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1594 @cindex Scrolling the @file{*Completions*} window
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1595 @cindex Completion, scrolling
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1596 @cindex Completion, Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1597 @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
1598 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
1599 @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
1600 @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
1601 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
1602 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
1603 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
1604 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
1605 text.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1606
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1607 @cindex Completion, cancelling
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1608 @cindex Cancelling completion
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1609 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
1610 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
1611 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
1612 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
1613 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
1614 with no negative consequences.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1615
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1616 @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
1617 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
1618 completed keywords.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1619 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1620
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1621 @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
1622 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
1623 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
1624 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
1625 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1626
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1627 @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
1628 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
1629 completion.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1630 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1631
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1632 @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
1633 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
1634 available.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1635 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1636
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1637 @menu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1638 * Case of Completed Words:: CaseOFcomPletedWords
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1639 * 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
1640 * 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
1641 * 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
1642 * Structure Tag Completion:: Completing state.Tag
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1643 @end menu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1644
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1645 @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
1646 @subsection Case of Completed Words
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1647 @cindex Case of completed words
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1648 @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
1649 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
1650 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
1651 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
1652 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
1653 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
1654 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
1655 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
1656 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
1657 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
1658 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
1659 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
1660 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
1661 @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
1662 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
1663 @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
1664
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1665 @defopt idlwave-completion-case
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1666 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
1667 of completed words.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1668 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1669
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1670 @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
1671 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
1672 @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
1673 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
1674 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
1675 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1676
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1677 @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
1678 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
1679 completion.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1680 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1681
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1682 @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
1683 @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
1684 @cindex Object methods
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1685 @cindex Class ambiguity
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1686 @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
1687 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
1688 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
1689 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
1690 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
1691 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
1692 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
1693 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
1694 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
1695 @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
1696 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
1697 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
1698 considered as well.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1699
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1700 @cindex Forcing class query.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1701 @cindex Class query, forcing
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1702 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
1703 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
1704 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
1705 @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
1706 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
1707 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
1708 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
1709
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1710 @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
1711 @cindex @code{->}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1712 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
1713 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
1714 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
1715 (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
1716 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
1717 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
1718 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
1719 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
1720
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
1721 @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
1722 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
1723 @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
1724 keywords.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1725 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1726
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1727 @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
1728 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
1729 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1730
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1731 @defopt idlwave-query-class (@code{nil})
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1732 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
1733 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1734
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
1735 @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
1736 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
1737 @samp{->}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1738 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1739
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1740 @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
1741 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
1742 class text property.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1743 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1744
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1745 @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
1746 @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
1747 @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
1748 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
1749 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
1750 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
1751 @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
1752 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
1753 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
1754 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
1755 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
1756 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
1757
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1758 @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
1759 @subsection Class and Keyword Inheritance
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1760 @cindex Inheritance, class
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1761 @cindex Keyword inheritance
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1762 @cindex Inheritance, keyword
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1763
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1764 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
1765 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
1766 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
1767 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
1768 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
1769 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
1770 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
1771 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
1772 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
1773 @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
1774
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1775 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
1776 @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
1777 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
1778 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
1779 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
1780 @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
1781 @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
1782
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
1783 IDLWAVE can accommodate 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
1784 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
1785 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
1786 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
1787 of course no guarantee that this type of keyword chaining actually
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
1788 occurs, but for some methods it's a very convenient assumption. The
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1789 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
1790 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
1791 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
1792 @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
1793 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
1794
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1795 @defopt idlwave-support-inheritance (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1796 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
1797 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1798
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1799 @defopt idlwave-keyword-class-inheritance
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1800 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
1801 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
1802 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1803
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1804 @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
1805 @subsection Structure Tag Completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1806 @cindex Completion, structure tag
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1807 @cindex Structure tag completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1808
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1809 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
1810 (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
1811 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
1812 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
1813 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
1814 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
1815 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
1816 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
1817 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
1818 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
1819 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
1820 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
1821 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
1822 (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
1823 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
1824
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1825 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
1826 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
1827
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1828 @lisp
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1829 (add-hook 'idlwave-load-hook
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1830 (lambda () (require 'idlw-complete-structtag)))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1831 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1832
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1833 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
1834 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
1835 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
1836 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
1837 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
1838
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 @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
1840 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
1841 @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
1842
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 @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
1844 @code{st}.
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1845
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1846 @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
1847 @section Routine Source
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1848 @cindex Routine source file
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1849 @cindex Module source file
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1850 @cindex Source file, of a routine
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1851 @kindex C-c C-v
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1852 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
1853 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
1854 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
1855 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
1856 @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
1857 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
1858 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
1859 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
1860 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
1861 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
1862 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
1863
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1864 @cindex Buffers, killing
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1865 @cindex Killing autoloaded buffers
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1866 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
1867 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
1868 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
1869 (@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
1870 these buffers.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1871
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1872 @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
1873 @section Resolving Routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1874 @cindex @code{RESOLVE_ROUTINE}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1875 @cindex Compiling library modules
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1876 @cindex Routines, resolving
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1877
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1878 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
1879 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
1880 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
1881 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
1882 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
1883
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1884 @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
1885 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
1886 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
1887 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
1888 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
1889
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1890 @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
1891 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
1892
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1893 @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
1894 @section Code Templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1895 @cindex Code templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1896 @cindex Templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1897
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1898 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
1899 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
1900
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1901 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1902 @item @kbd{C-c C-c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1903 @tab @code{CASE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1904 @item @kbd{C-c C-f}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1905 @tab @code{FOR} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1906 @item @kbd{C-c C-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1907 @tab @code{REPEAT} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1908 @item @kbd{C-c C-w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1909 @tab @code{WHILE} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1910 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1911
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1912 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
1913 (@pxref{Abbreviations}).
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1914
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1915 @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
1916 @section Abbreviations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1917 @cindex Abbreviations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1918
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1919 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
1920 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
1921 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
1922 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
1923 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
1924 @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
1925 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
1926 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
1927 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
1928
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1929 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
1930 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
1931 idlwave-list-abbrevs}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1932
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1933 Template abbreviations:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1934
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1935 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1936 @item @code{\pr}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1937 @tab @code{PROCEDURE} template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1938 @item @code{\fu}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1939 @tab @code{FUNCTION} template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1940 @item @code{\c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1941 @tab @code{CASE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1942 @item @code{\f}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1943 @tab @code{FOR} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1944 @item @code{\r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1945 @tab @code{REPEAT} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1946 @item @code{\w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1947 @tab @code{WHILE} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1948 @item @code{\i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1949 @tab @code{IF} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1950 @item @code{\elif}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1951 @tab @code{IF-ELSE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1952 @end multitable
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
1953
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1954 String abbreviations:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1955
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1956 @multitable @columnfractions .15 .85
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1957 @item @code{\ap}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1958 @tab @code{arg_present()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1959 @item @code{\b}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1960 @tab @code{begin}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1961 @item @code{\cb}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1962 @tab @code{byte()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1963 @item @code{\cc}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1964 @tab @code{complex()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1965 @item @code{\cd}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1966 @tab @code{double()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1967 @item @code{\cf}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1968 @tab @code{float()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1969 @item @code{\cl}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1970 @tab @code{long()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1971 @item @code{\co}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1972 @tab @code{common}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1973 @item @code{\cs}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1974 @tab @code{string()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1975 @item @code{\cx}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1976 @tab @code{fix()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1977 @item @code{\e}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1978 @tab @code{else}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1979 @item @code{\ec}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1980 @tab @code{endcase}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1981 @item @code{\ee}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1982 @tab @code{endelse}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1983 @item @code{\ef}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1984 @tab @code{endfor}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1985 @item @code{\ei}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1986 @tab @code{endif else if}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1987 @item @code{\el}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1988 @tab @code{endif else}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1989 @item @code{\en}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1990 @tab @code{endif}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1991 @item @code{\er}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1992 @tab @code{endrep}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1993 @item @code{\es}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1994 @tab @code{endswitch}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1995 @item @code{\ew}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1996 @tab @code{endwhile}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1997 @item @code{\g}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1998 @tab @code{goto,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1999 @item @code{\h}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2000 @tab @code{help,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2001 @item @code{\ik}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2002 @tab @code{if keyword_set() then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2003 @item @code{\iap}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2004 @tab @code{if arg_present() then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2005 @item @code{\ine}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2006 @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
2007 @item @code{\inn}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2008 @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
2009 @item @code{\k}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2010 @tab @code{keyword_set()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2011 @item @code{\n}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2012 @tab @code{n_elements()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2013 @item @code{\np}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2014 @tab @code{n_params()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2015 @item @code{\oi}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2016 @tab @code{on_ioerror,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2017 @item @code{\or}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2018 @tab @code{openr,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2019 @item @code{\ou}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2020 @tab @code{openu,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2021 @item @code{\ow}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2022 @tab @code{openw,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2023 @item @code{\p}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2024 @tab @code{print,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2025 @item @code{\pt}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2026 @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
2027 @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
2028 @tab @code{ptr_valid()}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2029 @item @code{\re}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2030 @tab @code{read,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2031 @item @code{\rf}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2032 @tab @code{readf,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2033 @item @code{\rt}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2034 @tab @code{return}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2035 @item @code{\ru}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2036 @tab @code{readu,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2037 @item @code{\s}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2038 @tab @code{size()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2039 @item @code{\sc}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2040 @tab @code{strcompress()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2041 @item @code{\sl}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2042 @tab @code{strlowcase()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2043 @item @code{\sm}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2044 @tab @code{strmid()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2045 @item @code{\sn}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2046 @tab @code{strlen()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2047 @item @code{\sp}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2048 @tab @code{strpos()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2049 @item @code{\sr}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2050 @tab @code{strtrim()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2051 @item @code{\st}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2052 @tab @code{strput()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2053 @item @code{\su}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2054 @tab @code{strupcase()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2055 @item @code{\t}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2056 @tab @code{then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2057 @item @code{\u}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2058 @tab @code{until}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2059 @item @code{\wc}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2060 @tab @code{widget_control,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2061 @item @code{\wi}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2062 @tab @code{widget_info()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2063 @item @code{\wu}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2064 @tab @code{writeu,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2065 @end multitable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2066
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2067 @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
2068 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
2069 convenience function @code{idlwave-define-abbrev}:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2070
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2071 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2072 (add-hook 'idlwave-mode-hook
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2073 (lambda ()
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2074 (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
2075 (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
2076 (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
2077 (idlwave-keyword-abbrev 11))))
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2078 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2079
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2080 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
2081 (@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
2082 @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
2083 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
2084 parentheses).
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2085
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2086 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
2087 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
2088 templates, @code{idlwave-reserved-word-upcase} (@pxref{Case Changes}).
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
2089
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2090 @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
2091 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
2092 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
2093 abbreviation strings.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2094 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2095
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2096 @defopt idlwave-abbrev-move (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2097 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
2098 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
2099 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2100
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2101 @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
2102 @section Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2103 @cindex Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2104 @cindex Coding standards, enforcing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2105
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2106 @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
2107 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
2108 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
2109 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
2110 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
2111 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
2112 can be helpful.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2113
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2114 Actions can be applied in three ways:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2115
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2116 @itemize @bullet
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2117 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2118 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
2119 @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
2120 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
2121 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
2122 case.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2123 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2124 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
2125 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
2126 must be non-@code{nil}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2127 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2128 @cindex Foreign code, adapting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2129 @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
2130 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
2131 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
2132 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
2133 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
2134 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
2135 indentation of the code.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2136 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2137
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2138 @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
2139 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
2140 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
2141 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2142
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2143 @menu
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2144 * 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
2145 * Padding Operators:: Enforcing space around `=' etc
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2146 * Case Changes:: Enforcing upper case keywords
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2147 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2148
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2149 @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
2150 @subsection Block Boundary Check
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2151 @cindex Block boundary check
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2152 @cindex @code{END} type checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2153 @cindex @code{END}, automatic insertion
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2154 @cindex @code{END}, expanding
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2155 @cindex Block, closing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2156 @cindex Closing a block
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2157
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2158 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
2159 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
2160 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
2161 @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
2162 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
2163
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2164 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
2165 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
2166 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
2167 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
2168
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2169 @defopt idlwave-show-block (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2170 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
2171 @code{idlwave-show-begin}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2172 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2173
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2174 @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
2175 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
2176 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2177
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2178 @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
2179 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
2180 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2181
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2182 @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
2183 @subsection Padding Operators
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2184 @cindex Padding operators with spaces
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2185 @cindex Operators, padding with spaces
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2186 @cindex Space, around operators
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2187
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2188 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
2189 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
2190 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
2191 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
2192 (@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
2193 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
2194 @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
2195 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
2196 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
2197 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
2198 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
2199 @file{.emacs}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2200
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2201 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2202 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2203 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2204 (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
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 (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
2207 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2208
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
2209 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
2210 (@samp{AND=}, @samp{OR=}, @samp{NOT=}, etc.) require a leading space to
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
2211 be recognized (e.g @code{vAND=4} would be interpreted as a 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
2212 @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
2213 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
2214 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
2215 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
2216 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
2217 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
2218 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
2219
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2220 @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
2221 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
2222 @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
2223 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
2224 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
2225 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2226
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2227 @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
2228 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
2229 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2230
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2231 @node Case Changes, , Padding Operators, Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2232 @subsection Case Changes
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2233 @cindex Case changes
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2234 @cindex Upcase, enforcing for reserved words
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2235 @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
2236
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2237 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
2238 abbreviations by customizing the variables
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2239 @code{idlwave-abbrev-change-case} and
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2240 @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
2241 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
2242 your @file{.emacs} file:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2243
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2244 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2245 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2246 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2247 ;; Capitalize system vars
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2248 (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
2249 ;; Capitalize procedure name
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2250 (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
2251 '(capitalize-word 1) t)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2252 ;; 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
2253 (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
2254 '(capitalize-word 1) t)))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2255 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2256
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2257 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
2258 @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
2259 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
2260 @ref{Completion}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2261
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2262 @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
2263 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
2264 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
2265 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2266
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2267 @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
2268 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
2269 expansion.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2270 @end defopt
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
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2273 @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
2274 @section Documentation Header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2275 @cindex Documentation header
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2276 @cindex DocLib header
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2277 @cindex Modification timestamp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2278 @cindex Header, for file documentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2279 @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
2280 @cindex Changelog, in doc header.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2281
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2282 @kindex C-c C-h
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2283 @kindex C-c C-m
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2284 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
2285 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
2286 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
2287 @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
2288 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
2289 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
2290 timestamp.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2291
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2292 @defopt idlwave-file-header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2293 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
2294 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2295
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2296 @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
2297 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
2298 of file.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2299 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2300
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2301 @defopt idlwave-timestamp-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2302 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
2303 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2304
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2305 @defopt idlwave-doc-modifications-keyword
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2306 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
2307 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2308
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2309 @defopt idlwave-doclib-start
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2310 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
2311 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2312
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2313 @defopt idlwave-doclib-end
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2314 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
2315 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2316
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2317 @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
2318 @section Motion Commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2319 @cindex Motion commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2320 @cindex Program structure, moving through
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2321 @cindex Code structure, moving through
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2322 @cindex @file{Func-menu}, XEmacs package
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2323 @cindex @file{Imenu}, Emacs package
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2324 @cindex Function definitions, jumping to
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2325 @cindex Procedure definitions, jumping to
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2326
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2327 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
2328 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
2329 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
2330 @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
2331
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2332 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2333 (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
2334 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2335
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2336 @cindex @file{Speedbar}, Emacs package
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2337
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2338 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
2339 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
2340 definitions. See @code{Tools->Display Speedbar}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2341
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2342 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
2343 IDL program:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2344
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2345 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2346 @item @kbd{C-M-a}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2347 @tab Beginning of subprogram
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2348 @item @kbd{C-M-e}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2349 @tab End of subprogram
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2350 @item @kbd{C-c @{}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2351 @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
2352 @item @kbd{C-c @}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2353 @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
2354 @item @kbd{C-M-n}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2355 @tab Forward block (on same level)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2356 @item @kbd{C-M-p}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2357 @tab Backward block (on same level)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2358 @item @kbd{C-M-d}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2359 @tab Down block (enters a block)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2360 @item @kbd{C-M-u}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2361 @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
2362 @item @kbd{C-c C-n}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2363 @tab Next Statement
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2364 @end multitable
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
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2367 @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
2368 @section Miscellaneous Options
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2369 @cindex Hooks
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2370
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2371 @defopt idlwave-help-application
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2372 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
2373 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2374
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2375 @defopt idlwave-startup-message (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2376 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
2377 is first called.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2378 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2379
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2380 @defopt idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2381 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
2382 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2383
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2384 @defopt idlwave-load-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2385 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
2386 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2387
60880
78ef32e30574 Don't say where to get IDL or its non-free manual.
Richard M. Stallman <rms@gnu.org>
parents: 58527
diff changeset
2388 @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
2389 @chapter The IDLWAVE Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2390 @cindex IDLWAVE shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2391 @cindex Major mode, @code{idlwave-shell-mode}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2392 @cindex IDL, as Emacs subprocess
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2393 @cindex Subprocess of Emacs, IDL
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2394 @cindex Comint, Emacs package
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2395 @cindex Windows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2396 @cindex MacOS
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2397
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2398 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
2399 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
2400 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
2401 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
2402 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
2403 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
2404 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
2405 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
2406 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
2407
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2408 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2409 * 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
2410 * 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
2411 * 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
2412 * Debugging IDL Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2413 * Examining Variables::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2414 * Custom Expression Examination::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2415 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2416
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2417 @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
2418 @section Starting the Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2419 @cindex Starting the shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2420 @cindex Shell, starting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2421 @cindex Dedicated frame, for shell buffer
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2422 @cindex Frame, for shell buffer
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2423 @cindex Subprocess of Emacs, IDL
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2424
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2425 @kindex C-c C-s
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2426 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
2427 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
2428 @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
2429 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
2430 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
2431 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
2432 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
2433 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
2434 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
2435 @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
2436
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2437 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
2438 @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
2439 @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
2440 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
2441 @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
2442
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2443 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
2444 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
2445 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
2446
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2447 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2448 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
2449 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2450
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2451 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
2452 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
2453
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2454 @cindex ENVI
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2455 @cindex IDL> Prompt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2456
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2457 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
2458 @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
2459 @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
2460 "}. 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
2461 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
2462 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
2463
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2464 @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
2465 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
2466 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2467
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2468 @defopt idlwave-shell-command-line-options
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2469 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
2470 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2471
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2472 @defopt idlwave-shell-prompt-pattern
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2473 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
2474 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2475
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2476 @defopt idlwave-shell-process-name
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2477 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
2478 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2479
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2480 @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
2481 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
2482 running.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2483 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2484
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2485 @defopt idlwave-shell-initial-commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2486 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
2487 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2488
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2489 @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
2490 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
2491 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2492
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2493 @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
2494 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
2495 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
2496 @code{idlwave-config-directory}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2497 @end defopt
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2498
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2499 @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
2500 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
2501 shell buffer.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2502 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2503
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
2504 @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
2505 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
2506 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
2507 @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
2508
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2509 @defopt idlwave-shell-frame-parameters
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2510 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
2511 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2512
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2513 @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
2514 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
2515 window.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2516 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2517
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2518 @defopt idlwave-shell-temp-pro-prefix
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2519 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
2520 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2521
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2522 @cindex Hooks
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2523 @defopt idlwave-shell-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2524 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
2525 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2526
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2527 @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
2528 @section Using the Shell
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2529 @cindex Comint
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2530 @cindex Shell, basic commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2531
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2532 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
2533 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
2534 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
2535 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
2536 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
2537 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
2538 @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
2539 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
2540 commands:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2541
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2542 @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
2543 @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
2544 @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
2545 @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
2546 @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
2547 @item @kbd{M-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2548 @tab Previous input matching a regexp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2549 @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
2550 @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
2551 @item @kbd{return}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2552 @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
2553 @item @kbd{C-c C-a}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2554 @tab Beginning of line; skip prompt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2555 @item @kbd{C-c C-u}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2556 @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
2557 @item @kbd{C-c C-w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2558 @tab Kill word before cursor
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2559 @item @kbd{C-c C-c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2560 @tab Send ^C
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2561 @item @kbd{C-c C-z}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2562 @tab Send ^Z
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2563 @item @kbd{C-c C-\}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2564 @tab Send ^\
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2565 @item @kbd{C-c C-o}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2566 @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
2567 @item @kbd{C-c C-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2568 @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
2569 @item @kbd{C-c C-l}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2570 @tab List input history
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2571 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2572
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2573 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
2574 @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
2575 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
2576 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
2577 @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
2578 commands.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2579
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2580 @cindex Completion, in the shell
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2581 @cindex Routine info, in the shell
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2582 @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
2583 @multitable @columnfractions .12 .88
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2584 @item @kbd{@key{TAB}}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2585 @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
2586 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
2587 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
2588 (@code{idlwave-shell-complete}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2589 @item @kbd{M-@key{TAB}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2590 @tab Same as @key{TAB}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2591 @item @kbd{C-c ?}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2592 @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
2593 @item @kbd{M-?}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2594 @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
2595 @item @kbd{C-c C-i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2596 @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
2597 (@code{idlwave-update-routine-info})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2598 @item @kbd{C-c C-v}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2599 @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
2600 @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
2601 @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
2602 (@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
2603 @item @kbd{C-c =}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2604 @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
2605 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2606
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2607 @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
2608 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
2609 history like xterm.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2610 @end defopt
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2611
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2612 @defopt idlwave-shell-comint-settings
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2613 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
2614 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2615
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2616 @defopt idlwave-shell-file-name-chars
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2617 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
2618 completion.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2619 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2620
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2621 @defopt idlwave-shell-graphics-window-size
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2622 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
2623 @end defopt
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2624
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2625 @cindex Input mode
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2626 @cindex Character input mode (Shell)
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2627 @cindex Line input mode (Shell)
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2628 @cindex Magic spells, for input mode
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2629 @cindex Spells, magic
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2630 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
2631 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
2632 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
2633 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
2634 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
2635 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
2636 (@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
2637 (@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
2638 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
2639 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
2640 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
2641 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
2642 automatic switches of the input mode.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2643
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2644 @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
2645 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
2646 output.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2647 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2648
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2649 @defopt idlwave-shell-input-mode-spells
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2650 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
2651 modes.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2652 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2653
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2654 @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
2655 @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
2656 @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
2657 @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
2658
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2659 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
2660 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
2661 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
2662 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
2663 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
2664 shell.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2665
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2666 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
2667 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
2668 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
2669 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
2670 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
2671 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
2672
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2673 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
2674 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
2675 @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
2676 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
2677 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
2678 Variables}.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2679
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2680 @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
2681 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
2682 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
2683 @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
2684 @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
2685 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
2686 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
2687 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
2688 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
2689 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
2690 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
2691 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
2692 (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
2693 @end defopt
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2694
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2695 @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
2696 @section Debugging IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2697 @cindex Debugging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2698 @cindex Keybindings for debugging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2699 @cindex Toolbar
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2700
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2701 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
2702 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
2703 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
2704 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
2705 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
2706 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
2707 @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
2708 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
2709
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2710 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
2711 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
2712 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
2713 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
2714 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
2715 @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
2716
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2717
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2718 @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
2719 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
2720 buffers.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2721 @end defopt
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2722
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2723 @menu
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2724 * 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
2725 * Debug Key Bindings::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2726 * Breakpoints and Stepping::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2727 * Compiling Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2728 * 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
2729 * 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
2730 @end menu
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2731
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2732
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2733 @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
2734 @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
2735 @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
2736 @cindex Debugging Interface
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2737
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2738 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
2739 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
2740 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
2741 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
2742 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
2743 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
2744 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
2745 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
2746 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
2747 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
2748 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
2749 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
2750 prevented from activating automatically by customizing the variable
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2751 @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
2752
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2753 @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
2754 @subsection Debug Key Bindings
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2755 @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
2756 @cindex Key bindings
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2757
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2758 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
2759 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
2760 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
2761 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
2762 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
2763 @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
2764 --- 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
2765 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
2766
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2767 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2768 (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
2769 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2770
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2771 @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
2772 @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
2773 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
2774 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
2775 @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
2776 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
2777 @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
2778 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
2779 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
2780 Mode}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2781
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2782 @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
2783 The prefix key for the debugging map
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2784 @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
2785 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2786
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2787 @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
2788 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
2789 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
2790 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2791
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2792 @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
2793 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
2794 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
2795 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
2796 @code{alt}, and @code{shift}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2797 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2798
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2799 @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
2800 @subsection Breakpoints and Stepping
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2801 @cindex Breakpoints
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2802 @cindex Stepping
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2803 @cindex Execution, controlled
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2804
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2805 @kindex C-c C-d C-b
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2806 @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
2807 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
2808 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
2809 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
2810 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
2811 @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
2812 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
2813 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
2814 With a single non-numeric prefix (i.e. @kbd{C-u C-c C-d C-b}), prompt
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
2815 for a condition --- an IDL expression to be evaluated 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
2816 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
2817 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
2818 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
2819 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
2820 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
2821 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
2822 (@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
2823
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
2824 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
2825 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
2826 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
2827 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
2828 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
2829 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
2830 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
2831 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
2832
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 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
2834 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
2835 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
2836 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
2837 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
2838
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2839 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
2840 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
2841 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
2842 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
2843 @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
2844 @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
2845 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
2846 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
2847 breakpoint and stepping commands:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2848
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2849 @multitable @columnfractions .23 .77
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2850 @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
2851 @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
2852 @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
2853 @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
2854 @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
2855 @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
2856 @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
2857 @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
2858 @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
2859 @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
2860 @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
2861 @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
2862 @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
2863 @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
2864 @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
2865 @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
2866 @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
2867 @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
2868 @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
2869 @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
2870 @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
2871 @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
2872 @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
2873 @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
2874 @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
2875 @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
2876 @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
2877 @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
2878 @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
2879 @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
2880 @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
2881 @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
2882 @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
2883 @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
2884 @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
2885 @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
2886 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2887
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2888 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
2889 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
2890
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 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
2892 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
2893 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
2894 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
2895 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
2896 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
2897
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2898 @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
2899 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
2900 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
2901 @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
2902 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2903
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2904 @defopt idlwave-shell-breakpoint-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2905 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
2906 @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
2907 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2908
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
2909 @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
2910 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
2911 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
2912 @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
2913
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 @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
2915 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
2916 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
2917 @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
2918 @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
2919
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 @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
2921 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
2922 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
2923 @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
2924
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 @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
2926 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
2927 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
2928 @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
2929
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2930
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2931 @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
2932 @subsection 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 Compiling programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2934 @cindex Programs, compiling
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2935 @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
2936 @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
2937
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2938 @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
2939 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
2940 @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
2941 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
2942 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
2943 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
2944 re-compiled.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2945
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2946 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
2947 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
2948 @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
2949 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
2950 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
2951 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
2952 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
2953 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
2954 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
2955 @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
2956
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2957 @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
2958 @subsection Walking the Calling Stack
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2959 @cindex Calling stack, walking
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2960
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2961 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
2962 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
2963 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
2964 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
2965 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
2966 (@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
2967 (@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
2968 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
2969 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
2970 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
2971 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
2972 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
2973 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
2974 higher calling stack levels.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2975
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
2976 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2977 <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
2978 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2979 @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
2980 @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
2981 @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
2982 @cindex @samp{*Debugging*}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2983
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2984 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
2985 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
2986 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
2987 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
2988 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
2989 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
2990 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
2991 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
2992 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
2993 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
2994 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
2995 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
2996 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
2997
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2998 @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
2999 @item @kbd{a}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3000 @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
3001 @item @kbd{b}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3002 @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
3003 @item @kbd{d}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3004 @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
3005 @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
3006 @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
3007 @item @kbd{h}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3008 @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
3009 @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
3010 @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
3011 @item @kbd{[}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3012 @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
3013 @item @kbd{]}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3014 @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
3015 (@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
3016 @item @kbd{\}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3017 @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
3018 @item @kbd{j}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3019 @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
3020 @item @kbd{k}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3021 @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
3022 @item @kbd{m}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3023 @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
3024 @item @kbd{n}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3025 @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
3026 @item @kbd{o}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3027 @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
3028 @item @kbd{p}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3029 @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
3030 @item @kbd{q}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3031 @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
3032 (@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
3033 @item @kbd{r}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3034 @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
3035 @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
3036 @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
3037 @item @kbd{t}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3038 @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
3039 @item @kbd{u}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3040 @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
3041 @item @kbd{v}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3042 @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
3043 (@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
3044 @item @kbd{x}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3045 @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
3046 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
3047 @item @kbd{z}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3048 @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
3049 @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
3050 @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
3051 @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
3052 @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
3053 @item @kbd{?}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3054 @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
3055 (@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
3056 @item @kbd{C-?}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3057 @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
3058 @end multitable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3059
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3060 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
3061 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
3062 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
3063 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
3064 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
3065 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
3066 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
3067 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
3068
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3069 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
3070 @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
3071 the Debug menu. Normally the mode will be enabled and disabled at the
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
3072 appropriate times, but occasionally you might want to edit a file
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3073 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
3074 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
3075
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3076 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
3077 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
3078 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
3079 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
3080 @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
3081 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
3082 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
3083 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
3084 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
3085 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
3086 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
3087
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3088 @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
3089 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
3090 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
3091 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
3092 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
3093 @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
3094 @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
3095 halts.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3096 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3097
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
3098 @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
3099 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
3100 @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
3101
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 @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
3103 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
3104 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
3105 @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
3106
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3107 @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
3108 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
3109 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
3110 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
3111 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3112
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
3113 @html
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3114 <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
3115 @end html
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3116 @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
3117 @section Examining Variables
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3118 @cindex @code{PRINT} expressions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3119 @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
3120 @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
3121 @cindex Examining expressions
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3122 @cindex Printing expressions
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3123 @cindex Mouse binding to print expressions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3124
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3125 @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
3126 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
3127 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
3128 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
3129 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
3130 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
3131 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
3132 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
3133
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3134 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
3135 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
3136 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
3137 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
3138 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
3139 point remains unmoved in the command being composed --- you can inspect
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
3140 the constituents 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
3141 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
3142 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
3143 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
3144
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3145 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
3146 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
3147 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
3148 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
3149 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
3150
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3151 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
3152 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
3153 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
3154 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
3155 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
3156 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
3157 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
3158 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
3159 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
3160 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
3161 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
3162 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
3163 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
3164 @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
3165
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3166 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
3167 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
3168 @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
3169 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
3170 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
3171 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
3172 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
3173 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
3174 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
3175 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
3176
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3177 @cindex Printing expressions, on calling stack
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3178 @cindex Restrictions for expression printing
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3179 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
3180 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
3181 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
3182 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
3183 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
3184 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
3185 (@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
3186 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
3187 levels except the current:
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3188
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3189 @itemize @bullet
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3190 @item
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3191 Array expressions must use the @samp{[ ]} index delimiters. Identifiers
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3192 with a @samp{( )} will be interpreted as function calls.
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3193 @item
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3194 @cindex ROUTINE_NAMES, IDL procedure
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3195 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
3196 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
3197 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
3198 Examinor.
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3199 @end itemize
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3200
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3201 @defopt idlwave-shell-expression-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3202 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
3203 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
3204 the expression printed by IDL.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3205 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3206
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3207 @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
3208 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
3209 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
3210 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
3211 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3212
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3213 @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
3214 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
3215 @file{*Examine*} buffer, instead of in the shell itself.
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3216 @end defopt
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3217
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
3218 @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
3219 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
3220 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
3221 @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
3222
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3223 @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
3224 @section Custom Expression Examination
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3225 @cindex Expressions, custom examination
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3226 @cindex Custom expression examination
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3227
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3228 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
3229 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
3230 @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
3231 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
3232 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
3233 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
3234
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3235 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
3236 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
3237 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
3238 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
3239 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
3240 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
3241 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
3242 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
3243 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
3244 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
3245 @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
3246 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
3247 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
3248 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
3249 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
3250 @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
3251 @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
3252 @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
3253 @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
3254 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
3255 your own.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3256
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3257 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
3258 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
3259 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
3260 @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
3261 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
3262 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
3263 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
3264 @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
3265
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3266 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3267 (add-hook 'idlwave-shell-mode-hook
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3268 (lambda ()
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3269 (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
3270 (idlwave-shell-mouse-examine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3271 "print, size(___,/DIMENSIONS)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3272 (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
3273 "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
3274 (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
3275 "print,size(___,/TNAME)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3276 (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
3277 "help,___,/STRUCTURE"))))
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3278 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3279
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3280 @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
3281 @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
3282 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
3283 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
3284 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
3285
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3286 @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
3287 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
3288 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
3289 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
3290 (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
3291 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3292
60880
78ef32e30574 Don't say where to get IDL or its non-free manual.
Richard M. Stallman <rms@gnu.org>
parents: 58527
diff changeset
3293 @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
3294 @chapter Acknowledgements
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3295 @cindex Acknowledgements
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3296 @cindex Maintainer, of IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3297 @cindex Authors, of IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3298 @cindex Contributors, to IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3299 @cindex Email address, of Maintainer
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3300 @cindex Thanks
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3301
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3302 @noindent
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3303 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
3304
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3305 @itemize @minus
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3306 @item
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3307 @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
3308 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
3309 for several years.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3310
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3311 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3312 @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
3313 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
3314 everything, modernized IDLWAVE with many new features, and developed the
41745
1061224d9cb0 Update maintainer.
Eli Zaretskii <eliz@gnu.org>
parents: 40705
diff changeset
3315 manual.
1061224d9cb0 Update maintainer.
Eli Zaretskii <eliz@gnu.org>
parents: 40705
diff changeset
3316
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3317 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3318 @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
3319 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
3320 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
3321 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
3322 @end itemize
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3323
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3324 @noindent
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3325 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
3326 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
3327
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3328 @itemize @minus
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3329 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3330 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
3331 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3332 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
3333 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3334 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
3335 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3336 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
3337 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3338 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
3339 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3340 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
3341 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3342 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
3343 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3344 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
3345 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3346 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
3347 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3348 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
3349 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3350 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
3351 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3352 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
3353 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3354 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
3355 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3356 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
3357 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3358 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
3359 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3360 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
3361 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3362 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
3363 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3364
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
3365 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
3366 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
3367 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
3368
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3369 @noindent
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3370 Thanks to everyone!
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3371
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3372 @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
3373 @appendix Sources of Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3374
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3375 @cindex Sources of routine information
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3376 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
3377 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
3378 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
3379 know about the accessible routines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3380
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3381 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3382 * Routine Definitions:: Where IDL Routines are defined.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3383 * 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
3384 * Catalogs::
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3385 * Load-Path Shadows:: Routines defined in several places
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3386 * 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
3387 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3388
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3389 @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
3390 @appendixsec Routine Definitions
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3391 @cindex Routine definitions
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3392 @cindex IDL variable @code{!PATH}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3393 @cindex @code{!PATH}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3394 @cindex @code{CALL_EXTERNAL}, IDL routine
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3395 @cindex @code{LINKIMAGE}, IDL routine
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3396 @cindex External routines
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3397
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3398 @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
3399 several places:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3400
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3401 @enumerate
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3402 @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
3403 @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
3404 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
3405 the IDL documentation.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3406 @item
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3407 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
3408 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
3409 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
3410 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3411 @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
3412 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
3413 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
3414 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
3415 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
3416 distribution.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3417 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3418 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
3419 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
3420 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
3421 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
3422 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
3423 @end enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3424
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3425 @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
3426 @appendixsec Routine Information Sources
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3427 @cindex Routine info sources
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3428 @cindex Builtin list of routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3429 @cindex Updating routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3430 @cindex Scanning buffers for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3431 @cindex Buffers, scanning for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3432 @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
3433
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3434 @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
3435 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
3436
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3437 @enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3438
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3439 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3440 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
3441 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
3442 @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
3443 @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
3444 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
3445 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
3446 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
3447
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3448 @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
3449 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
3450 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
3451 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
3452 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
3453 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
3454 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
3455
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3456 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3457 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
3458 @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
3459 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
3460 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
3461 @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
3462 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
3463 (@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
3464 the shell routine data.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3465
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3466 @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
3467 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
3468 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
3469 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
3470 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
3471 by IDLWAVE.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3472
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3473 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3474 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
3475 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
3476 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
3477 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
3478 @end enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3479
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
3480 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
3481 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
3482 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
3483 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
3484 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
3485 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
3486 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
3487 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
3488 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
3489 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
3490 load times.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3491
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3492 @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
3493 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
3494 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3495
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3496 @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
3497 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
3498 info.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3499 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3500
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3501 @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
3502 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
3503 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3504
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3505 @defopt idlwave-auto-routine-info-updates
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3506 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
3507 @end defopt
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3508
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
3509 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3510 <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
3511 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3512 @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
3513 @appendixsec Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3514 @cindex Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3515
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3516 @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
3517 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
3518 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
3519 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
3520 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
3521
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3522 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
3523 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
3524 @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
3525 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
3526 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
3527 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
3528
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3529 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
3530 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
3531 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
3532 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
3533 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
3534 @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
3535 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
3536 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
3537 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
3538 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
3539 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
3540 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
3541 started.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3542
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3543 @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
3544 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
3545 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
3546 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
3547 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3548
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3549 @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
3550 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
3551 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
3552 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3553
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3554 @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
3555 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
3556 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
3557 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
3558 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3559
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3560 @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
3561 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
3562 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
3563 later).
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3564 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3565
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3566 @menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3567 * Library Catalogs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3568 * User Catalog::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3569 @end menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3570
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
3571 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3572 <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
3573 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3574 @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
3575 @appendixsubsec Library Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3576 @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
3577 @cindex Library catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3578 @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
3579
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
3580 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
3581 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
3582 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
3583 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
3584 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
3585 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
3586 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
3587 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
3588
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3589 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
3590 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
3591 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
3592 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
3593 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
3594 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
3595 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
3596 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
3597 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
3598 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
3599 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
3600 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
3601 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
3602
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3603 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
3604 @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
3605 @example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3606 idlwave_catalog MyLib
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3607 @end example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3608
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
3609 @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
3610 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
3611 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
3612 information:
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3613
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3614 @example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3615 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
3616 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
3617 characters).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3618 -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
3619 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
3620 -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
3621 -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
3622 here or below.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3623 -s - Be silent.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3624 -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
3625 library name.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3626 -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
3627 @end example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3628
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3629 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
3630 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
3631 @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
3632
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3633 @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
3634 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
3635 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
3636 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3637
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3638 @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
3639 @appendixsubsec User Catalog
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3640 @cindex User catalog
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3641 @cindex IDL library routine info
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3642 @cindex Windows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3643 @cindex MacOS
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3644 @cindex IDL variable @code{!DIR}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3645 @cindex @code{!DIR}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3646
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3647 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
3648 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
3649 (@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
3650 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
3651 instead, including:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3652
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3653 @itemize @bullet
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3654 @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
3655 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
3656 @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
3657 privileges.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3658 @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
3659 @end itemize
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3660
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3661 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
3662 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
3663 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
3664 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
3665 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
3666
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3667 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
3668 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
3669 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
3670 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
3671 @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
3672 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
3673
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3674 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3675 (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
3676 '("+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
3677 (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
3678 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3679
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
3680 @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
3681 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
3682
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3683 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
3684 @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
3685 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
3686 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
3687 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
3688 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
3689 additional memory used for the duplication).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3690
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3691 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
3692 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
3693 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
3694 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
3695 @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
3696 @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
3697 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
3698 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
3699 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
3700 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
3701 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
3702 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
3703 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
3704 Catalogs}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3705
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3706 @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
3707 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
3708 labeling in routine-info display.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3709 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3710
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3711 @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
3712 @appendixsec Load-Path Shadows
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3713 @cindex Load-path shadows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3714 @cindex Shadows, load-path
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3715 @cindex Duplicate routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3716 @cindex Multiply defined routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3717 @cindex Routine definitions, multiple
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3718 @cindex Application, testing for shadowing
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3719 @cindex Buffer, testing for shadowing
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3720
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3721 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
3722 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
3723 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
3724 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
3725 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
3726 @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
3727 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
3728 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
3729 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
3730 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
3731 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
3732 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
3733 @samp{IDLWAVE->Routine Info}):
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3734
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3735 @table @asis
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3736 @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
3737 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
3738 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
3739 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
3740 @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
3741 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
3742 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
3743 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
3744 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
3745 then check for shadowing.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3746 @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
3747 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
3748 @end table
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3749
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3750 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
3751 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
3752 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
3753 @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
3754 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
3755 @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
3756 many other reasons.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3757
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3758 @cindex Windows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3759 @cindex MacOS
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3760 @cindex IDL variable @code{!DIR}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3761 @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
3762 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
3763 @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
3764 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
3765 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
3766 routines.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3767
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3768 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
3769 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
3770
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3771 @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
3772 @appendixsec Documentation Scan
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3773 @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
3774 @cindex @file{idlw-rinfo.el}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3775 @cindex Scanning the documentation
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
3776 @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
3777
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
3778 @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
3779 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
3780 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
3781 @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
3782 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
3783 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
3784
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3785
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3786 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
3787 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
3788 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
3789 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
3790 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
3791 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
3792 separately.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3793
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3794 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
3795 @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
3796 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
3797 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
3798 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
3799 @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
3800 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
3801 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
3802 itself.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3803
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3804 @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
3805 @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
3806 @cindex Browser Tips
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3807
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3808 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
3809 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
3810 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
3811 @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
3812 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
3813 @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
3814 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
3815 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
3816
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 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
3818 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
3819 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
3820 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
3821 @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
3822 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
3823 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
3824 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
3825 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
3826 @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
3827 @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
3828 @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
3829 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
3830 @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
3831
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
3832 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
3833 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
3834 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
3835 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
3836 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
3837 @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
3838 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
3839 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
3840 etc.).
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3841
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3842 @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
3843
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3844 @itemize @bullet
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3845 @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
3846 and its associated
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3847 @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
3848 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
3849 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
3850 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
3851
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3852 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3853 (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
3854 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3855
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3856 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
3857 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
3858
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3859 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3860 (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
3861 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
3862 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
3863 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3864
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3865 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
3866 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
3867
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3868 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3869 ;; 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
3870 (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
3871 (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
3872 (idlwave-help-quit)))
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3873 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3874
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3875 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
3876 @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
3877 @end itemize
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3878
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3879 @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
3880 @appendix Configuration Examples
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3881 @cindex Configuration examples
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3882 @cindex Example configuration
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3883 @cindex @file{.emacs}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3884 @cindex Default settings, of options
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3885 @cindex Interview, with the maintainer
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3886
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3887 @noindent
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3888 @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
3889 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
3890 set in your own configuration?
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3891
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3892 @noindent
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3893 @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
3894 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
3895 features which:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3896
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3897 @itemize @minus
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3898 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3899 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
3900 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3901 are too intrusive.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3902 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3903 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
3904 @item
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3905 break with widely used standards.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3906 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3907 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
3908 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3909 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
3910 library names.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3911 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3912
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3913 @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
3914 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
3915
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3916 @lisp
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3917 (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
3918 idlwave-store-inquired-class t
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3919 idlwave-shell-automatic-start t
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3920 idlwave-main-block-indent 2
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3921 idlwave-init-rinfo-when-idle-after 2
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3922 idlwave-help-dir "~/lib/emacs/idlwave"
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3923 idlwave-special-lib-alist '(("/idl-astro/" . "AstroLib")
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3924 ("/jhuapl/" . "JHUAPL-Lib")
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3925 ("/dominik/lib/idl/" . "MyLib")))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3926 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3927
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3928 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
3929 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
3930 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
3931 user is King!
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3932
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3933 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3934 ;;; Settings for IDLWAVE mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3935
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3936 (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
3937 (setq idlwave-main-block-indent 3)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3938 (setq idlwave-end-offset -3)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3939 (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
3940 (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
3941 ; anchored at start of line.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3942 (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
3943 (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
3944 (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
3945 (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
3946 ; (with abbrevs only)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3947 (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
3948 (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
3949 (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
3950 (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
3951 (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
3952 (keyword-default . nil); or keyword completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3953 ("INIT" . t) ; except for these
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3954 ("CLEANUP" . t)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3955 ("SETPROPERTY" .t)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3956 ("GETPROPERTY" .t)))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3957
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3958 ;; 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
3959 (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
3960 (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
3961 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
3962 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
3963 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
3964
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3965 ;; 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
3966 (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
3967 (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
3968 (idlwave-help-quit)))
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3969
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3970 ;; 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
3971 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3972 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3973 (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
3974 ;; Run other functions here
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3975 (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
3976 (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
3977 (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
3978
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
3979 ;; 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
3980 ;; 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
3981 ;; instead of 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-expand-equal 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 '(?-)))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3985 (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
3986
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3987 ;; 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
3988 (idlwave-action-and-binding "," '(idlwave-surround nil 1))
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3989 (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
3990
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3991 ;; Pad only after `->', remove any space before the arrow
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3992 (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
3993
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3994 ;; Set some personal bindings
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3995 ;; (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
3996 (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
3997 (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
3998 (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
3999
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4000 ;; 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
4001 ;; 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
4002 ;; 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
4003 (local-set-key "\n" 'idlwave-newline)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4004 ;; (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
4005
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4006 ;; 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
4007 (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
4008 (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
4009 (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
4010 (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
4011 (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
4012 (idlwave-keyword-abbrev 1))
26960
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
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4015 ;;; Settings for IDLWAVE SHELL mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4016
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4017 (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
4018 (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
4019 (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
4020 (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
4021 (setq idlwave-shell-process-name "wave")
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4022 (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
4023
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4024 ;; 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
4025 (add-hook 'idlwave-shell-mode-hook
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4026 (lambda ()
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4027 ;; 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
4028 (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
4029 (idlwave-shell-mouse-examine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4030 "print, size(___,/DIMENSIONS)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4031 (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
4032 "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
4033 (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
4034 "print,size(___,/TNAME)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4035 (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
4036 "help,___,/STRUCTURE"))))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4037 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4038
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
4039 @html
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
4040 <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
4041 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4042 @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
4043 @appendix Windows and MacOS
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4044 @cindex Windows
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4045 @cindex MacOS
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4046 @cindex MacOSX
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4047
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4048 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
4049 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
4050 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
4051
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
4052 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
4053 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
4054 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
4055 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
4056 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
4057 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
4058 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
4059 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
4060 talking to the IDL program.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4061
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4062 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
4063 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
4064 @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
4065 @w{@samp{C:\RSI\IDL62}}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4066
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4067 @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
4068 ;; 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
4069 ;; your default X/Emacs installation)
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4070 (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
4071
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
4072 ;; 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
4073 ;; 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
4074 (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
4075 '("+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
4076
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4077 ;; 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
4078 (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
4079
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4080 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4081
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4082 @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
4083 sure you check the following things:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4084
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4085 @itemize @bullet
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4086 @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
4087 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
4088 @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
4089 instead.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4090 @item Other issues as yet unnamed...
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4091 @end itemize
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4092
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4093 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
4094 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
4095 @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
4096
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
4097 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4098 <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
4099 @end html
77235
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
4100 @node Troubleshooting, GNU Free Documentation License, Windows and MacOS, Top
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4101 @appendix Troubleshooting
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4102 @cindex Troubleshooting
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4103
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4104 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
4105 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
4106
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4107 @enumerate
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4108
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4109 @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
4110 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
4111 IDLWAVE buffers.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4112
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4113 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
4114 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
4115 @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
4116 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
4117 @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
4118 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
4119 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
4120 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
4121 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
4122 encountered.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4123
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4124 @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
4125 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
4126
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4127 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
4128 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
4129 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
4130 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
4131 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
4132 @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
4133 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
4134 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
4135
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4136 @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
4137 under MacOSX}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4138
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4139 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
4140 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
4141 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
4142 @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
4143 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
4144
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4145 @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
4146 overlayp}}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4147
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4148 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
4149 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
4150 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
4151
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4152 @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
4153 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
4154
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4155 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
4156 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
4157 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
4158 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
4159 "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
4160 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
4161 @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
4162
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4163 @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
4164 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
4165
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4166 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
4167 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
4168 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
4169 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
4170 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
4171
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4172 @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
4173 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
4174
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4175 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
4176 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
4177 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
4178 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
4179
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4180 @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
4181
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4182 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
4183 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
4184 } 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
4185 @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
4186 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
4187
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4188 @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
4189 (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
4190 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4191
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4192 @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
4193 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
4194
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4195 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
4196 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
4197 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
4198 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
4199 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
4200 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
4201
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4202 @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
4203 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
4204 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
4205 @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
4206 load file}}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4207
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4208 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
4209 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
4210 (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
4211 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
4212 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
4213 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
4214 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
4215
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4216 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4217 (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
4218 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4219
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4220 @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
4221 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
4222 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
4223
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4224 @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
4225
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4226 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
4227 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
4228 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
4229 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
4230 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
4231 @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
4232
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4233 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4234 (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
4235 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4236
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4237 @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
4238
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4239 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
4240 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
4241 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
4242 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
4243 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
4244 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
4245 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
4246 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
4247 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
4248
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4249 @example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4250 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
4251 @end example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4252
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4253 @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
4254 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
4255 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
4256 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
4257 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
4258
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4259 @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
4260 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
4261
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
4262 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
4263 @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
4264 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
4265 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
4266
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4267 @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
4268
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4269 This actually happens when running IDL in an XTerm as well. There are
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
4270 a couple of workarounds: @code{define_key,/control,'^d'} (e.g. in
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4271 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
4272 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
4273 @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
4274 @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
4275 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
4276 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
4277
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
4278 @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
4279 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
4280 @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
4281
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 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
4283 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
4284 you are using anything older than the latest HTML help package. A new
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
4285 help package appears with each IDL release (assuming the documentation
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
4286 is updated).
69835
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
4287 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
4288 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
4289
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 @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
4291 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
4292 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
4293
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 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
4295 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
4296 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
4297 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
4298 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
4299 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
4300 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
4301 @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
4302 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
4303
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4304 @end enumerate
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4305
77235
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
4306 @node GNU Free Documentation License, Index, Troubleshooting, Top
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
4307 @appendix GNU Free Documentation License
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
4308 @include doclicense.texi
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
4309
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
4310 @node Index, , GNU Free Documentation License, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4311 @unnumbered Index
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4312 @printindex cp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4313
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4314 @bye
69837
15cb8a20aec0 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 69835
diff changeset
4315
15cb8a20aec0 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 69835
diff changeset
4316 @ignore
15cb8a20aec0 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 69835
diff changeset
4317 arch-tag: f1d73958-1423-4127-b8aa-f7b953d64492
15cb8a20aec0 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 69835
diff changeset
4318 @end ignore