Mercurial > emacs
annotate man/idlwave.texi @ 48084:7853f9048269
(bcopy, bzero): Define conditional on HAVE_BCOPY.
(bcmp): Define conditional on HAVE_BCMP.
(NO_SIOCTL_H): Don't define.
(TIOCSIGSEND): Don't make conditional on IRIX6.
author | Dave Love <fx@gnu.org> |
---|---|
date | Wed, 30 Oct 2002 18:59:01 +0000 |
parents | 0a70200bde27 |
children | 23a1cea22d13 |
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 |
46530 | 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 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
5 @synindex ky cp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
6 @syncodeindex vr cp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
7 @syncodeindex fn cp |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
8 @set VERSION 4.15 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
9 @set EDITION 4.15 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
10 @set IDLVERSION 5.5 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
11 @set NSYSROUTINES 1324 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
12 @set NSYSKEYWORDS 6129 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
13 @set DATE September 2002 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
14 @set AUTHOR J.D. Smith & Carsten Dominik |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
15 @set AUTHOR-EMAIL dominik@@astro.uva.nl |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
16 @set MAINTAINER J.D. Smith |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
17 @set MAINTAINER-EMAIL jdsmith@@as.arizona.edu |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
18 @set IDLWAVE-HOMEPAGE http://idlwave.org/ |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
19 @c %**end of header |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
20 |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
21 @copying |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
22 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
|
23 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
|
24 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
25 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
|
26 @value{VERSION} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
27 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
28 Copyright @copyright{} 1999, 2000, 2001, 2002 Free Software Foundation, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
29 Inc. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
30 |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
31 @quotation |
46534
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
32 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
|
33 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
|
34 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
|
35 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
|
36 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
|
37 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
|
38 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
|
39 |
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
40 (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
|
41 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
|
42 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
|
43 |
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
44 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
|
45 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
|
46 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
|
47 license to the document, as described in section 6 of the license. |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
48 @end quotation |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
49 @end copying |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
50 |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
51 @dircategory Emacs |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
52 @direntry |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
53 * IDLWAVE: (idlwave). Major mode and shell for IDL files. |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
54 @end direntry |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
55 |
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
56 @finalout |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
57 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
58 @titlepage |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
59 @title IDLWAVE User Manual |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
60 @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
|
61 @subtitle Edition @value{EDITION}, @value{DATE} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
62 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
63 @author by Carsten Dominik & J.D. Smith |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
64 @page |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
65 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
|
66 IDLWAVE version @value{VERSION}, @value{DATE}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
67 @cindex Copyright, of IDLWAVE |
47737
0a70200bde27
use @copying instead of @ifinfo.
Karl Berry <karl@gnu.org>
parents:
47440
diff
changeset
|
68 @insertcopying |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
69 @end titlepage |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
70 @contents |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
71 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
72 @page |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
73 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
74 @ifnottex |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
75 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
76 @node Top, Introduction, (dir), (dir) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
77 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
78 IDLWAVE is a package which supports editing source for the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
79 Interactive Data Language (IDL), and running IDL as an inferior |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
80 shell. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
81 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
82 @end ifnottex |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
83 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
84 @menu |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
85 * Introduction:: What IDLWAVE is and what it's not |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
86 * 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
|
87 * Getting Started:: Tutorial |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
88 * The IDLWAVE Major Mode:: The mode to edit IDL programs |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
89 * The IDLWAVE Shell:: The mode to run IDL as an inferior program |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
90 * Installation:: How to Install or Upgrade |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
91 * Acknowledgements:: Who did what |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
92 * Sources of Routine Info:: How does IDLWAVE know about routine XYZ |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
93 * 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
|
94 * Windows and MacOS:: What still works, and how |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
95 * Index:: Fast access |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
96 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
97 @detailmenu |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
98 --- The Detailed Node Listing --- |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
99 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
100 Getting Started (Tutorial) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
101 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
102 * Lesson I -- Development Cycle:: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
103 * Lesson II -- Customization:: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
104 * Lesson III -- Library Catalog:: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
105 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
106 The IDLWAVE Major Mode |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
107 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
108 * Code Formatting:: Making code look nice |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
109 * Routine Info:: Calling Sequence and Keyword List |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
110 * 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
|
111 * 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
|
112 * Routine Source:: Finding routines, the easy way |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
113 * 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
|
114 * Code Templates:: Frequent code constructs |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
115 * Abbreviations:: Abbreviations for common commands |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
116 * Actions:: Changing case, Padding, End checking |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
117 * Doc Header:: Inserting a standard header |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
118 * 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
|
119 * 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
|
120 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
121 Code Formatting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
122 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
123 * Code Indentation:: Reflecting the logical structure |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
124 * Continued Statement Indentation:: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
125 * 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
|
126 * Continuation Lines:: Splitting statements over lines |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
127 * Syntax Highlighting:: Font-lock support |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
128 * 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
|
129 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
130 Completion |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
131 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
132 * Case of Completed Words:: CaseOFcomPletedWords |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
133 * Object Method Completion and Class Ambiguity:: obj->Method, what? |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
134 * 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
|
135 * 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
|
136 * 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
|
137 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
138 Actions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
139 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
140 * 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
|
141 * Padding Operators:: Enforcing space around `=' etc |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
142 * Case Changes:: Enforcing upper case keywords |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
143 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
144 The IDLWAVE Shell |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
145 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
146 * 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
|
147 * Using the Shell:: Interactively working with the Shell |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
148 * 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
|
149 * Debugging IDL Programs:: |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
150 * Examining Variables:: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
151 * Custom Expression Examination:: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
152 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
153 Debugging IDL Programs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
154 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
155 * Debug Key Bindings:: |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
156 * Compiling Programs:: |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
157 * Breakpoints and Stepping:: |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
158 * Walking the Calling Stack:: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
159 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
160 Installation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
161 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
162 * Installing IDLWAVE:: How to install the distribution |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
163 * Installing Online Help:: Where to get the additional files needed |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
164 * Upgrading from idl.el:: Necessary configuration changes |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
165 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
166 Sources of Routine Info |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
167 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
168 * Routine Definitions:: Where IDL Routines are defined. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
169 * Routine Information Sources:: So how does IDLWAVE know about... |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
170 * Library Catalog:: Scanning the Libraries for Routine Info |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
171 * Load-Path Shadows:: Routines defined in several places |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
172 * Documentation Scan:: Scanning the IDL Manuals |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
173 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
174 @end detailmenu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
175 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
176 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
177 @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
|
178 @chapter Introduction |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
179 @cindex Introduction |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
180 @cindex CORBA (Common Object Request Broker Architecture) |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
181 @cindex Interface Definition Language |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
182 @cindex Interactive Data Language |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
183 @cindex cc-mode.el |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
184 @cindex @file{idl.el} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
185 @cindex @file{idl-shell.el} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
186 @cindex Feature overview |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
187 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
188 IDLWAVE is a package which supports editing source files for the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
189 Interactive Data Language (IDL@footnote{IDL is a registered trademark of |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
190 Research Systems, Inc., a Kodak Company}), and for running IDL as an |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
191 inferior shell@footnote{Note that this package has nothing to do with |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
192 the Interface Definition Language, part of the Common Object Request |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
193 Broker Architecture (CORBA)}. It can also be used for editing source |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
194 files for the related WAVE/CL language, but with only limited |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
195 support. |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
196 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
197 IDLWAVE consists of two main parts: a major mode for editing IDL source |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
198 files files (@code{idlwave-mode}) and a mode for running the IDL program |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
199 as an inferior shell (@code{idlwave-shell-mode}). Although one mode can |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
200 be used without the other, both work together closely to form a complete |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
201 development environment. Here is a brief summary of what IDLWAVE does: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
202 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
203 @itemize @bullet |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
204 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
205 Code indentation and formatting. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
206 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
207 Three level syntax highlighting support. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
208 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
209 Context-sensitive display of calling sequences and keywords for more |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
210 than 1000 native IDL routines, extendible to any number of additional |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
211 routines in your local IDL libraries. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
212 @item |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
213 Routine name space conflict search, likelihood-of-use ranking. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
214 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
215 Fast, context-sensitive online help. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
216 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
217 Context sensitive completion of routine names and keywords. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
218 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
219 Easy insertion of code templates. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
220 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
221 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
|
222 standards. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
223 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
224 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
|
225 @item |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
226 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
|
227 @item |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
228 Documentation support. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
229 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
230 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
|
231 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
|
232 IDL source buffers. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
233 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
234 Compilation, execution and interactive debugging of programs directly |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
235 from the source buffer. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
236 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
237 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
|
238 inspection, etc. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
239 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
240 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
|
241 @item |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
242 And much, much more... |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
243 @end itemize |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
244 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
245 @ifnottex |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
246 @cindex Screenshots |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
247 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
|
248 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
249 @itemize @bullet |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
250 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
251 @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
|
252 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
253 @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
|
254 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
255 @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
|
256 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
257 @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
|
258 @item |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
259 @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
|
260 stopped at a breakpoint} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
261 @end itemize |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
262 @end ifnottex |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
263 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
264 IDLWAVE is the successor to the @file{idl.el} and @file{idl-shell.el} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
265 files written by Chris Chase. The modes and files had to be renamed |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
266 because of a name space conflict with CORBA's @code{idl-mode}, defined in |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
267 Emacs in the file @file{cc-mode.el}. If you have been using the old |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
268 files, check @ref{Upgrading from idl.el} for information on how to |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
269 switch. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
270 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
271 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
|
272 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
|
273 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
|
274 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
|
275 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
|
276 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
|
277 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
|
278 appendix. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
279 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
280 @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
|
281 @chapter IDLWAVE in a Nutshell |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
282 @cindex Summary of important commands |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
283 @cindex IDLWAVE in a Nutshell |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
284 @cindex Nutshell, IDLWAVE in a |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
285 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
286 @subheading Editing IDL Programs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
287 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
288 @multitable @columnfractions .15 .85 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
289 @item @key{TAB} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
290 @tab Indent the current line relative to context. |
40705 | 291 @item @kbd{C-M-\} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
292 @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
|
293 @item @kbd{C-u @key{TAB}} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
294 @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
|
295 @item @kbd{M-@key{RET}} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
296 @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
|
297 @item @kbd{M-q} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
298 @tab Fill the current comment paragraph. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
299 @item @kbd{C-c ?} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
300 @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
|
301 at point. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
302 @item @kbd{M-?} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
303 @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
|
304 @item @kbd{M-@key{TAB}} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
305 @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
|
306 @item @kbd{C-c C-i} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
307 @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
|
308 @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
|
309 @tab Visit the source code of a procedure/function. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
310 @item @kbd{C-c C-h} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
311 @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
|
312 @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
|
313 @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
|
314 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
315 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
316 @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
|
317 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
318 @multitable @columnfractions .15 .85 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
319 @item @kbd{C-c C-s} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
320 @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
|
321 @item @kbd{M-p} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
322 @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
|
323 @item @kbd{M-n} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
324 @tab Cycle forward. |
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 shell 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-d C-c} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
328 @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
|
329 @item @kbd{C-c C-d C-x} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
330 @tab Goto next syntax error. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
331 @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
|
332 @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
|
333 @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
|
334 @tab Clear the nearest breakpoint. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
335 @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
|
336 @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
|
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 Commonly used Settings in @file{.emacs} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
340 @lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
341 ;; Change the indentation preferences |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
342 (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
|
343 idlwave-block-indent 2 ; default 4 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
344 idlwave-end-offset -2) ; default -4 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
345 ;; 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
|
346 (setq idlwave-init-rinfo-when-idle-after 2) |
27600 | 347 ;; Pad some operators with spaces |
348 (setq idlwave-do-actions t | |
349 idlwave-surround-by-blank t) | |
350 ;; Syntax Highlighting | |
351 (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
|
352 ;; Automatically start the shell when needed |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
353 (setq idlwave-shell-automatic-start t) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
354 ;; 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
|
355 (setq idlwave-shell-debug-modifiers '(control shift)) |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
356 ;; Specify the online help files' location. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
357 (setq idlwave-help-directory "~/.idlwave") |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
358 @end lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
359 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
360 @ifhtml |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
361 <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
|
362 @end ifhtml |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
363 @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
|
364 @chapter Getting Started (Tutorial) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
365 @cindex Quick-Start |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
366 @cindex Tutorial |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
367 @cindex Getting Started |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
368 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
369 @menu |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
370 * Lesson I -- Development Cycle:: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
371 * Lesson II -- Customization:: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
372 * Lesson III -- Library Catalog:: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
373 @end menu |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
374 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
375 @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
|
376 @section Lesson I: Development Cycle |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
377 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
378 The purpose of this tutorial is to guide you through a very basic |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
379 development cycle using IDLWAVE. We will paste a simple program into a |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
380 buffer and use the shell to compile, debug and run it. On the way we |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
381 will use many of the important IDLWAVE commands. Note however that |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
382 there are many more capabilities in IDLWAVE than covered here, which can |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
383 be discovered by reading the entire manual. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
384 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
385 It is assumed that you have access to Emacs or XEmacs with the full |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
386 IDLWAVE package including online help (@pxref{Installation}). We also |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
387 assume that you are familiar with Emacs and can read the nomenclature of |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
388 key presses in Emacs (in particular, @kbd{C} stands for @key{CONTROL} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
389 and @kbd{M} for @key{META} (often the @key{ALT} key carries this |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
390 functionality)). |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
391 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
392 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
|
393 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
394 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
395 @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
|
396 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
397 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
398 A buffer for this file will pop up, and it should be in IDLWAVE mode, as |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
399 shown in the mode line just below the editing window. Also, the menu |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
400 bar should contain entries @samp{IDLWAVE} and @samp{Debug}. |
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 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
|
403 @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
|
404 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
405 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
406 function daynr,d,m,y |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
407 ;; 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
|
408 ;; works 1901-2099. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
409 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
|
410 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
|
411 m1 = m + delta*12 + 1 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
412 y1 = y * delta |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
413 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
|
414 end |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
415 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
416 function weekday,day,month,year |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
417 ;; compute weekday number for date |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
418 nr = daynr(day,month,year) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
419 return, nr mod 7 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
420 end |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
421 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
422 pro plot_wday,day,month |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
423 ;; 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
|
424 years = 2000,+indgen(10) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
425 wdays = intarr(10) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
426 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
|
427 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
|
428 end |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
429 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
|
430 end |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
431 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
432 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
433 The indentation probably looks funny, since it's different from the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
434 settings you use, so use the @key{TAB} key in each line to automatically |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
435 line it up (or more quickly @emph{select} the entire buffer with |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
436 @kbd{C-x h}, and indent the whole region with @kbd{C-M-\}). Notice how |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
437 different syntactical elements are highlighted in different colors, if |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
438 you have set up support for font-lock. |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
439 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
440 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
|
441 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
|
442 @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
|
443 changes the generic @code{end} to the specific @code{endfor} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
444 automatically. Now place the cursor in any line you would like to split |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
445 and press @kbd{M-@key{RET}}. The line is split at the cursor position, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
446 with the continuation @samp{$} and indentation all taken care of. Use |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
447 @kbd{C-/} to undo the last change. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
448 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
449 The procedure @code{plot_wday} is supposed to plot the weekday of a |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
450 given date for the first 10 years of the 21st century. As in most code, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
451 there are a few bugs, which we are going to use IDLWAVE to help us fix. |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
452 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
453 First, let's launch the IDLWAVE shell. You do this with the command |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
454 @kbd{C-c C-s}. The Emacs window will split and display IDL running in a |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
455 shell interaction buffer. Type a few commands like @code{print,!PI} to |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
456 convince yourself that you can work there just as well as in a terminal, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
457 or the IDLDE. Use the arrow keys to cycle through your command history. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
458 Are we having fun now? |
34432
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 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
|
461 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
|
462 @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
|
463 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
|
464 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
|
465 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
|
466 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
|
467 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
|
468 see the three routines compile. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
469 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
470 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
|
471 1st. We could type the full command ourselves, but why do that? Go |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
472 back to the shell window, type @samp{plot_} and hit @key{TAB}. After a |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
473 bit of a delay (while IDLWAVE initializes its routine info database, if |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
474 necessary), the window will split to show all procedures it knows |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
475 starting with that string, and @w{@code{plot_wday}} should be one of |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
476 them. Saving the buffer alerted IDLWAVE about this new routine. Click |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
477 with the middle mouse button on @code{plot_wday} and it will be copied |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
478 to the shell buffer, or if you prefer, add @samp{w} to @samp{plot_} to |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
479 make it unambiguous, hit @key{TAB} again, and the full routine name will |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
480 be completed. Now provide the two arguments: |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
481 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
482 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
483 plot_wday,1,1 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
484 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
485 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
486 and press @key{RET}. This fails with an error message telling you the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
487 @code{YT} keyword to plot is ambiguous. What are the allowed keywords |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
488 again? Go back to the source window and put the cursor into the `plot' |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
489 line, and press @kbd{C-c ?}. This shows the routine info window for the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
490 plot routine, which contains a list of keywords, along with the argument |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
491 list. Oh, we wanted @code{YTITLE}. Fix that up. Recompile with |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
492 @kbd{C-c C-d C-c}. Jump back into the shell with @kbd{C-c C-s}, press |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
493 the @key{UP} arrow to recall the previous command and execute again. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
494 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
495 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
|
496 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
|
497 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
|
498 plot line after a comma (where you'd normally type a keyword), and hit |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
499 @kbd{M-@key{Tab}}. A long list of plot's keywords appears. Aha, there |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
500 it is, @code{PSYM}. Middle click to insert it. An @samp{=} sign is |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
501 included for you too. Now what were the values of @code{PSYM} supposed |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
502 to be? With the cursor on or after the keyword, press @kbd{M-?} for |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
503 online help (alternatively, you could have right clicked on the colored |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
504 keyword itself in the completion list). The online help window will pop |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
505 up showing the documentation for the @code{PYSM} keyword. OK, let's use |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
506 diamonds=4. Fix this, recompile (you know the command by now: @kbd{C-c |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
507 C-d C-c}, go back to the shell (if it's vanished, you know the command |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
508 to recall it by now: @kbd{C-c C-s}) and execute again. Now things look |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
509 pretty good. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
510 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
511 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
|
512 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
513 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
514 plot_wday,1,4 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
515 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
516 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
517 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
|
518 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
|
519 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
|
520 the @samp{return, d+...} line and press @kbd{C-c C-d C-b}. IDL sets a |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
521 breakpoint (as you see in the shell window), and the line is highlighted |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
522 in some way. Back to the shell buffer, re-execute the previous command. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
523 IDL stops at the line with the breakpoint. Now hold down the SHIFT key |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
524 and click with the middle mouse button on a few variables there: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
525 @samp{d}, @samp{y}, @samp{m}, @samp{y1}, etc. Maybe @code{d} isn't the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
526 correct type. CONTROL-SHIFT middle-click on it for help. Well, it's an |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
527 integer, so that's not the problem. Aha, @samp{y1} is zero, but it |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
528 should be the year, depending on delta. Shift click @samp{delta} to see |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
529 that it's 0. Below, we see the offending line: @samp{y1=y*delta...} the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
530 multiplication should have been a minus sign! So fix the line to read: |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
531 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
532 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
533 y1 = y - delta |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
534 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
535 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
536 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
|
537 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
|
538 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
|
539 sequence of weekdays repeats. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
540 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
541 @node Lesson II -- Customization, Lesson III -- Library Catalog, Lesson I -- Development Cycle, Getting Started |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
542 @section Lesson II: Customization |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
543 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
544 Emacs is probably the most customizable piece of software available, and |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
545 it would be a shame if you did not make use of this and adapt IDLWAVE to |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
546 your own preferences. Customizing Emacs or IDLWAVE is accomplished by |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
547 setting Lisp variables in the @file{.emacs} file in your home directory |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
548 --- but do not be dismayed; for the most part, you can just copy and work |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
549 from the examples given here. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
550 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
551 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
|
552 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
|
553 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
|
554 @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
|
555 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
556 @lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
557 (setq idlwave-reserved-word-upcase t) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
558 @end lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
559 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
560 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
|
561 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
|
562 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
|
563 @samp{IF}, @samp{begin} to @samp{BEGIN}. If you don't like this |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
564 behavior, remove the option again from your @file{.emacs} file. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
565 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
566 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
|
567 example, some like to indent the main block of an IDL program from the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
568 margin, different from the conventions used by RSI, and use only 3 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
569 spaces as indentation between @code{BEGIN} and @code{END}. Try the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
570 following lines in @file{.emacs}: |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
571 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
572 @lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
573 (setq idlwave-main-block-indent 2) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
574 (setq idlwave-block-indent 3) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
575 (setq idlwave-end-offset -3) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
576 @end lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
577 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
578 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
|
579 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
|
580 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
|
581 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
|
582 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
|
583 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
|
584 throughout this manual. |
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 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
|
587 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
|
588 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
|
589 @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
|
590 Group}. Here you'll be presented with all the various variables grouped |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
591 into categories. You can navigate the hierarchy (e.g. Idlwave Code |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
592 Formatting->Idlwave Main Block Indent), read about the variables, change |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
593 them, and `Save for Future Sessions'. Few of these variables need |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
594 customization, but you can exercise considerable control over IDLWAVE's |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
595 functionality with them. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
596 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
597 You may also find the key bindings used for the debugging commands too |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
598 long and complicated. Often we have heard such complaints, ``Do I |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
599 really have to type @kbd{C-c C-d C-c} to run a simple command?'' Due to |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
600 Emacs rules and conventions, shorter bindings cannot be set by default, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
601 but you can enable them. First, there is a way to assign all debugging |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
602 commands in a single sweep to other combinations. The only problem is |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
603 that we have to use something which Emacs does not need for other |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
604 important commands. One good option is to execute debugging commands by |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
605 holding down @key{CONTROL} and @key{SHIFT} while pressing a single |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
606 character: @kbd{C-S-b} for setting a breakpoint, @kbd{C-S-c} for |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
607 compiling the current source file, @kbd{C-S-a} for deleting all |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
608 breakpoints. You can enable this with: |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
609 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
610 @lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
611 (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
|
612 @end lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
613 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
614 @noindent If you have a special keyboard with, for example, a |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
615 @key{HYPER} 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
|
616 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
617 @lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
618 (setq idlwave-shell-debug-modifiers '(hyper)) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
619 @end lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
620 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
621 @noindent to get compilation on @kbd{H-c}. Often, a modifier key like |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
622 @key{HYPER} or @key{SUPER} is bound or can be bound to an otherwise |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
623 unused key -- consult your system documentation. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
624 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
625 You can also assign specific commands to keys. This you must do in the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
626 @emph{mode-hook}, a special function which is run when a new buffer gets |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
627 set up. Keybindings can only be done when the buffer exists. The |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
628 possibilities for key customization are endless. Here we set function |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
629 keys f5-f8 to common debugging commands. |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
630 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
631 @lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
632 ;; First for the source buffer |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
633 (add-hook 'idlwave-mode-hook |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
634 (lambda () |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
635 (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
|
636 (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
|
637 (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
|
638 (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
|
639 ;; Then for the shell buffer |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
640 (add-hook 'idlwave-shell-mode-hook |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
641 (lambda () |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
642 (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
|
643 (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
|
644 (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
|
645 (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
|
646 @end lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
647 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
648 @node Lesson III -- Library Catalog, , Lesson II -- Customization, Getting Started |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
649 @section Lesson III: Library Catalog |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
650 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
651 We have already used the routine info display in the first part of this |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
652 tutorial. This was the key @kbd{C-c ?} which displays information about |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
653 the IDL routine near the cursor position. Wouldn't it be nice |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
654 to have the same available for your own library routines and for the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
655 huge amount of code in major extension libraries like JHUPL or the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
656 IDL-Astro library? To do this, you must give IDLWAVE a chance to study |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
657 these routines first. We call this @emph{Building the library catalog}. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
658 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
659 From the IDLWAVE entry in the menu bar, select @code{Routine Info/Select |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
660 Catalog Directories}. If necessary, start the shell first with @kbd{C-c |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
661 C-s} (@pxref{Starting the Shell}). IDLWAVE will find out about the IDL |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
662 @code{!PATH} variable and offer a list of directories on the path. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
663 Simply select them all (or whichever you want) and click on the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
664 @samp{Scan&Save} button. Then go for a cup of coffee while IDLWAVE |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
665 collects information for each and every IDL routine on your search path. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
666 All this information is written to the file @file{.idlcat} in your home |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
667 directory and will from now one be automatically loaded whenever you use |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
668 IDLWAVE. You may find it necessary to rebuild the catalog on occasion |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
669 as your local libraries change. Try to use routine info (@kbd{C-c ?}) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
670 or completion (@kbd{M-@key{TAB}}) while on any routine or partial routine |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
671 name you know to be located in the library. E.g., if you have scanned |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
672 the IDL-Astro library: |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
673 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
674 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
675 a=readf@key{M-<TAB>} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
676 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
677 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
678 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
679 expands to `readfits('. Then try |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
680 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
681 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
682 a=readfits(@key{C-c ?} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
683 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
684 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
685 and you get: |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
686 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
687 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
688 Usage: Result = READFITS(filename, header, heap) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
689 ... |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
690 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
691 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
692 I hope you made it until here. Now you are set to work with IDLWAVE. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
693 On the way you will want to change other things, and to learn more about |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
694 the possibilities not discussed in this short tutorial. Read the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
695 manual, look at the documentation strings of interesting variables (with |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
696 @kbd{C-h v idlwave<-variable-name> @key{RET}}) and ask the remaining |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
697 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
|
698 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
699 @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
|
700 @chapter The IDLWAVE Major Mode |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
701 @cindex IDLWAVE major mode |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
702 @cindex Major mode, @code{idlwave-mode} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
703 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
704 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
|
705 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
|
706 them. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
707 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
708 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
709 * Code Formatting:: Making code look nice |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
710 * Routine Info:: Calling Sequence and Keyword List |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
711 * 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
|
712 * 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
|
713 * Routine Source:: Finding routines, the easy way |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
714 * 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
|
715 * Code Templates:: Frequent code constructs |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
716 * Abbreviations:: Abbreviations for common commands |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
717 * Actions:: Changing case, Padding, End checking |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
718 * Doc Header:: Inserting a standard header |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
719 * 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
|
720 * 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
|
721 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
722 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
723 @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
|
724 @section Code Formatting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
725 @cindex Code formatting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
726 @cindex Formatting, of code |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
727 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
728 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
729 * Code Indentation:: Reflecting the logical structure |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
730 * Continued Statement Indentation:: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
731 * 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
|
732 * Continuation Lines:: Splitting statements over lines |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
733 * Syntax Highlighting:: Font-lock support |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
734 * 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
|
735 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
736 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
737 The IDL language, with it's early roots in FORTRAN, modern |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
738 implementation in C, and liberal borrowing of features of many vector |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
739 languages along its 25+ year history, has inherited an unusual mix of |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
740 syntax elements. Left to his or her own devices, a novice IDL |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
741 programmer will often conjure code which is very difficult to read and |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
742 impossible to adapt. Much can be gleaned from studying available IDL |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
743 code libraries for coding style pointers, but, due to the variety of |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
744 IDL syntax elements, replicating this style can be challenging at |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
745 best. Luckily, IDLWAVE understands the structure of IDL code very |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
746 well, and takes care of almost all formatting issues for you. After |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
747 configuring it to match your coding standards, you can rely on it to |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
748 help keep your code neat and organized. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
749 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
750 @cindex Foreign code, adapting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
751 @cindex Indentation, of foreign code |
40705 | 752 @kindex C-M-\ |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
753 To re-indent a larger portion of code (e.g. when working with foreign code |
40705 | 754 written with different conventions), use @kbd{C-M-\} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
755 (@code{indent-region}) after marking the relevant code. Useful marking |
40705 | 756 commands are @kbd{C-x h} (the entire file) or @kbd{C-M-h} (the |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
757 current subprogram). @xref{Actions}, for information how to impose |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
758 additional formatting conventions on foreign code. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
759 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
760 @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
|
761 @subsection Code Indentation |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
762 @cindex Code indentation |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
763 @cindex Indentation |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
764 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
765 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
|
766 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
|
767 @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
|
768 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
|
769 @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
|
770 continuation lines. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
771 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
772 @defopt idlwave-main-block-indent (@code{0}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
773 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
|
774 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
|
775 unit. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
776 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
777 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
778 @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
|
779 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
|
780 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
|
781 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
782 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
783 @defopt idlwave-end-offset (@code{-4}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
784 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
|
785 @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
|
786 BEGIN lines. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
787 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
788 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
789 @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
|
790 @subsection Continued Statement Indentation |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
791 @cindex Indentation, continued statement |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
792 @cindex Continued statement indentation |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
793 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
|
794 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
|
795 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
|
796 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
|
797 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
|
798 (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
|
799 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
|
800 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
|
801 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
|
802 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
|
803 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
|
804 punctuation. An example: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
805 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
806 @example |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
807 function foo, a, b, $ |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
808 c, d |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
809 bar = sin( a + b + $ |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
810 c + d) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
811 end |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
812 @end example |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
813 @noindent |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
814 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
815 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
|
816 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
|
817 sides of an assignment: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
818 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
819 @example |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
820 function thisfunctionnameisverylongsoitwillleavelittleroom, a, b, $ |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
821 c, d |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
822 @end example |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
823 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
824 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
|
825 indentation by setting the variable |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
826 @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
|
827 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
|
828 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
|
829 indent (the size of which offset is set in |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
830 @code{idlwave-continuation-indent}). Also, since the indentation |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
831 level can be somewhat dynamic in continued statements with special |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
832 continuation indentation, especially if |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
833 @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
|
834 @kbd{C-u @key{TAB}} will re-indent all lines in the current statement. |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
835 Note that @code{idlwave-indent-to-open-paren}, if non-nil, overrides |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
836 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
|
837 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
|
838 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
839 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
840 @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
|
841 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
|
842 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
843 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
844 @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
|
845 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
|
846 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
|
847 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
|
848 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
|
849 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
|
850 line, outside of nested parentheses statements. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
851 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
852 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
853 @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
|
854 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
|
855 parenthesis, regardless of whether the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
856 @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
|
857 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
858 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
859 @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
|
860 @subsection Comment Indentation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
861 @cindex Comment indentation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
862 @cindex Hanging paragraphs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
863 @cindex Paragraphs, filling |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
864 @cindex Paragraphs, hanging |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
865 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
866 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
|
867 Comment lines are indented as follows: |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
868 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
869 @multitable @columnfractions .1 .90 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
870 @item @code{;;;} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
871 @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
|
872 unchanged. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
873 @item @code{;;} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
874 @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
|
875 @item @code{;} |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
876 @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
|
877 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
878 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
879 @noindent |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
880 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
|
881 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
882 @defopt idlwave-no-change-comment |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
883 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
|
884 changed. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
885 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
886 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
887 @defopt idlwave-begin-line-comment |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
888 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
|
889 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
890 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
891 @defopt idlwave-code-comment |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
892 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
|
893 IDL code. |
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 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
896 @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
|
897 @subsection Continuation Lines and Filling |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
898 @cindex Continuation lines |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
899 @cindex Line splitting |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
900 @cindex String splitting |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
901 @cindex Splitting, of lines |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
902 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
903 @kindex M-@key{RET} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
904 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
|
905 @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
|
906 @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
|
907 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
|
908 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
|
909 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
|
910 concatenation operator is used. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
911 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
912 @cindex Filling |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
913 @cindex @code{auto-fill-mode} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
914 @cindex Hanging paragraphs |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
915 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
|
916 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
|
917 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
|
918 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
|
919 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
|
920 @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
|
921 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
|
922 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
923 @example |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
924 @group |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
925 ;================================= |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
926 ; x - an array containing |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
927 ; lots of interesting numbers. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
928 ; |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
929 ; y - another variable where |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
930 ; a hanging paragraph is used |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
931 ; to describe it. |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
932 ;================================= |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
933 @end group |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
934 @end example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
935 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
936 @kindex M-q |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
937 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
|
938 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
|
939 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
|
940 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
|
941 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
942 @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
|
943 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
|
944 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
945 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
946 @defopt idlwave-auto-fill-split-string (@code{t}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
947 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
|
948 operator. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
949 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
950 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
951 @defopt idlwave-split-line-string (@code{t}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
952 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
|
953 @samp{+}. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
954 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
955 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
956 @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
|
957 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
|
958 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
|
959 line of the paragraph. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
960 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
961 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
962 @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
|
963 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
|
964 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
|
965 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
966 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
967 @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
|
968 Non-@code{nil} means use last match on line for |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
969 @code{idlwave-indent-regexp}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
970 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
971 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
972 @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
|
973 @subsection Syntax Highlighting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
974 @cindex Syntax highlighting |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
975 @cindex Highlighting of syntax |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
976 @cindex Font lock |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
977 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
978 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
|
979 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
|
980 (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
|
981 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
|
982 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
|
983 @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
|
984 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
985 @lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
986 (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
|
987 @end lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
988 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
989 @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
|
990 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
|
991 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
|
992 for highlighting using the variable |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
993 @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
|
994 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
995 @defopt idlwave-default-font-lock-items |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
996 Items which should be fontified on the default fontification level |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
997 2. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
998 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
999 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1000 @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
|
1001 @subsection Octals and Highlighting |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1002 @cindex Syntax highlighting, Octals |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1003 @cindex Highlighting of syntax, Octals |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1004 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1005 A rare syntax highlighting problem results from the extremely |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1006 unfortunate notation for octal numbers in IDL: @code{"123}. This |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1007 unpaired quotation mark is very difficult to parse, given that it can be |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1008 mixed on a single line with any number of strings. Emacs will |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1009 incorrectly identify this as a string, and the highlighting of following |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1010 lines of code can be distorted, since the string is never terminated. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1011 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1012 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
|
1013 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
|
1014 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1015 @example |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1016 string("305B) + $ ;" <--- for font-lock |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1017 ' is an Angstrom.' |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1018 @end example |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1019 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1020 @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
|
1021 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
|
1022 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1023 @example |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1024 string('305'OB) + ' is an Angstrom.' |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1025 @end example |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1026 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1027 @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
|
1028 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
|
1029 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1030 @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
|
1031 @section Routine Info |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1032 @cindex Routine info |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1033 @cindex Updating routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1034 @cindex Scanning buffers for routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1035 @cindex Buffers, scanning for routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1036 @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
|
1037 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1038 @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
|
1039 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
|
1040 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
|
1041 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
|
1042 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
|
1043 the calling sequence and keywords for the routines you use, but |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1044 IDLWAVE can help. It builds up routine information using a wide |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1045 variety of sources: IDLWAVE in fact knows far more about the routines |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1046 on your system than IDL itself. It maintains a list of all built-in |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1047 routines, with calling sequences and keywords@footnote{This list is |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1048 created by scanning the IDL manuals and might contain (very few) |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1049 errors. Please report any errors to the maintainer, so that they can |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1050 be fixed.}. It also scans Emacs buffers and library files for routine |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1051 definitions, and queries the IDLWAVE-Shell for information about |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1052 routines currently compiled there. This information is updated |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1053 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
|
1054 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
|
1055 (@code{idlwave-update-routine-info}). |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1056 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1057 @kindex C-c ? |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1058 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
|
1059 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
|
1060 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
|
1061 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
|
1062 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
|
1063 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1064 @example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1065 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
|
1066 | | | | | | | | |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1067 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
|
1068 @end example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1069 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1070 @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
|
1071 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
|
1072 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
|
1073 described, while positions 5 and 6 will investigate the @samp{sin} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1074 function. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1075 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1076 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
|
1077 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
|
1078 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
|
1079 @samp{->} operator (@pxref{Object Method Completion and Class |
46918
82d113655734
Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents:
46534
diff
changeset
|
1080 Ambiguity}), or by having been explicitly included in the call |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1081 (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
|
1082 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1083 @cindex Calling sequences |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1084 @cindex Keywords of a routine |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1085 @cindex Routine source information |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1086 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
|
1087 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
|
1088 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1089 @example |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1090 Usage: XMANAGER, NAME, ID |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1091 Keywords: BACKGROUND CATCH CLEANUP EVENT_HANDLER GROUP_LEADER |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1092 JUST_REG MODAL NO_BLOCK |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1093 Source: SystemLib [CSB] /soft1/idl53/lib/xmanager.pro |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1094 @end example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1095 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1096 @cindex Categories, of routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1097 @cindex Load-path shadows |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1098 @cindex Shadows, load-path |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1099 @cindex IDL variable @code{!PATH} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1100 @cindex @code{!PATH}, IDL variable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1101 @cindex IDL variable @code{!DIR} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1102 @cindex @code{!DIR}, IDL variable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1103 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1104 If a definition of this routine exists in several files accessible to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1105 IDLWAVE, several @samp{Source} lines will point to the different files. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1106 This may indicate that your routine is shadowing a library routine, |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1107 which may or may not be what you want (@pxref{Load-Path Shadows}). The |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1108 information about the calling sequence and keywords is derived from the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1109 first source listed. Library routines are supported only if you have |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1110 scanned your local IDL libraries (@pxref{Library Catalog}). The source |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1111 entry consists of a @emph{source category}, a set of @emph{flags} and |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1112 the path to the @emph{source file}. The following categories exist: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1113 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1114 @multitable @columnfractions .15 .85 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1115 @item @i{System} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1116 @tab A system routine of unknown origin. When the system library has |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1117 been scanned (@pxref{Library Catalog}), this category will automatically |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1118 split into the next two. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1119 @item @i{Builtin} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1120 @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
|
1121 @item @i{SystemLib} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1122 @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
|
1123 @item @i{Obsolete} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1124 @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
|
1125 @item @i{Library} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1126 @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
|
1127 @item @i{Other} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1128 @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
|
1129 @item @i{Unresolved} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1130 @tab An otherwise unkown routine the shell lists as unresolved |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1131 (referenced, but not compiled). |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1132 @end multitable |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1133 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1134 You can create additional categories based on the routine's filepath |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1135 with the variable @code{idlwave-special-lib-alist}. This is useful for |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1136 easy discrimination of various libraries, or even versions of the same |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1137 library. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1138 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1139 @cindex Flags, in routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1140 @cindex Duplicate routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1141 @cindex Multiply defined routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1142 @cindex Routine definitions, multiple |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1143 The flags @code{[CSB]} indicate the source of the information IDLWAVE |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1144 has regarding the file: from a library catalog (@w{@code{[C--]}}, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1145 @pxref{Library Catalog}), from the IDL Shell (@w{@code{[-S-]}}) or from |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1146 an Emacs buffer (@w{@code{[--B]}}). Combinations are possible (a |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1147 compiled library routine visited in a buffer might read |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1148 @w{@code{[CSB]}}). If a file contains multiple definitions of the same |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1149 routine, the file name will be prefixed with @samp{(Nx)} where @samp{N} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1150 is the number of definitions. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1151 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1152 @cindex Online Help from the routine info buffer |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1153 @cindex Active text, in routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1154 @cindex Inserting keywords, from routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1155 @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
|
1156 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
|
1157 (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
|
1158 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
|
1159 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
|
1160 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1161 @multitable @columnfractions 0.15 0.85 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1162 @item @i{Usage} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1163 @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
|
1164 button on the @i{Usage:} line will access the help for the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1165 routine (@pxref{Online Help}). |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1166 @item @i{Keyword} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1167 @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
|
1168 @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
|
1169 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
|
1170 @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
|
1171 clicking also adds the initial @samp{/}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1172 @item @i{Source} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1173 @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
|
1174 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
|
1175 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
|
1176 @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
|
1177 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
|
1178 window. |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1179 @item @i{Classes} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1180 @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
|
1181 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
|
1182 @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
|
1183 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
|
1184 exists there. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1185 @end multitable |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1186 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1187 @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
|
1188 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
|
1189 fit the content. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1190 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1191 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1192 @defopt idlwave-special-lib-alist |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1193 Alist of regular expressions matching special library directories. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1194 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1195 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1196 @defopt idlwave-rinfo-max-source-lines (@code{5}) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1197 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
|
1198 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1199 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1200 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1201 @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
|
1202 @section Online Help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1203 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1204 @cindex Online Help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1205 @cindex @file{idlw-help.txt} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1206 @cindex @file{idlw-help.el} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1207 @cindex IDL manual, ASCII version |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1208 @cindex Installing online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1209 @cindex Online Help, Installation |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1210 @cindex Speed, of online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1211 For IDL system routines, RSI provides extensive documentation. IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1212 can access an ASCII version of this documentation very quickly and |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1213 accurately. This is @emph{much} faster than using the IDL online help |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1214 application, because IDLWAVE usually gets you to the right place in the |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1215 documentation directly, without any additional browsing and scrolling. |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1216 For this online help to work, an ASCII version of the IDL documentation, |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1217 which is not part of the standalone IDLWAVE distribution, is required. |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1218 The necessary help files can be downloaded from |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1219 @uref{@value{IDLWAVE-HOMEPAGE}, the maintainers webpage}. The text |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1220 extracted from the PDF files is fine for normal documentation |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1221 paragraphs, but graphics and multiline equations will not be well |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1222 formatted. See also @ref{Documentation Scan}. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1223 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1224 @cindex Updated online help |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1225 @cindex Online help, updates |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1226 @cindex @code{<NEW>..</NEW>} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1227 Occasionally RSI releases a synopsis of new features in an IDL release, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1228 without simultaneously updating the documentation files, instead |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1229 preferring a @i{What's New} document which describes the changes. These |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1230 updates are incorporated directly into the IDLWAVE online help, and are |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1231 delimited in @code{<NEW>..</NEW>} blocks. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1232 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1233 @cindex Source code, as online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1234 @cindex DocLib header, as online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1235 For routines which are not documented in the IDL manual (for example |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1236 personal or library routines), the source code itself is used as help |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1237 text. If the requested information can be found in a (more or less) |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1238 standard DocLib file header, IDLWAVE shows the header (scrolling down to |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1239 appropriate keyword). Otherwise the routine definition statement |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1240 (@code{pro}/@code{function}) is shown. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1241 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1242 @cindex Structure tags, in online help |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1243 @cindex Class tags, in online help |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1244 Help is also available for class structure tags (@code{self.TAG}), and |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1245 generic structure tags, if structure tag completion is enabled |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1246 (@pxref{Structure Tag Completion}). This is implemented by visiting the |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1247 tag within the class or structure definition source itself. Help is not |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1248 available on built-in system class tags. |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1249 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1250 @kindex M-? |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1251 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
|
1252 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
|
1253 @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
|
1254 locations are recognized context for help: |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1255 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1256 @cindex Context, for online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1257 @multitable @columnfractions .25 .75 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1258 @item @i{Routine name} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1259 @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
|
1260 @item @i{Keyword Parameter} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1261 @tab A keyword parameter of a routine. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1262 @item @i{System Variable} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1263 @tab System variables like @code{!DPI}. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1264 @item @i{IDL Statement} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1265 @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
|
1266 @item @i{Class name} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1267 @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
|
1268 @item @i{Class Init} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1269 @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
|
1270 @item @i{Executive Command} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1271 @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
|
1272 @item @i{Structure Tags} |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1273 @tab In structure tags like @code{state.xsize} |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1274 @item @i{Structure Tags} |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1275 @tab In class tags like @code{self.value}. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1276 @item @i{Default} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1277 @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
|
1278 @end multitable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1279 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1280 @cindex @code{OBJ_NEW}, special online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1281 Note that the @code{OBJ_NEW} function is special in that the help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1282 displayed depends on the cursor position: If the cursor is on the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1283 @samp{OBJ_NEW}, this function is described. If it is on the class name |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1284 inside the quotes, the documentation for the class is pulled up. If the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1285 cursor is @emph{after} the class name, anywhere in the argument list, |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1286 the documentation for the corresponding @code{Init} method and its |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1287 keywords is targeted. |
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 @noindent Apart from source buffers, there are two more places from |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1290 which online help can be accessed. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1291 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1292 @itemize @bullet |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1293 @item |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1294 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
|
1295 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
|
1296 corresponding help (@pxref{Routine Info}). |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1297 @item |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1298 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
|
1299 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
|
1300 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
|
1301 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
|
1302 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
|
1303 @end itemize |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1304 @noindent |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1305 In both cases, a blue face indicates that the item is documented in the |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1306 IDL manual, but an attempt will be made to visit non-blue items directly |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1307 in the originating source file. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1308 |
46534
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
1309 @cindex Help application, key bindings |
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
1310 @cindex Key bindings, in help application |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1311 The help window is normally displayed in a separate frame. The |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1312 following commands can be used to navigate inside the help system: |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1313 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1314 @multitable @columnfractions .15 .85 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1315 @item @kbd{@key{SPACE}} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1316 @tab Scroll forward one page. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1317 @item @kbd{@key{RET}} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1318 @tab Scroll forward one line. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1319 @item @kbd{@key{DEL}} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1320 @tab Scroll back one page. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1321 @item @kbd{n, p} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1322 @tab Browse to the next or previous topic (in physical sequence). |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1323 @item @kbd{b, f} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1324 @tab Move back and forward through the help topic history. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1325 @item @kbd{c} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1326 @tab Clear the history. |
46534
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
1327 @item @kbd{Mouse-2} |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1328 @tab Follow a link. Active links are displayed in a different font. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1329 Items under @i{See Also} are active, and classes have links to their |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1330 methods and back. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1331 @item @kbd{o} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1332 @tab Open a topic. The topic can be selected with completion. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1333 @item @kbd{*} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1334 @tab Load the whole help file into Emacs, for global text searches. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1335 @item @kbd{q} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1336 @tab Kill the help window. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1337 @end multitable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1338 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1339 @sp 1 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1340 @noindent When the help text is a source file, the following commands |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1341 are also available: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1342 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1343 @multitable @columnfractions .15 .85 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1344 @item @kbd{h} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1345 @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
|
1346 as help. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1347 @item @kbd{H} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1348 @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
|
1349 @item @kbd{.} @r{(Dot)} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1350 @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
|
1351 @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
|
1352 item in the DocLib header. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1353 @item @kbd{F} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1354 @tab Fontify the buffer like source code. See the variable @code{idlwave-help-fontify-source-code}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1355 @end multitable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1356 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1357 @defopt idlwave-help-directory |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1358 The directory where idlw-help.txt and idlw-help.el are stored. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1359 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1360 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1361 @defopt idlwave-help-use-dedicated-frame (@code{t}) |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1362 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
|
1363 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1364 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1365 @defopt idlwave-help-frame-parameters |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1366 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
|
1367 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1368 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1369 @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
|
1370 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
|
1371 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1372 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1373 @defopt idlwave-extra-help-function |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1374 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
|
1375 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1376 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1377 @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
|
1378 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
|
1379 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1380 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1381 @defopt idlwave-help-source-try-header (@code{t}) |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1382 Non-@code{nil} means try to find help in routine header when displaying source |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1383 file. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1384 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1385 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1386 @defopt idlwave-help-link-face |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1387 The face for links in IDLWAVE online help. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1388 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1389 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1390 @defopt idlwave-help-activate-links-aggressively (@code{t}) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1391 Non-@code{nil} means make all possible links in help window active. |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1392 @end defopt |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1393 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1394 @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
|
1395 @section Completion |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1396 @cindex Completion |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1397 @cindex Keyword completion |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1398 @cindex Method completion |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1399 @cindex Object method completion |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1400 @cindex Class name completion |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1401 @cindex Function name completion |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1402 @cindex Procedure name completion |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1403 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1404 @kindex M-@key{TAB} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1405 @kindex C-c C-i |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1406 IDLWAVE offers completion for class names, routine names, keywords, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1407 system variables, class structure tags, regular structure tags and file |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1408 names. As in many programming modes, completion is bound to |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1409 @kbd{M-@key{TAB}} (or @kbd{@key{TAB}} in the IDLWAVE Shell --- |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1410 @pxref{Using the Shell}). Completion uses exactly the same internal |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1411 information as routine info, so when necessary (rarely) it can be |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1412 updated with @kbd{C-c C-i} (@code{idlwave-update-routine-info}). |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1413 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1414 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
|
1415 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
|
1416 @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
|
1417 position marked with a @samp{_}: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1418 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1419 @example |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1420 plo_ @r{Procedure} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1421 x = a_ @r{Function} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1422 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
|
1423 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
|
1424 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
|
1425 obj -> a_ @r{Object method (procedure)} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1426 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
|
1427 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
|
1428 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
|
1429 pro A_ @r{Class name} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1430 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
|
1431 !v_ @r{System variable} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1432 !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
|
1433 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
|
1434 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
|
1435 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
|
1436 @end example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1437 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1438 @cindex Completion, ambiguity |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1439 @cindex Completion, forcing function name |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1440 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
|
1441 @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
|
1442 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
|
1443 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
|
1444 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
|
1445 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1446 @cindex Scrolling the @file{*Completions*} window |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1447 @cindex Completion, scrolling |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1448 @cindex Completion, Online Help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1449 @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
|
1450 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
|
1451 @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
|
1452 @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
|
1453 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
|
1454 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
|
1455 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
|
1456 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
|
1457 text. |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1458 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1459 @cindex Completion, cancelling |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1460 @cindex Cancelling completion |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1461 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
|
1462 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
|
1463 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
|
1464 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
|
1465 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
|
1466 with no negative consequences. |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1467 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1468 @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
|
1469 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
|
1470 completed keywords. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1471 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1472 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1473 @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
|
1474 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
|
1475 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
|
1476 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
|
1477 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1478 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1479 @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
|
1480 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
|
1481 completion. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1482 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1483 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1484 @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
|
1485 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
|
1486 available. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1487 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1488 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1489 @menu |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1490 * Case of Completed Words:: CaseOFcomPletedWords |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1491 * Object Method Completion and Class Ambiguity:: obj->Method, what? |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1492 * 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
|
1493 * 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
|
1494 * Structure Tag Completion:: Completing state.Tag |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1495 @end menu |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1496 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1497 @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
|
1498 @subsection Case of Completed Words |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1499 @cindex Case of completed words |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1500 @cindex Mixed case completion |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1501 The case of the completed words is determined by what is already in the |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1502 buffer. When the partial word being completed is all lower case, the |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1503 completion will be lower case as well. If at least one character is |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1504 upper case, the string will be completed in upper case or mixed case. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1505 The default is to use upper case for procedures, functions and keywords, |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1506 and mixed case for object class names and methods, similar to the |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1507 conventions in the IDL manuals. These defaults can be changed with the |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1508 variable @code{idlwave-completion-case}. For instance, to enable |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1509 mixed-case completion for routines in addition to classes and methods, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1510 you need an entry such as @code{routine . preserve} in that variable. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1511 To enable total control over the case of completed items, independent of |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1512 buffer context, set @code{idlwave-completion-force-default-case} to |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1513 non-@code{nil}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1514 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1515 @defopt idlwave-completion-case |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1516 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
|
1517 of completed words. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1518 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1519 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1520 @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
|
1521 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
|
1522 @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
|
1523 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
|
1524 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
|
1525 @end defopt |
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 @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
|
1528 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
|
1529 completion. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1530 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1531 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1532 @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
|
1533 @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
|
1534 @cindex Object methods |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1535 @cindex Class ambiguity |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1536 @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
|
1537 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
|
1538 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
|
1539 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
|
1540 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
|
1541 @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
|
1542 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
|
1543 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
|
1544 @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
|
1545 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
|
1546 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
|
1547 where appropriate. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1548 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1549 @cindex Forcing class query. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1550 @cindex Class query, forcing |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1551 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
|
1552 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
|
1553 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
|
1554 @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
|
1555 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
|
1556 common methods for which the number of completing keywords would be too |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1557 large (e.g. @code{Init}). |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1558 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1559 @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
|
1560 @cindex @code{->} |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1561 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
|
1562 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
|
1563 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
|
1564 (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
|
1565 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
|
1566 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
|
1567 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
|
1568 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
|
1569 |
27600 | 1570 @defopt idlwave-completion-show-classes (@code{1}) |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1571 Non-@code{nil} means show classes in @file{*Completions*} buffer when |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1572 completing object methods and keywords. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1573 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1574 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1575 @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
|
1576 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
|
1577 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1578 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1579 @defopt idlwave-query-class (@code{nil}) |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1580 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
|
1581 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1582 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1583 @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
|
1584 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
|
1585 @samp{->}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1586 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1587 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1588 @defopt idlwave-class-arrow-face |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1589 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
|
1590 text property. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1591 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1592 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1593 @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
|
1594 @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
|
1595 @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
|
1596 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
|
1597 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
|
1598 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
|
1599 @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
|
1600 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
|
1601 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
|
1602 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
|
1603 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
|
1604 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
|
1605 @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
|
1606 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
|
1607 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1608 @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
|
1609 @subsection Class and Keyword Inheritance |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1610 @cindex Inheritance, class |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1611 @cindex Keyword inheritance |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1612 @cindex Inheritance, keyword |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1613 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1614 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
|
1615 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
|
1616 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
|
1617 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
|
1618 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
|
1619 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
|
1620 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
|
1621 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
|
1622 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
|
1623 @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
|
1624 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1625 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
|
1626 @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
|
1627 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
|
1628 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
|
1629 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
|
1630 @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
|
1631 @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
|
1632 |
46918
82d113655734
Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents:
46534
diff
changeset
|
1633 IDLWAVE can accommodate this special synergy between class and keyword |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1634 inheritance: if @code{_EXTRA} or @code{_REF_EXTRA} is detected among a |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1635 method's keyword parameters, all keywords of superclass versions of the |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1636 method being considered are included in completion. There is of course |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1637 no guarantee that this type of keyword chaining actually occurrs, but |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1638 for some methods it's a very convenient assumption. The variable |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1639 @code{idlwave-keyword-class-inheritance} can be used to configure which |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1640 methods have keyword inheritance treated in this simple, class-driven |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1641 way. By default, only @code{Init} and @code{(Get|Set)Property} are. |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1642 The completion buffer will label keywords based on their originating |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1643 class. |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1644 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1645 @defopt idlwave-support-inheritance (@code{t}) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1646 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
|
1647 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1648 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1649 @defopt idlwave-keyword-class-inheritance |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1650 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
|
1651 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
|
1652 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1653 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1654 @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
|
1655 @subsection Structure Tag Completion |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1656 @cindex Completion, structure tag |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1657 @cindex Structure tag completion |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1658 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1659 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
|
1660 (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
|
1661 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
|
1662 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
|
1663 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
|
1664 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
|
1665 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
|
1666 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
|
1667 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
|
1668 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
|
1669 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
|
1670 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
|
1671 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
|
1672 (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
|
1673 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
|
1674 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1675 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
|
1676 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
|
1677 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1678 @lisp |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1679 (add-hook 'idlwave-load-hook |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1680 (lambda () (require 'idlw-complete-structtag))) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1681 @end lisp |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1682 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1683 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
|
1684 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
|
1685 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1686 @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
|
1687 @section Routine Source |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1688 @cindex Routine source file |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1689 @cindex Module source file |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1690 @cindex Source file, of a routine |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1691 @kindex C-c C-v |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1692 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
|
1693 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
|
1694 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
|
1695 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
|
1696 @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
|
1697 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
|
1698 any class part). IDLWAVE will display the source file in another |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1699 window, positioned at the routine in question. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1700 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1701 @cindex Buffers, killing |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1702 @cindex Killing autoloaded buffers |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1703 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
|
1704 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
|
1705 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
|
1706 (@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
|
1707 these buffers. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1708 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1709 @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
|
1710 @section Resolving Routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1711 @cindex @code{RESOLVE_ROUTINE} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1712 @cindex Compiling library modules |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1713 @cindex Routines, resolving |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1714 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1715 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
|
1716 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
|
1717 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
|
1718 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
|
1719 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1720 @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
|
1721 of IDLWAVE's routine info collecting functions. A better way is to |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1722 scan (parts of) the library (@pxref{Library Catalog}). Routine info on |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1723 library modules will then be available without the need to compile the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1724 modules first, and even without a running shell. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1725 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1726 @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
|
1727 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
|
1728 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1729 @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
|
1730 @section Code Templates |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1731 @cindex Code templates |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1732 @cindex Templates |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1733 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1734 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
|
1735 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
|
1736 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1737 @multitable @columnfractions .15 .85 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1738 @item @kbd{C-c C-c} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1739 @tab @code{CASE} statement template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1740 @item @kbd{C-c C-f} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1741 @tab @code{FOR} loop template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1742 @item @kbd{C-c C-r} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1743 @tab @code{REPEAT} loop template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1744 @item @kbd{C-c C-w} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1745 @tab @code{WHILE} loop template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1746 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1747 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1748 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
|
1749 (@pxref{Abbreviations}). |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1750 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1751 @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
|
1752 @section Abbreviations |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1753 @cindex Abbreviations |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1754 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1755 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
|
1756 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
|
1757 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
|
1758 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
|
1759 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
|
1760 @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
|
1761 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
|
1762 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
|
1763 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
|
1764 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1765 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
|
1766 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
|
1767 idlwave-list-abbrevs}. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1768 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1769 Template abbreviations: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1770 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1771 @multitable @columnfractions .15 .85 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1772 @item @code{\pr} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1773 @tab @code{PROCEDURE} template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1774 @item @code{\fu} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1775 @tab @code{FUNCTION} template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1776 @item @code{\c} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1777 @tab @code{CASE} statement template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1778 @item @code{\f} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1779 @tab @code{FOR} loop template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1780 @item @code{\r} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1781 @tab @code{REPEAT} loop template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1782 @item @code{\w} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1783 @tab @code{WHILE} loop template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1784 @item @code{\i} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1785 @tab @code{IF} statement template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1786 @item @code{\elif} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1787 @tab @code{IF-ELSE} statement template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1788 @end multitable |
27600 | 1789 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1790 String abbreviations: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1791 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1792 @multitable @columnfractions .15 .85 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1793 @item @code{\ap} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1794 @tab @code{arg_present()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1795 @item @code{\b} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1796 @tab @code{begin} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1797 @item @code{\cb} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1798 @tab @code{byte()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1799 @item @code{\cc} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1800 @tab @code{complex()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1801 @item @code{\cd} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1802 @tab @code{double()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1803 @item @code{\cf} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1804 @tab @code{float()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1805 @item @code{\cl} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1806 @tab @code{long()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1807 @item @code{\co} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1808 @tab @code{common} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1809 @item @code{\cs} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1810 @tab @code{string()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1811 @item @code{\cx} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1812 @tab @code{fix()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1813 @item @code{\e} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1814 @tab @code{else} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1815 @item @code{\ec} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1816 @tab @code{endcase} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1817 @item @code{\ee} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1818 @tab @code{endelse} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1819 @item @code{\ef} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1820 @tab @code{endfor} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1821 @item @code{\ei} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1822 @tab @code{endif else if} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1823 @item @code{\el} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1824 @tab @code{endif else} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1825 @item @code{\en} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1826 @tab @code{endif} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1827 @item @code{\er} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1828 @tab @code{endrep} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1829 @item @code{\es} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1830 @tab @code{endswitch} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1831 @item @code{\ew} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1832 @tab @code{endwhile} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1833 @item @code{\g} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1834 @tab @code{goto,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1835 @item @code{\h} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1836 @tab @code{help,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1837 @item @code{\ik} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1838 @tab @code{if keyword_set() then} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1839 @item @code{\iap} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1840 @tab @code{if arg_present() then} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1841 @item @code{\ine} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1842 @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
|
1843 @item @code{\inn} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1844 @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
|
1845 @item @code{\k} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1846 @tab @code{keyword_set()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1847 @item @code{\n} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1848 @tab @code{n_elements()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1849 @item @code{\np} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1850 @tab @code{n_params()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1851 @item @code{\oi} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1852 @tab @code{on_ioerror,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1853 @item @code{\or} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1854 @tab @code{openr,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1855 @item @code{\ou} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1856 @tab @code{openu,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1857 @item @code{\ow} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1858 @tab @code{openw,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1859 @item @code{\p} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1860 @tab @code{print,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1861 @item @code{\pt} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1862 @tab @code{plot,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1863 @item @code{\re} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1864 @tab @code{read,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1865 @item @code{\rf} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1866 @tab @code{readf,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1867 @item @code{\rt} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1868 @tab @code{return} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1869 @item @code{\ru} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1870 @tab @code{readu,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1871 @item @code{\s} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1872 @tab @code{size()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1873 @item @code{\sc} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1874 @tab @code{strcompress()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1875 @item @code{\sl} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1876 @tab @code{strlowcase()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1877 @item @code{\sm} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1878 @tab @code{strmid()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1879 @item @code{\sn} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1880 @tab @code{strlen()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1881 @item @code{\sp} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1882 @tab @code{strpos()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1883 @item @code{\sr} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1884 @tab @code{strtrim()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1885 @item @code{\st} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1886 @tab @code{strput()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1887 @item @code{\su} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1888 @tab @code{strupcase()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1889 @item @code{\t} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1890 @tab @code{then} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1891 @item @code{\u} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1892 @tab @code{until} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1893 @item @code{\wc} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1894 @tab @code{widget_control,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1895 @item @code{\wi} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1896 @tab @code{widget_info()} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1897 @item @code{\wu} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1898 @tab @code{writeu,} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1899 @end multitable |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1900 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1901 @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
|
1902 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
|
1903 convenience function @code{idlwave-define-abbrev}: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1904 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1905 @lisp |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1906 (add-hook 'idlwave-mode-hook |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1907 (lambda () |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1908 (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
|
1909 (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
|
1910 (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
|
1911 (idlwave-keyword-abbrev 11)))) |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1912 @end lisp |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1913 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1914 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
|
1915 (@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
|
1916 @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
|
1917 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
|
1918 parentheses). |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1919 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1920 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
|
1921 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
|
1922 templates, @code{idlwave-reserved-word-upcase} (@pxref{Case Changes}). |
27600 | 1923 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1924 @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
|
1925 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
|
1926 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
|
1927 abbreviation strings. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1928 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1929 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1930 @defopt idlwave-abbrev-move (@code{t}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1931 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
|
1932 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
|
1933 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1934 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1935 @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
|
1936 @section Actions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1937 @cindex Actions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1938 @cindex Coding standards, enforcing |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1939 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1940 @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
|
1941 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
|
1942 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
|
1943 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
|
1944 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
|
1945 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
|
1946 can be helpful. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1947 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
1948 Actions can be applied in three ways: |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1949 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1950 @itemize @bullet |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1951 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1952 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
|
1953 @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
|
1954 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
|
1955 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
|
1956 case. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1957 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1958 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
|
1959 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
|
1960 must be non-@code{nil}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1961 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1962 @cindex Foreign code, adapting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1963 @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
|
1964 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
|
1965 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
|
1966 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
|
1967 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
|
1968 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
|
1969 indentation of the code. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1970 @end itemize |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1971 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1972 @defopt idlwave-do-actions (@code{nil}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1973 Non-@code{nil} means performs actions when indenting. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1974 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1975 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1976 @menu |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
1977 * 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
|
1978 * Padding Operators:: Enforcing space around `=' etc |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1979 * Case Changes:: Enforcing upper case keywords |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1980 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1981 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1982 @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
|
1983 @subsection Block Boundary Check |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1984 @cindex Block boundary check |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1985 @cindex @code{END} type checking |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1986 @cindex @code{END}, automatic insertion |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1987 @cindex @code{END}, expanding |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1988 @cindex Block, closing |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1989 @cindex Closing a block |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1990 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1991 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
|
1992 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
|
1993 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
|
1994 @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
|
1995 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
|
1996 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1997 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
|
1998 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
|
1999 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
|
2000 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
|
2001 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2002 @defopt idlwave-show-block (@code{t}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2003 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
|
2004 @code{idlwave-show-begin}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2005 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2006 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2007 @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
|
2008 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
|
2009 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2010 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2011 @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
|
2012 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
|
2013 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2014 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2015 @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
|
2016 @subsection Padding Operators |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2017 @cindex Padding operators with spaces |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2018 @cindex Operators, padding with spaces |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2019 @cindex Space, around operators |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2020 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2021 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
|
2022 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
|
2023 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
|
2024 @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
|
2025 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
|
2026 @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
|
2027 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
|
2028 @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
|
2029 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
|
2030 in @file{.emacs} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2031 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2032 @lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2033 (add-hook 'idlwave-mode-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2034 (lambda () |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2035 (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
|
2036 (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
|
2037 (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
|
2038 @end lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2039 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2040 @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
|
2041 Non-@code{nil} means enable @code{idlwave-surround}. If non-@code{nil}, |
27600 | 2042 @samp{=}, @samp{<}, @samp{>}, @samp{&}, @samp{,}, @samp{->} are |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2043 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
|
2044 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2045 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2046 @defopt idlwave-pad-keyword (@code{t}) |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2047 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
|
2048 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2049 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2050 @node Case Changes, , Padding Operators, Actions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2051 @subsection Case Changes |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2052 @cindex Case changes |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2053 @cindex Upcase, enforcing for reserved words |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2054 @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
|
2055 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2056 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
|
2057 abbreviations by customizing the variables |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2058 @code{idlwave-abbrev-change-case} and |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2059 @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
|
2060 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
|
2061 your @file{.emacs} file: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2062 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2063 @lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2064 (add-hook 'idlwave-mode-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2065 (lambda () |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2066 ;; Capitalize system vars |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2067 (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
|
2068 ;; Capitalize procedure name |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2069 (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
|
2070 '(capitalize-word 1) t) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2071 ;; Capitalize common block name |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2072 (idlwave-action-and-binding "\\<common\\>[ \t]+\\<" |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2073 '(capitalize-word 1) t))) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2074 @end lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2075 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2076 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
|
2077 @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
|
2078 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
|
2079 @ref{Completion}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2080 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2081 @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
|
2082 Non-@code{nil} means all abbrevs will be forced to either upper or lower |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2083 case. Legal values are @code{nil}, @code{t}, and @code{down}. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2084 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2085 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2086 @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
|
2087 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
|
2088 expansion. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2089 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2090 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2091 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2092 @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
|
2093 @section Documentation Header |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2094 @cindex Documentation header |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2095 @cindex DocLib header |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2096 @cindex Modification timestamp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2097 @cindex Header, for file documentation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2098 @cindex Timestamp, in doc header. |
46918
82d113655734
Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents:
46534
diff
changeset
|
2099 @cindex ChangeLog, in doc header. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2100 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2101 @kindex C-c C-h |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2102 @kindex C-c C-m |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2103 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
|
2104 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
|
2105 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
|
2106 @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
|
2107 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
|
2108 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
|
2109 timestamp. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2110 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2111 @defopt idlwave-file-header |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2112 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
|
2113 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2114 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2115 @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
|
2116 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
|
2117 of file. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2118 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2119 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2120 @defopt idlwave-timestamp-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2121 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
|
2122 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2123 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2124 @defopt idlwave-doc-modifications-keyword |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2125 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
|
2126 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2127 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2128 @defopt idlwave-doclib-start |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2129 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
|
2130 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2131 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2132 @defopt idlwave-doclib-end |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2133 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
|
2134 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2135 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2136 @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
|
2137 @section Motion Commands |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2138 @cindex Motion commands |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2139 @cindex Program structure, moving through |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2140 @cindex Code structure, moving through |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2141 @cindex @file{Func-menu}, XEmacs package |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2142 @cindex @file{Imenu}, Emacs package |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2143 @cindex Function definitions, jumping to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2144 @cindex Procedure definitions, jumping to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2145 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2146 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
|
2147 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
|
2148 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
|
2149 @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
|
2150 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2151 @lisp |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2152 (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
|
2153 @end lisp |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2154 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2155 @cindex @file{Speedbar}, Emacs package |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2156 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2157 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
|
2158 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
|
2159 definitions. See @code{Tools->Display Speedbar}. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2160 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2161 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
|
2162 IDL program: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2163 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2164 @multitable @columnfractions .15 .85 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2165 @item @kbd{C-M-a} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2166 @tab Beginning of subprogram |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2167 @item @kbd{C-M-e} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2168 @tab End of subprogram |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2169 @item @kbd{C-c @{} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2170 @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
|
2171 @item @kbd{C-c @}} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2172 @tab End of block (stay inside the block) |
40705 | 2173 @item @kbd{C-M-n} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2174 @tab Forward block (on same level) |
40705 | 2175 @item @kbd{C-M-p} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2176 @tab Backward block (on same level) |
40705 | 2177 @item @kbd{C-M-d} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2178 @tab Down block (enters a block) |
40705 | 2179 @item @kbd{C-M-u} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2180 @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
|
2181 @item @kbd{C-c C-n} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2182 @tab Next Statement |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2183 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2184 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2185 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2186 @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
|
2187 @section Miscellaneous Options |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2188 @cindex Hooks |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2189 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2190 @defopt idlwave-help-application |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2191 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
|
2192 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2193 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2194 @defopt idlwave-startup-message (@code{t}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2195 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
|
2196 is first called. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2197 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2198 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2199 @defopt idlwave-mode-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2200 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
|
2201 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2202 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2203 @defopt idlwave-load-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2204 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
|
2205 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2206 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2207 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2208 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2209 @node The IDLWAVE Shell, Installation, The IDLWAVE Major Mode, Top |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2210 @chapter The IDLWAVE Shell |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2211 @cindex IDLWAVE shell |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2212 @cindex Major mode, @code{idlwave-shell-mode} |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2213 @cindex IDL, as Emacs subprocess |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2214 @cindex Subprocess of Emacs, IDL |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2215 @cindex Comint, Emacs package |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2216 @cindex Windows |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2217 @cindex MacOS |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2218 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2219 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
|
2220 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
|
2221 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
|
2222 interactively, to compile and run IDL programs in Emacs buffers and to |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2223 debug these programs. The IDLWAVE shell is built upon @file{comint}, an |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2224 Emacs packages which handles the communication with the IDL program. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2225 Unfortunately IDL for Windows and MacOS do not have command-prompt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2226 versions and thus do not allow the interaction with |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2227 Emacs@footnote{Please inform the maintainer if you come up with a way to |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2228 make the IDLWAVE shell work on these systems.} --- so the IDLWAVE shell |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2229 currently only works under Unix. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2230 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2231 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2232 * 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
|
2233 * Using the Shell:: Interactively working with the Shell |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2234 * 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
|
2235 * Debugging IDL Programs:: |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2236 * Examining Variables:: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2237 * Custom Expression Examination:: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2238 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2239 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2240 @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
|
2241 @section Starting the Shell |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2242 @cindex Starting the shell |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2243 @cindex Shell, starting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2244 @cindex Dedicated frame, for shell buffer |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2245 @cindex Frame, for shell buffer |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2246 @cindex Subprocess of Emacs, IDL |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2247 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2248 @kindex C-c C-s |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2249 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
|
2250 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
|
2251 @kbd{C-c C-s}. It creates a buffer @file{*idl*} which is used to |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2252 interact with the shell. If the shell is already running, @kbd{C-c C-s} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2253 will simple switch to the shell buffer. The command @kbd{C-c C-l} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2254 (@code{idlwave-shell-recenter-shell-window}) displays the shell window |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2255 without selecting it. The shell can also be started automatically when |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2256 another command tries to send a command to it. To enable auto start, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2257 set the variable @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
|
2258 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2259 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
|
2260 @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
|
2261 @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
|
2262 window, configure the variable |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2263 @code{idlwave-shell-use-dedicated-frame}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2264 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2265 To launch a quick IDLWAVE shell directly from a shell prompt without an |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2266 IDLWAVE buffer (e.g., as a replacement for running inside an xterm), |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2267 define an alias with the following content: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2268 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2269 @example |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2270 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
|
2271 @end example |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2272 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2273 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
|
2274 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
|
2275 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2276 @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
|
2277 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
|
2278 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2279 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2280 @defopt idlwave-shell-command-line-options |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2281 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
|
2282 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2283 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2284 @defopt idlwave-shell-prompt-pattern |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2285 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
|
2286 @end defopt |
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 @defopt idlwave-shell-process-name |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2289 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
|
2290 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2291 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2292 @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
|
2293 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
|
2294 running. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2295 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2296 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2297 @defopt idlwave-shell-initial-commands |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2298 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
|
2299 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2300 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2301 @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
|
2302 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
|
2303 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2304 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2305 @defopt idlwave-shell-command-history-file (@file{~/.idlwhist}) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2306 The file in which the command history of the idlwave shell is saved. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2307 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2308 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2309 @defopt idlwave-shell-use-dedicated-frame (@code{nil}) |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2310 Non-@code{nil} means IDLWAVE should use a special frame to display |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2311 shell buffer. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2312 @end defopt |
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-shell-frame-parameters |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2315 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
|
2316 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2317 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2318 @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
|
2319 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
|
2320 window. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2321 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2322 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2323 @defopt idlwave-shell-temp-pro-prefix |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2324 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
|
2325 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2326 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2327 @cindex Hooks |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2328 @defopt idlwave-shell-mode-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2329 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
|
2330 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2331 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2332 @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
|
2333 @section Using the Shell |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2334 @cindex Comint |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2335 @cindex Shell, basic commands |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2336 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2337 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
|
2338 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
|
2339 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
|
2340 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
|
2341 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
|
2342 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
|
2343 @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
|
2344 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
|
2345 commands: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2346 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2347 @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
|
2348 @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
|
2349 @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
|
2350 @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
|
2351 @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
|
2352 @item @kbd{M-r} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2353 @tab Previous input matching a regexp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2354 @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
|
2355 @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
|
2356 @item @kbd{return} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2357 @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
|
2358 @item @kbd{C-c C-a} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2359 @tab Beginning of line; skip prompt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2360 @item @kbd{C-c C-u} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2361 @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
|
2362 @item @kbd{C-c C-w} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2363 @tab Kill word before cursor |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2364 @item @kbd{C-c C-c} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2365 @tab Send ^C |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2366 @item @kbd{C-c C-z} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2367 @tab Send ^Z |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2368 @item @kbd{C-c C-\} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2369 @tab Send ^\ |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2370 @item @kbd{C-c C-o} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2371 @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
|
2372 @item @kbd{C-c C-r} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2373 @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
|
2374 @item @kbd{C-c C-l} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2375 @tab List input history |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2376 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2377 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2378 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
|
2379 @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
|
2380 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
|
2381 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
|
2382 @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
|
2383 commands. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2384 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2385 @cindex Completion, in the shell |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2386 @cindex Routine info, in the shell |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2387 @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
|
2388 @multitable @columnfractions .12 .88 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2389 @item @kbd{@key{TAB}} |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2390 @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
|
2391 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
|
2392 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
|
2393 (@code{idlwave-shell-complete}). |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2394 @item @kbd{M-@key{TAB}} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2395 @tab Same as @key{TAB} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2396 @item @kbd{C-c ?} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2397 @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
|
2398 @item @kbd{M-?} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2399 @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
|
2400 @item @kbd{C-c C-i} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2401 @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
|
2402 (@code{idlwave-update-routine-info}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2403 @item @kbd{C-c C-v} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2404 @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
|
2405 @item @kbd{C-c =} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2406 @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
|
2407 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2408 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2409 @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
|
2410 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
|
2411 history like xterm. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2412 @end defopt |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2413 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2414 @defopt idlwave-shell-comint-settings |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2415 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
|
2416 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2417 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2418 @defopt idlwave-shell-file-name-chars |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2419 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
|
2420 completion. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2421 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2422 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2423 @defopt idlwave-shell-graphics-window-size |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2424 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
|
2425 @end defopt |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2426 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2427 @cindex Input mode |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2428 @cindex Character input mode (Shell) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2429 @cindex Line input mode (Shell) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2430 @cindex Magic spells, for input mode |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2431 @cindex Spells, magic |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2432 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
|
2433 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
|
2434 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
|
2435 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
|
2436 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
|
2437 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
|
2438 (@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
|
2439 (@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
|
2440 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
|
2441 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
|
2442 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
|
2443 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
|
2444 automatic switches of the input mode. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2445 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2446 @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
|
2447 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
|
2448 output. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2449 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2450 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2451 @defopt idlwave-shell-input-mode-spells |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2452 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
|
2453 modes. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2454 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2455 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2456 @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
|
2457 @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
|
2458 @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
|
2459 @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
|
2460 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2461 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
|
2462 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
|
2463 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
|
2464 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
|
2465 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
|
2466 shell. |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2467 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2468 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
|
2469 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
|
2470 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
|
2471 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
|
2472 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
|
2473 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
|
2474 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2475 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
|
2476 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
|
2477 @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
|
2478 commands sent to the shell are shown there. For a related customization |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2479 for separating the output of @emph{examine} commands @xref{Examining |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2480 Variables}. |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2481 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2482 @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
|
2483 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
|
2484 are @code{run} for @code{.run}, @code{.compile} and other run commands, |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2485 @code{misc} for lesser used commands like @code{window}, @code{retall}, |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2486 etc., @code{breakpoint} for breakpoint setting and clearing commands, |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2487 and @code{debug} for other debug, stepping, and continue commands. In |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2488 addition, if the variable is set to the single symbol @code{'everything}, |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2489 all the copious shell input is displayed (which is probably only useful |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2490 for debugging purposes). |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2491 @end defopt |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2492 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2493 @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
|
2494 @section Debugging IDL Programs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2495 @cindex Debugging |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2496 @cindex Keybindings for debugging |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2497 @cindex Toolbar |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2498 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2499 Programs can be compiled, run, and debugged directly from the source |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2500 buffer in Emacs. IDLWAVE makes compiling and debugging IDL programs |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2501 far less cumbersome by providing a full-featured, |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2502 key/menu/toolbar-driven interface to commands like @code{breakpoint}, |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2503 @code{.step}, @code{.run}, etc. |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2504 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2505 The IDLWAVE shell installs key bindings both in the shell buffer and in |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2506 all IDL code buffers of the current Emacs session, so debug commands |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2507 work in both places (in the shell, commands operate on the last file |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2508 compiled). On Emacs versions which support this, a debugging toolbar is |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2509 also installed. The display of the toolbar can be toggled with @kbd{C-c |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2510 C-d C-t} (@code{idlwave-shell-toggle-toolbar}). |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2511 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2512 @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
|
2513 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
|
2514 buffers. |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2515 @end defopt |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2516 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2517 @menu |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2518 * Debug Key Bindings:: |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2519 * Compiling Programs:: |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2520 * Breakpoints and Stepping:: |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2521 * Walking the Calling Stack:: |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2522 @end menu |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2523 |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2524 @node Debug Key Bindings, Compiling Programs, Debugging IDL Programs, Debugging IDL Programs |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2525 @subsection Debug Key Bindings |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2526 @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
|
2527 @cindex Key bindings |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2528 |
46534
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
2529 The debugging key bindings are by default on the prefix key @kbd{C-c |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2530 C-d}, so for example setting a breakpoint is done with @kbd{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
|
2531 C-b}, and compiling a source file with @kbd{C-c C-d C-c}. If you find |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2532 this too much work, you can easily configure IDLWAVE to use one or more |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2533 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
|
2534 @kbd{C-c C-d} (though these bindings will typically also be available |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2535 --- see @code{idlwave-shell-activate-prefix-keybindings}). For example, |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2536 if you write in @file{.emacs}: |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2537 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2538 @lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2539 (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
|
2540 @end lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2541 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2542 @noindent a breakpoint can 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
|
2543 @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
|
2544 source file will be on @kbd{C-S-c}, deleting a breakpoint @kbd{C-S-d}, |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2545 etc. In the remainder of this chapter we will assume that the @kbd{C-c |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2546 C-d} bindings are active, but each of these bindings will have an |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2547 equivalent single-keypress shortcut if modifiers are given in the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2548 @code{idlwave-shell-debug-modifiers} variable (see @pxref{Lesson II -- |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2549 Customization}). |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2550 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2551 @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
|
2552 The prefix key for the debugging map |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2553 @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
|
2554 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2555 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2556 @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
|
2557 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
|
2558 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
|
2559 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2560 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2561 @defopt idlwave-shell-debug-modifiers (@code{nil}) |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2562 List of modifier keys to use for additional binding of debugging |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2563 commands in the shell and source buffers. Can be one or more of |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2564 @code{control}, @code{meta}, @code{super}, @code{hyper}, @code{alt}, and |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2565 @code{shift}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2566 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2567 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2568 @node Compiling Programs, Breakpoints and Stepping, 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
|
2569 @subsection Compiling Programs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2570 @cindex Compiling programs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2571 @cindex Programs, compiling |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2572 @cindex Default command line, executing |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2573 @cindex Executing a default command line |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2574 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2575 @kindex C-c C-d C-c |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2576 In order to compile the current buffer under the IDLWAVE shell, press |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2577 @kbd{C-c C-d C-c} (@code{idlwave-save-and-run}). This first saves the |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2578 current buffer and then sends the command @samp{.run path/to/file} to the |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2579 shell. You can also execute @kbd{C-c C-d C-c} from the shell buffer, in |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2580 which case the most recently compiled buffer will be saved and |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2581 re-compiled. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2582 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2583 When developing or debugging a program, it is often necessary to execute |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2584 the same command line many times. A convenient way to do this is |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2585 @kbd{C-c C-d C-y} (@code{idlwave-shell-execute-default-command-line}). |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2586 This command first resets IDL from a state of interrupted execution by |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2587 closing all files and returning to the main interpreter level. Then a |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2588 default command line is send to the shell. To edit the default command |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2589 line, call @code{idlwave-shell-execute-default-command-line} with a |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2590 prefix argument: @kbd{C-u C-c C-d C-y}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2591 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2592 @defopt idlwave-shell-mark-stop-line (@code{t}) |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2593 Non-@code{nil} means mark the source code line where IDL is currently |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2594 stopped. The value specifies the preferred method. Legal values are |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2595 @code{nil}, @code{t}, @code{arrow}, and @code{face}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2596 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2597 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2598 @defopt idlwave-shell-overlay-arrow (@code{">"}) |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2599 The overlay arrow to display at source lines where execution halts, if |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2600 configured in @code{idlwave-shell-mark-stop-line}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2601 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2602 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2603 @defopt idlwave-shell-stop-line-face |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2604 The face which highlights the source line where IDL is stopped, if |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2605 configured in @code{idlwave-shell-mark-stop-line}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2606 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2607 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2608 @node Breakpoints and Stepping, Walking the Calling Stack, Compiling Programs, Debugging IDL Programs |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2609 @subsection Breakpoints and Stepping |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2610 @cindex Breakpoints |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2611 @cindex Stepping |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2612 @cindex Execution, controlled |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2613 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2614 @kindex C-c C-d C-b |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2615 @kindex C-c C-d C-b |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2616 You can set breakpoints and step through a program with IDLWAVE. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2617 Setting a breakpoint in the current line of the source buffer is done |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2618 with @kbd{C-c C-d C-b} (@code{idlwave-shell-break-here}). With a prefix |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2619 arg of 1 (i.e. @kbd{C-1 C-c C-d C-b}), the breakpoint gets a |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2620 @code{/ONCE} keyword, meaning that it will be deleted after first use. |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2621 With a numeric prefix greater than one (e.g. @kbd{C-4 C-c C-d C-b}), the |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2622 breakpoint will only be active the @code{nth} time it is hit. With a |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2623 single non-numeric prefix (i.e. @kbd{C-u C-c C-d C-b}), prompt for a |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2624 condition --- an IDL expression to be evaulated and trigger the |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2625 breakpoint only if true. To clear the breakpoint in the current line, |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2626 use @kbd{C-c C-d C-d} (@code{idlwave-clear-current-bp}). When executed |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2627 from the shell window, the breakpoint where IDL is currently stopped |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2628 will be deleted. To clear all breakpoints, use @kbd{C-c C-d C-a} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2629 (@code{idlwave-clear-all-bp}). Breakpoint lines are highlighted in the |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2630 source code. Note that IDL places breakpoints as close as possible on |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2631 or after the line you specify. IDLWAVE queries the shell for the actual |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2632 breakpoint location which was set, so the exact line you specify may not |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2633 be marked. |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2634 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2635 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
|
2636 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
|
2637 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
|
2638 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
|
2639 @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
|
2640 @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
|
2641 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
|
2642 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
|
2643 breakpoint and stepping commands: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2644 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2645 @multitable @columnfractions .23 .77 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2646 @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
|
2647 @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
|
2648 @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
|
2649 @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
|
2650 @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
|
2651 @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
|
2652 @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
|
2653 @tab Clear all breakpoints (@code{idlwave-shell-clear-all-bp}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2654 @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
|
2655 @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
|
2656 @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
|
2657 @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
|
2658 @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
|
2659 @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
|
2660 @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
|
2661 @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
|
2662 @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
|
2663 @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
|
2664 @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
|
2665 @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
|
2666 @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
|
2667 @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
|
2668 @item @kbd{C-c C-d C-r} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2669 @tab Continue execution to next breakpoint (@code{idlwave-shell-cont}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2670 @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
|
2671 @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
|
2672 @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
|
2673 @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
|
2674 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2675 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2676 @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
|
2677 Non-@code{nil} means mark breakpoints in the source file buffers. The |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2678 value indicates the preferred method. Legal values are @code{nil}, |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2679 @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
|
2680 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2681 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2682 @defopt idlwave-shell-breakpoint-face |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2683 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
|
2684 @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
|
2685 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2686 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2687 @node Walking the Calling Stack, , Breakpoints and Stepping, Debugging IDL Programs |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2688 @subsection Walking the Calling Stack |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2689 @cindex Calling stack, walking |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2690 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2691 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
|
2692 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
|
2693 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
|
2694 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
|
2695 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
|
2696 (@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
|
2697 (@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
|
2698 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
|
2699 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
|
2700 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
|
2701 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
|
2702 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
|
2703 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
|
2704 higher calling stack levels. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2705 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2706 @ifhtml |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
2707 <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
|
2708 @end ifhtml |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2709 @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
|
2710 @section Examining Variables |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2711 @cindex @code{PRINT} expressions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2712 @cindex @code{HELP}, on expressions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2713 @cindex Expressions, printing |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2714 @cindex Expressions, help |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2715 @cindex Printing expressions |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2716 @cindex Mouse binding to print expressions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2717 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2718 @kindex 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
|
2719 Do you find yourself repeatedly typing, e.g. @code{print,n_elements(x)}, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2720 and similar statements to remind yourself of the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2721 type/size/structure/value/etc. of variables and expressions in your code |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2722 or at the command line? IDLWAVE has a suite of special commands to |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2723 automate these types of variables or expression examinations. They work |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2724 by sending statements to the shell formatted to include the indicated |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2725 expression. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2726 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2727 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
|
2728 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
|
2729 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
|
2730 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
|
2731 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
|
2732 point remains unmoved in the command being composed --- you can inspect |
46918
82d113655734
Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents:
46534
diff
changeset
|
2733 the constituents of a command you're building without interrupting the |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2734 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
|
2735 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
|
2736 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
|
2737 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2738 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
|
2739 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
|
2740 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
|
2741 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
|
2742 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
|
2743 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2744 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
|
2745 print the expression at point, and @kbd{C-c C-d ?}, to invoke help on |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2746 this expression. The expression at point is either an array expression |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2747 or a function call, or the contents of a pair of parentheses. The |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2748 selected expression is highlighted, and simultaneously the resulting |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2749 output is highlighted in the shell. Calling the above commands with a |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2750 prefix argument will prompt for an expression instead of using the one |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2751 at point. Two prefix arguments (@kbd{C-u C-u C-c C-d C-p}) will use the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2752 current region as expression. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2753 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2754 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
|
2755 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
|
2756 @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
|
2757 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
|
2758 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
|
2759 nearest expression will be selected in the same manner as described |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2760 above. You can also @emph{drag} the mouse in order to highlight exactly |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2761 a specific expression or sub-expression to be examined. For custom |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2762 expression examination, and the customizable pop-up examine selection, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2763 @xref{Custom Expression Examination}. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2764 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2765 @cindex Printing expressions, on calling stack |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2766 @cindex Restrictions for expression printing |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2767 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
|
2768 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
|
2769 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
|
2770 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
|
2771 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
|
2772 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
|
2773 (@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
|
2774 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
|
2775 levels except the current: |
27600 | 2776 |
2777 @itemize @bullet | |
2778 @item | |
2779 Array expressions must use the @samp{[ ]} index delimiters. Identifiers | |
2780 with a @samp{( )} will be interpreted as function calls. | |
2781 @item | |
2782 @cindex ROUTINE_NAMES, IDL procedure | |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2783 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
|
2784 stack uses the @emph{unsupported} IDL routine @code{ROUTINE_NAMES}, |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2785 which may or may not be available in future versions of IDL. |
27600 | 2786 @end itemize |
2787 | |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2788 @defopt idlwave-shell-expression-face |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2789 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
|
2790 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
|
2791 the expression printed by IDL. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2792 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2793 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2794 @defopt idlwave-shell-output-face |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2795 The face for @code{idlwave-shell-output-overlay}. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2796 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
|
2797 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
|
2798 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2799 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2800 @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
|
2801 If non-@code{nil}, re-direct the output of examine commands to a special |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2802 @file{*Examine*} buffer, instead of in the shell itself. |
27600 | 2803 @end defopt |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2804 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2805 @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
|
2806 @section Custom Expression Examination |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2807 @cindex Expressions, custom examination |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2808 @cindex Custom expression examination |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2809 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2810 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
|
2811 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
|
2812 @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
|
2813 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
|
2814 mouse examine command, and two macros for generating your own examine |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2815 bindings. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2816 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2817 The most powerful and flexible mouse examine command is available on |
46534
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
2818 @kbd{C-S-Mouse-2}. Just as for all the other mouse examine commands, it |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2819 permits click or drag expression selection, but instead of sending |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2820 hard-coded commands to the shell, it pops-up a customizable selection |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2821 list of examine functions to choose among, configured with the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2822 @code{idlwave-shell-examine-alist} variable. This variable is a list of |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2823 key-value pairs (an @emph{alist} in Emacs parlance), where the keys name |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2824 the command, and the values are the command strings, in which the text |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2825 @code{___} (three underscores) will be replaced by the selected |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2826 expression before being sent to the shell. An example might be key |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2827 @code{Structure Help} with value @code{help,___,/STRUCTURE}. |
46534
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
2828 @code{idlwave-shell-examine-alist} comes by default with a large list of |
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
2829 examine commands, but can be easily customized to add more. |
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
2830 |
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
2831 In addition to the pop-up mouse command, you can easily create your own |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2832 customized bindings to inspect expressions using the two convenience |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2833 macros @code{idlwave-shell-inspect} and |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2834 @code{idlwave-shell-mouse-inspect}. These create keyboard or |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2835 mouse-based custom inspections of variables, sharing all the same |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2836 properties of the built-in examine commands. Both functions take a |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2837 single string argument sharing the syntax of the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2838 @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
|
2839 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2840 @lisp |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2841 (add-hook 'idlwave-shell-mode-hook |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2842 (lambda () |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2843 (idlwave-shell-define-key-both [s-down-mouse-2] |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2844 (idlwave-shell-mouse-examine |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2845 "print, size(___,/DIMENSIONS)")) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2846 (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
|
2847 "print, size(___,/DIMENSIONS)")) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2848 (idlwave-shell-define-key-both [f10] (idlwave-shell-examine |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2849 "print,size(___,/TNAME)")) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2850 (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
|
2851 "help,___,/STRUCTURE")))) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2852 @end lisp |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2853 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2854 @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
|
2855 @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
|
2856 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
|
2857 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
|
2858 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
|
2859 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2860 @defopt idlwave-shell-examine-alist |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2861 An alist of examine commands in which the keys name the command and are |
46534
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
2862 displayed in the selection pop-up, and the values are custom IDL examine |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2863 command strings to send, after all instances of @code{___} are replaced |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2864 by the indicated expression. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2865 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2866 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2867 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2868 @node Installation, Acknowledgements, The IDLWAVE Shell, Top |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2869 @chapter Installation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2870 @cindex Installation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2871 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2872 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2873 * Installing IDLWAVE:: How to install the distribution |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2874 * Installing Online Help:: Where to get the additional files needed |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2875 * Upgrading from idl.el:: Necessary configuration changes |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2876 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2877 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2878 @node Installing IDLWAVE, Installing Online Help, Installation, Installation |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2879 @section Installing IDLWAVE |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2880 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2881 @cindex FTP site |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2882 @cindex URL, homepage for IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2883 @cindex Homepage for IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2884 @cindex IDLWAVE, homepage |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2885 @cindex XEmacs package IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2886 @cindex Emacs, distributed with IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2887 @cindex Copyright, of IDL manual |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2888 IDLWAVE is part of Emacs 21.1 and later. It is also an XEmacs package |
27600 | 2889 and can be installed from |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2890 @uref{ftp://ftp.xemacs.org/pub/xemacs/packages/,the XEmacs ftp site} |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2891 with the normal package management system on XEmacs 21. These |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2892 pre-installed versions should work out-of-the-box. However, the files |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2893 required for online help are not distributed with XEmacs/Emacs and have |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2894 to be installed separately@footnote{Due to copyright reasons, the ASCII |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2895 version of the IDL manual cannot be distributed under the GPL.} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2896 (@pxref{Installing Online Help}). |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2897 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2898 You can also download IDLWAVE and install it yourself from |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2899 @uref{@value{IDLWAVE-HOMEPAGE}, the maintainers webpage}. Follow the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2900 instructions in the INSTALL file. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2901 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2902 @node Installing Online Help, Upgrading from idl.el, Installing IDLWAVE, Installation |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2903 @section Installing Online Help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2904 @cindex Installing online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2905 @cindex Online Help, Installation |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2906 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2907 If you want to use the online help display, two additional files (an |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2908 ASCII version of the IDL documentation and a topics/code file) must be |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2909 installed. These files can also be downloaded from |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2910 @uref{@value{IDLWAVE-HOMEPAGE}, the maintainers webpage}. You need to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2911 place the files somewhere on your system and tell IDLWAVE where they are |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2912 with |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2913 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2914 @lisp |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2915 (setq idlwave-help-directory "/path/to/help/files/") |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2916 @end lisp |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2917 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2918 @node Upgrading from idl.el, , Installing Online Help, Installation |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2919 @section Upgrading from the old @b{@file{idl.el}} file |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2920 @cindex Upgrading from old @b{@file{idl.el}} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2921 @cindex Renaming old variables |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2922 @cindex Old variables, renaming |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2923 @kindex M-@key{TAB} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2924 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2925 If you have been using the old @file{idl.el} and @file{idl-shell.el} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2926 files and would like to use IDLWAVE, you need to update your |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2927 customization in @file{.emacs}. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2928 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2929 @enumerate |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2930 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2931 Change all variable and function prefixes from @samp{idl-} to @samp{idlwave-}. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2932 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2933 Remove the now invalid @code{autoload} and @code{auto-mode-alist} forms |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2934 pointing to the @file{idl.el} and @file{idl-shell.el} files. Install |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2935 the new autoload forms. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2936 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2937 If you have been using the hook function recommended in earlier versions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2938 to get a separate frame for the IDL shell, remove that command from your |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2939 @code{idlwave-shell-mode-hook}. Instead, set the variable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2940 @code{idlwave-shell-use-dedicated-frame} with |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2941 @lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2942 (setq idlwave-shell-use-dedicated-frame t) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2943 @end lisp |
27600 | 2944 @item |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2945 The key sequence @kbd{M-@key{TAB}} no longer inserts a TAB character. |
46534
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
2946 Like in many other Emacs modes, @kbd{M-@key{TAB}} now does |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2947 completion. Inserting a TAB has therefore been moved to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2948 @kbd{C-@key{TAB}}. On a character based terminal you can also use |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2949 @kbd{C-c @key{SPC}}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2950 @end enumerate |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2951 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2952 @node Acknowledgements, Sources of Routine Info, Installation, Top |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2953 @chapter Acknowledgements |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2954 @cindex Acknowledgements |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2955 @cindex Maintainer, of IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2956 @cindex Authors, of IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2957 @cindex Contributors, to IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2958 @cindex Email address, of Maintainer |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2959 @cindex Thanks |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2960 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2961 @noindent |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2962 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
|
2963 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2964 @itemize @minus |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2965 @item |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2966 @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
|
2967 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
|
2968 for several years. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2969 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2970 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2971 @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
|
2972 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
|
2973 everything, modernized IDLWAVE with many new features, and developed the |
41745 | 2974 manual. |
2975 | |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2976 @item |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2977 @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
|
2978 maintainer, as of version 4.10, helped shape object method completion |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2979 and most new features introduced in versions 4.x. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2980 @end itemize |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2981 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2982 @noindent |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2983 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
|
2984 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
|
2985 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2986 @itemize @minus |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2987 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2988 Ulrik Dickow <dickow@@nbi.dk> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2989 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2990 Eric E. Dors <edors@@lanl.gov> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2991 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2992 Stein Vidar H. Haugan <s.v.h.haugan@@astro.uio.no> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2993 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2994 David Huenemoerder <dph@@space.mit.edu> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2995 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2996 Kevin Ivory <Kevin.Ivory@@linmpi.mpg.de> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2997 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2998 Dick Jackson <dick@@d-jackson.com> |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
2999 @item |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3000 Xuyong Liu <liu@@stsci.edu> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3001 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3002 Simon Marshall <Simon.Marshall@@esrin.esa.it> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3003 @item |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3004 Craig Markwardt <craigm@@cow.physics.wisc.edu> |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3005 @item |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3006 Laurent Mugnier <mugnier@@onera.fr> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3007 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3008 Lubos Pochman <lubos@@rsinc.com> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3009 @item |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3010 Bob Portmann <portmann@@al.noaa.gov> |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3011 @item |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3012 Patrick M. Ryan <pat@@jaameri.gsfc.nasa.gov> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3013 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3014 Marty Ryba <ryba@@ll.mit.edu> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3015 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3016 Phil Williams <williams@@irc.chmcc.org> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3017 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3018 Phil Sterne <sterne@@dublin.llnl.gov> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3019 @end itemize |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3020 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3021 @noindent |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3022 Thanks to everyone! |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3023 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3024 @node Sources of Routine Info, Configuration Examples, Acknowledgements, Top |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3025 @appendix Sources of Routine Info |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3026 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3027 @cindex Sources of routine information |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3028 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
|
3029 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
|
3030 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
|
3031 know about the accessible routines. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3032 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3033 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3034 * Routine Definitions:: Where IDL Routines are defined. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3035 * Routine Information Sources:: So how does IDLWAVE know about... |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3036 * Library Catalog:: Scanning the Libraries for Routine Info |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3037 * Load-Path Shadows:: Routines defined in several places |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3038 * 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
|
3039 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3040 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3041 @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
|
3042 @appendixsec Routine Definitions |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3043 @cindex Routine definitions |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3044 @cindex IDL variable @code{!PATH} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3045 @cindex @code{!PATH}, IDL variable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3046 @cindex @code{CALL_EXTERNAL}, IDL routine |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3047 @cindex @code{LINKIMAGE}, IDL routine |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3048 @cindex External routines |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3049 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3050 @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
|
3051 several places: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3052 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3053 @enumerate |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3054 @item |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3055 @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
|
3056 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
|
3057 @item |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3058 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
|
3059 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
|
3060 located on the IDL search path. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3061 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3062 @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
|
3063 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
|
3064 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
|
3065 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
|
3066 @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
|
3067 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
|
3068 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3069 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
|
3070 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
|
3071 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
|
3072 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
|
3073 @end enumerate |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3074 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3075 @node Routine Information Sources, Library Catalog, 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
|
3076 @appendixsec Routine Information Sources |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3077 @cindex Routine info sources |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3078 @cindex Builtin list of routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3079 @cindex Updating routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3080 @cindex Scanning buffers for routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3081 @cindex Buffers, scanning for routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3082 @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
|
3083 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3084 @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
|
3085 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
|
3086 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3087 @enumerate |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3088 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3089 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3090 It has a @emph{builtin list} with the properties of the builtin IDL |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3091 routines. IDLWAVE @value{VERSION} is distributed with a list of |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3092 @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
|
3093 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
|
3094 by scanning the IDL manuals and is stored in the file |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3095 @file{idlw-rinfo.el}. @xref{Documentation Scan}, for information on how |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3096 to regenerate this file for new versions of IDL. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3097 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3098 @item |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3099 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
|
3100 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
|
3101 information or completion is first requested by the user. Each new |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3102 buffer and each buffer which is saved after making changes is also |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3103 scanned. The command @kbd{C-c C-i} (@code{idlwave-update-routine-info}) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3104 can be used 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
|
3105 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3106 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3107 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
|
3108 @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
|
3109 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
|
3110 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
|
3111 @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
|
3112 (@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
|
3113 routine data. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3114 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3115 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3116 IDLWAVE can scan all or selected library source files and store the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3117 result in a file which will be automatically loaded just like |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3118 @file{idlw-rinfo.el}. @xref{Library Catalog}, for information how to |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3119 scan library files. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3120 @end enumerate |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3121 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3122 Loading routine and catalog information is a time consuming process. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3123 Depending on the system and network configuration it can take up to 30 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3124 seconds. In order to minimize the waiting time upon your first |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3125 completion or routine info command in a session, IDLWAVE uses Emacs idle |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3126 time to do the initialization in 5 steps, yielding to user input in |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3127 between. If this gets into your way, set the variable |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3128 @code{idlwave-init-rinfo-when-idle-after} to 0 (zero). |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3129 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3130 @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
|
3131 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
|
3132 @end defopt |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3133 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3134 @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
|
3135 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
|
3136 info. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3137 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3138 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3139 @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
|
3140 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
|
3141 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3142 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3143 @defopt idlwave-auto-routine-info-updates |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3144 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
|
3145 @end defopt |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3146 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3147 @node Library Catalog, Load-Path Shadows, Routine Information Sources, Sources of Routine Info |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3148 @appendixsec Library Catalog |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3149 @cindex Library scan |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3150 @cindex Library catalog |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3151 @cindex IDL library routine info |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3152 @cindex Windows |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3153 @cindex MacOS |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3154 @cindex IDL variable @code{!DIR} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3155 @cindex @code{!DIR}, IDL variable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3156 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3157 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3158 IDLWAVE can extract routine information from library modules and store |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3159 that information in a file. To do this, the variable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3160 @code{idlwave-libinfo-file} needs to contain the path to a file in an |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3161 existing directory (the default is @code{"~/.idlcat.el"}). Since the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3162 file will contain lisp code, its name should end in @file{.el}. Under |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3163 Windows and MacOS, you also need to specify the search path for IDL |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3164 library files in the variable @code{idlwave-library-path}, and the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3165 location of the IDL directory (the value of the @code{!DIR} system |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3166 variable) in the variable @code{idlwave-system-directory}, like |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3167 this@footnote{The initial @samp{+} leads to recursive expansion of the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3168 path, just like in IDL}: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3169 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3170 @lisp |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3171 (setq idlwave-library-path |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3172 '("+c:/RSI/IDL54/lib/" "+c:/user/me/idllibs" )) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3173 (setq idlwave-system-directory "c:/RSI/IDL54/") |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3174 @end lisp |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3175 |
46534
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
3176 @noindent Under GNU and UNIX, these values will be automatically inferred from |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3177 an IDLWAVE shell. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3178 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3179 The command @kbd{M-x idlwave-create-libinfo-file} can then be used to |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3180 scan library files. It brings up a widget in which you can select some |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3181 or all directories on the search path. If you only want to have routine |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3182 and completion info of some libraries, it is sufficient to scan those |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3183 directories. However, if you want IDLWAVE to detect possible name |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3184 conflicts with routines defined in other libraries, the whole pass |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3185 should be scanned. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3186 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3187 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
|
3188 button in the widget to scan all files in the selected directories and |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3189 write the resulting routine information into the file |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3190 @code{idlwave-libinfo-file}. In order to update the library information |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3191 from the same directories, call the command |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3192 @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
|
3193 @w{@kbd{C-u C-u C-c C-i}}. This will rescan files in the previously |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3194 selected directories, write an updated version of the libinfo file and |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3195 rebuild IDLWAVE's internal lists. If you give three prefix arguments |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3196 @w{@kbd{C-u C-u C-u C-c C-i}}, updating will be done with a background |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3197 job@footnote{Unix systems only, I think.}. You can continue to work, |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3198 and the library catalog will be re-read when it is ready. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3199 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3200 A note of caution: Depending on your local installation, the IDL |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3201 library can be very large. Parsing it for routine information will take |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3202 time and loading this information into Emacs can require a |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3203 significant amount of memory. However, having this information |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3204 available will be a great help. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3205 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3206 @defopt idlwave-libinfo-file |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3207 File for routine information of the IDL library. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3208 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3209 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3210 @defopt idlwave-library-path |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3211 IDL library path for Windows and MacOS. Not needed under Unix. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3212 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3213 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3214 @defopt idlwave-system-directory |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3215 The IDL system directory for Windows and MacOS. Not needed under Unix. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3216 @end defopt |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3217 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3218 @defopt idlwave-special-lib-alist |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3219 Alist of regular expressions matching special library directories. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3220 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3221 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3222 @node Load-Path Shadows, Documentation Scan, Library Catalog, Sources of Routine Info |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3223 @appendixsec Load-Path Shadows |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3224 @cindex Load-path shadows |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3225 @cindex Shadows, load-path |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3226 @cindex Duplicate routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3227 @cindex Multiply defined routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3228 @cindex Routine definitions, multiple |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3229 @cindex Application, testing for shadowing |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3230 @cindex Buffer, testing for shadowing |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3231 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3232 IDLWAVE can compile a list of routines which are defined in several |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3233 different files. Since one definition will hide (shadow) the others |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3234 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
|
3235 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
|
3236 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
|
3237 @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
|
3238 section of the routine info buffer (@pxref{Routine Info}). The |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3239 different definitions of a routine are listed in the sequence of |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3240 @emph{likelihood of use}. So the first entry will be most likely the |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3241 one you'll get if an unsuspecting command uses that routine. Before |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3242 listing shadows, you should make sure that routine info is up-to-date by |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3243 pressing @kbd{C-c C-i}. Here are the different routines: |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3244 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3245 @table @asis |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3246 @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
|
3247 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
|
3248 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
|
3249 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
|
3250 @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
|
3251 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
|
3252 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
|
3253 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
|
3254 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
|
3255 then check for shadowing. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3256 @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
|
3257 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
|
3258 @end table |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3259 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3260 For these commands to work properly you should have scanned the entire |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3261 load path, not just selected directories. Also, IDLWAVE should be able |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3262 to 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
|
3263 @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
|
3264 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
|
3265 @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
|
3266 many other reasons. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3267 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3268 @cindex Windows |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3269 @cindex MacOS |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3270 @cindex IDL variable @code{!DIR} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3271 @cindex @code{!DIR}, IDL variable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3272 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
|
3273 @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
|
3274 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
|
3275 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
|
3276 routines. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3277 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3278 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
|
3279 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
|
3280 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3281 @node Documentation Scan, , Load-Path Shadows, Sources of Routine Info |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3282 @appendixsec Documentation Scan |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3283 @cindex @file{get_rinfo} |
27186
eb645a473bf8
New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents:
26960
diff
changeset
|
3284 @cindex @file{idlw-rinfo.el} |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3285 @cindex @file{idlw-help.txt} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3286 @cindex @file{idlw-help.el} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3287 @cindex Scanning the documentation |
27186
eb645a473bf8
New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents:
26960
diff
changeset
|
3288 @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
|
3289 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3290 IDLWAVE derives it knowledge about system routines from the IDL |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3291 manuals. The file @file{idlw-rinfo.el} contains the routine information |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3292 for the IDL system routines. The Online Help feature of IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3293 requires ASCII versions of some IDL manuals to be available in a |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3294 specific format (@file{idlw-help.txt}), along with an Emacs-Lisp file |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3295 @file{idlw-help.el} with supporting code and pointers to the ASCII file. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3296 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3297 All 3 files can be derived from the IDL documentation. If you are |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3298 lucky, the maintainer of IDLWAVE will always have access to the newest |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3299 version of IDL and provide updates. The IDLWAVE distribution also |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3300 contains the Perl program @file{get_rinfo} which constructs these files |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3301 by scanning selected files from the IDL documentation. Instructions on |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3302 how to use @file{get_rinfo} are in the program itself. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3303 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3304 One particularly frustrating situation occurs when a new IDL version is |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3305 released without the associated documentation updates. Instead, a |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3306 @emph{What's New} file containing new and updated documentation is |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3307 shipped alongside the previous version's reference material. The |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3308 @file{get_rinfo} script can merge this new information into the standard |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3309 help text and routine information, as long as it is pre-formatted in a |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3310 simple way. See @file{get_rinfo} for more information. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3311 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3312 @node Configuration Examples, Windows and MacOS, Sources of Routine Info, Top |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3313 @appendix Configuration Examples |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3314 @cindex Configuration examples |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3315 @cindex Example configuration |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3316 @cindex @file{.emacs} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3317 @cindex Default settings, of options |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3318 @cindex Interview, with the maintainer |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3319 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3320 @noindent |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3321 @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
|
3322 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
|
3323 set in your own configuration? |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3324 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3325 @noindent |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3326 @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
|
3327 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
|
3328 features which: |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3329 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3330 @itemize @minus |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3331 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3332 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
|
3333 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3334 are too intrusive. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3335 @item |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3336 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
|
3337 @item |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3338 break with widely used standards. |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3339 @item |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3340 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
|
3341 @item |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3342 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
|
3343 library names. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3344 @end itemize |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3345 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3346 @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
|
3347 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
|
3348 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3349 @lisp |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
3350 (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
|
3351 idlwave-store-inquired-class t |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3352 idlwave-shell-automatic-start t |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3353 idlwave-main-block-indent 2 |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3354 idlwave-init-rinfo-when-idle-after 2 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3355 idlwave-help-dir "~/lib/emacs/idlwave" |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3356 idlwave-special-lib-alist '(("/idl-astro/" . "AstroLib") |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3357 ("/jhuapl/" . "JHUAPL-Lib") |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
3358 ("/dominik/lib/idl/" . "MyLib"))) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3359 @end lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3360 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3361 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
|
3362 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
|
3363 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
|
3364 user is King! |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3365 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3366 @example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3367 ;;; Settings for IDLWAVE mode |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3368 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3369 (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
|
3370 (setq idlwave-main-block-indent 3) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3371 (setq idlwave-end-offset -3) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3372 (setq idlwave-continuation-indent 1) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3373 (setq idlwave-begin-line-comment "^;[^;]") ; Leave ";" but not ";;" |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3374 ; anchored at start of line. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3375 (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
|
3376 (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
|
3377 (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
|
3378 (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
|
3379 ; (with abbrevs only) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3380 (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
|
3381 (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
|
3382 (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
|
3383 (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
|
3384 (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
|
3385 (keyword-default . nil); or keyword completion |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3386 ("INIT" . t) ; except for these |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3387 ("CLEANUP" . t) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3388 ("SETPROPERTY" .t) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3389 ("GETPROPERTY" .t))) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3390 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3391 ;; 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
|
3392 (add-hook 'idlwave-mode-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3393 (lambda () |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3394 (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
|
3395 ;; Run other functions here |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3396 (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
|
3397 (idlwave-auto-fill-mode 0) ; Turn off auto filling |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3398 |
46534
9059071c4fa9
Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46530
diff
changeset
|
3399 ;; 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
|
3400 ;; 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
|
3401 ;; instead of 1. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3402 (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
|
3403 (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
|
3404 (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
|
3405 (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
|
3406 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3407 ;; 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
|
3408 (idlwave-action-and-binding "," '(idlwave-surround nil 1)) |
27600 | 3409 (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
|
3410 |
27600 | 3411 ;; Pad only after `->', remove any space before the arrow |
3412 (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
|
3413 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3414 ;; Set some personal bindings |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3415 ;; (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
|
3416 (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
|
3417 (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
|
3418 (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
|
3419 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3420 ;; 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
|
3421 ;; 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
|
3422 ;; 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
|
3423 (local-set-key "\n" 'idlwave-newline) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3424 ;; (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
|
3425 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3426 ;; Some personal abbreviations |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3427 (define-abbrev idlwave-mode-abbrev-table |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3428 (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
|
3429 (idlwave-keyword-abbrev 1)) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3430 (define-abbrev idlwave-mode-abbrev-table |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3431 (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
|
3432 (idlwave-keyword-abbrev 1)) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3433 )) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3434 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3435 ;;; Settings for IDLWAVE SHELL mode |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3436 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3437 (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
|
3438 (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
|
3439 (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
|
3440 (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
|
3441 (setq idlwave-shell-process-name "wave") |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3442 (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
|
3443 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3444 ;; 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
|
3445 (add-hook 'idlwave-shell-mode-hook |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3446 (lambda () |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3447 ;; Set up some custom key and mouse examine commands |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3448 (idlwave-shell-define-key-both [s-down-mouse-2] |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3449 (idlwave-shell-mouse-examine |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3450 "print, size(___,/DIMENSIONS)")) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3451 (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
|
3452 "print, size(___,/DIMENSIONS)")) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3453 (idlwave-shell-define-key-both [f10] (idlwave-shell-examine |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3454 "print,size(___,/TNAME)")) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3455 (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
|
3456 "help,___,/STRUCTURE")))) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3457 @end example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3458 |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3459 @ifhtml |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3460 <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
|
3461 @end ifhtml |
46527
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3462 @node Windows and MacOS, Index, Configuration Examples, Top |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3463 @appendix Windows and MacOS |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3464 @cindex Windows |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3465 @cindex MacOS |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3466 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3467 IDLWAVE was developed on a UNIX system. However, due to the portability |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3468 of Emacs, much of IDLWAVE does also work under different operating |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3469 systems like Windows (with NTEmacs or NTXEmacs) or MacOS. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3470 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3471 The only problem really is that RSI does not provide a command-line |
47440
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3472 version of IDL for Windows or MacOS with which IDLWAVE can |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3473 interact@footnote{Call your RSI representative and complain --- it |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3474 should be trivial for them to provide one. And if enough people ask |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3475 for it, maybe they will. The upcoming IDL for Mac OSX is slated to |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3476 have a command-line version.}. Therefore the IDLWAVE Shell does not |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3477 work and you have to rely on IDLDE to run and debug your programs. |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3478 However, editing IDL source files with Emacs/IDLWAVE works with all |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3479 bells and whistles, including routine info, completion and fast online |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3480 help. Only a small amount of additional information must be specified |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3481 in your .emacs file: the path names which, on a UNIX system, are |
0e5a022947e9
Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
46918
diff
changeset
|
3482 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
|
3483 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3484 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
|
3485 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
|
3486 @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
|
3487 @w{@samp{C:\RSI\IDL55}}. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3488 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3489 @lisp |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3490 ;; location of the lisp files (needed if IDLWAVE is not part of |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3491 ;; the X/Emacs installation) |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3492 (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
|
3493 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3494 ;; The location of the IDL library files, both from RSI and your own. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3495 ;; 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
|
3496 (setq idlwave-library-path |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3497 '("+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
|
3498 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3499 ;; 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
|
3500 (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
|
3501 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3502 ;; location of the IDLWAVE help files idlw-help.el and idlw-help.txt. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3503 (setq idlwave-help-directory "c:/IDLWAVE") |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3504 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3505 ;; file in which to store the user catalog info |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3506 (setq idlwave-libinfo-file "c:/IDLWAVE/idlcat.el") |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3507 @end lisp |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3508 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3509 @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
|
3510 sure you check the following things: |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3511 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3512 @itemize @bullet |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3513 @item When you download the IDLWAVE distribution, make sure you save the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3514 files under the names @file{idlwave.tar.gz} and |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3515 @file{idlwave-help-tar.gz}. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3516 @item Be sure that your software for untarring/ungzipping is @emph{NOT} |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3517 doing smart CR/LF conversion (WinZip users will find this in |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3518 Options:Configuration:Miscellaneous, change the setting, then re-open |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3519 the archive). This adds one byte per line, throwing off the |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3520 byte-counts for the help file lookups and defeating fast online help lookup. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3521 @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
|
3522 instead. |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3523 @item Other issues as yet unnamed... |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3524 @end itemize |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3525 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3526 |
a687c07c44a6
Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents:
41745
diff
changeset
|
3527 @node Index, , Windows and MacOS, Top |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3528 @unnumbered Index |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3529 @printindex cp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3530 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3531 @bye |