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