annotate man/idlwave.texi @ 60348:84d948a78a71

(Fkill_emacs): Use EXIT_SUCCESS; no longer special-case VMS. Add bogus return value.
author Thien-Thi Nguyen <ttn@gnuvola.org>
date Thu, 03 Mar 2005 15:34:52 +0000
parents c583d1745972
children 78ef32e30574 f2ebccfa87d4
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
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
12 @set VERSION 5.5
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
13 @set EDITION 5.5
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
14 @set IDLVERSION 6.1
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
15 @set NSYSROUTINES 1850
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
16 @set NSYSKEYWORDS 7685
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
17 @set DATE November, 2004
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
18 @set AUTHOR J.D. Smith & Carsten Dominik
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
19 @set AUTHOR-EMAIL jdsmith@@as.arizona.edu
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
20 @set MAINTAINER J.D. Smith
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
21 @set MAINTAINER-EMAIL jdsmith@@as.arizona.edu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
22 @set IDLWAVE-HOMEPAGE http://idlwave.org/
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
23 @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
24 @finalout
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
25
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
26 @ifinfo
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
27 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
28 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
29
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
30 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
31 @value{VERSION}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
32
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
33 Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004 Free Software
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
34 Foundation, Inc.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
35
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
36 Permission is granted to copy, distribute and/or modify this document
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
37 under the terms of the GNU Free Documentation License, Version 1.1 or
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
38 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
39 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
40 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
41 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
42 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
43
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
44 (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
45 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
46 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
47
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
48 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
49 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
50 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
51 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
52 @end ifinfo
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
53
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
54 @titlepage
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
55 @title IDLWAVE User Manual
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
56 @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
57 @subtitle Edition @value{EDITION}, @value{DATE}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
58
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
59 @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
60 @page
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
61 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
62 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
63 @sp 2
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
64 Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004 Free Software
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
65 Foundation, Inc.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
66 @sp 2
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
67 @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
68 Permission is granted to copy, distribute and/or modify this document
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
69 under the terms of the GNU Free Documentation License, Version 1.1 or
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
70 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
71 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
72 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
73 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
74 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
75
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
76 (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
77 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
78 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
79
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
80 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
81 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
82 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
83 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
84 @end titlepage
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
85 @contents
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
86
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
87 @page
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
88
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
89 @ifnottex
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
90
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
91 @node Top, Introduction, (dir), (dir)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
92
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
93 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
94 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
95
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
96 @end ifnottex
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
97
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
98 @menu
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
99 * 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
100 * 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
101 * 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
102 * 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
103 * The IDLWAVE Shell:: The mode for running IDL as an inferior program
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
104 * Installation:: How to Install or Upgrade
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
105 * 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
106 * 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
107 * 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
108 * 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
109 * 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
110 * Troubleshooting:: When good computers turn bad
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
111 * Index:: Fast access
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
112
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
113 @detailmenu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
114 --- The Detailed Node Listing ---
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
115
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
116 Getting Started (Tutorial)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
117
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
118 * 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
119 * Lesson II -- Customization::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
120 * Lesson III -- User Catalog::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
121
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
122 The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
123
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
124 * Code Formatting:: Making code look nice
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
125 * Routine Info:: Calling Sequence and Keyword List
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
126 * 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
127 * 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
128 * Routine Source:: Finding routines, the easy way
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
129 * 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
130 * Code Templates:: Frequent code constructs
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
131 * Abbreviations:: Abbreviations for common commands
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
132 * Actions:: Changing case, Padding, End checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
133 * Doc Header:: Inserting a standard header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
134 * 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
135 * 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
136
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
137 Code Formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
138
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
139 * 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
140 * Continued Statement Indentation::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
141 * 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
142 * Continuation Lines:: Splitting statements over lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
143 * Syntax Highlighting:: Font-lock support
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
144 * 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
145
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
146 Online Help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
147
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
148 * 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
149 * Help with Source::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
150
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
151 Completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
152
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
153 * Case of Completed Words:: CaseOFcomPletedWords
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
154 * 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
155 * 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
156 * 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
157 * 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
158
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
159 Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
160
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
161 * 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
162 * Padding Operators:: Enforcing space around `=' etc
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
163 * Case Changes:: Enforcing upper case keywords
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
164
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
165 The IDLWAVE Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
166
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
167 * 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
168 * 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
169 * 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
170 * Debugging IDL Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
171 * Examining Variables::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
172 * Custom Expression Examination::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
173
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
174 Debugging IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
175
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
176 * 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
177 * Debug Key Bindings::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
178 * Breakpoints and Stepping::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
179 * Compiling Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
180 * 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
181 * Electric Debug Mode::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
182
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
183 Installation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
184
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
185 * Installing IDLWAVE:: How to install the distribution
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
186 * Installing Online Help:: Where to get the additional files needed
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
187
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
188 Sources of Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
189
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
190 * Routine Definitions:: Where IDL Routines are defined.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
191 * 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
192 * Catalogs::
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
193 * Load-Path Shadows:: Routines defined in several places
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
194 * Documentation Scan:: Scanning the IDL Manuals
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
195
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
196 Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
197
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
198 * Library Catalogs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
199 * User Catalog::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
200
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
201 @end detailmenu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
202 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
203
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
204 @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
205 @chapter Introduction
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
206 @cindex Introduction
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
207 @cindex CORBA (Common Object Request Broker Architecture)
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
208 @cindex Interface Definition Language
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
209 @cindex Interactive Data Language
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
210 @cindex cc-mode.el
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
211 @cindex @file{idl.el}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
212 @cindex @file{idl-shell.el}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
213 @cindex Feature overview
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
214
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
215 IDLWAVE is a package which supports editing source files written in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
216 the Interactive Data Language (IDL@footnote{IDL is a registered
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
217 trademark of Research Systems, Inc., a Kodak Company}), and running
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
218 IDL as an inferior shell@footnote{Note that this package has nothing
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
219 to do with the Interface Definition Language, part of the Common
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
220 Object Request Broker Architecture (CORBA)}@footnote{IDLWAVE can also
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
221 be used for editing source files for the related WAVE/CL language, but
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
222 with only limited support.}. It is a feature-rich replacement for the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
223 IDLDE development environment bundled with IDL, and uses the full
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
224 power of Emacs to make editing and running IDL programs easier,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
225 quicker, and more structured.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
226
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
227 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
228 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
229 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
230 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
231 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
232 what IDLWAVE does:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
233
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
234 @itemize @bullet
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
235 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
236 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
237 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
238 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
239 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
240 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
241 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
242 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
243 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
244 Routine name space conflict search with likelihood-of-use ranking.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
245 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
246 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
247 undocumented routines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
248 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
249 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
250 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
251 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
252 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
253 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
254 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
255 standards.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
256 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
257 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
258 @item
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
259 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
260 @item
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
261 Documentation support.
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 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
264 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
265 IDL source buffers.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
266 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
267 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
268 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
269 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
270 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
271 inspection, etc.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
272 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
273 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
274 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
275 And much, much more...
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
276 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
277
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
278 @ifnottex
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
279 @cindex Screenshots
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
280 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
281
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
282 @itemize @bullet
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
283 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
284 @uref{http://idlwave.org/screenshots/emacs_21_nav.gif,An IDLWAVE buffer}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
285 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
286 @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
287 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
288 @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
289 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
290 @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
291 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
292 @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
293 stopped at a breakpoint}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
294 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
295 @end ifnottex
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
296
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
297 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
298 @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
299 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
300 @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
301
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
302 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
303 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
304 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
305 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
306 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
307 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
308 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
309 appendix.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
310
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
311 @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
312 @chapter IDLWAVE in a Nutshell
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
313 @cindex Summary of important commands
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
314 @cindex IDLWAVE in a Nutshell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
315 @cindex Nutshell, IDLWAVE in a
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
316
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
317 @subheading Editing IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
318
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
319 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
320 @item @key{TAB}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
321 @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
322 @item @kbd{C-M-\}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
323 @tab Re-indent all lines in the current region.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
324 @item @kbd{C-u @key{TAB}}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
325 @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
326 @item @kbd{M-@key{RET}}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
327 @tab Start a continuation line, or split the current line at point.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
328 @item @kbd{M-q}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
329 @tab Fill the current comment paragraph.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
330 @item @kbd{C-c ?}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
331 @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
332 at point.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
333 @item @kbd{M-?}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
334 @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
335 @item @kbd{M-@key{TAB}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
336 @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
337 @item @kbd{C-c C-i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
338 @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
339 @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
340 @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
341 @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
342 @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
343 @item @kbd{C-c C-h}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
344 @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
345 @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
346 @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
347 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
348
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
349 @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
350
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
351 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
352 @item @kbd{C-c C-s}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
353 @tab Start IDL as a subprocess and/or switch to the interaction buffer.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
354 @item @kbd{M-p}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
355 @tab Cycle back through IDL command history.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
356 @item @kbd{M-n}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
357 @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
358 @item @kbd{@key{TAB}}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
359 @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
360 @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
361 @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
362 @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
363 @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
364 @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
365 @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
366 @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
367 @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
368 @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
369 @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
370 @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
371 @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
372 @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
373 @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
374 @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
375 @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
376 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
377
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
378 @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
379 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
380 ;; Change the indentation preferences
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
381 (setq idlwave-main-block-indent 2 ; default 0
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
382 idlwave-block-indent 2 ; default 4
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
383 idlwave-end-offset -2) ; default -4
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
384 ;; 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
385 (setq idlwave-init-rinfo-when-idle-after 2)
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
386 ;; Pad some operators with spaces
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
387 (setq idlwave-do-actions t
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
388 idlwave-surround-by-blank t)
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
389 ;; Syntax Highlighting
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
390 (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
391 ;; Automatically start the shell when needed
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
392 (setq idlwave-shell-automatic-start t)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
393 ;; 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
394 (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
395 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
396
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
397 @ifhtml
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
398 <A NAME="TUTORIAL"></A>
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
399 @end ifhtml
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
400 @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
401 @chapter Getting Started (Tutorial)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
402 @cindex Quick-Start
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
403 @cindex Tutorial
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
404 @cindex Getting Started
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
405
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
406 @menu
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
407 * 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
408 * Lesson II -- Customization::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
409 * Lesson III -- User Catalog::
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
410 @end menu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
411
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
412 @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
413 @section Lesson I: Development Cycle
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
414
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
415 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
416 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
417 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
418 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
419 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
420 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
421 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
422
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
423 It is assumed that you have access to Emacs or XEmacs with the full
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
424 IDLWAVE package including online help (@pxref{Installation}). We also
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
425 assume that you are familiar with Emacs and can read the nomenclature of
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
426 key presses in Emacs (in particular, @kbd{C} stands for @key{CONTROL}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
427 and @kbd{M} for @key{META} (often the @key{ALT} key carries this
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
428 functionality)).
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
429
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
430 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
431
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
432 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
433 @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
434 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
435
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
436 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
437 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
438 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
439
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
440 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
441 @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
442
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
443 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
444 function daynr,d,m,y
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
445 ;; 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
446 ;; works 1901-2099.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
447 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
448 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
449 m1 = m + delta*12 + 1
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
450 y1 = y * delta
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
451 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
452 end
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
453
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
454 function weekday,day,month,year
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
455 ;; compute weekday number for date
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
456 nr = daynr(day,month,year)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
457 return, nr mod 7
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
458 end
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
459
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
460 pro plot_wday,day,month
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
461 ;; 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
462 years = 2000,+indgen(10)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
463 wdays = intarr(10)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
464 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
465 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
466 end
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
467 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
468 end
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
469 @end example
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 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
472 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
473 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
474 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
475 @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
476 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
477 font-lock.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
478
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
479 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
480 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
481 @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
482 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
483 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
484 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
485 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
486 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
487 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
488 change.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
489
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
490 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
491 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
492 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
493 help us fix.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
494
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
495 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
496 @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
497 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
498 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
499 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
500 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
501
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
502 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
503 the program. If you watch the shell buffer, you see that IDLWAVE types
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
504 @samp{.run tutorial.pro} for you. But the compilation fails because
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
505 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
506 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
507 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
508 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
509 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
510 see the three routines compile.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
511
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
512 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
513 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
514 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
515 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
516 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
517 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
518 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
519 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
520 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
521 @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
522 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
523 @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
524 provide the two arguments:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
525
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
526 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
527 plot_wday,1,1
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
528 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
529
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
530 @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
531 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
532 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
533 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
534 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
535 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
536 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
537 @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
538 and execute again.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
539
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
540 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
541 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
542 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
543 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
544 @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
545 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
546 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
547 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
548 @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
549 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
550 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
551 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
552 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
553 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
554 look pretty good.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
555
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
556 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
557
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
558 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
559 plot_wday,1,4
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
560 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
561
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
562 Oops, this looks very wrong. All April fool's days cannot be Fridays!
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
563 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
564 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
565 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
566 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
567 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
568 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
569 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
570 @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
571 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
572 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
573 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
574 @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
575 @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
576 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
577
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
578 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
579 y1 = y - delta
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
580 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
581
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
582 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
583 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
584 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
585 sequence of weekdays repeats.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
586
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
587 @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
588 @section Lesson II: Customization
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
589
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
590 Emacs is probably the most customizable piece of software ever
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
591 written, and it would be a shame if you did not make use of this and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
592 adapt IDLWAVE to your own preferences. Customizing Emacs or IDLWAVE
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
593 is accomplished by setting Lisp variables in the @file{.emacs} file in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
594 your home directory --- but do not be dismayed; for the most part, you
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
595 can just 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
596
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
597 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
598 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
599 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
600 @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
601
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
602 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
603 (setq idlwave-reserved-word-upcase t)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
604 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
605
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
606 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
607 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
608 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
609 @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
610 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
611 restart Emacs.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
612
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
613 You likely have your own indentation preferences for IDL code. For
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
614 example, some like to indent the main block of an IDL program from the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
615 margin, different from the conventions used by RSI, and use only 3
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
616 spaces as indentation between @code{BEGIN} and @code{END}. Try the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
617 following lines in @file{.emacs}:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
618
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
619 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
620 (setq idlwave-main-block-indent 2)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
621 (setq idlwave-block-indent 3)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
622 (setq idlwave-end-offset -3)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
623 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
624
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
625 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
626 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
627 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
628 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
629 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
630 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
631 throughout this manual.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
632
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
633 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
634 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
635 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
636 @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
637 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
638 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
639 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
640 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
641 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
642 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
643 IDLWAVE's functionality with them.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
644
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
645 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
646 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
647 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
648 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
649 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
650 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
651 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
652 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
653 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
654 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
655 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
656 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
657 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
658
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
659 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
660 (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
661 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
662
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
663 @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
664 @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
665
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
666 @lisp
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
667 (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
668 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
669
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
670 @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
671 @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
672 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
673
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
674 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
675 @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
676 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
677 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
678
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
679 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
680 ;; First for the source buffer
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
681 (add-hook 'idlwave-mode-hook
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
682 (lambda ()
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
683 (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
684 (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
685 (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
686 (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
687 (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
688 ;; Then for the shell buffer
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
689 (add-hook 'idlwave-shell-mode-hook
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
690 (lambda ()
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
691 (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
692 (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
693 (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
694 (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
695 (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
696 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
697
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
698 @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
699 @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
700
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
701 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
702 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
703 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
704 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
705 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
706 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
707 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
708 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
709 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
710 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
711 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
712 @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
713 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
714 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
715
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
716 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
717 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
718 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
719 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
720 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
721 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
722 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
723 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
724 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
725 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
726 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
727 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
728 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
729 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
730 (@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
731 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
732 library:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
733
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
734 @example
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
735 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
736 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
737
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
738 expands to `readfits('. Then try
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 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
741 a=readfits(@key{C-c ?}
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
742 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
743
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
744 and you get:
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
745
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
746 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
747 Usage: Result = READFITS(filename, header, heap)
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 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
750
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
751 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
752 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
753 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
754 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
755 (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
756 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
757
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
758 @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
759 @chapter The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
760 @cindex IDLWAVE major mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
761 @cindex Major mode, @code{idlwave-mode}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
762
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
763 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
764 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
765 them.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
766
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
767 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
768 * Code Formatting:: Making code look nice
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
769 * Routine Info:: Calling Sequence and Keyword List
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
770 * 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
771 * 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
772 * Routine Source:: Finding routines, the easy way
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
773 * 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
774 * Code Templates:: Frequent code constructs
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
775 * Abbreviations:: Abbreviations for common commands
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
776 * Actions:: Changing case, Padding, End checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
777 * Doc Header:: Inserting a standard header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
778 * 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
779 * 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
780 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
781
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
782 @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
783 @section Code Formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
784 @cindex Code formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
785 @cindex Formatting, of code
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
786
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
787 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
788 * 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
789 * Continued Statement Indentation::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
790 * 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
791 * Continuation Lines:: Splitting statements over lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
792 * Syntax Highlighting:: Font-lock support
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
793 * 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
794 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
795
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
796 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
797 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
798 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
799 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
800 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
801 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
802 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
803 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
804 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
805 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
806 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
807 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
808
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
809
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
810 @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
811 @subsection Code Indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
812 @cindex Code indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
813 @cindex Indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
814
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
815 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
816 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
817 @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
818 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
819 @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
820 continuation lines.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
821
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
822 @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
823 @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
824 @kindex C-M-\
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
825 To re-indent a larger portion of code (e.g. when working with foreign code
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
826 written with different conventions), use @kbd{C-M-\}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
827 (@code{indent-region}) after marking the relevant code. Useful marking
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
828 commands are @kbd{C-x h} (the entire file) or @kbd{C-M-h} (the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
829 current subprogram). @xref{Actions}, for information how to impose
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
830 additional formatting conventions on foreign code.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
831
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
832 @defopt idlwave-main-block-indent (@code{0})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
833 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
834 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
835 unit.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
836 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
837
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
838 @defopt idlwave-block-indent (@code{4})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
839 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
840 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
841 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
842
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
843 @defopt idlwave-end-offset (@code{-4})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
844 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
845 @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
846 BEGIN lines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
847 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
848
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
849 @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
850 @subsection Continued Statement Indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
851 @cindex Indentation, continued statement
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
852 @cindex Continued statement indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
853 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
854 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
855 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
856 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
857 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
858 (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
859 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
860 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
861 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
862 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
863 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
864 punctuation. An example:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
865
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
866 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
867 function foo, a, b, $
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
868 c, d
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
869 bar = sin( a + b + $
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
870 c + d)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
871 end
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
872 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
873 @noindent
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
874
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
875 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
876 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
877 sides of an assignment:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
878
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
879 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
880 function thisfunctionnameisverylongsoitwillleavelittleroom, a, b, $
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
881 c, d
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
882 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
883
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
884 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
885 indentation by setting the variable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
886 @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
887 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
888 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
889 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
890 @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
891 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
892 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
893 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
894
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
895 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
896 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
897 @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
898 @kbd{C-u @key{TAB}} will re-indent all lines in the current statement.
58527
c583d1745972 (Continued Statement Indentation): Resurrect Jan D.'s change from
Eli Zaretskii <eliz@gnu.org>
parents: 58524
diff changeset
899 Note that @code{idlwave-indent-to-open-paren}, if non-@code{nil}, overrides
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
900 the @code{idlwave-max-extra-continuation-indent} limit, for
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
901 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
902
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
903
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
904 @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
905 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
906 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
907
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
908 @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
909 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
910 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
911 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
912 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
913 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
914 line, outside of nested parentheses statements.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
915 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
916
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
917 @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
918 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
919 parenthesis, regardless of whether the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
920 @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
921 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
922
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
923 @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
924 @subsection Comment Indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
925 @cindex Comment indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
926 @cindex Hanging paragraphs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
927 @cindex Paragraphs, filling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
928 @cindex Paragraphs, hanging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
929
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
930 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
931 Comment lines are indented as follows:
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
932
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
933 @multitable @columnfractions .1 .90
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
934 @item @code{;;;}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
935 @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
936 unchanged.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
937 @item @code{;;}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
938 @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
939 @item @code{;}
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
940 @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
941 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
942
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
943 @noindent
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
944 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
945
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
946 @defopt idlwave-no-change-comment
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
947 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
948 changed.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
949 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
950
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
951 @defopt idlwave-begin-line-comment
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
952 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
953 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
954
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
955 @defopt idlwave-code-comment
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
956 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
957 IDL code.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
958 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
959
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
960 @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
961 @subsection Continuation Lines and Filling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
962 @cindex Continuation lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
963 @cindex Line splitting
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
964 @cindex String splitting
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
965 @cindex Splitting, of lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
966
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
967 @kindex M-@key{RET}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
968 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
969 @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
970 @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
971 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
972 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
973 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
974 concatenation operator is used.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
975
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
976 @cindex Filling
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
977 @cindex @code{auto-fill-mode}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
978 @cindex Hanging paragraphs
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
979 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
980 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
981 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
982 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
983 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
984 @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
985 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
986
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
987 @example
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
988 @group
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
989 ;=================================
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
990 ; x - an array containing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
991 ; lots of interesting numbers.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
992 ;
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
993 ; y - another variable where
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
994 ; a hanging paragraph is used
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
995 ; to describe it.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
996 ;=================================
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
997 @end group
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
998 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
999
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1000 @kindex M-q
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1001 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
1002 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
1003 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
1004 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
1005
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1006 @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
1007 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
1008 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1009
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1010 @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
1011 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
1012 operator.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1013 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1014
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1015 @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
1016 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
1017 @samp{+}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1018 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1019
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1020 @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
1021 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
1022 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
1023 line of the paragraph.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1024 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1025
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1026 @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
1027 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
1028 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
1029 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1030
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1031 @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
1032 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
1033 @code{idlwave-indent-regexp}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1034 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1035
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1036 @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
1037 @subsection Syntax Highlighting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1038 @cindex Syntax highlighting
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1039 @cindex Highlighting of syntax
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1040 @cindex Font lock
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1041
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1042 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
1043 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
1044 (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
1045 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
1046 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
1047 @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
1048
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1049 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1050 (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
1051 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1052
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1053 @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
1054 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
1055 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
1056 for highlighting using the variable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1057 @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
1058
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1059 @defopt idlwave-default-font-lock-items
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1060 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
1061 2.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1062 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1063
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1064 @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
1065 @subsection Octals and Highlighting
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1066 @cindex Syntax highlighting, Octals
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1067 @cindex Highlighting of syntax, Octals
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1068
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1069 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
1070 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
1071 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
1072 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
1073 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
1074 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
1075
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1076 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
1077 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
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("305B) + $ ;" <--- for font-lock
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1081 ' is an Angstrom.'
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1082 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1083
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1084 @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
1085 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
1086
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1087 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1088 string('305'OB) + ' is an Angstrom.'
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1089 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1090
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1091 @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
1092 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
1093
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1094 @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
1095 @section Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1096 @cindex Routine info
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1097 @cindex Updating routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1098 @cindex Scanning buffers for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1099 @cindex Buffers, scanning for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1100 @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
1101
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1102 @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
1103 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
1104 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
1105 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
1106 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
1107 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
1108 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
1109 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
1110 @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
1111 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
1112 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
1113 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
1114 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
1115 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
1116 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
1117 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
1118 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
1119 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
1120 (@code{idlwave-update-routine-info}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1121
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1122 @kindex C-c ?
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1123 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
1124 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
1125 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
1126 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
1127 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
1128
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1129 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1130 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
1131 | | | | | | | |
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1132 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
1133 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1134
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1135 @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
1136 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
1137 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
1138 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
1139 function.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1140
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1141 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
1142 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
1143 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
1144 @samp{->} operator (@pxref{Object Method Completion and Class
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1145 Ambiguity}), or by having been explicity included in the call
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1146 (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
1147
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1148 @cindex Calling sequences
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1149 @cindex Keywords of a routine
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1150 @cindex Routine source information
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1151 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
1152 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
1153
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1154 @example
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1155 Usage: XMANAGER, NAME, ID
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1156 Keywords: BACKGROUND CATCH CLEANUP EVENT_HANDLER GROUP_LEADER
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1157 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
1158 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
1159 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1160
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1161 @cindex Categories, of routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1162 @cindex Load-path shadows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1163 @cindex Shadows, load-path
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1164 @cindex IDL variable @code{!PATH}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1165 @cindex @code{!PATH}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1166 @cindex IDL variable @code{!DIR}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1167 @cindex @code{!DIR}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1168
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1169 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
1170 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
1171 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
1172 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
1173 (@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
1174 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
1175 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
1176 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
1177 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
1178 @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
1179 default categories exist:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1180
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1181 @multitable @columnfractions .15 .85
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1182 @item @i{System}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1183 @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
1184 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
1185 will automatically split into the next two.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1186 @item @i{Builtin}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1187 @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
1188 @item @i{SystemLib}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1189 @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
1190 @item @i{Obsolete}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1191 @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
1192 @item @i{Library}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1193 @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
1194 @item @i{Other}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1195 @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
1196 @item @i{Unresolved}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1197 @tab An otherwise unkown routine the shell lists as unresolved
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1198 (referenced, but not compiled).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1199 @end multitable
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1200
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1201 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
1202 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
1203 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
1204 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
1205 variable @code{idlwave-special-lib-alist}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1206
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1207 @cindex Flags, in routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1208 @cindex Duplicate routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1209 @cindex Multiply defined routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1210 @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
1211 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
1212 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
1213 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
1214 (@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
1215 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
1216 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
1217 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
1218 @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
1219
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1220 @cindex Online Help from the routine info buffer
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1221 @cindex Active text, in routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1222 @cindex Inserting keywords, from routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1223 @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
1224 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
1225 (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
1226 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
1227 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
1228
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1229 @multitable @columnfractions 0.15 0.85
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1230 @item @i{Usage}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1231 @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
1232 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
1233 routine (@pxref{Online Help}).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1234 @item @i{Keyword}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1235 @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
1236 @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
1237 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
1238 @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
1239 clicking also adds the initial @samp{/}.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1240 @item @i{Source}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1241 @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
1242 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
1243 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
1244 @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
1245 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
1246 window.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1247 @item @i{Classes}
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1248 @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
1249 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
1250 @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
1251 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
1252 exists there.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1253 @end multitable
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1254
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1255 @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
1256 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
1257 fit the content.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1258 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1259
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1260 @defopt idlwave-special-lib-alist
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1261 Alist of regular expressions matching special library directories.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1262 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1263
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1264 @defopt idlwave-rinfo-max-source-lines (@code{5})
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1265 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
1266 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1267
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1268
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1269 @ifhtml
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1270 <A NAME="ONLINE_HELP"></A>
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1271 @end ifhtml
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1272 @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
1273 @section Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1274
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1275 @cindex Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1276 @cindex @file{idlw-help.txt}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1277 @cindex @file{idlw-help.el}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1278 @cindex Installing online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1279 @cindex Online Help, Installation
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1280 @cindex Speed, of online help
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1281
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1282 For IDL system routines, RSI provides extensive documentation.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1283 IDLWAVE can access an HTML version of this documentation very quickly
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1284 and accurately. This is @emph{much} faster than using the IDL online
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1285 help application, because IDLWAVE usually gets you to the right place
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1286 in the documentation directly --- e.g. a specific keyword of a routine
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1287 --- without any additional browsing and scrolling. For this online
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1288 help to work, an HTML version of the IDL documentation, which is not
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1289 part of the standalone IDLWAVE distribution, is required. The
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1290 necessary files can be downloaded from @uref{@value{IDLWAVE-HOMEPAGE},
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1291 the maintainers webpage}. There are a variety of options for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1292 displaying the HTML help: see below. Help for routines without HTML
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1293 documentation is also available, using the routine documentation
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1294 header and/or source.
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1295
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1296 @kindex M-?
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1297 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
1298 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
1299 @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
1300 locations are recognized context for help:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1301
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1302 @cindex Context, for online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1303 @multitable @columnfractions .25 .75
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1304 @item @i{Routine name}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1305 @tab The name of a routine (function, procedure, method).
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1306 @item @i{Keyword Parameter}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1307 @tab A keyword parameter of a routine.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1308 @item @i{System Variable}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1309 @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
1310 @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
1311 @tab System variables tags like @code{!D.X_SIZE}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1312 @item @i{IDL Statement}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1313 @tab Statements like @code{PRO}, @code{REPEAT}, @code{COMPILE_OPT}, etc.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1314 @item @i{Class name}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1315 @tab A class name in an @code{OBJ_NEW} call.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1316 @item @i{Class Init}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1317 @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
1318 @item @i{Executive Command}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1319 @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
1320 @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
1321 @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
1322 @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
1323 @tab Class tags like @code{self.value}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1324 @item @i{Default}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1325 @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
1326 @end multitable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1327
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1328 @cindex @code{OBJ_NEW}, special online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1329 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
1330 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
1331 @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
1332 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
1333 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
1334 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
1335 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
1336
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1337 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
1338 which online help can be accessed.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1339
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1340 @itemize @bullet
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1341 @item
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1342 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
1343 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
1344 corresponding help (@pxref{Routine Info}).
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1345 @item
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1346 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
1347 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
1348 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
1349 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
1350 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
1351 @end itemize
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1352 @noindent
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1353 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
1354 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
1355 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
1356
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1357
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1358 @menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1359 * 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
1360 * Help with Source::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1361 @end menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1362
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1363 @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
1364 @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
1365 @cindex HTML Help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1366 @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
1367 @cindex IDL manual, HTML version
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1368
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1369 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
1370 command @code{browse-url}, which displays the relevant help topic in a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1371 browser of your choosing. There are many possible browsers to choose
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1372 among, with differing advantages and disadvantages. The variable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1373 @code{idlwave-help-browser-function} controls which browser help is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1374 sent to. This function is used to set the variable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1375 @code{browse-url-browser-function} locally for IDLWAVE help only.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1376 Customize this variable to see what choices of browsers your system
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1377 offers.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1378
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1379 Certain browsers like @code{w3} (bundled with many versions of Emacs)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1380 and @code{w3m} (@uref{http://emacs-w3m.namazu.org/}, the author's help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1381 browser of choice) are run within Emacs, and use Emacs buffers to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1382 display the HTML help. This can be convenient, especially on small
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1383 displays, and images can even be displayed in-line on new Emacs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1384 versions. However, better formatting results are often achieved with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1385 external browsers, like Mozilla. IDLWAVE assumes any browser function
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1386 containing "w3" is displayed in a local buffer. If you are using
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1387 another Emacs-local browser for which this is not true, set the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1388 variable @code{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
1389
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1390 @emph{N.B. For Windows users}: IDLWAVE can bring up RSI help directly
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1391 in the Microsoft HTMLHelp documentation supplied with IDL: no
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1392 additional help files are needed. Be sure to set
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1393 @code{idlwave-system-directory} and the help file will be found
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1394 automatically (or, alternatively, specify its location directly with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1395 @code{idlwave-html-help-location}). The variable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1396 @code{idlwave-help-use-hh} controls whether HTMLHelp is used, and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1397 which application is called to invoke it (@code{HH} is the default).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1398 The free helper application @code{KEYHH}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1399 (@uref{http://www.keyworks.net/keyhh.htm}) can be used instead, and is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1400 preferrable, as it permits loading new help topics into the same help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1401 window. @code{KEYHH} must be downloaded and installed separately.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1402
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1403 @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
1404 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
1405
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1406 @defopt idlwave-html-help-location @file{/usr/local/etc}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1407 The directory where the @file{idl_html_help} dir or @file{idl.chm}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1408 HTMLHelp files live.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1409 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1410
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1411 @defopt idlwave-help-use-hh @code{nil}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1412 If set to @code{'hh} or @code{'keyhh}, use Windows native HTMLHelp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1413 with the specified help application.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1414 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1415
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1416 @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
1417 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
1418 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
1419 @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
1420 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1421
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1422 @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
1423 Is the browser selected in @code{idlwave-help-browser-function} run in a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1424 local Emacs buffer? Defaults to @code{t} if the function contains
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1425 "-w3".
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
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1428 @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
1429 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
1430 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1431
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1432 @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
1433 @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
1434 @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
1435
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1436 @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
1437 @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
1438 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
1439 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
1440 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
1441 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
1442 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
1443 (@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
1444 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
1445 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
1446 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
1447
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1448 @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
1449 @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
1450 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
1451 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
1452 (@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
1453 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
1454 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
1455
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1456 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
1457 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
1458 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
1459
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1460 @multitable @columnfractions .15 .85
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1461 @item @kbd{@key{SPACE}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1462 @tab Scroll forward one page.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1463 @item @kbd{@key{RET}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1464 @tab Scroll forward one line.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1465 @item @kbd{@key{DEL}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1466 @tab Scroll back one page.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1467 @item @kbd{h}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1468 @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
1469 as help.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1470 @item @kbd{H}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1471 @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
1472 @item @kbd{.} @r{(Dot)}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1473 @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
1474 @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
1475 item in the DocLib header.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1476 @item @kbd{F}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1477 @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
1478 @item @kbd{q}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1479 @tab Kill the help window.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1480 @end multitable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1481
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1482
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1483 @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
1484 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
1485 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1486
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1487 @defopt idlwave-help-frame-parameters
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1488 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
1489 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1490
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1491 @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
1492 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
1493 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1494
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1495 @defopt idlwave-extra-help-function
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1496 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
1497 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1498
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1499 @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
1500 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
1501 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1502
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1503 @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
1504 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
1505 displaying source file.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1506 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1507
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1508 @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
1509 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
1510 @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
1511 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1512
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1513 @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
1514 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
1515 @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
1516 @end defopt
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1517
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1518
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1519 @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
1520 @section Completion
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1521 @cindex Completion
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1522 @cindex Keyword completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1523 @cindex Method completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1524 @cindex Object method completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1525 @cindex Class name completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1526 @cindex Function name completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1527 @cindex Procedure name completion
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1528
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1529 @kindex M-@key{TAB}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1530 @kindex C-c C-i
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1531 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
1532 system variables, system variable tags, class structure tags, regular
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1533 structure tags and file names. As in many programming modes,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1534 completion is bound to @kbd{M-@key{TAB}} (or @kbd{@key{TAB}} in the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1535 IDLWAVE Shell --- @pxref{Using the Shell}). Completion uses exactly
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1536 the same internal information as routine info, so when necessary
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1537 (rarely) it can be updated with @kbd{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
1538 (@code{idlwave-update-routine-info}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1539
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1540 The completion function is context sensitive and figures out what to
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1541 complete based location of the point. Here are example lines and what
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1542 @kbd{M-@key{TAB}} would try to complete when the cursor is on the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1543 position marked with a @samp{_}:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1544
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1545 @example
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1546 plo_ @r{Procedure}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1547 x = a_ @r{Function}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1548 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
1549 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
1550 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
1551 obj -> a_ @r{Object method (procedure)}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1552 a(2,3) = obj -> a_ @r{Object method (function)}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1553 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
1554 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
1555 pro A_ @r{Class name}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1556 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
1557 !v_ @r{System variable}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1558 !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
1559 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
1560 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
1561 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
1562 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1563
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1564 @cindex Completion, ambiguity
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1565 @cindex Completion, forcing function name
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1566 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
1567 @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
1568 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
1569 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
1570 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
1571
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1572 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
1573 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
1574 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
1575 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
1576
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1577 @cindex Scrolling the @file{*Completions*} window
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1578 @cindex Completion, scrolling
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1579 @cindex Completion, Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1580 @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
1581 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
1582 @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
1583 @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
1584 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
1585 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
1586 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
1587 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
1588 text.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1589
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1590 @cindex Completion, cancelling
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1591 @cindex Cancelling completion
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1592 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
1593 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
1594 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
1595 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
1596 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
1597 with no negative consequences.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1598
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1599 @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
1600 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
1601 completed keywords.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1602 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1603
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1604 @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
1605 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
1606 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
1607 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
1608 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1609
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1610 @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
1611 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
1612 completion.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1613 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1614
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1615 @defopt idlwave-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
1616 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
1617 available.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1618 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1619
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1620 @menu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1621 * Case of Completed Words:: CaseOFcomPletedWords
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1622 * 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
1623 * 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
1624 * 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
1625 * Structure Tag Completion:: Completing state.Tag
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1626 @end menu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1627
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1628 @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
1629 @subsection Case of Completed Words
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1630 @cindex Case of completed words
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1631 @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
1632 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
1633 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
1634 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
1635 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
1636 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
1637 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
1638 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
1639 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
1640 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
1641 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
1642 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
1643 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
1644 @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
1645 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
1646 @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
1647
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1648 @defopt idlwave-completion-case
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1649 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
1650 of completed words.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1651 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1652
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1653 @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
1654 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
1655 @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
1656 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
1657 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
1658 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1659
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1660 @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
1661 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
1662 completion.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1663 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1664
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1665 @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
1666 @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
1667 @cindex Object methods
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1668 @cindex Class ambiguity
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1669 @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
1670 An object method is not uniquely determined without the object's class.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1671 Since the class is almost always omitted in the calling source, IDLWAVE
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1672 considers all available methods in all classes as possible method name
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1673 completions. The combined list of keywords of the current method in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1674 @emph{all} known classes which contain that method will be considered
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1675 for keyword completion. In the @file{*Completions*} buffer, the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1676 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
1677 @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
1678 of an object called @samp{self} is always taken to be the class of the
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1679 current routine. All classes it inherits from are considered as well
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1680 where appropriate.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1681
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1682 @cindex Forcing class query.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1683 @cindex Class query, forcing
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1684 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
1685 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
1686 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
1687 @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
1688 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
1689 common methods for which the number of completing keywords would be too
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1690 large (e.g. @code{Init}).
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1691
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1692 @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
1693 @cindex @code{->}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1694 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
1695 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
1696 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
1697 (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
1698 placing a text property on the method invocation operator @samp{->},
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1699 after which the operator will be shown in a different face. This is not
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1700 enabled by default --- the variable @code{idlwave-store-inquired-class}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1701 can be used to turn it on.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1702
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
1703 @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
1704 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
1705 @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
1706 keywords.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1707 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1708
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1709 @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
1710 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
1711 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1712
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1713 @defopt idlwave-query-class (@code{nil})
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1714 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
1715 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1716
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1717 @defopt idlwave-store-inquired-class (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1718 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
1719 @samp{->}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1720 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1721
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1722 @defopt idlwave-class-arrow-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1723 Face to highlight object operator arrows @samp{->} which carry a class
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1724 text property.
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
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1727 @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
1728 @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
1729 @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
1730 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
1731 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
1732 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
1733 @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
1734 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
1735 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
1736 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
1737 info, or help. If unsuccessful, information from all known classes will
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1738 be used (as in the buffer). Setting the variable
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1739 @code{idlwave-store-inquired-class} can eliminate unnecessary repetitive
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1740 queries for the object's class, and speed up completion.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1741
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1742 @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
1743 @subsection Class and Keyword Inheritance
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1744 @cindex Inheritance, class
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1745 @cindex Keyword inheritance
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1746 @cindex Inheritance, keyword
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1747
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1748 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
1749 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
1750 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
1751 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
1752 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
1753 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
1754 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
1755 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
1756 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
1757 @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
1758
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1759 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
1760 @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
1761 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
1762 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
1763 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
1764 @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
1765 @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
1766
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1767 IDLWAVE can accomodate this special synergy between class and keyword
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1768 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
1769 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
1770 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
1771 of course no guarantee that this type of keyword chaining actually
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1772 occurrs, but for some methods it's a very convenient assumption. The
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1773 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
1774 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
1775 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
1776 @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
1777 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
1778
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1779 @defopt idlwave-support-inheritance (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1780 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
1781 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1782
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1783 @defopt idlwave-keyword-class-inheritance
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1784 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
1785 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
1786 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1787
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1788 @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
1789 @subsection Structure Tag Completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1790 @cindex Completion, structure tag
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1791 @cindex Structure tag completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1792
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1793 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
1794 (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
1795 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
1796 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
1797 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
1798 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
1799 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
1800 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
1801 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
1802 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
1803 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
1804 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
1805 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
1806 (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
1807 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
1808
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1809 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
1810 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
1811
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1812 @lisp
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1813 (add-hook 'idlwave-load-hook
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1814 (lambda () (require 'idlw-complete-structtag)))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1815 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1816
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1817 Once enabled, you'll also be able to access online help on the structure
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1818 tags, using the usual methods (@pxref{Online Help}).
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1819
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1820 @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
1821 @section Routine Source
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1822 @cindex Routine source file
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1823 @cindex Module source file
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1824 @cindex Source file, of a routine
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1825 @kindex C-c C-v
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1826 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
1827 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
1828 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
1829 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
1830 @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
1831 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
1832 any class part). IDLWAVE will display the source file in another
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1833 window, positioned at the routine in question. You can also visit a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1834 routine in the current buffer, with completion, by using a single prefix
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1835 (@kbd{C-u C-c C-v}).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1836
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1837 @cindex Buffers, killing
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1838 @cindex Killing autoloaded buffers
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1839 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
1840 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
1841 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
1842 (@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
1843 these buffers.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1844
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1845 @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
1846 @section Resolving Routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1847 @cindex @code{RESOLVE_ROUTINE}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1848 @cindex Compiling library modules
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1849 @cindex Routines, resolving
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1850
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1851 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
1852 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
1853 in order to resolve (compile) it. The default routine to be resolved is
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1854 taken from context, but you get a chance to edit it.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1855
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1856 @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
1857 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
1858 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
1859 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
1860 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
1861
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1862 @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
1863 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
1864
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1865 @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
1866 @section Code Templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1867 @cindex Code templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1868 @cindex Templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1869
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1870 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
1871 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
1872
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1873 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1874 @item @kbd{C-c C-c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1875 @tab @code{CASE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1876 @item @kbd{C-c C-f}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1877 @tab @code{FOR} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1878 @item @kbd{C-c C-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1879 @tab @code{REPEAT} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1880 @item @kbd{C-c C-w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1881 @tab @code{WHILE} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1882 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1883
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1884 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
1885 (@pxref{Abbreviations}).
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1886
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1887 @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
1888 @section Abbreviations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1889 @cindex Abbreviations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1890
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1891 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
1892 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
1893 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
1894 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
1895 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
1896 @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
1897 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
1898 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
1899 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
1900
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1901 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
1902 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
1903 idlwave-list-abbrevs}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1904
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1905 Template abbreviations:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1906
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1907 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1908 @item @code{\pr}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1909 @tab @code{PROCEDURE} template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1910 @item @code{\fu}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1911 @tab @code{FUNCTION} template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1912 @item @code{\c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1913 @tab @code{CASE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1914 @item @code{\f}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1915 @tab @code{FOR} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1916 @item @code{\r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1917 @tab @code{REPEAT} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1918 @item @code{\w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1919 @tab @code{WHILE} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1920 @item @code{\i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1921 @tab @code{IF} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1922 @item @code{\elif}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1923 @tab @code{IF-ELSE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1924 @end multitable
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
1925
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1926 String abbreviations:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1927
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1928 @multitable @columnfractions .15 .85
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1929 @item @code{\ap}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1930 @tab @code{arg_present()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1931 @item @code{\b}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1932 @tab @code{begin}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1933 @item @code{\cb}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1934 @tab @code{byte()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1935 @item @code{\cc}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1936 @tab @code{complex()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1937 @item @code{\cd}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1938 @tab @code{double()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1939 @item @code{\cf}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1940 @tab @code{float()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1941 @item @code{\cl}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1942 @tab @code{long()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1943 @item @code{\co}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1944 @tab @code{common}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1945 @item @code{\cs}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1946 @tab @code{string()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1947 @item @code{\cx}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1948 @tab @code{fix()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1949 @item @code{\e}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1950 @tab @code{else}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1951 @item @code{\ec}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1952 @tab @code{endcase}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1953 @item @code{\ee}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1954 @tab @code{endelse}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1955 @item @code{\ef}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1956 @tab @code{endfor}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1957 @item @code{\ei}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1958 @tab @code{endif else if}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1959 @item @code{\el}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1960 @tab @code{endif else}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1961 @item @code{\en}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1962 @tab @code{endif}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1963 @item @code{\er}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1964 @tab @code{endrep}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1965 @item @code{\es}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1966 @tab @code{endswitch}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1967 @item @code{\ew}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1968 @tab @code{endwhile}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1969 @item @code{\g}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1970 @tab @code{goto,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1971 @item @code{\h}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1972 @tab @code{help,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1973 @item @code{\ik}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1974 @tab @code{if keyword_set() then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1975 @item @code{\iap}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1976 @tab @code{if arg_present() then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1977 @item @code{\ine}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1978 @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
1979 @item @code{\inn}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1980 @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
1981 @item @code{\k}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1982 @tab @code{keyword_set()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1983 @item @code{\n}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1984 @tab @code{n_elements()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1985 @item @code{\np}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1986 @tab @code{n_params()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1987 @item @code{\oi}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1988 @tab @code{on_ioerror,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1989 @item @code{\or}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1990 @tab @code{openr,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1991 @item @code{\ou}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1992 @tab @code{openu,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1993 @item @code{\ow}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1994 @tab @code{openw,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1995 @item @code{\p}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1996 @tab @code{print,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1997 @item @code{\pt}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1998 @tab @code{plot,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1999 @item @code{\re}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2000 @tab @code{read,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2001 @item @code{\rf}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2002 @tab @code{readf,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2003 @item @code{\rt}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2004 @tab @code{return}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2005 @item @code{\ru}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2006 @tab @code{readu,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2007 @item @code{\s}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2008 @tab @code{size()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2009 @item @code{\sc}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2010 @tab @code{strcompress()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2011 @item @code{\sl}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2012 @tab @code{strlowcase()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2013 @item @code{\sm}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2014 @tab @code{strmid()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2015 @item @code{\sn}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2016 @tab @code{strlen()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2017 @item @code{\sp}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2018 @tab @code{strpos()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2019 @item @code{\sr}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2020 @tab @code{strtrim()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2021 @item @code{\st}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2022 @tab @code{strput()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2023 @item @code{\su}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2024 @tab @code{strupcase()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2025 @item @code{\t}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2026 @tab @code{then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2027 @item @code{\u}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2028 @tab @code{until}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2029 @item @code{\wc}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2030 @tab @code{widget_control,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2031 @item @code{\wi}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2032 @tab @code{widget_info()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2033 @item @code{\wu}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2034 @tab @code{writeu,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2035 @end multitable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2036
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2037 @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
2038 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
2039 convenience function @code{idlwave-define-abbrev}:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2040
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2041 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2042 (add-hook 'idlwave-mode-hook
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2043 (lambda ()
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2044 (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
2045 (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
2046 (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
2047 (idlwave-keyword-abbrev 11))))
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2048 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2049
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2050 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
2051 (@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
2052 @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
2053 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
2054 parentheses).
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2055
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2056 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
2057 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
2058 templates, @code{idlwave-reserved-word-upcase} (@pxref{Case Changes}).
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
2059
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2060 @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
2061 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
2062 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
2063 abbreviation strings.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2064 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2065
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2066 @defopt idlwave-abbrev-move (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2067 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
2068 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
2069 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2070
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2071 @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
2072 @section Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2073 @cindex Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2074 @cindex Coding standards, enforcing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2075
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2076 @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
2077 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
2078 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
2079 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
2080 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
2081 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
2082 can be helpful.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2083
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2084 Actions can be applied in three ways:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2085
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2086 @itemize @bullet
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2087 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2088 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
2089 @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
2090 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
2091 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
2092 case.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2093 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2094 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
2095 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
2096 must be non-@code{nil}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2097 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2098 @cindex Foreign code, adapting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2099 @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
2100 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
2101 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
2102 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
2103 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
2104 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
2105 indentation of the code.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2106 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2107
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2108 @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
2109 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
2110 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
2111 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2112
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2113 @menu
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2114 * 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
2115 * Padding Operators:: Enforcing space around `=' etc
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2116 * Case Changes:: Enforcing upper case keywords
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2117 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2118
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2119 @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
2120 @subsection Block Boundary Check
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2121 @cindex Block boundary check
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2122 @cindex @code{END} type checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2123 @cindex @code{END}, automatic insertion
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2124 @cindex @code{END}, expanding
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2125 @cindex Block, closing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2126 @cindex Closing a block
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2127
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2128 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
2129 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
2130 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
2131 @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
2132 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
2133
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2134 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
2135 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
2136 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
2137 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
2138
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2139 @defopt idlwave-show-block (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2140 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
2141 @code{idlwave-show-begin}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2142 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2143
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2144 @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
2145 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
2146 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2147
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2148 @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
2149 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
2150 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2151
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2152 @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
2153 @subsection Padding Operators
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2154 @cindex Padding operators with spaces
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2155 @cindex Operators, padding with spaces
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2156 @cindex Space, around operators
26960
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 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
2159 happen when the operator is typed, or later when the line is indented.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2160 IDLWAVE can pad the operators @samp{&}, @samp{<}, @samp{>}, @samp{,},
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2161 @samp{=}, and @samp{->}, but this feature is turned off by default. If
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2162 you want to turn it on, customize the variables
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2163 @code{idlwave-surround-by-blank} and @code{idlwave-do-actions}. You can
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2164 also define similar actions for other operators by using the function
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2165 @code{idlwave-action-and-binding} in the mode hook. For example, to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2166 enforce space padding of the @samp{+} and @samp{*} operators, try this
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2167 in @file{.emacs}
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 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2170 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2171 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2172 (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
2173 (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
2174 (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
2175 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2176
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2177 @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
2178 Non-@code{nil} means enable @code{idlwave-surround}. If non-@code{nil},
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
2179 @samp{=}, @samp{<}, @samp{>}, @samp{&}, @samp{,}, @samp{->} are
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2180 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
2181 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2182
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2183 @defopt idlwave-pad-keyword (@code{t})
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2184 Non-@code{nil} means pad @samp{=} for keywords like assignments.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2185 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2186
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2187 @node Case Changes, , Padding Operators, Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2188 @subsection Case Changes
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2189 @cindex Case changes
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2190 @cindex Upcase, enforcing for reserved words
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2191 @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
2192
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2193 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
2194 abbreviations by customizing the variables
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2195 @code{idlwave-abbrev-change-case} and
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2196 @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
2197 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
2198 your @file{.emacs} file:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2199
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2200 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2201 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2202 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2203 ;; Capitalize system vars
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2204 (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
2205 ;; Capitalize procedure name
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2206 (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
2207 '(capitalize-word 1) t)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2208 ;; 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
2209 (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
2210 '(capitalize-word 1) t)))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2211 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2212
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2213 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
2214 @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
2215 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
2216 @ref{Completion}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2217
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2218 @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
2219 Non-@code{nil} means all abbrevs will be forced to either upper or lower
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2220 case. Legal values are @code{nil}, @code{t}, and @code{down}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2221 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2222
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2223 @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
2224 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
2225 expansion.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2226 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2227
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2228
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2229 @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
2230 @section Documentation Header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2231 @cindex Documentation header
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2232 @cindex DocLib header
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2233 @cindex Modification timestamp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2234 @cindex Header, for file documentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2235 @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
2236 @cindex Changelog, in doc header.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2237
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2238 @kindex C-c C-h
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2239 @kindex C-c C-m
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2240 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
2241 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
2242 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
2243 @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
2244 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
2245 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
2246 timestamp.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2247
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2248 @defopt idlwave-file-header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2249 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
2250 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2251
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2252 @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
2253 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
2254 of file.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2255 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2256
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2257 @defopt idlwave-timestamp-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2258 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
2259 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2260
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2261 @defopt idlwave-doc-modifications-keyword
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2262 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
2263 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2264
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2265 @defopt idlwave-doclib-start
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2266 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
2267 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2268
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2269 @defopt idlwave-doclib-end
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2270 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
2271 @end defopt
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 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
2274 @section Motion Commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2275 @cindex Motion commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2276 @cindex Program structure, moving through
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2277 @cindex Code structure, moving through
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2278 @cindex @file{Func-menu}, XEmacs package
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2279 @cindex @file{Imenu}, Emacs package
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2280 @cindex Function definitions, jumping to
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2281 @cindex Procedure definitions, jumping to
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2282
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2283 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
2284 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
2285 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
2286 @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
2287
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2288 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2289 (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
2290 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2291
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2292 @cindex @file{Speedbar}, Emacs package
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2293
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2294 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
2295 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
2296 definitions. See @code{Tools->Display Speedbar}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2297
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2298 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
2299 IDL program:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2300
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2301 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2302 @item @kbd{C-M-a}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2303 @tab Beginning of subprogram
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2304 @item @kbd{C-M-e}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2305 @tab End of subprogram
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2306 @item @kbd{C-c @{}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2307 @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
2308 @item @kbd{C-c @}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2309 @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
2310 @item @kbd{C-M-n}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2311 @tab Forward block (on same level)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2312 @item @kbd{C-M-p}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2313 @tab Backward block (on same level)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2314 @item @kbd{C-M-d}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2315 @tab Down block (enters a block)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2316 @item @kbd{C-M-u}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2317 @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
2318 @item @kbd{C-c C-n}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2319 @tab Next Statement
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2320 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2321
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2322
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2323 @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
2324 @section Miscellaneous Options
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2325 @cindex Hooks
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2326
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2327 @defopt idlwave-help-application
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2328 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
2329 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2330
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2331 @defopt idlwave-startup-message (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2332 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
2333 is first called.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2334 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2335
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2336 @defopt idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2337 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
2338 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2339
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2340 @defopt idlwave-load-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2341 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
2342 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2343
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2344
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2345
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2346 @node The IDLWAVE Shell, Installation, The IDLWAVE Major Mode, Top
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2347 @chapter The IDLWAVE Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2348 @cindex IDLWAVE shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2349 @cindex Major mode, @code{idlwave-shell-mode}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2350 @cindex IDL, as Emacs subprocess
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2351 @cindex Subprocess of Emacs, IDL
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2352 @cindex Comint, Emacs package
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2353 @cindex Windows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2354 @cindex MacOS
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2355
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2356 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
2357 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
2358 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
2359 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
2360 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
2361 Emacs packages which handles the communication with the IDL program.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2362 Unfortunately IDL for Windows does not have command-prompt versions
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2363 and thus do not allow the interaction with Emacs@footnote{Please
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2364 inform the maintainer if you come up with a way to make the IDLWAVE
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2365 shell work on these systems.} --- so the IDLWAVE shell currently only
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2366 works under Unix and MacOSX.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2367
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2368 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2369 * 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
2370 * 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
2371 * 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
2372 * Debugging IDL Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2373 * Examining Variables::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2374 * Custom Expression Examination::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2375 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2376
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2377 @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
2378 @section Starting the Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2379 @cindex Starting the shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2380 @cindex Shell, starting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2381 @cindex Dedicated frame, for shell buffer
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2382 @cindex Frame, for shell buffer
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2383 @cindex Subprocess of Emacs, IDL
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2384
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2385 @kindex C-c C-s
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2386 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
2387 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
2388 @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
2389 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
2390 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
2391 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
2392 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
2393 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
2394 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
2395 @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
2396
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2397 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
2398 @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
2399 @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
2400 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
2401 @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
2402
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2403 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
2404 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
2405 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
2406
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2407 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2408 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
2409 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2410
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2411 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
2412 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
2413
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2414 @cindex ENVI
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2415 @cindex IDL> Prompt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2416
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2417 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
2418 @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
2419 @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
2420 "}. 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
2421 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
2422 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
2423
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2424 @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
2425 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
2426 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2427
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2428 @defopt idlwave-shell-command-line-options
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2429 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
2430 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2431
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2432 @defopt idlwave-shell-prompt-pattern
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2433 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
2434 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2435
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2436 @defopt idlwave-shell-process-name
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2437 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
2438 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2439
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2440 @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
2441 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
2442 running.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2443 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2444
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2445 @defopt idlwave-shell-initial-commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2446 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
2447 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2448
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2449 @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
2450 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
2451 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2452
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2453 @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
2454 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
2455 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
2456 @code{idlwave-config-directory}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2457 @end defopt
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2458
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2459 @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
2460 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
2461 shell buffer.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2462 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2463
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2464 @defopt idlwave-shell-frame-parameters
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2465 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
2466 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2467
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2468 @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
2469 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
2470 window.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2471 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2472
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2473 @defopt idlwave-shell-temp-pro-prefix
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2474 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
2475 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2476
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2477 @cindex Hooks
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2478 @defopt idlwave-shell-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2479 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
2480 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2481
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2482 @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
2483 @section Using the Shell
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2484 @cindex Comint
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2485 @cindex Shell, basic commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2486
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2487 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
2488 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
2489 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
2490 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
2491 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
2492 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
2493 @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
2494 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
2495 commands:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2496
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2497 @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
2498 @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
2499 @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
2500 @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
2501 @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
2502 @item @kbd{M-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2503 @tab Previous input matching a regexp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2504 @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
2505 @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
2506 @item @kbd{return}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2507 @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
2508 @item @kbd{C-c C-a}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2509 @tab Beginning of line; skip prompt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2510 @item @kbd{C-c C-u}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2511 @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
2512 @item @kbd{C-c C-w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2513 @tab Kill word before cursor
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2514 @item @kbd{C-c C-c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2515 @tab Send ^C
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2516 @item @kbd{C-c C-z}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2517 @tab Send ^Z
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2518 @item @kbd{C-c C-\}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2519 @tab Send ^\
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2520 @item @kbd{C-c C-o}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2521 @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
2522 @item @kbd{C-c C-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2523 @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
2524 @item @kbd{C-c C-l}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2525 @tab List input history
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2526 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2527
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2528 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
2529 @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
2530 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
2531 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
2532 @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
2533 commands.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2534
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2535 @cindex Completion, in the shell
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2536 @cindex Routine info, in the shell
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2537 @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
2538 @multitable @columnfractions .12 .88
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2539 @item @kbd{@key{TAB}}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2540 @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
2541 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
2542 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
2543 (@code{idlwave-shell-complete}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2544 @item @kbd{M-@key{TAB}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2545 @tab Same as @key{TAB}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2546 @item @kbd{C-c ?}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2547 @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
2548 @item @kbd{M-?}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2549 @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
2550 @item @kbd{C-c C-i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2551 @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
2552 (@code{idlwave-update-routine-info})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2553 @item @kbd{C-c C-v}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2554 @tab Find the source file of a routine (@code{idlwave-find-module})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2555 @item @kbd{C-c =}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2556 @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
2557 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2558
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2559 @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
2560 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
2561 history like xterm.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2562 @end defopt
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2563
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2564 @defopt idlwave-shell-comint-settings
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2565 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
2566 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2567
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2568 @defopt idlwave-shell-file-name-chars
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2569 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
2570 completion.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2571 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2572
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2573 @defopt idlwave-shell-graphics-window-size
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2574 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
2575 @end defopt
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2576
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2577 @cindex Input mode
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2578 @cindex Character input mode (Shell)
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2579 @cindex Line input mode (Shell)
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2580 @cindex Magic spells, for input mode
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2581 @cindex Spells, magic
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2582 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
2583 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
2584 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
2585 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
2586 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
2587 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
2588 (@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
2589 (@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
2590 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
2591 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
2592 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
2593 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
2594 automatic switches of the input mode.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2595
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2596 @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
2597 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
2598 output.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2599 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2600
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2601 @defopt idlwave-shell-input-mode-spells
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2602 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
2603 modes.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2604 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2605
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2606 @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
2607 @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
2608 @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
2609 @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
2610
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2611 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
2612 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
2613 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
2614 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
2615 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
2616 shell.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2617
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2618 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
2619 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
2620 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
2621 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
2622 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
2623 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
2624
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2625 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
2626 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
2627 @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
2628 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
2629 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
2630 Variables}.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2631
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2632 @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
2633 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
2634 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
2635 @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
2636 @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
2637 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
2638 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
2639 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
2640 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
2641 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
2642 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
2643 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
2644 (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
2645 @end defopt
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2646
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2647 @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
2648 @section Debugging IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2649 @cindex Debugging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2650 @cindex Keybindings for debugging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2651 @cindex Toolbar
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2652
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2653 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
2654 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
2655 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
2656 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
2657 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
2658 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
2659 @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
2660 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
2661
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2662 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
2663 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
2664 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
2665 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
2666 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
2667 @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
2668
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2669
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2670 @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
2671 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
2672 buffers.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2673 @end defopt
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2674
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2675 @menu
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2676 * 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
2677 * Debug Key Bindings::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2678 * Breakpoints and Stepping::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2679 * Compiling Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2680 * 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
2681 * 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
2682 @end menu
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2683
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2684
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2685 @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
2686 @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
2687 @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
2688 @cindex Debugging Interface
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2689
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2690 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
2691 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
2692 the original, multi-key command interface, and the new Electric Debug
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2693 Mode. The functionality they offer is similar, but the way you
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2694 interact with them is quite different. The main difference is that,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2695 in Electric Debug Mode, the source buffers are made read-only, and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2696 single key-strokes are used to step through, examine expressions, set
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2697 and remove breakpoints, etc. The same variables, prefix arguments,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2698 and settings apply to both versions, and both can be used
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2699 interchangeably. By default, when breakpoints are hit, Electric Debug
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2700 Mode is enabled. The traditional interface is described first.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2701 @xref{Electric Debug Mode}, for more on that mode.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2702
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2703
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2704 @sp 1
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2705 @noindent @strong{Note that electric debug mode can be prevented from
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2706 activating automatically by customizing the variable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2707 @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
2708
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2709 @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
2710 @subsection Debug Key Bindings
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2711 @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
2712 @cindex Key bindings
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2713
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2714 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
2715 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
2716 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
2717 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
2718 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
2719 @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
2720 --- 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
2721 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
2722
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2723 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2724 (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
2725 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2726
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2727 @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
2728 @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
2729 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
2730 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
2731 @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
2732 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
2733 @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
2734 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
2735 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
2736 Mode}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2737
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2738 @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
2739 The prefix key for the debugging map
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2740 @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
2741 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2742
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2743 @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
2744 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
2745 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
2746 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2747
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2748 @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
2749 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
2750 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
2751 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
2752 @code{alt}, and @code{shift}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2753 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2754
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2755 @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
2756 @subsection Breakpoints and Stepping
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2757 @cindex Breakpoints
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2758 @cindex Stepping
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2759 @cindex Execution, controlled
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2760
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2761 @kindex C-c C-d C-b
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2762 @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
2763 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
2764 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
2765 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
2766 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
2767 @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
2768 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
2769 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
2770 With a single non-numeric prefix (i.e. @kbd{C-u C-c C-d C-b}), prompt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2771 for a condition --- an IDL expression to be evaulated and trigger the
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2772 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
2773 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
2774 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
2775 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
2776 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
2777 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
2778 (@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
2779
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2780
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2781 Breakpoint lines are highlighted or indicated with an icon in the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2782 source code (different icons for conditional, after, and other break
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2783 types). Disabled breakpoints are @emph{grayed out} by default. Note
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2784 that IDL places breakpoints as close as possible on or after the line
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2785 you specify. IDLWAVE queries the shell for the actual breakpoint
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2786 location which was set, so the exact line you specify may not be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2787 marked. You can re-sync the breakpoint list and display at any time
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2788 (e.g., if you add or remove some on the command line) using @kbd{C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2789 C-d C-l}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2790
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2791 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
2792 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
2793 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
2794 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
2795 @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
2796 @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
2797 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
2798 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
2799 breakpoint and stepping commands:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2800
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2801 @multitable @columnfractions .23 .77
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2802 @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
2803 @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
2804 @item @kbd{C-c C-d C-i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2805 @tab Set breakpoint in function named here (@code{idlwave-shell-break-in})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2806 @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
2807 @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
2808 @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
2809 @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
2810 @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
2811 @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
2812 @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
2813 @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
2814 @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
2815 @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
2816 @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
2817 @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
2818 @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
2819 @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
2820 @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
2821 @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
2822 @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
2823 @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
2824 @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
2825 @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
2826 @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
2827 @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
2828 @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
2829 @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
2830 @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
2831 @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
2832 @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
2833 @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
2834 @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
2835 @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
2836 @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
2837 @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
2838 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2839
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2840 All of these commands have equivalents in Electric Debug Mode, which
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2841 provides faster access (@pxref{Electric Debug Mode}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2842
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2843 @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
2844 Non-@code{nil} means mark breakpoints in the source file buffers. The
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2845 value indicates the preferred method. Legal values are @code{nil},
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2846 @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
2847 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2848
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2849 @defopt idlwave-shell-breakpoint-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2850 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
2851 @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
2852 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2853
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2854 @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
2855 @subsection Compiling Programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2856 @cindex Compiling programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2857 @cindex Programs, compiling
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2858 @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
2859 @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
2860
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2861 @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
2862 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
2863 @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
2864 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
2865 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
2866 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
2867 re-compiled.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2868
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2869 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
2870 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
2871 @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
2872 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
2873 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
2874 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
2875 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
2876 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
2877 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
2878 @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
2879
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2880 @defopt idlwave-shell-mark-stop-line (@code{t})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2881 Non-@code{nil} means mark the source code line 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
2882 stopped. The value specifies the preferred method. Legal values are
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2883 @code{nil}, @code{t}, @code{arrow}, and @code{face}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2884 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2885
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2886 @defopt idlwave-shell-overlay-arrow (@code{">"})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2887 The overlay arrow to display at source lines where execution halts, if
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2888 configured in @code{idlwave-shell-mark-stop-line}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2889 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2890
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2891 @defopt idlwave-shell-stop-line-face
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2892 The face which highlights the source line where IDL is stopped, if
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2893 configured in @code{idlwave-shell-mark-stop-line}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2894 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2895
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2896 @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
2897 @subsection Walking the Calling Stack
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2898 @cindex Calling stack, walking
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2899
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2900 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
2901 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
2902 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
2903 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
2904 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
2905 (@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
2906 (@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
2907 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
2908 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
2909 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
2910 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
2911 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
2912 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
2913 higher calling stack levels.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2914
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2915 @ifhtml
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2916 <A NAME="EDEBUG"></A>
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2917 @end ifhtml
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2918 @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
2919 @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
2920 @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
2921 @cindex @samp{*Debugging*}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2922
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2923 Even with a convenient debug key prefix enabled, repetitive stepping,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2924 variable examination (@pxref{Examining Variables}), and other
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2925 debugging activities can be awkward and slow using commands which
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2926 require multiple keystrokes. Luckily, there's a better way, inspired
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2927 by the lisp e-debug mode, and available through the @emph{Electric
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2928 Debug Mode}. By default, as soon as a breakpoint is hit, this minor
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2929 mode is enabled. The buffer showing the line where execution has
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2930 halted is switched to Electric Debug Mode. This mode is visible as
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2931 @samp{*Debugging*} in the mode line, and a different face (violet by
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2932 default, where color is available) for the line stopped at point. The
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2933 buffer is made read-only and single-character bindings for the most
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2934 commonly used debugging commands are enabled:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2935
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2936 @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
2937 @item @kbd{a}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2938 @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
2939 @item @kbd{b}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2940 @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
2941 @item @kbd{d}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2942 @tab Clear current breakpoint (@code{idlwave-shell-clear-current-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2943 @item @kbd{h}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2944 @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
2945 @item @kbd{i}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2946 @tab Set breakpoint in function named here (@code{idlwave-shell-break-in})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2947 @item @kbd{[}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2948 @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
2949 @item @kbd{]}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2950 @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
2951 (@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
2952 @item @kbd{\}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2953 @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
2954 @item @kbd{j}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2955 @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
2956 @item @kbd{k}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2957 @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
2958 @item @kbd{m}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2959 @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
2960 @item @kbd{n}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2961 @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
2962 @item @kbd{o}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2963 @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
2964 @item @kbd{p}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2965 @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
2966 @item @kbd{q}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2967 @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
2968 (@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
2969 @item @kbd{r}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2970 @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
2971 @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
2972 @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
2973 @item @kbd{t}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2974 @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
2975 @item @kbd{u}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2976 @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
2977 @item @kbd{v}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2978 @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
2979 (@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
2980 @item @kbd{x}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2981 @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
2982 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
2983 @item @kbd{z}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2984 @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
2985 @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
2986 @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
2987 @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
2988 @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
2989 @item @kbd{?}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2990 @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
2991 (@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
2992 @item @kbd{C-?}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2993 @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
2994 @end multitable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2995
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2996 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
2997 of the equivalent multiple key commands (which are of course also
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2998 still available), but some differ (e.g. @kbd{t},@kbd{q},@kbd{x}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2999 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
3000 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
3001 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
3002 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
3003 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
3004
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3005 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
3006 @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
3007 the Debug menu. Normally the mode will be enabled and disabled at the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3008 appropriate times, but occassionally you might want to edit a file
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3009 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
3010 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
3011
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3012 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
3013 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
3014 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
3015 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
3016 @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
3017 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
3018 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
3019 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
3020 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
3021 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
3022 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
3023
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3024 @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
3025 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
3026 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
3027 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
3028 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
3029 @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
3030 @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
3031 halts.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3032 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3033
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3034 @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
3035 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
3036 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
3037 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
3038 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3039
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3040 @ifhtml
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3041 <A NAME="EXAMINE"></A>
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3042 @end ifhtml
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3043 @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
3044 @section Examining Variables
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3045 @cindex @code{PRINT} expressions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3046 @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
3047 @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
3048 @cindex Examining expressions
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3049 @cindex Printing expressions
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3050 @cindex Mouse binding to print expressions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3051
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3052 @kindex C-c C-d C-p
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3053 Do you find yourself repeatedly typing,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3054 e.g. @code{print,n_elements(x)}, and similar statements to remind
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3055 yourself of the type/size/structure/value/etc. of variables and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3056 expressions in your code or at the command line? IDLWAVE has a suite
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3057 of special commands to automate these types of variable or expression
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3058 examinations. They work by sending statements to the shell formatted
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3059 to include the indicated expression.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3060
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3061 These examination commands can be used in the shell or buffer at any
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3062 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
3063 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
3064 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
3065 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
3066 point remains unmoved in the command being composed --- you can inspect
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3067 the contituents of a command you're building without interrupting the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3068 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
3069 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
3070 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
3071
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3072 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
3073 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
3074 special @file{*Examine*} buffer, rather than the shell. The output of
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3075 prior examine commands is saved. In this buffer @key{c} clears the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3076 contents, and @key{q} hides the buffer.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3077
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3078 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
3079 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
3080 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
3081 Debug Mode (@pxref{Electric Debug Mode})}. The expression at point is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3082 either an array expression or a function call, or the contents of a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3083 pair of parentheses. The selected expression is highlighted, and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3084 simultaneously the resulting output is highlighted in the shell.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3085 Calling the above commands with a prefix argument will use the current
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3086 region as expression instead of using the one at point. Two prefix
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3087 arguments (@kbd{C-u C-u C-c C-d C-p}) will prompt for an expression.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3088
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3089 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
3090 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
3091 @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
3092 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
3093 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
3094 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
3095 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
3096 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
3097 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
3098 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
3099
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3100 @cindex Printing expressions, on calling stack
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3101 @cindex Restrictions for expression printing
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3102 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
3103 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
3104 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
3105 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
3106 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
3107 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
3108 (@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
3109 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
3110 levels except the current:
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3111
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3112 @itemize @bullet
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3113 @item
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3114 Array expressions must use the @samp{[ ]} index delimiters. Identifiers
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3115 with a @samp{( )} will be interpreted as function calls.
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3116 @item
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3117 @cindex ROUTINE_NAMES, IDL procedure
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3118 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
3119 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
3120 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
3121 Examinor.
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3122 @end itemize
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3123
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3124 @defopt idlwave-shell-expression-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3125 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
3126 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
3127 the expression printed by IDL.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3128 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3129
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3130 @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
3131 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
3132 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
3133 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
3134 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3135
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3136 @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
3137 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
3138 @file{*Examine*} buffer, instead of in the shell itself.
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3139 @end defopt
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3140
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3141 @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
3142 @section Custom Expression Examination
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3143 @cindex Expressions, custom examination
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3144 @cindex Custom expression examination
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3145
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3146 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
3147 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
3148 @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
3149 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
3150 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
3151 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
3152
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3153 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
3154 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
3155 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
3156 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
3157 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
3158 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
3159 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
3160 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
3161 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
3162 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
3163 @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
3164 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
3165 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
3166 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
3167 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
3168 @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
3169 @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
3170 @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
3171 @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
3172 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
3173 your own.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3174
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3175 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
3176 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
3177 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
3178 @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
3179 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
3180 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
3181 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
3182 @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
3183
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3184 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3185 (add-hook 'idlwave-shell-mode-hook
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3186 (lambda ()
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3187 (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
3188 (idlwave-shell-mouse-examine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3189 "print, size(___,/DIMENSIONS)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3190 (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
3191 "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
3192 (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
3193 "print,size(___,/TNAME)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3194 (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
3195 "help,___,/STRUCTURE"))))
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3196 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3197
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3198 @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
3199 @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
3200 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
3201 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
3202 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
3203
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3204 @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
3205 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
3206 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
3207 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
3208 (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
3209 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3210
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3211
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3212 @node Installation, Acknowledgements, The IDLWAVE Shell, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3213 @chapter Installation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3214 @cindex Installation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3215
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3216 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3217 * Installing IDLWAVE:: How to install the distribution
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3218 * Installing Online Help:: Where to get the additional files needed
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3219 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3220
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3221 @node Installing IDLWAVE, Installing Online Help, Installation, Installation
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3222 @section Installing IDLWAVE
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3223
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3224 @cindex FTP site
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3225 @cindex URL, homepage for IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3226 @cindex Homepage for IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3227 @cindex IDLWAVE, homepage
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3228 @cindex XEmacs package IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3229 @cindex Emacs, distributed with IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3230 @cindex Copyright, of IDL manual
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3231 IDLWAVE is part of Emacs 21.1 and later. It is also an XEmacs package
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3232 and can be installed from
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3233 @uref{ftp://ftp.xemacs.org/pub/xemacs/packages/,the XEmacs ftp site}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3234 with the normal package management system on XEmacs 21. These
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3235 pre-installed versions should work out-of-the-box. However, the HTML
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3236 files required for online HTML help are not distributed with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3237 XEmacs/Emacs and have to be installed separately@footnote{Due to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3238 copyright reasons, the HTML version of the IDL manual cannot be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3239 distributed under the GPL.} (@pxref{Installing Online Help}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3240
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3241 You can also download IDLWAVE and install it yourself from
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3242 @uref{@value{IDLWAVE-HOMEPAGE}, the maintainers webpage}. Follow the
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3243 instructions in the INSTALL file.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3244
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3245 @node Installing Online Help, , Installing IDLWAVE, Installation
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3246 @section Installing Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3247 @cindex Installing online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3248 @cindex Online Help, Installation
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3249
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3250 If you want to use the online help display, an additional set of files
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3251 (HTML versions of the IDL documentation) must be installed. These
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3252 files can also be downloaded from @uref{@value{IDLWAVE-HOMEPAGE}, the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3253 maintainers webpage}. You need to place the files somewhere on your
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3254 system and tell IDLWAVE where they are with
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3255
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3256 @lisp
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3257 (setq idlwave-html-help-location "/path/to/help/dir/") ;e.g. /usr/local/etc
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3258 @end lisp
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3259
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3260 Note that the help package only changes with new versions of the IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3261 documentation, and need not be updated unless your version of IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3262 changes.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3263
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3264 @node Acknowledgements, Sources of Routine Info, Installation, Top
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3265 @chapter Acknowledgements
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3266 @cindex Acknowledgements
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3267 @cindex Maintainer, of IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3268 @cindex Authors, of IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3269 @cindex Contributors, to IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3270 @cindex Email address, of Maintainer
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3271 @cindex Thanks
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3272
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3273 @noindent
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3274 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
3275
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3276 @itemize @minus
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3277 @item
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3278 @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
3279 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
3280 for several years.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3281
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3282 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3283 @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
3284 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
3285 everything, modernized IDLWAVE with many new features, and developed the
41745
1061224d9cb0 Update maintainer.
Eli Zaretskii <eliz@gnu.org>
parents: 40705
diff changeset
3286 manual.
1061224d9cb0 Update maintainer.
Eli Zaretskii <eliz@gnu.org>
parents: 40705
diff changeset
3287
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3288 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3289 @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
3290 maintainer, as of version 4.10, helped shape object method completion
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3291 and most new features introduced in versions 4.x, and added
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3292 significant new capabilities for versions 5.x.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3293 @end itemize
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3294
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3295 @noindent
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3296 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
3297 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
3298
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3299 @itemize @minus
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3300 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3301 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
3302 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3303 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
3304 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3305 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
3306 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3307 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
3308 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3309 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
3310 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3311 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
3312 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3313 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
3314 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3315 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
3316 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3317 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
3318 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3319 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
3320 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3321 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
3322 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3323 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
3324 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3325 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
3326 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3327 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
3328 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3329 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
3330 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3331 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
3332 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3333 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
3334 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3335
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3336 @noindent
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3337 Thanks to everyone!
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3338
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3339 @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
3340 @appendix Sources of Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3341
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3342 @cindex Sources of routine information
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3343 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
3344 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
3345 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
3346 know about the accessible routines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3347
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3348 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3349 * Routine Definitions:: Where IDL Routines are defined.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3350 * 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
3351 * Catalogs::
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3352 * Load-Path Shadows:: Routines defined in several places
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3353 * 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
3354 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3355
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3356 @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
3357 @appendixsec Routine Definitions
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3358 @cindex Routine definitions
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3359 @cindex IDL variable @code{!PATH}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3360 @cindex @code{!PATH}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3361 @cindex @code{CALL_EXTERNAL}, IDL routine
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3362 @cindex @code{LINKIMAGE}, IDL routine
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3363 @cindex External routines
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3364
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3365 @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
3366 several places:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3367
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3368 @enumerate
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3369 @item
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3370 @emph{Builtin routines} are defined inside IDL itself. The source
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3371 code of such routines is not available.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3372 @item
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3373 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
3374 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
3375 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
3376 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3377 @emph{Library routines} are defined in files located on IDL's search
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3378 path, and will not need to be manually compiled. When a library routine
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3379 is called for the first time, IDL will find the source file and compile
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3380 it dynamically. A special sub-category of library routines are the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3381 @emph{system routines} distributed with IDL, and usually available in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3382 the @file{lib} subdirectory of the IDL distribution.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3383 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3384 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
3385 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
3386 or included as dynamically loaded modules (DLMs). Currently IDLWAVE
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3387 cannot provide routine info and completion for such external routines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3388 @end enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3389
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3390 @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
3391 @appendixsec Routine Information Sources
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3392 @cindex Routine info sources
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3393 @cindex Builtin list of routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3394 @cindex Updating routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3395 @cindex Scanning buffers for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3396 @cindex Buffers, scanning for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3397 @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
3398
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3399 @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
3400 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
3401
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3402 @enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3403
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3404 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3405 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
3406 ships with. IDLWAVE @value{VERSION} is distributed with a list of
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3407 @value{NSYSROUTINES} routines and @value{NSYSKEYWORDS} keywords,
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3408 reflecting IDL version @value{IDLVERSION}. This list has been created
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3409 by scanning the IDL manuals and is stored in the file
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3410 @file{idlw-rinfo.el}. @xref{Documentation Scan}, for information on
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3411 how to regenerate this file for new versions of IDL.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3412
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3413 @item
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3414 It @emph{scans} all @emph{buffers} of the current Emacs session for
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3415 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
3416 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
3417 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
3418 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
3419 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
3420
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3421 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3422 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
3423 @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
3424 happens automatically when routine information or completion is first
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3425 requested by the user, and each time an Emacs buffer is compiled with
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3426 @kbd{C-c C-d C-c}. Though rarely necessary, the command @kbd{C-c C-i}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3427 (@code{idlwave-update-routine-info}) can be used to update the shell
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3428 routine data.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3429
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3430 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3431 Many popular libraries are distributed with routine information
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3432 already scanned into @emph{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
3433 Catalogs}). These per-directory catalog files can also be built by
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3434 the user with the supplied @file{idlwave_catalog} tool.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3435
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3436 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3437 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
3438 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
3439 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
3440 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
3441 @end enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3442
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3443 Loading routine and catalog information can be a time consuming process,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3444 especially over slow networks. Depending on the system and network
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3445 configuration it could take up to 30 seconds. In order to minimize the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3446 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
3447 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
3448 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
3449 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
3450 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
3451 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
3452 load times.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3453
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3454 @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
3455 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
3456 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3457
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3458 @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
3459 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
3460 info.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3461 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3462
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3463 @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
3464 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
3465 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3466
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3467 @defopt idlwave-auto-routine-info-updates
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3468 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
3469 @end defopt
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3470
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3471 @ifhtml
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3472 <A NAME="CATALOGS"></A>
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3473 @end ifhtml
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3474 @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
3475 @appendixsec Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3476 @cindex Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3477
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3478 @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
3479 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
3480 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
3481 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
3482 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
3483
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3484 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
3485 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
3486 @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
3487 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
3488 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
3489 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
3490
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3491 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
3492 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
3493 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
3494 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
3495 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
3496 @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
3497 to setup directories for user catalog scan (@pxref{User Catalog} for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3498 more on this variable).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3499
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3500 @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
3501 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
3502 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
3503 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
3504 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3505
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3506 @defopt idlwave-library-path
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3507 IDL library path for Windows and MacOS. Not needed under Unix/MacOSX.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3508 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3509
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3510 @defopt idlwave-system-directory
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3511 The IDL system directory for Windows and MacOS. Not needed under
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3512 Unix/MacOSX (obtained from the Shell).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3513 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3514
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3515 @defopt idlwave-config-directory (@file{~/.idlwave})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3516 Default path where IDLWAVE saves configuration information and any
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3517 user catalog.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3518 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3519
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3520 @menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3521 * Library Catalogs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3522 * User Catalog::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3523 @end menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3524
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3525 @ifhtml
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3526 <A NAME="LIBRARY_CATALOGS"></A>
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3527 @end ifhtml
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3528 @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
3529 @appendixsubsec Library Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3530 @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
3531 @cindex Library catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3532 @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
3533
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3534 Library catalogs are files named @file{.idlwave_catalog} stored in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3535 directories containing @code{.pro} routine files. They are discovered
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3536 on the IDL search path and loaded automatically when routine information
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3537 is read. Each catalog file documents the routines found in that
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3538 directory --- one catalog per directory. Every catalog has a library
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3539 name associated with it (e.g. @emph{AstroLib}). This name will be shown
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3540 briefly when the catalog is found, and in the routine info of routines
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3541 it documents.
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 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
3544 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
3545 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
3546 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
3547 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
3548 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
3549 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
3550 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
3551 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
3552 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
3553 minor disadvantage: the entire IDL search path is scanned for catalog
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3554 files every time IDLWAVE starts up, which might be slow over a network.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3555
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3556 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
3557 @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
3558 @example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3559 idlwave_catalog MyLib
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3560 @end example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3561
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3562 @noindent This would scan all directories recursively beneath the current and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3563 populate them with @file{.idlwave_catalog} files, tagging the routines
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3564 found with the name library ``MyLib''. The full usage information:
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 @example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3567 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
3568 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
3569 characters).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3570 -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
3571 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
3572 -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
3573 -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
3574 here or below.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3575 -s - Be silent.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3576 -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
3577 library name.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3578 -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
3579 @end example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3580
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3581 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
3582 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
3583 @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
3584
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3585 @defopt idlwave-use-library-catalogs (@code{t})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3586 Whether to search for and load library catalogs. Only disable if
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3587 performance is a problem and the catalogs are not needed.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3588 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3589
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3590 @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
3591 @appendixsubsec User Catalog
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3592 @cindex User catalog
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3593 @cindex IDL library routine info
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3594 @cindex Windows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3595 @cindex MacOS
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3596 @cindex IDL variable @code{!DIR}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3597 @cindex @code{!DIR}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3598
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3599 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
3600 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
3601 (@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
3602 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
3603 instead, including:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3604
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3605 @itemize @bullet
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3606 @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
3607 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
3608 @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
3609 privileges.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3610 @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
3611 @end itemize
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3612
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3613 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
3614 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
3615 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
3616 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
3617 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
3618
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3619 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
3620 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
3621 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
3622 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
3623 @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
3624 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
3625
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3626 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3627 (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
3628 '("+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
3629 (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
3630 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3631
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3632 @noindent Under GNU and UNIX, these values will be automatically gathered from
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3633 the IDLWAVE shell.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3634
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3635 The command @kbd{M-x idlwave-create-user-catalog-file} (or the menu item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3636 @samp{IDLWAVE->Routine Info->Select Catalog Directories} can then be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3637 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
3638 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
3639 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
3640 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
3641 additional memory used for the duplication).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3642
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3643 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
3644 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
3645 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
3646 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
3647 @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
3648 @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
3649 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
3650 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
3651 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
3652 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
3653 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
3654 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
3655 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
3656 Catalogs}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3657
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3658 @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
3659 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
3660 labeling in routine-info display.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3661 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3662
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3663 @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
3664 @appendixsec Load-Path Shadows
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3665 @cindex Load-path shadows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3666 @cindex Shadows, load-path
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3667 @cindex Duplicate routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3668 @cindex Multiply defined routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3669 @cindex Routine definitions, multiple
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3670 @cindex Application, testing for shadowing
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3671 @cindex Buffer, testing for shadowing
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3672
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3673 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
3674 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
3675 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
3676 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
3677 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
3678 @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
3679 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
3680 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
3681 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
3682 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
3683 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
3684 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
3685 @samp{IDLWAVE->Routine Info}):
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3686
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3687 @table @asis
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3688 @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
3689 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
3690 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
3691 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
3692 @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
3693 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
3694 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
3695 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
3696 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
3697 then check for shadowing.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3698 @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
3699 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
3700 @end table
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3701
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3702 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
3703 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
3704 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
3705 @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
3706 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
3707 @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
3708 many other reasons.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3709
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3710 @cindex Windows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3711 @cindex MacOS
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3712 @cindex IDL variable @code{!DIR}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3713 @cindex @code{!DIR}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3714 Users of Windows and MacOS also must set the variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3715 @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
3716 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
3717 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
3718 routines.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3719
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3720 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
3721 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
3722
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3723 @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
3724 @appendixsec Documentation Scan
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3725 @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
3726 @cindex @file{idlw-rinfo.el}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3727 @cindex Scanning the documentation
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
3728 @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
3729
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3730 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
3731 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
3732 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
3733 documentation. The Online Help feature of IDLWAVE requires HTML
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3734 versions of the IDL manuals to be available; the HTML documentation is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3735 not distributed with IDLWAVE by default, but must be downloaded
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3736 separately from the @uref{@value{IDLWAVE-HOMEPAGE}, the maintainers
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3737 webpage}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3738
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3739 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
3740 @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
3741 Microsoft HTML Help Workshop. If you are lucky, the maintainer of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3742 IDLWAVE will always have access to the newest version of IDL and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3743 provide updates. The IDLWAVE distribution also contains the Perl
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3744 program @file{get_html_rinfo} which constructs the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3745 @file{idlw-rinfo.el} file by scanning the HTML documents produced from
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3746 the IDL documentation. Instructions on how to use
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3747 @file{get_html_rinfo} are in the program itself.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3748
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3749 @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
3750 @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
3751 @cindex Browser Tips
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3752
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3753 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
3754 the online HTML help available with IDLWAVE (starting with version
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3755 5.0). Since IDLWAVE runs on a many different system types, a single
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3756 browser configuration is not possible, but choices abound.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3757
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3758 On many systems, the default browser configured in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3759 @code{browse-url-browser-function}, and hence inherited by default by
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3760 @code{idlwave-help-browser-function}, is Netscape. Unfortunately, the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3761 HTML manuals decompiled from the original RSI source contain
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3762 formatting structures which Netscape 4.x does not handle well, though
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3763 they are still readable. A much better choice is Mozilla, or one of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3764 the Mozilla-derived browsers such as
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3765 @uref{http://galeon.sourceforge.net/,Galeon} (Linux),
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3766 @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
3767 @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
3768 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
3769 @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
3770
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3771 Note that the HTML files decompiled from RSI Microsoft Help sources
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3772 contain specific references to the @samp{Symbol} font, which by default
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3773 is not permitted in normal encodings (it's technically illegal). Though
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3774 it only impacts a few symbols, you can trick Mozilla-based browsers into
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3775 recognizing @samp{Symbol} by following the directions
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3776 @uref{http://hutchinson.belmont.ma.us/tth/Xfonts.html, here}. With this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3777 fix in place, HTML help pages look almost identical to their PDF
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3778 equivalents (yet can be bookmarked, browsed as history, searched, etc.).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3779
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3780 @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
3781
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3782 @itemize @bullet
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3783 @item Windows: The native Microsoft HTMLHelp browser is preferred,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3784 with even better results using the free
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3785 @uref{http://www.keyworks.net/keyhh.htm,@code{KEYHH}} program to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3786 permit IDL help to be targetted to a single window. To use HTMLHelp,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3787 specify @code{idlwave-help-use-hh} as @code{'hh} or @code{'keyhh}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3788 One bonus: since IDL is shipped with the @file{idl.chm} help file, you
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3789 don't need to download the HTML help package. @xref{Help with HTML
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3790 Documentation}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3791 @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
3792 and its associated
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3793 @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
3794 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
3795 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
3796 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
3797
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3798 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3799 (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
3800 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3801
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3802 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
3803 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
3804
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3805 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3806 (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
3807 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
3808 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
3809 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3810
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3811 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
3812 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
3813
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3814 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3815 ;; 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
3816 (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
3817 (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
3818 (idlwave-help-quit)))
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3819 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3820
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3821 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
3822 @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
3823 @end itemize
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3824
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3825 @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
3826 @appendix Configuration Examples
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3827 @cindex Configuration examples
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3828 @cindex Example configuration
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3829 @cindex @file{.emacs}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3830 @cindex Default settings, of options
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3831 @cindex Interview, with the maintainer
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3832
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3833 @noindent
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3834 @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
3835 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
3836 set in your own configuration?
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3837
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3838 @noindent
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3839 @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
3840 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
3841 features which:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3842
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3843 @itemize @minus
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3844 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3845 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
3846 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3847 are too intrusive.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3848 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3849 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
3850 @item
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3851 break with widely used standards.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3852 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3853 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
3854 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3855 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
3856 library names.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3857 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3858
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3859 @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
3860 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
3861
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3862 @lisp
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3863 (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
3864 idlwave-store-inquired-class t
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3865 idlwave-shell-automatic-start t
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3866 idlwave-main-block-indent 2
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3867 idlwave-init-rinfo-when-idle-after 2
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3868 idlwave-help-dir "~/lib/emacs/idlwave"
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3869 idlwave-special-lib-alist '(("/idl-astro/" . "AstroLib")
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3870 ("/jhuapl/" . "JHUAPL-Lib")
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3871 ("/dominik/lib/idl/" . "MyLib")))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3872 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3873
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3874 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
3875 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
3876 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
3877 user is King!
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3878
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3879 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3880 ;;; Settings for IDLWAVE mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3881
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3882 (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
3883 (setq idlwave-main-block-indent 3)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3884 (setq idlwave-end-offset -3)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3885 (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
3886 (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
3887 ; anchored at start of line.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3888 (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
3889 (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
3890 (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
3891 (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
3892 ; (with abbrevs only)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3893 (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
3894 (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
3895 (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
3896 (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
3897 (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
3898 (keyword-default . nil); or keyword completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3899 ("INIT" . t) ; except for these
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3900 ("CLEANUP" . t)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3901 ("SETPROPERTY" .t)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3902 ("GETPROPERTY" .t)))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3903
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3904 ;; 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
3905 (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
3906 (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
3907 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
3908 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
3909 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
3910
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3911 ;; 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
3912 (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
3913 (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
3914 (idlwave-help-quit)))
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3915
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3916 ;; 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
3917 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3918 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3919 (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
3920 ;; Run other functions here
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3921 (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
3922 (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
3923 (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
3924
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
3925 ;; 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
3926 ;; 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
3927 ;; instead of 1.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3928 (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
3929 (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
3930 (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
3931 (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
3932
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3933 ;; 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
3934 (idlwave-action-and-binding "," '(idlwave-surround nil 1))
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3935 (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
3936
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3937 ;; Pad only after `->', remove any space before the arrow
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3938 (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
3939
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3940 ;; Set some personal bindings
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3941 ;; (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
3942 (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
3943 (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
3944 (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
3945
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3946 ;; 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
3947 ;; 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
3948 ;; 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
3949 (local-set-key "\n" 'idlwave-newline)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3950 ;; (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
3951
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3952 ;; 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
3953 (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
3954 (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
3955 (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
3956 (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
3957 (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
3958 (idlwave-keyword-abbrev 1))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3959 ))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3961 ;;; Settings for IDLWAVE SHELL mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3962
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3963 (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
3964 (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
3965 (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
3966 (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
3967 (setq idlwave-shell-process-name "wave")
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3968 (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
3969
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3970 ;; 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
3971 (add-hook 'idlwave-shell-mode-hook
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3972 (lambda ()
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3973 ;; 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
3974 (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
3975 (idlwave-shell-mouse-examine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3976 "print, size(___,/DIMENSIONS)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3977 (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
3978 "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
3979 (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
3980 "print,size(___,/TNAME)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3981 (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
3982 "help,___,/STRUCTURE"))))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3983 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3984
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3985 @ifhtml
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3986 <A NAME="WIN_MAC"></A>
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3987 @end ifhtml
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3988 @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
3989 @appendix Windows and MacOS
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3990 @cindex Windows
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3991 @cindex MacOS
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3992 @cindex MacOSX
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3993
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3994 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
3995 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
3996 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
3997
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3998 The only real problem is that RSI does not provide a command-line
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3999 version of IDL for Windows or MacOS(<=9) with which IDLWAVE can
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
4000 interact@footnote{Call your RSI representative and complain --- it
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4001 should be trivial for them to provide one. And if enough people ask for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4002 it, maybe they will. The new MacOSX version of IDL @emph{does} have a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4003 shell and works well with IDLWAVE.}. As a result, the IDLWAVE Shell
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4004 does not work and you have to rely on IDLDE to run and debug your
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4005 programs. However, editing IDL source files with Emacs/IDLWAVE works
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4006 with all bells and whistles, including routine info, completion and fast
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4007 online help. Only a small amount of additional information must be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4008 specified in your @file{.emacs} file: the path names which, on a UNIX
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4009 system, are automatically gathered by talking to the IDL program.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4010
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4011 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
4012 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
4013 @w{@samp{C:\Program Files\IDLWAVE}} and that IDL is installed in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4014 @w{@samp{C:\RSI\IDL55}}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4015
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4016 @lisp
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4017 ;; location of the lisp files (needed if IDLWAVE is not part of
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4018 ;; the X/Emacs installation)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4019 (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
4020
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4021 ;; The location of the IDL library files, both from RSI and your own.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4022 ;; 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
4023 (setq idlwave-library-path
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4024 '("+c:/RSI/IDL55/lib/" "+c:/user/me/idllibs" ))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4025
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4026 ;; location of the IDL system directory (try "print,!DIR")
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4027 (setq idlwave-system-directory "c:/RSI/IDL55/")
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4028
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4029 ;; specify using the HTMLHelp documentation for online help, with the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4030 ;; KEYHH helper routine (Windows only)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4031 (setq idlwave-use-hh 'keyhh)
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4032
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4033 ;; file in which to store the user catalog info
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4034 (setq idlwave-user-catalog-file "c:/IDLWAVE/idlcat.el")
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4035 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4036
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4037 @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
4038 sure you check the following things:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4039
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4040 @itemize @bullet
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4041 @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
4042 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
4043 @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
4044 instead.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4045 @item Other issues as yet unnamed...
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4046 @end itemize
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4047
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4048 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
4049 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
4050 @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
4051
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4052 @ifhtml
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4053 <A NAME="TROUBLE"></A>
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4054 @end ifhtml
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4055 @node Troubleshooting, Index, Windows and MacOS, Top
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4056 @appendix Troubleshooting
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4057 @cindex Troubleshooting
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4058
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4059 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
4060 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
4061
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4062 @enumerate
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4063
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4064 @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
4065 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
4066 IDLWAVE buffers.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4067
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4068 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
4069 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
4070 @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
4071 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
4072 @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
4073 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
4074 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
4075 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
4076 customize this variable to enter debug mode when errors are
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4077 encountered too.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4078
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4079 @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
4080 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
4081
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4082 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
4083 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
4084 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
4085 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
4086 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
4087 @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
4088 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
4089 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
4090
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4091 @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
4092 under MacOSX}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4093
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4094 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
4095 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
4096 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
4097 @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
4098 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
4099
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4100 @item @strong{I get errors like @samp{Symbol's function is void:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4101 overlayp} when trying to start the shell in XEmacs}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4102
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4103 You don't have the @samp{fsf-compat} package installed, which IDLWAVE
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4104 needs to run under XEmacs. Install it and, if necessary, insert
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4105 @code{(require 'overlay)} 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
4106
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4107 @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
4108 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
4109
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4110 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
4111 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
4112 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
4113 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
4114 "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
4115 Another option is to recompile the @file{idlw*.el} files by hand using
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4116 @kbd{M-x byte-compile-file}. Why not take the opportunity to grab the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4117 latest IDLWAVE version at @uref{@value{IDLWAVE-HOMEPAGE}, the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4118 maintainers webpage}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4119
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4120 @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
4121 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
4122
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4123 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
4124 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
4125 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
4126 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
4127 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
4128
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4129 @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
4130 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
4131
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4132 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
4133 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
4134 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
4135 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
4136
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4137 @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
4138
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4139 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
4140 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
4141 } 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
4142 @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
4143 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
4144
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4145 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4146 (setq idlwave-shell-prompt-pattern "^\\(ENVI\\|IDL\\)> ")
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4147 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4148
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4149 @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
4150 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
4151
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4152 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
4153 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
4154 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
4155 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
4156 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
4157 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
4158
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4159 @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
4160 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
4161 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
4162 @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
4163 load file}}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4164
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4165 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
4166 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
4167 (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
4168 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
4169 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
4170 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
4171 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
4172
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4173 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4174 (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
4175 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4176
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4177 @noindent You can check on your load-path value using @kbd{C-h v
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4178 load-path @key{RET}}.
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 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
4181
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4182 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
4183 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
4184 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
4185 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
4186 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
4187 @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
4188
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4189 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4190 (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
4191 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4192
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4193 @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
4194
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4195 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
4196 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
4197 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
4198 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
4199 rapidly changing set of routines, and you'd like the latest routine
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4200 information to be available for it, one powerful technique makes use of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4201 the library catalog tool, @samp{idlwave_catalog}. Simply add a line to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4202 your @samp{cron} file (@samp{crontab -e} will let you edit this on some
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4203 systems), like this:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4204
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4205 @example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4206 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
4207 @end example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4208
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4209 @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
4210 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
4211 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
4212 method, and the most recent information will be available to all users.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4213
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4214 @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
4215 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
4216
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4217 Unfortunately, the HTMLHelp files RSI provides attempt to switch to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4218 @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
4219 permitted method for doing this in HTML. There is a "workaround" for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4220 many browsers: @xref{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
4221
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4222 @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
4223
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4224 This actually happens when running IDL in an XTerm as well. There are
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4225 a couple of work arounds: @code{define_key,/control,'^d'} (e.g. in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4226 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
4227 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
4228 @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
4229 @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
4230 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
4231 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
4232
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4233 @end enumerate
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4234
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4235 @node Index, , Troubleshooting, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4236 @unnumbered Index
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4237 @printindex cp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4238
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4239 @bye
58296
4773953f1a10 Restore arch taglines
Miles Bader <miles@gnu.org>
parents: 58294
diff changeset
4240
4773953f1a10 Restore arch taglines
Miles Bader <miles@gnu.org>
parents: 58294
diff changeset
4241 @ignore
4773953f1a10 Restore arch taglines
Miles Bader <miles@gnu.org>
parents: 58294
diff changeset
4242 arch-tag: f1d73958-1423-4127-b8aa-f7b953d64492
4773953f1a10 Restore arch taglines
Miles Bader <miles@gnu.org>
parents: 58294
diff changeset
4243 @end ignore