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
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
3 @setfilename ../info/idlwave
|
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 @dircategory Editors
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
6 @direntry
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
7 * IDLWAVE: (idlwave). Major mode and shell for IDL and WAVE/CL files.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
8 @end direntry
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
9 @synindex ky cp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
10 @syncodeindex vr cp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
11 @syncodeindex fn cp
|
27600
|
12 @set VERSION 3.15
|
|
13 @set EDITION 1.10
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
14 @set IDLVERSION 5.3
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
15 @set NSYSROUTINES 1226
|
27600
|
16 @set NSYSKEYWORDS 5229
|
|
17 @set DATE February 2000
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
18 @set AUTHOR Carsten Dominik
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
19 @set AUTHOR-EMAIL dominik@@astro.uva.nl
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
20 @set MAINTAINER Carsten Dominik
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
21 @set MAINTAINER-EMAIL dominik@@astro.uva.nl
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
22 @c %**end of header
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
23 @finalout
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
24
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
25 @ifinfo
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
26 This file documents IDLWAVE, a major mode for editing IDL and
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
27 WAVE/CL files with Emacs. It also implements a shell for running IDL as
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
28 a subprocess.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
29
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
30 This is edition @value{EDITION} of the IDLWAVE User Manual for
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
31 IDLWAVE @value{VERSION}@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
32
|
27600
|
33 Copyright (c) 1999, 2000 Free Software Foundation, Inc.
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
34
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
35 Permission is granted to make and distribute verbatim
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
36 copies of this manual provided the copyright notice and
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
37 this permission notice are preserved on all copies.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
38
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
39 @ignore
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
40 Permission is granted to process this file through TeX
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
41 and print the results, provided the printed document
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
42 carries a copying permission notice identical to this
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
43 one except for the removal of this paragraph (this
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
44 paragraph not being relevant to the printed manual).
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
45
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
46 @end ignore
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
47 Permission is granted to copy and distribute modified
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
48 versions of this manual under the conditions for
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
49 verbatim copying, provided that the entire resulting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
50 derived work is distributed under the terms of a permission
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
51 notice identical to this one.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
52
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
53 Permission is granted to copy and distribute
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
54 translations of this manual into another language,
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
55 under the above conditions for modified versions,
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
56 except that this permission notice may be stated in a
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
57 translation approved by the Free Software Foundation.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
58 @end ifinfo
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
59
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
60 @titlepage
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
61 @title IDLWAVE User Manual
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
62 @subtitle Major Emacs mode and shell for IDL and WAVE/CL files
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
63 @subtitle Edition @value{EDITION}, @value{DATE}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
64
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
65 @author by Carsten Dominik
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
66 @page
|
27600
|
67 Copyright @copyright{} 1999, 2000 Free Software Foundation, Inc.
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
68
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
69 @sp 2
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
70 This is edition @value{EDITION} of the @cite{IDLWAVE User Manual} for
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
71 IDLWAVE version @value{VERSION}, @value{DATE}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
72
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
73 @sp 2
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
74
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
75 Permission is granted to make and distribute verbatim
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
76 copies of this manual provided the copyright notice and
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
77 this permission notice are preserved on all copies.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
78
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
79 Permission is granted to copy and distribute modified
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
80 versions of this manual under the conditions for
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
81 verbatim copying, provided that the entire resulting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
82 derive work is distributed under the terms of a permission
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
83 notice identical to this one.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
84
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
85 Permission is granted to copy and distribute
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
86 translations of this manual into another language,
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
87 under the above conditions for modified versions,
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
88 except that this permission notice may be stated in a
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
89 translation approved by the Free Software Foundation.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
90
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
91 @end titlepage
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
92 @page
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
93
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
94 @ifinfo
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
95 @node Top, Introduction, (dir), (dir)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
96
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
97 IDLWAVE is a package to support editing command files for the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
98 Interactive Data Language (IDL), and for running IDL as an inferior
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
99 shell. @refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
100
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
101 @end ifinfo
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
102
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
103 @menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
104 * Introduction:: What IDLWAVE is and what not
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
105 * IDLWAVE in a Nutshell:: One page quick-start guide
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
106 * The IDLWAVE Major Mode:: The mode to edit IDL programs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
107 * The IDLWAVE Shell:: The mode to run IDL as inferior program
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
108 * Installation:: How to Install or Upgrade
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
109 * Acknowledgement:: Who helped
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
110 * 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
|
111 * Configuration Examples:: The user is king...
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
112 * Index:: Fast access
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
113
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
114 @detailmenu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
115
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
116 --- The Detailed Node Listing ---
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
117
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
118 The IDLWAVE Major Mode
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
119
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
120 * Code Formatting:: Making code look nice
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
121 * Routine Info:: Calling Sequences and Keywords
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
122 * Completion:: Completing routine names and Keywords
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
123 * Code Templates:: Abbreviations for frequent constructs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
124 * Actions:: Changing case, Padding, End checking
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
125 * Doc Header:: Inserting a standard header
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
126 * 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
|
127 * 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
|
128
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
129 Code Formatting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
130
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
131 * Code Indentation:: Reflecting the logical structure
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
132 * 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
|
133 * Continuation Lines:: Splitting statements over lines
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
134 * Syntax Highlighting:: Font-lock support
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
135
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
136 Actions
|
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 * Block Boundary Check:: Is the END correct
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
139 * Padding Operators:: Enforcing space around `=' etc
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
140 * Case Changes:: Enforcing upper case keywords
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
141
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
142 The IDLWAVE Shell
|
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 * 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
|
145 * Using the Shell:: Interactively working with the Shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
146 * Debugging IDL Programs:: Compilation/Debugging
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
147
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
148 Debugging IDL Programs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
149
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
150 * Compiling Programs:: Compiling buffers under the shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
151 * Breakpoints and Stepping:: Deciding where to stop and look
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
152 * Examining Variables:: What is the value now?
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
153
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
154 Installation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
155
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
156 * Installing IDLWAVE:: How to install the distribution
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
157 * 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
|
158
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
159 Sources of Routine Info
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
160
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
161 * Routine Definitions:: Where IDL Routines are defined.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
162 * Routine Information Sources:: So how does IDLWAVE know about...
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
163 * Library Scan:: Scanning the Libraries for Routine Info
|
27186
|
164 * Updating idlw-rinfo.el:: Scanning the Reference Manual
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
165 @end detailmenu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
166 @end menu
|
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 @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
|
169 @chapter Introduction
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
170 @cindex Introduction
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
171 @cindex CORBA (Common Object Request Broker Architecture)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
172 @cindex cc-mode.el
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
173 @cindex Feature overview
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
174
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
175 IDLWAVE is a package to support editing command files for the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
176 Interactive Data Language (IDL), and for running IDL as an inferior
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
177 shell. It also can be used for WAVE/CL command files, but the support
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
178 for these is limited. Note that this package has nothing to do with the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
179 Interface Definition Language as part of the Common Object Request
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
180 Broker Architecture (CORBA).
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
181
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
182 IDLWAVE is the successor to the @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
|
183 files written by Chris Chase. The modes and files had to be renamed
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
184 because of a name space conflict with CORBAs @code{idl-mode}, defined in
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
185 Emacs in the file @file{cc-mode.el}. If you have been using the old
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
186 files, check @ref{Upgrading from idl.el} for information on how to
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
187 switch.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
188
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
189 IDLWAVE consists of two parts: A major mode for editing command files
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
190 (@code{idlwave-mode}) and a mode to allow running the IDL program as an
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
191 inferior shell (@code{idlwave-shell-mode}). Both modes work closely
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
192 together and form a complete development environment.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
193
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
194 Here is a brief summary of what IDLWAVE does.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
195
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
196 @itemize @bullet
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
197 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
198 Code indentation and formatting.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
199 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
200 Font-lock support on three levels.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
201 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
202 Display of calling sequence and keywords of more than 1000 IDL
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
203 routines.
|
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 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
|
206 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
207 Insertion of code templates.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
208 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
209 Actions to enforce coding standards during typing.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
210 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
211 Block structure check.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
212 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
213 Documentation support.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
214 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
215 Running IDL as inferior process.
|
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 Shell with history search, command line editing and completion.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
218 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
219 Compilation, execution and debugging of programs directly from the source
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
220 buffer.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
221 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
222 Examining expressions with a mouse click.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
223 @end itemize
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
224
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
225 @ifnottex
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
226 @cindex Screenshots
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
227 Here are a number of screenshots showing IDLWAVE in action.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
228 @itemize @bullet
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
229 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
230 @uref{http://www.strw.leidenuniv.nl/~dominik/Tools/idlwave/font-lock.gif,
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
231 XEmacs 21.1 with formatted and fontified code}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
232 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
233 @uref{http://www.strw.leidenuniv.nl/~dominik/Tools/idlwave/rinfo.gif,
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
234 XEmacs 21.1 displaying routine info}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
235 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
236 @uref{http://www.strw.leidenuniv.nl/~dominik/Tools/idlwave/complete.gif,
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
237 XEmacs 21.1 completing a keyword}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
238 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
239 @uref{http://www.strw.leidenuniv.nl/~dominik/Tools/idlwave/shell.gif,
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
240 XEmacs 21.1 with debugging toolbar; execution stopped at a breakpoint}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
241 @end itemize
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
242 @end ifnottex
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
243
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
244 In this manual, each section contains a list of user options related to
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
245 the subject. Don't be confused by the shear number of options available
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
246 -- in most cases the default settings are just fine. The variables are
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
247 listed here to make sure you know where to look if you want to change
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
248 things. For a full description of what a particular variable does and
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
249 how to configure it, see the documentation string of that variable.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
250 Some configuration examples are also given in the appendix.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
251
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
252 @node IDLWAVE in a Nutshell, The IDLWAVE Major Mode, Introduction, Top
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
253 @chapter IDLWAVE in a Nutshell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
254 @cindex Quick-Start
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
255 @cindex Getting Started
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
256 @cindex IDLWAVE in a Nutshell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
257 @cindex Nutshell, IDLWAVE in a
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
258
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
259 @subheading Editing IDL Programs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
260
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
261 @multitable @columnfractions .15 .85
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
262 @item @key{TAB}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
263 @tab Indent the current line relative to context.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
264 @item @kbd{M-C-\}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
265 @tab Re-indent all lines in the current region.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
266 @item @kbd{M-@key{RET}}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
267 @tab Start a continuation line. Or split the current line at point.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
268 @item @kbd{M-q}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
269 @tab Fill the current comment paragraph.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
270 @item @kbd{C-c ?}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
271 @tab Display calling sequence, keywords of the procedure/function call
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
272 at point.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
273 @item @kbd{M-@key{TAB}}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
274 @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
|
275 @item @kbd{C-c C-i}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
276 @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
|
277 @item @kbd{C-c C-v}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
278 @tab Find the source code of a procedure/function.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
279 @item @kbd{C-c C-h}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
280 @tab Insert a standard documentation header.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
281 @item @kbd{C-c C-m}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
282 @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
|
283 @end multitable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
284
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
285 @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
|
286
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
287 @multitable @columnfractions .15 .85
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
288 @item @kbd{C-c C-s}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
289 @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
|
290 @item @kbd{C-u C-c C-s}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
291 @tab Start the shell in a separate frame.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
292 @item @kbd{M-p}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
293 @tab Cycle back through IDL command history matching command line input.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
294 @item @kbd{M-n}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
295 @tab Cycle forward.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
296 @item @kbd{M-@key{TAB}}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
297 @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
|
298 @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
|
299 @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
|
300 @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
|
301 @tab Goto next syntax error.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
302 @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
|
303 @tab Set a breakpoint at the current source line.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
304 @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
|
305 @tab Clear the current breakpoint.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
306 @item @kbd{C-c C-d C-p}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
307 @tab Ask IDL to print the value of the expression near point.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
308 @end multitable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
309
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
310 @subheading Commonly used Settings in @file{.emacs}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
311 @lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
312 ;; Change the indentation preferences
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
313 (setq idlwave-main-block-indent 2 ; default 0
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
314 idlwave-block-indent 2 ; default 4
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
315 idlwave-end-offset -2) ; default -4
|
27600
|
316 ;; Pad some operators with spaces
|
|
317 (setq idlwave-do-actions t
|
|
318 idlwave-surround-by-blank t)
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
319 ;; Automatically expand END to ENDIF, ENDELSE, ...
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
320 (setq idlwave-expand-generic-end t)
|
27600
|
321 ;; Syntax Highlighting
|
|
322 (add-hook 'idlwave-mode-hook 'turn-on-font-lock)
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
323
|
27600
|
324 ;; Automatically start the shell when needed, in dedicated frame
|
|
325 (setq idlwave-shell-automatic-start t
|
|
326 idlwave-shell-use-dedicated-frame t)
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
327
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
328 ;; Specify a file where library info can be stored.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
329 (setq idlwave-libinfo-file "~/idlinfo.el")
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
330 @end lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
331
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
332 @node The IDLWAVE Major Mode, The IDLWAVE Shell, IDLWAVE in a Nutshell, Top
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
333 @chapter The IDLWAVE Major Mode
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
334 @cindex IDLWAVE major mode
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
335 @cindex Major mode, @code{idlwave-mode}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
336
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
337 The IDLWAVE major mode supports editing IDL and WAVE/CL command files.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
338 In this chapter we describe the main features of the mode and how to
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
339 customize them.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
340
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
341 @menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
342 * Code Formatting:: Making code look nice
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
343 * Routine Info:: Calling Sequences and Keywords
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
344 * Completion:: Completing routine names and Keywords
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
345 * Code Templates:: Abbreviations for frequent constructs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
346 * Actions:: Changing case, Padding, End checking
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
347 * Doc Header:: Inserting a standard header
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
348 * 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
|
349 * 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
|
350 @end menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
351
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
352 @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
|
353 @section Code Formatting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
354 @cindex Code formatting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
355 @cindex Formatting, of code
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
356
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
357 @menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
358 * Code Indentation:: Reflecting the logical structure
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
359 * 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
|
360 * Continuation Lines:: Splitting statements over lines
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
361 * Syntax Highlighting:: Font-lock support
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
362 @end menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
363
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
364 @node Code Indentation, Comment Indentation, Code Formatting, Code Formatting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
365 @subsection Code Indentation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
366 @cindex Code indentation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
367 @cindex Indentation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
368
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
369 Like all Emacs programming modes, IDLWAVE performs code indentation.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
370 The @key{TAB} key indents the current line relative to context.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
371 @key{LFD} insert a newline and indents the new line. The indentation is
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
372 governed by a number of variables.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
373
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
374 @cindex Foreign code, adapting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
375 @cindex Indentation, of foreign code
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
376 To re-indent a larger portion of code (e.g. when working with foreign code
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
377 written with different conventions), use @kbd{M-C-\}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
378 (@code{indent-region}) after marking the relevant code. Useful marking
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
379 commands are @kbd{C-x h} (the entire file) or @kbd{M-C-h} (the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
380 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
|
381 additional formatting conventions on foreign code.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
382
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
383 @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
|
384 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
|
385 the FUNCTION/PRO statement and the END statement for that program
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
386 unit.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
387 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
388
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
389 @defopt idlwave-block-indent (@code{4})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
390 Extra indentation applied to block lines. If you change this, you
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
391 probably also want to change @code{idlwave-end-offset}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
392 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
393
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
394 @defopt idlwave-end-offset (@code{-4})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
395 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
|
396 @code{idlwave-block-indent} will make END lines line up with the block
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
397 BEGIN lines.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
398 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
399
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
400 @defopt idlwave-continuation-indent (@code{2})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
401 Extra indentation applied to continuation lines and insided unbalanced
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
402 parenthesis.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
403 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
404
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
405 @node Comment Indentation, Continuation Lines, Code Indentation, Code Formatting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
406 @subsection Comment Indentation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
407 @cindex Comment indentation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
408 @cindex Hanging paragraphs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
409 @cindex Paragraphs, filling
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
410 @cindex Paragraphs, hanging
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
411
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
412 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
|
413 Comment lines are indented as follows:
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
414
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
415 @multitable @columnfractions .1 .90
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
416 @item @code{;;;}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
417 @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
|
418 unchanged.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
419 @item @code{;;}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
420 @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
|
421 @item @code{;}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
422 @tab Lines starting with a single semicolon are indent to a minimum column.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
423 @end multitable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
424
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
425 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
|
426
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
427 @defopt idlwave-no-change-comment
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
428 The indentation of a comment that starts with this regular
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
429 expression will not be changed.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
430 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
431
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
432 @defopt idlwave-begin-line-comment
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
433 A comment anchored at the beginning of line. A comment matched by this
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
434 regular expression will not have its indentation changed.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
435 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
436
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
437 @defopt idlwave-code-comment
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
438 A comment that starts with this regular expression on a line by itself
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
439 is indented as if it is a part of IDL code.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
440 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
441
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
442 @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
|
443 @subsection Continuation Lines and Filling
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
444 @cindex Continuation lines
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
445 @cindex Line splitting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
446 @cindex Splitting, of lines
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
447 @cindex Filling
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
448 @cindex @code{auto-fill-mode}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
449 @cindex Hanging paragraphs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
450
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
451 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
|
452 @samp{$}. If you would like to start a continuation line, use
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
453 @kbd{M-@key{RET}} which calls the command @code{idlwave-split-line}. It
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
454 inserts a @samp{$} to indicate that the following line is a continuation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
455 of the current line, terminates the line with a newline and indents the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
456 new line. The command @kbd{M-@key{RET}} can also be used in the middle
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
457 of a line to split the line at that point. When used inside a long
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
458 string constant, the string is split with the @samp{+} concatenation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
459 operator. You could even use @code{auto-fill-mode} to automatically
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
460 break code lines into several lines while you type. For this, set the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
461 variable @code{idlwave-fill-comment-line-only} to @code{nil} and turn on
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
462 @code{auto-fill-mode}. @code{auto-fill-mode} can be toggled with
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
463 @kbd{C-c C-a}.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
464
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
465 When filling comment paragraphs, IDLWAVE overloads the normal filling
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
466 functions and uses a function which creates hanging paragraphs as they
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
467 are customary in the IDL routine headers. When @code{auto-fill-mode} is
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
468 turned on, comments will be auto-filled. If the first line of a
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
469 paragraph is matched by @code{idlwave-hang-indent-regexp}, subsequent
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
470 lines are indented to after the position of this match, as in the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
471 following example.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
472
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
473 @example
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
474 ; INPUTS
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
475 ; x - an array containing
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
476 ; lots of interesting numbers.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
477 ;
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
478 ; y - another variable where
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
479 ; a hanging paragraph is used
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
480 ; to describe it.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
481 @end example
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
482
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
483 You also refill a comment paragraph with @kbd{M-q}.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
484
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
485 @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
|
486 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
|
487 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
488
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
489 @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
|
490 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
|
491 operator.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
492 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
493
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
494 @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
|
495 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
|
496 @samp{+}.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
497 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
498
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
499 @defopt idlwave-hanging-indent
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
500 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
|
501 indent given by @code{idlwave-hang-indent-regexp} match in the first
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
502 line of the paragraph.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
503 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
504
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
505 @defopt idlwave-hang-indent-regexp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
506 Regular expression matching the position of the hanging indent
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
507 in the first line of a comment paragraph.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
508 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
509
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
510 @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
|
511 Non-@code{nil} means use last match on line for
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
512 @code{idlwave-indent-regexp}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
513 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
514
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
515 @node Syntax Highlighting, , Continuation Lines, Code Formatting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
516 @subsection Syntax Highlighting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
517 @cindex Syntax highlighting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
518 @cindex Font lock
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
519
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
520 Highlighting of keywords, comments, strings etc. can be accomplished
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
521 with @code{font-lock}. To enable @code{font-lock} for IDL files, place
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
522 the following line into your @file{.emacs} (see
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
523 @ref{Configuration Examples})@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
524
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
525 @lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
526 (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
|
527 @end lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
528
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
529 IDLWAVE supports 3 levels of syntax highlighting. The variable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
530 @code{font-lock-maximum-decoration} determines which level is selected.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
531
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
532 @defopt idlwave-default-font-lock-items
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
533 Items which should be fontified on the default fontification level
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
534 2.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
535 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
536
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
537 @node Routine Info, Completion, Code Formatting, The IDLWAVE Major Mode
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
538 @section Routine Info
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
539 @cindex Routine info
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
540
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
541 IDL defines more than one thousand procedures, functions and object
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
542 methods. This large command set makes it difficult to remember the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
543 calling sequence and keywords of a command. IDLWAVE contains a list of
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
544 all builtin routines with calling sequences and keywords@footnote{This
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
545 list was created by scanning the IDL manual and might contain (very few)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
546 errors. Please report any detected errors to the maintainer, so that
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
547 they can be fixed.}. It also scans Emacs buffers and library files for
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
548 routine definitions and queries the IDLWAVE-Shell for the properties of
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
549 modules currently compiled under the shell. When you have edited a
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
550 buffer or compiled additional routines under the shell, use @kbd{C-c
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
551 C-i} (@code{idlwave-update-routine-info}) to update IDLWAVE's idea about
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
552 these routines.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
553
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
554 To display the information about a routine, press @kbd{C-c ?} which
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
555 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
|
556 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
|
557 function, information will be displayed about the routine. For example,
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
558 consider the cursor positions in the following line
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
559
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
560 @example
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
561 plot,x,alog(x+5*sin(x) + 2),
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
562 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
|
563 @end example
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
564
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
565 @cindex Object methods
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
566 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
|
567 be shown. On positions 3,4, and 7, the @samp{alog} function will be
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
568 described, while positions 5 and 6 will select the @samp{sin} function.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
569 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
|
570 method exists in several classes, IDLWAVE queries for the class of the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
571 object.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
572
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
573 @cindex Calling sequences
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
574 @cindex Keywords of a routine
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
575 The description displayed contains the calling sequence, the list of
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
576 keywords and the origin of this information (@emph{system routine},
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
577 @emph{library routine}, @emph{Emacs buffer}, or @emph{compiled
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
578 module}). It looks like this:
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
579
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
580 @example
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
581 Usage: MAP_PROJ_INFO, iproj
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
582 Keywords: CIRCLE CURRENT CYLINDRICAL NAME UV_LIMITS WIDTH
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
583 Origin: buffer visiting /soft1/idl/lib/map_set.pro
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
584 @end example
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
585
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
586 Some of the text in the @file{*Help*} buffer will be active (it
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
587 highlights when you move the mouse over it). Clicking with the middle
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
588 mouse button on any of the active fields will try to find the source file of
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
589 the routine and display it in another window. Another click on the same
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
590 line will switch back to the buffer from which @kbd{C-c ?} was
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
591 called. Clicking with the right mouse button on an active field will
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
592 search the IDL online help for this item.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
593
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
594 @cindex Routine source file
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
595 @cindex Module source file
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
596 Another way to find the source file of a routine is the command @kbd{C-c
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
597 C-v} (@code{idlwave-find-module}). It asks for a module name, offering
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
598 the same default as @code{idlwave-routine-info} would have used. In the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
599 minibuffer, specify a complete routine name (including the class part).
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
600 IDLWAVE will display the source file in another window.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
601
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
602 @cindex @code{RESOLVE_ROUTINE}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
603 @cindex Compiling library modules
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
604 @cindex Routines, resolving
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
605 @cindex Online help, for IDL routines
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
606 The two other commands that work with the routine at point need a
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
607 running IDLWAVE shell. The key sequence @kbd{M-?} calls the command
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
608 @code{idlwave-routine-info-from-idlhelp}. This sends the command line
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
609 @samp{ONLINE_HELP, '@var{routine_name}'} to IDL in order to display the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
610 documentation of the routine in the IDL online documentation. The key
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
611 sequence @kbd{C-c =} calls the command @code{idlwave-resolve} and sends
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
612 the line @samp{RESOLVE_ROUTINE, '@var{routine_name}'} to IDL in order to
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
613 resolve (compile) it.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
614
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
615 @code{idlwave-resolve} is one way to get a library module within reach
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
616 of IDLWAVE's routine info collecting functions. A better way is to
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
617 prescan (parts of) the library (@pxref{Library Scan}). Routine info on
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
618 library modules will then be available without the need to compile the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
619 modules first, and even without a running shell.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
620
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
621 @xref{Sources of Routine Info}, for in-depth information where IDLWAVE
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
622 collects data about routines, and how to update this information.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
623
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
624 @defopt idlwave-scan-all-buffers-for-routine-info (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
625 Non-@code{nil} means, scan all buffers for IDL programs when updating
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
626 info. When this variable is @code{nil}, it only parses the current
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
627 buffer.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
628 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
629
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
630 @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
|
631 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
|
632 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
633
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
634 @defopt idlwave-resize-routine-help-window (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
635 Non-@code{nil} means, resize the Routine-info @file{*Help*} window to
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
636 fit the content.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
637 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
638
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
639
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
640 @node Completion, Code Templates, Routine Info, The IDLWAVE Major Mode
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
641 @section Completion
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
642 @cindex Completion
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
643
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
644 IDLWAVE offers completion for routine names and keywords. As in many
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
645 programming modes, completion is bound to @kbd{M-@key{TAB}}.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
646 Completion uses the same internal information as routine info,
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
647 so in order to update IDLWAVE's idea about your own routines after you
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
648 have edited or compiled them, press @kbd{C-c C-i}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
649 (@code{idlwave-update-routine-info}).@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
650
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
651 The completion function is context sensitive and figures out what to
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
652 complete at point. Here are example lines and what @kbd{M-@key{TAB}}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
653 would try to complete when the cursor is on the position marked with a
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
654 @samp{*}.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
655
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
656 @example
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
657 plo* @r{Procedure}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
658 x = a* @r{Function}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
659 plot,xra* @r{Keyword of @code{plot} procedure}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
660 plot,x,y,/x* @r{Keyword of @code{plot} procedure}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
661 plot,min(* @r{Keyword of @code{min} function}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
662 obj -> a* @r{Object method (procedure)}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
663 a(2,3) = obj -> a* @r{Object method (function)}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
664 x = obj_new('IDL* @r{Class name}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
665 x = obj_new('MyCl',a* @r{Keyword to @code{Init} method in class @code{MyCl}}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
666 @end example
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
667
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
668 @cindex Scrolling the @file{*Completions*} window
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
669 @cindex Completion, scrolling
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
670 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
|
671 @file{*Completions*} window, the window can be scrolled by pressing
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
672 @kbd{M-@key{TAB}} repeatedly.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
673
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
674 @cindex Case of completed words
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
675 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
|
676 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
|
677 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
|
678 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
|
679 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
|
680 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
|
681 conventions in the IDL manuals. These defaults can be changed with the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
682 variable @code{idlwave-completion-case}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
683
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
684 @defopt idlwave-completion-case
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
685 Association list setting the case (UPPER/lower/Capitalized/...) of completed
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
686 words.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
687 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
688
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
689 @defopt idlwave-completion-force-default-case (@code{nil})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
690 Non-@code{nil} means, completion will always honor the settings in
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
691 @code{idlwave-completion-case}. When nil (the default), lower case
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
692 strings will be completed to lower case.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
693 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
694
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
695 @defopt idlwave-complete-empty-string-as-lower-case (@code{nil})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
696 Non-@code{nil} means, the empty string is considered lower case for
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
697 completion.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
698 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
699
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
700 @defopt idlwave-keyword-completion-adds-equal (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
701 Non-@code{nil} means, completion automatically adds @samp{=} after
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
702 completed keywords.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
703 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
704
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
705 @defopt idlwave-function-completion-adds-paren (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
706 Non-@code{nil} means, completion automatically adds @samp{(} after
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
707 completed function. A value of `2' means, also add the closing
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
708 parenthesis and position cursor between the two.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
709 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
710
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
711 @defopt idlwave-completion-restore-window-configuration (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
712 Non-@code{nil} means, restore window configuration after successful
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
713 completion.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
714 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
715
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
716 @subsubheading Object Method Completion and Class Ambiguity
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
717 @cindex Object methods
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
718 @cindex Class ambiguity
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
719 An object method is not uniquely determined without the object's class.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
720 Since the class part is usually omitted in the source code, IDLWAVE
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
721 considers all available methods in all classes as possible completions
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
722 of an object method name. For keywords, the combined keywords of the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
723 current method in all available classes will be considered. In the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
724 @file{*Completions*} buffer, the classes allowed for each completion
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
725 will be shown next to the item (see option
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
726 @code{idlwave-completion-show-classes}).@refill
|
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 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
|
729 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
|
730 narrow down the number of possible completions. The variable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
731 @code{idlwave-query-class} can be configured to make this behavior the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
732 default (not really recommended). After you have specified the class
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
733 for a particular statement (e.g. when completing the method), IDLWAVE
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
734 can remember it for the rest of the editing session. Subsequent
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
735 completions in the same statement (e.g. keywords) can then reuse this
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
736 class information. Remembering the class works by placing a text
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
737 property in the object operator @samp{->}. This is not enabled by
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
738 default - the variable @code{idlwave-store-inquired-class} can be used
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
739 to turn it on.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
740
|
27600
|
741 @defopt idlwave-completion-show-classes (@code{1})
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
742 Non-@code{nil} means, show classes in @file{*Completions*} buffer when
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
743 completing object methods and keywords.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
744 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
745
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
746 @defopt idlwave-completion-fontify-classes (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
747 Non-@code{nil} means, fontify the classes in completions buffer.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
748 @end defopt
|
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 @defopt idlwave-query-class (@code{nil})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
751 Association list governing query for object classes during completion.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
752 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
753
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
754 @defopt idlwave-store-inquired-class (@code{nil})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
755 Non-@code{nil} means, store class of a method call as text property on
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
756 @samp{->}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
757 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
758
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
759 @defopt idlwave-class-arrow-face
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
760 Face to highlight object operator arrows @samp{->} which carry a class
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
761 property.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
762 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
763
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
764 @node Code Templates, Actions, Completion, The IDLWAVE Major Mode
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
765 @section Code Templates
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
766 @cindex Code templates
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
767 @cindex Abbreviations
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
768 @cindex Templates
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
769
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
770 IDLWAVE can insert IDL code templates into the buffer. For a few
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
771 templates, this is done with direct keybindings:
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
772
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
773 @multitable @columnfractions .15 .85
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
774 @item @kbd{C-c C-c}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
775 @tab @code{CASE} statement template
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
776 @item @kbd{C-c C-f}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
777 @tab @code{FOR} loop template
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
778 @item @kbd{C-c C-r}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
779 @tab @code{REPEAT} loop template
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
780 @item @kbd{C-c C-w}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
781 @tab @code{WHILE} loop template
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
782 @end multitable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
783
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
784 Otherwise, special abbreviations are used. Emacs abbreviations are
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
785 expanded by typing text into the buffer and pressing @key{SPC} or
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
786 @key{RET}. The special abbreviations used to insert code templates all
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
787 start with a @samp{\} (the backslash). Here are a few examples of
|
27600
|
788 predefined abbreviations. For a full list, use @kbd{M-x
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
789 idlwave-list-abbrevs}.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
790
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
791 @multitable @columnfractions .15 .85
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
792 @item @code{\pr}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
793 @tab @code{PROCEDURE} template
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
794 @item @code{\fu}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
795 @tab @code{FUNCTION} template
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
796 @item @code{\c}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
797 @tab @code{CASE} statement template
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
798 @item @code{\f}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
799 @tab @code{FOR} loop template
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
800 @item @code{\r}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
801 @tab @code{REPEAT} loop template
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
802 @item @code{\w}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
803 @tab @code{WHILE} loop template
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
804 @item @code{\i}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
805 @tab @code{IF} statement template
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
806 @item @code{\elif}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
807 @tab @code{IF-ELSE} statement template
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
808 @item @code{\b}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
809 @tab @code{BEGIN}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
810 @end multitable
|
27600
|
811
|
|
812 The templates are expanded in upper or lower case, depending upon the
|
|
813 variables @code{idlwave-abbrev-change-case} and
|
|
814 @code{idlwave-reserved-word-upcase}.@refill
|
|
815
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
816 @defopt idlwave-abbrev-start-char
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
817 A single character string used to start abbreviations in abbrev
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
818 mode.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
819 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
820
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
821 @defopt idlwave-abbrev-move (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
822 Non-@code{nil} means the abbrev hook can move point, e.g. to end up
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
823 between the parenthesis of a function call.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
824 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
825
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
826 @node Actions, Doc Header, Code Templates, The IDLWAVE Major Mode
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
827 @section Actions
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
828 @cindex Actions
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
829 @cindex Coding standards, enforcing
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
830
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
831 @emph{Actions} are special commands which are executed automatically
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
832 while you write code in order to check the structure of the program or
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
833 to enforce coding standards. Most actions which have been implemented
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
834 in IDLWAVE are turned off by default, assuming that the average user
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
835 wants her code the way she writes it. But if you are a lazy typist and
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
836 want your code to adhere to certain standards, they can be
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
837 helpful.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
838
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
839 Action can be applied in three ways:
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
840 @itemize @bullet
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
841 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
842 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
|
843 @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
|
844 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
|
845 after a reserved word can call a command to change the word to upper
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
846 case.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
847 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
848 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
|
849 entire line. To enable this, the variable @code{idlwave-do-actions}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
850 must be non-@code{nil}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
851 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
852 @cindex Foreign code, adapting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
853 @cindex Actions, applied to foreign code
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
854 Action can also be applied to a larger piece of code, e.g. in order to
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
855 convert foreign code to your own style. To do this, mark the relevant
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
856 part of the code and execute @kbd{M-x expand-region-abbrevs}. Useful
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
857 marking commands are @kbd{C-x h} (the entire file) or @kbd{M-C-h} (the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
858 current subprogram). @xref{Code Indentation}, for information how to
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
859 ajust the indentation of the code.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
860 @end itemize
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
861
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
862 @defopt idlwave-do-actions (@code{nil})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
863 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
|
864 @end defopt
|
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 @menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
867 * Block Boundary Check:: Is the END correct
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
868 * Padding Operators:: Enforcing space around `=' etc
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
869 * Case Changes:: Enforcing upper case keywords
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
870 @end menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
871
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
872 @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
|
873 @subsection Block Boundary Check
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
874 @cindex Block boundary check
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
875 @cindex @code{END} type checking
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
876 @cindex @code{END}, automatic insertion
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
877 @cindex Block, closing
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
878 @cindex Closing a block
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
879
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
880 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
|
881 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
|
882 location for a second. If you have typed a specific @code{END}, like
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
883 @code{ENDIF} or @code{ENDCASE}, you get a warning if that kind of END
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
884 does not match the type of block it terminates.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
885
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
886 Set the variable @code{idlwave-expand-generic-end} in order to have all
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
887 generic @code{END} statements automatically expanded to a specific type.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
888 You can also type @kbd{C-c ]} to close the current block by inserting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
889 the appropriate @code{END} statement.@refill
|
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-show-block (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
892 Non-@code{nil} means point blinks to block beginning for
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
893 @code{idlwave-show-begin}.@refill
|
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 @defopt idlwave-expand-generic-end (@code{nil})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
897 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
|
898 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
899
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
900 @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
|
901 @subsection Padding Operators
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
902 @cindex Padding operators with spaces
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
903 @cindex Operators, padding with spaces
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
904
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
905 Some operators can be automatically surrounded by spaces. This can
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
906 happen when the operator is typed, or also later when the line is
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
907 indented. IDLWAVE contains this setting for the operators @samp{&},
|
27600
|
908 @samp{<}, @samp{>}, @samp{,}, @samp{=}, and @samp{->}@footnote{operators
|
|
909 longer than one character can only be padded during line indentation.},
|
|
910 but the feature is turned off by default. If you want to turn it on,
|
|
911 customize the variables @code{idlwave-surround-by-blank} and
|
|
912 @code{idlwave-do-actions}. You can also define similar actions for
|
|
913 other operators by using the function @code{idlwave-action-and-binding}
|
|
914 in the mode hook. For example, to enforce space padding of the @samp{+}
|
|
915 and @samp{*} operators, try this in @file{.emacs}@refill
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
916
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
917 @lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
918 (add-hook 'idlwave-mode-hook
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
919 (lambda ()
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
920 (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
|
921 (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
|
922 (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
|
923 @end lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
924
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
925 @defopt idlwave-surround-by-blank (@code{nil})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
926 Non-@code{nil} means, enable @code{idlwave-surround}. If non-nil,
|
27600
|
927 @samp{=}, @samp{<}, @samp{>}, @samp{&}, @samp{,}, @samp{->} are
|
|
928 surrounded with spaces by @code{idlwave-surround}.@refill
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
929 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
930
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
931 @defopt idlwave-pad-keyword (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
932 Non-@code{nil} means pad @samp{=} for keywords like assignments.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
933 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
934
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
935 @node Case Changes, , Padding Operators, Actions
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
936 @subsection Case Changes
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
937 @cindex Case changes
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
938
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
939 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
|
940 abbreviations by customizing the variables
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
941 @code{idlwave-abbrev-change-case} and
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
942 @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
|
943 additional words automatically, put something like the following into
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
944 your @file{.emacs} file:@refill
|
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 @lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
947 (add-hook 'idlwave-mode-hook
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
948 (lambda ()
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
949 ;; Capitalize system vars
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
950 (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
|
951 ;; Capitalize procedure name
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
952 (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
|
953 '(capitalize-word 1) t)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
954 ;; Capitalize common block name
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
955 (idlwave-action-and-binding "\\<common\\>[ \t]+\\<"
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
956 '(capitalize-word 1) t)))
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
957 @end lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
958
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
959 For more information, see the documentation string for the function
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
960 @code{idlwave-action-and-binding}.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
961
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
962 @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
|
963 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
|
964 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
|
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-reserved-word-upcase (@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, reserved words will be made upper case via abbrev
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
969 expansion.
|
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
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
972
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
973 @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
|
974 @section Documentation Header
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
975 @cindex Documentation header
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
976 @cindex Modification timestamp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
977 @cindex Header, for file documentation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
978 @cindex Timestamp, in doc header.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
979 @cindex Changelog, in doc header.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
980
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
981 The command @kbd{C-c C-h} inserts a standard routine header into the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
982 buffer, with the usual fields for documentation. One of the keywords is
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
983 @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
|
984 recorded. The command @kbd{C-c C-m} jumps to the @samp{MODIFICATION
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
985 HISTORY} of the current routine or file and inserts the user
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
986 name with a timestamp.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
987
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
988 @defopt idlwave-file-header
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
989 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
|
990 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
991
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
992 @defopt idlwave-timestamp-hook
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
993 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
|
994 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
995
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
996 @defopt idlwave-doc-modifications-keyword
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
997 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
|
998 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
999
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1000 @defopt idlwave-doclib-start
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1001 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
|
1002 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1003
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1004 @defopt idlwave-doclib-end
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1005 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
|
1006 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1007
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1008 @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
|
1009 @section Motion Commands
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1010 @cindex Motion commands
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1011 @cindex Program structure, moving through
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1012 @cindex Code structure, moving through
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1013
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1014 Several commands allow to move quickly through the structure of an IDL
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1015 program. These are
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1016
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1017 @multitable @columnfractions .15 .85
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1018 @item @kbd{C-M-a}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1019 @tab Beginning of subprogram
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1020 @item @kbd{C-M-e}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1021 @tab End of subprogram
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1022 @item @kbd{C-c @{}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1023 @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
|
1024 @item @kbd{C-c @}}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1025 @tab End of block (stay inside the block)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1026 @item @kbd{M-C-n}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1027 @tab Forward block (on same level)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1028 @item @kbd{M-C-p}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1029 @tab Backward block (on same level)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1030 @item @kbd{M-C-d}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1031 @tab Down block (enters a block)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1032 @item @kbd{M-C-u}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1033 @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
|
1034 @item @kbd{C-c C-n}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1035 @tab Next Statement
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1036 @end multitable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1037
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1038
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1039 @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
|
1040 @section Miscellaneous Options
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1041
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1042 @defopt idlwave-help-application
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1043 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
|
1044 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1045
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1046 @defopt idlwave-startup-message (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1047 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
|
1048 is first called.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1049 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1050
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1051 @defopt idlwave-mode-hook
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1052 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
|
1053 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1054
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1055 @defopt idlwave-load-hook
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1056 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
|
1057 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1058
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1059
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1060
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1061
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1062
|
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
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1065
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1066
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1067
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1068
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1069
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1070
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1071
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1072
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1073
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1074 @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
|
1075 @chapter The IDLWAVE Shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1076 @cindex IDLWAVE shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1077 @cindex Major mode, @code{idlwave-shell-mode}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1078
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1079 The IDLWAVE shell is an Emacs major mode which allows to run the IDL
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1080 program as an inferior process of Emacs. It can be used to work with
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1081 IDL interactively, to compile and run IDL programs in Emacs buffers and
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1082 to debug these programs. The IDLWAVE shell uses @file{comint}, an Emacs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1083 packages which handles the communication with the IDL program.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1084 Unfortunately IDL for Windows and MacOS does not allow the interaction
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1085 with Emacs@footnote{Please inform the maintainer if you come up with a way
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1086 to make the IDLWAVE shell work on these systems.} - so the IDLWAVE shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1087 only works under Unix.@refill
|
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 @menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1090 * 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
|
1091 * Using the Shell:: Interactively working with the Shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1092 * Debugging IDL Programs:: Compilation/Debugging
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1093 @end menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1094
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1095 @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
|
1096 @section Starting the Shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1097 @cindex Starting the shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1098 @cindex Shell, starting
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1099 @cindex Dedicated frame, for shell buffer
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1100 @cindex Frame, for shell buffer
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1101
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1102 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
|
1103 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
|
1104 @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
|
1105 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
|
1106 will simple switch to the shell buffer. The command @kbd{C-c C-l}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1107 (@code{idlwave-shell-recenter-shell-window}) displays the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1108 shell window without selecting it.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1109
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1110 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
|
1111 @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
|
1112 @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
|
1113 window, configure the variable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1114 @code{idlwave-shell-use-dedicated-frame}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1115
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1116 The shell can also be started automatically when another command tries
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1117 to send a command to it. To enable auto start, set the variable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1118 @code{idlwave-shell-automatic-start} to @code{t}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1119
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1120 @defopt idlwave-shell-explicit-file-name
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1121 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
|
1122 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1123
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1124 @defopt idlwave-shell-command-line-options
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1125 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
|
1126 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1127
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1128 @defopt idlwave-shell-prompt-pattern
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1129 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
|
1130 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1131
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1132 @defopt idlwave-shell-process-name
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1133 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
|
1134 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1135
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1136 @defopt idlwave-shell-automatic-start
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1137 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
|
1138 running.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1139 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1140
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1141 @defopt idlwave-shell-initial-commands
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1142 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
|
1143 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1144
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1145 @defopt idlwave-shell-use-dedicated-frame (@code{nil})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1146 Non-@code{nil} means, IDLWAVE should use a special frame to display
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1147 shell buffer.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1148 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1149
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1150 @defopt idlwave-shell-frame-parameters
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1151 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
|
1152 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1153
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1154 @defopt idlwave-shell-temp-pro-prefix
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1155 The prefix for temporary IDL files used when compiling regions.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1156 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1157
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1158 @defopt idlwave-shell-mode-hook
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1159 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
|
1160 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1161
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1162 @node Using the Shell, Debugging IDL Programs, Starting the Shell, The IDLWAVE Shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1163 @section Using the Shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1164 @cindex comint
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1165 @cindex Shell, basic commands
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1166
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1167 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
|
1168 Emacs. It provides command history, command line editing and job
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1169 control. Here is a list of commonly used commands, see the Emacs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1170 documentation on @file{comint} for additional information.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1171
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1172 @multitable @columnfractions .12 .88
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1173 @item @kbd{M-p}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1174 @tab Cycle backwards in input history matching input
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1175 @item @kbd{M-n}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1176 @tab Cycle forwards
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1177 @item @kbd{M-r}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1178 @tab Previous input matching a regexp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1179 @item @kbd{M-s}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1180 @tab Next input that matches a regexp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1181 @item @kbd{return}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1182 @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
|
1183 @item @kbd{C-c C-a}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1184 @tab Beginning of line; skip prompt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1185 @item @kbd{C-c C-u}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1186 @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
|
1187 @item @kbd{C-c C-w}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1188 @tab Kill word before cursor
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1189 @item @kbd{C-c C-c}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1190 @tab Send ^C
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1191 @item @kbd{C-c C-z}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1192 @tab Send ^Z
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1193 @item @kbd{C-c C-\}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1194 @tab Send ^\
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1195 @item @kbd{C-c C-o}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1196 @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
|
1197 @item @kbd{C-c C-r}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1198 @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
|
1199 @item @kbd{C-c C-l}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1200 @tab List input history
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1201 @end multitable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1202
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1203 In addition to these standard @file{comint} commands,
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1204 @code{idlwave-shell-mode} has some bindings which correspond to similar
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1205 commands in @code{idlwave-mode}. See @ref{Routine Info} and
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1206 @ref{Completion} for more information on these commands.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1207
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1208 @cindex Completion in the shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1209 @cindex Routine info in the shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1210 @multitable @columnfractions .12 .88
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1211 @item @kbd{@key{TAB}}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1212 @tab Completion of file names, routine names and keywords
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1213 (@code{idlwave-shell-complete})@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1214 @item @kbd{M-@key{TAB}}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1215 @tab Same as @key{TAB}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1216 @item @kbd{C-c ?}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1217 @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
|
1218 @item @kbd{M-?}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1219 @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
|
1220 @item @kbd{C-c C-i}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1221 @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
|
1222 (@code{idlwave-update-routine-info})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1223 @item @kbd{C-c C-v}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1224 @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
|
1225 @item @kbd{C-c =}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1226 @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
|
1227 @end multitable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1228
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1229 @defopt idlwave-shell-file-name-chars
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1230 The characters allowed in file names, as a string. Used for file name
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1231 completion.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1232 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1233
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1234 @node Debugging IDL Programs, , Using the Shell, The IDLWAVE Shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1235 @section Debugging IDL Programs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1236 @cindex Debugging
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1237 @cindex Keybindings for debugging
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1238 @cindex Toolbar
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1239
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1240 Programs can be compiled, run, and debugged directly from the source
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1241 buffer in Emacs. The IDLWAVE shell installs keybindings both in the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1242 shell buffer and in all IDL code buffers of the current Emacs session.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1243 On Emacs versions which support this, it also installs a debugging
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1244 toolbar. The display of the toolbar can be toggled with @kbd{C-c C-d
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1245 C-t} (@code{idlwave-shell-toggle-toolbar}).@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1246
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1247 The debugging keybindings are by default on the prefix key @kbd{C-c
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1248 C-d}, so for example setting a breakpoint is done with @kbd{C-c C-d
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1249 C-b}. If you find this too much work and your ALT key is still
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1250 available, turn on the variable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1251 @code{idlwave-shell-activate-alt-keybindings} in order to get breakpoint
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1252 setting on @kbd{A-b}. In the remainder of this chapter we will assume
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1253 that the @kbd{C-c C-d} bindings are active.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1254
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1255 @defopt idlwave-shell-prefix-key
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1256 The prefix key for the debugging map
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1257 @code{idlwave-shell-mode-prefix-map}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1258 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1259
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1260 @defopt idlwave-shell-activate-prefix-keybindings (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1261 Non-@code{nil} means, debug commands will be bound to the prefix
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1262 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
|
1263 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1264
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1265 @defopt idlwave-shell-activate-alt-keybindings (@code{nil})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1266 Non-@code{nil} means, debug commands will be bound to alternate
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1267 keys, like @kbd{A-b}.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1268 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1269
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1270 @defopt idlwave-shell-use-toolbar (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1271 Non-@code{nil} means, use the debugging toolbar in all IDL related
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1272 buffers.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1273 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1274
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1275
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1276 @menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1277 * Compiling Programs:: Compiling buffers under the shell
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1278 * Breakpoints and Stepping:: Deciding where to stop and look
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1279 * Examining Variables:: What is the value now?
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1280 @end menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1281
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1282 @node Compiling Programs, Breakpoints and Stepping, Debugging IDL Programs, Debugging IDL Programs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1283 @subsection Compiling Programs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1284 @cindex Compiling programs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1285 @cindex Programs, compiling
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1286 @cindex Default command line, executing
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1287 @cindex Executing a default command line
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1288
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1289 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
|
1290 @kbd{C-c C-d C-c} (@code{idlwave-save-and-run}). This first saves the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1291 current buffer and then send the command @samp{.run path/to/file} to the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1292 shell. You can laso execute @kbd{C-c C-d C-c} from the shell buffer, in
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1293 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
|
1294 re-compiled.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1295
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1296 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
|
1297 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
|
1298 @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
|
1299 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
|
1300 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
|
1301 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
|
1302 line, call @code{idlwave-shell-execute-default-command-line} with a
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1303 prefix argument: @kbd{C-u C-c C-d C-y}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1304
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1305 @defopt idlwave-shell-mark-stop-line (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1306 Non-@code{nil} means, mark the source code line where IDL is currently
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1307 stopped. The value decides about the preferred method. Legal values
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1308 are @code{nil}, @code{t}, @code{arrow}, and @code{face}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1309 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1310
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1311 @defopt idlwave-shell-overlay-arrow
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1312 The overlay arrow to display at source lines where execution
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1313 halts.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1314 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1315
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1316 @defopt idlwave-shell-stop-line-face
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1317 The face which highlights the source line where IDL is
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1318 stopped.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1319 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1320
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1321 @node Breakpoints and Stepping, Examining Variables, Compiling Programs, Debugging IDL Programs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1322 @subsection Breakpoints and Stepping
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1323 @cindex Breakpoints
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1324 @cindex Stepping
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1325
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1326 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
|
1327 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
|
1328 with @kbd{C-c C-d C-b} (@code{idlwave-shell-break-here}). With a prefix
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1329 arg of 1, the breakpoint gets a @code{/ONCE} keyword, meaning that it
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1330 will be deleted after first use. With a numeric prefix greater than
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1331 one, the breakpoint will only be active the @code{nth} time it is hit.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1332 To clear the breakpoint in the current line, use @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
|
1333 (@code{idlwave-clear-current-bp}). To clear all breakpoints, use
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1334 @kbd{C-c C-d C-a} (@code{idlwave-clear-all-bp}). Breakpoint lines are
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1335 highlighted in the source code.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1336
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1337 Once the program has stopped somewhere, you can step through it. Here
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1338 is a summary of the breakpoint and stepping commands:
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1339
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1340 @multitable @columnfractions .2 .8
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1341 @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
|
1342 @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
|
1343 @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
|
1344 @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
|
1345 @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
|
1346 @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
|
1347 @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
|
1348 @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
|
1349 @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
|
1350 @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
|
1351 @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
|
1352 @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
|
1353 @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
|
1354 @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
|
1355 @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
|
1356 @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
|
1357 @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
|
1358 @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
|
1359 @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
|
1360 @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
|
1361 @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
|
1362 @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
|
1363 @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
|
1364 @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
|
1365 @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
|
1366 @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
|
1367 @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
|
1368 @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
|
1369 @end multitable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1370
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1371 @defopt idlwave-shell-mark-breakpoints (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1372 Non-@code{nil} means, mark breakpoints in the source file buffers. The
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1373 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
|
1374 @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
|
1375 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1376
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1377 @defopt idlwave-shell-breakpoint-face
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1378 The face for breakpoint lines in the source code if
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1379 @code{idlwave-shell-mark-breakpoints} has the value @code{face}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1380 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1381
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1382 @node Examining Variables, , Breakpoints and Stepping, Debugging IDL Programs
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1383 @subsection Examining Variables
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1384 @cindex @code{PRINT} expressions
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1385 @cindex @code{HELP}, on expressions
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1386 @cindex Expressions, printing
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1387 @cindex Expressions, help
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1388 @cindex Mouse binding to print expressions
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1389
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1390 When execution is stopped you can examine the values of variables. The
|
27600
|
1391 command @kbd{C-c C-d C-p} prints the expression at point, while @kbd{C-c
|
|
1392 C-d ?} shows help on this expression. The expression at point is an
|
|
1393 array expression or a function call, or the contents of a pair of
|
|
1394 parenthesis. The selected expression becomes highlighted in the source
|
|
1395 code for a short time. Calling the above commands with a prefix
|
|
1396 argument will prompt for an expression instead of using the one at
|
|
1397 point.
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1398
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1399 I find it very convenient to bind these functions to a mouse event, so
|
27600
|
1400 that simply clicking on an expression prints its value. The following
|
|
1401 code binds printing an expression to a click with mouse button 2 while
|
|
1402 holding down the @key{SHIFT} key:
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1403
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1404 @lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1405 (add-hook 'idlwave-shell-mode-hook
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1406 (lambda()
|
27600
|
1407 (define-key idlwave-mode-map [(shift mouse-2)]
|
|
1408 'idlwave-shell-mouse-print)))
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1409 @end lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1410
|
27600
|
1411 Printing of expressions also works on higher levels of the calling
|
|
1412 stack. This means that you can examine the values of variables and
|
|
1413 expressions inside the routine which called the current routine etc.
|
|
1414 Use the commands @kbd{C-c C-d C-@key{UP}}
|
|
1415 (@code{idlwave-shell-stack-up}) and @kbd{C-c C-d C-@key{DOWN}}
|
|
1416 (@code{idlwave-shell-stack-down}) or the corresponding toolbar buttons
|
|
1417 to move through the calling stack. The mode line will indicate the
|
|
1418 routine and the calling stack level which define the context for
|
|
1419 printing expressions. The following restrictions apply for all levels
|
|
1420 except the current:@refill
|
|
1421
|
|
1422 @itemize @bullet
|
|
1423 @item
|
|
1424 Array expressions must use the @samp{[ ]} index delimiters. Identifiers
|
|
1425 with a @samp{( )} will be interpreted as function calls.
|
|
1426 @item
|
|
1427 Variable names in the expression may not start with an underscore
|
|
1428 @samp{_}.
|
|
1429 @item
|
|
1430 @cindex ROUTINE_NAMES, IDL procedure
|
|
1431 Printing values of expressions on higher levels of the calling stack
|
|
1432 uses the @emph{unsupported} IDL routine @code{ROUTINE_NAMES}, which may
|
|
1433 or may not be available in future versions of IDL.
|
|
1434 @end itemize
|
|
1435
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1436 @defopt idlwave-shell-expression-face
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1437 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
|
1438 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
|
1439 the expression printed by IDL.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1440 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1441
|
27600
|
1442 @defopt idlwave-shell-print-expression-function (@code{nil})
|
|
1443 A function to handle special display of evaluated expressions.
|
|
1444 @end defopt
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1445
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1446 @node Installation, Acknowledgement, The IDLWAVE Shell, Top
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1447 @chapter Installation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1448 @cindex Installation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1449 @cindex FTP site
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1450 @cindex URL, homepage for IDLWAVE
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1451 @cindex Homepage for IDLWAVE
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1452
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1453 @menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1454 * Installing IDLWAVE:: How to install the distribution
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1455 * 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
|
1456 @end menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1457
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1458 @node Installing IDLWAVE, Upgrading from idl.el, Installation, Installation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1459 @section Installing IDLWAVE
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1460
|
27600
|
1461 IDLWAVE is part of Emacs 21.1 and later. It is also an XEmacs packages
|
|
1462 and can be installed from
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1463 @uref{ftp://ftp.xemacs.org/pub/xemacs/packages/,the XEmacs ftp site}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1464 with the normal package management system on XEmacs 21.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1465
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1466 You can also download IDLWAVE and install it yourself from
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1467 @uref{http://www.strw.leidenuniv.nl/~dominik/Tools/idlwave, the maintainers
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1468 webpage}. Follow the instructions in the INSTALL file.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1469
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1470 @node Upgrading from idl.el, , Installing IDLWAVE, Installation
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1471 @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
|
1472 @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
|
1473 @cindex Renaming old variables
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1474 @cindex Old variables, renaming
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1475
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1476 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
|
1477 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
|
1478 customization in @file{.emacs}.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1479
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1480 @enumerate
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1481 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1482 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
|
1483 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1484 Remove the now invalid @code{autoload} and @code{auto-mode-alist} forms
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1485 pointing to the @file{idl.el} and @file{idl-shell.el} files.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1486 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1487 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
|
1488 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
|
1489 @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
|
1490 @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
|
1491 @lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1492 (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
|
1493 @end lisp
|
27600
|
1494 @item
|
|
1495 The key sequence @kbd{M-@key{TAB}} no longer inserts a TAB character,
|
|
1496 but (as in many other Emacs modes) does completion. Inserting a TAB is
|
|
1497 now bound to @kbd{C-c @key{SPC}}.@refill
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1498 @end enumerate
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1499
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1500 @node Acknowledgement, Sources of Routine Info, Installation, Top
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1501 @chapter Acknowledgement
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1502 @cindex Acknowledgement
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1503 @cindex Thanks
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1504
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1505 @file{idl.el} and @file{idl-shell.el} were written by
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1506 @uref{mailto:chase@@att.com, Chris Chase}. The package
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1507 was extended and renamed to IDLWAVE by the current maintainer
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1508 @uref{mailto:dominik@@strw.leidenuniv.nl, Carsten Dominik}.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1509
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1510 Thanks to the following people who have contributed to the development
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1511 of IDLWAVE with patches, ideas, bug reports and suggestions.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1512
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1513 @itemize @minus
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1514 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1515 Ulrik Dickow <dickow@@nbi.dk>
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1516 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1517 Eric E. Dors <edors@@lanl.gov>
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1518 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1519 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
|
1520 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1521 David Huenemoerder <dph@@space.mit.edu>
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1522 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1523 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
|
1524 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1525 Xuyong Liu <liu@@stsci.edu>
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1526 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1527 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
|
1528 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1529 Laurent Mugnier <mugnier@@onera.fr>
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1530 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1531 Lubos Pochman <lubos@@rsinc.com>
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1532 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1533 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
|
1534 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1535 Marty Ryba <ryba@@ll.mit.edu>
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1536 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1537 Phil Williams <williams@@irc.chmcc.org>
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1538 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1539 J.D. Smith <jdsmith@@astrosun.tn.cornell.edu>
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1540 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1541 Phil Sterne <sterne@@dublin.llnl.gov>
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1542 @end itemize
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1543
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1544 @node Sources of Routine Info, Configuration Examples, Acknowledgement, Top
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1545 @appendix Sources of Routine Info
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1546
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1547 In @ref{Routine Info} and @ref{Completion} it was shown how IDLWAVE
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1548 displays the calling sequence and keywords of routines, and how it
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1549 completes routine names and keywords. For these features to work,
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1550 IDLWAVE must know about the accessible routines.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1551
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1552 @menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1553 * Routine Definitions:: Where IDL Routines are defined.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1554 * Routine Information Sources:: So how does IDLWAVE know about...
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1555 * Library Scan:: Scanning the Libraries for Routine Info
|
27186
|
1556 * Updating idlw-rinfo.el:: Scanning the IDL Manuals
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1557 @end menu
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1558
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1559 @node Routine Definitions, Routine Information Sources, Sources of Routine Info, Sources of Routine Info
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1560 @section Routine Definitions
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1561 @cindex Routine definitions
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1562
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1563 Routines which can be used in an IDL program can be defined in several
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1564 places:
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1565
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1566 @enumerate
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1567 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1568 @emph{System routines} are defined inside IDL itself. The source
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1569 code of such routines is not accessible to the user.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1570 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1571 Routines @emph{part of the current program} are defined in a file which
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1572 is explicitly compiled by the user. This file may be located on the IDL
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1573 search path, but this is not certain.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1574 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1575 @emph{Library routines} are defined in special files which are located
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1576 somewhere on IDL's search path. When a library routine is called for
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1577 the first time, IDL will find the source file and compile it
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1578 dynamically.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1579 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1580 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
|
1581 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
|
1582 or included as dynamically loaded modules (DLMs). Currently IDLWAVE
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1583 cannot provide routine info and completion for external
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1584 routines.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1585 @end enumerate
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1586
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1587 @node Routine Information Sources, Library Scan, Routine Definitions, Sources of Routine Info
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1588 @section Routine Information Sources
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1589 @cindex Routine info sources
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1590
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1591 In oder to know about as many routines as possible, IDLWAVE will do the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1592 following to collect information:@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1593
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1594 @enumerate
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1595
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1596 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1597 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
|
1598 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
|
1599 @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
|
1600 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
|
1601 by scanning the IDL manuals and is stored in the file
|
27186
|
1602 @file{idlw-rinfo.el}. @xref{Updating idlw-rinfo.el}, for
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1603 information how to regenerate this file for new versions of IDL.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1604
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1605 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1606 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
|
1607 routine definitions. This is done automatically when routine
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1608 information or completion is first requested by the user. The command
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1609 @kbd{C-c C-i} (@code{idlwave-update-routine-info}) can be used at any
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1610 time to rescan all buffers.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1611
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1612 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1613 If you have an IDLWAVE-Shell running as inferior process of the current
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1614 Emacs session, IDLWAVE will @emph{query the shell} for compiled routines
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1615 and their arguments. This happens automatically when routine
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1616 information or completion is first requested by the user. The command
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1617 @kbd{C-c C-i} (@code{idlwave-update-routine-info}) can be used to ask
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1618 the shell again at any time.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1619
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1620 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1621 IDLWAVE can scan all or selected library files and store the result in a
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1622 file which will be automatically loaded just like
|
27186
|
1623 @file{idlw-rinfo.el}. @xref{Library Scan}, for information how to
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1624 scan library files.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1625 @end enumerate
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1626
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1627 @defopt idlwave-scan-all-buffers-for-routine-info (@code{t})
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1628 Non-@code{nil} means, scan all buffers for IDL programs when updating
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1629 info. When this variable is @code{nil}, it only parses the current
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1630 buffer.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1631 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1632
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1633 @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
|
1634 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
|
1635 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1636
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1637
|
27186
|
1638 @node Library Scan, Updating idlw-rinfo.el, Routine Information Sources, Sources of Routine Info
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1639 @section Library Scan
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1640 @cindex Library scan
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1641 @cindex IDL library routine info
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1642
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1643 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
|
1644 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
|
1645 @code{idlwave-libinfo-file} needs to contain the path to a file in an
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1646 existing directory (e.g. @code{"~/idlwave_libinfo.el"}). Since the file
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1647 will contain lisp code, it should end in @file{.el}. Under Windows and
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1648 MacOS, you also need to specify the search path for IDL library files in
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1649 the variable @code{idlwave-library-path}. Under UNIX, this path will
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1650 be automatically inferred from an IDLWAVE shell.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1651
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1652 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
|
1653 scan library files. It brings up a widget in which you can select some
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1654 or all directories on the search path. Pressing the @w{@samp{[Scan & Save]}}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1655 button in the widget will scan all files in the selected directories and
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1656 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
|
1657 @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
|
1658 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
|
1659 @code{idlwave-update-routine-info} with a double prefix argument:
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1660 @kbd{C-u C-u C-c C-i}. This will rescan files in the previously
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1661 selected directories, write an updated version of the libinfo file and
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1662 rebuild IDLWAVEs internal lists.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1663
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1664 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
|
1665 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
|
1666 time and loading this information into Emacs can require a
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1667 significant amount of memory.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1668
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1669 A routine which is both in the library listing and compiled under the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1670 shell will show up twice in the @file{*Completions*} listing. This is
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1671 usually not a serious problem. However, if you have scanned the part of
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1672 the library relevant for you, and if you are not compiling files which
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1673 are not on the library search path, the information about compiled
|
27600
|
1674 routines is in fact unnecessary. In this case, you can turn off the
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1675 shell query for compiled routines with the variable
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1676 @code{idlwave-query-shell-for-routine-info}.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1677
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1678 @defopt idlwave-libinfo-file
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1679 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
|
1680 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1681
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1682 @defopt idlwave-library-path
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1683 IDL library path for Windows and MacOS. Not needed under Unix.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1684 @end defopt
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1685
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1686
|
27186
|
1687 @node Updating idlw-rinfo.el, , Library Scan, Sources of Routine Info
|
|
1688 @section Updating @file{idlw-rinfo.el}
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1689 @cindex @file{get_rinfo}
|
27186
|
1690 @cindex @file{idlw-rinfo.el}
|
|
1691 @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
|
1692
|
27186
|
1693 The file @file{idlw-rinfo.el} contains the routine information for
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1694 the routines build into IDL. This constant depends upon the version of
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1695 IDL. If you are lucky, the maintainer of IDLWAVE will always have
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1696 access to the newest version of IDL and provide updates of
|
27186
|
1697 @file{idlw-rinfo.el} reflecting the currently released version of
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1698 IDL. The IDLWAVE package also contains a Perl program @file{get_rinfo}
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1699 which constructs this file by scanning selected files from the IDL
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1700 documentation. The program needs @file{pdftotext} by Derek B. Noonburg.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1701 Instructions on how to use @file{get_rinfo} are in the program
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1702 itself.@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1703
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1704 @node Configuration Examples, Index, Sources of Routine Info, Top
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1705 @appendix Configuration Examples
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1706 @cindex Configuration examples
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1707 @cindex Example configuration
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1708
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1709 @noindent
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1710 @b{Question:} So now you have all these complicated configuration
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1711 options in your package, but which ones do @emph{you} as the maintainer
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1712 actually set in your own configuration?
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1713
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1714 @noindent
|
27600
|
1715 @b{Answer:} Hardly any. As the maintainer, I set the default of most
|
|
1716 options to what I think is best. However, the default settings do not
|
|
1717 turn on features which
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1718 @itemize @minus
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1719 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1720 are not self-evident (i.e. too magic) when used by an unsuspecting user
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1721 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1722 are too intrusive
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1723 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1724 will not work properly on all Emacs installations out there
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1725 @item
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1726 break with what I think are widely used standards.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1727 @end itemize
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1728
|
27600
|
1729 @noindent To see what I mean, here is the @emph{entire} configuration I
|
|
1730 have in my @file{.emacs}:
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1731
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1732 @lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1733 (setq idlwave-shell-activate-alt-keybindings t
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1734 idlwave-expand-generic-end t
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1735 idlwave-store-inquired-class t
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1736 idlwave-shell-automatic-start t
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1737 idlwave-libinfo-file "~/lib/idl/libinfo.el"
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1738 idlwave-main-block-indent 2)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1739 (add-hook 'idlwave-shell-mode-hook
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1740 (lambda()
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1741 (define-key idlwave-mode-map [(shift button1)]
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1742 'idlwave-shell-mouse-print)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1743 (define-key idlwave-mode-map [(shift button2)]
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1744 'idlwave-shell-mouse-help)))
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1745 @end lisp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1746
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1747 However, if you are an Emacs power-user and want IDLWAVE to work
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1748 completely differently, the options allow you to change almost every
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1749 aspect of it. Here is an example of a much more extensive configuration
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1750 of IDLWAVE. To say it again - this is not what I recommend, but the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1751 user is King!@refill
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1752
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1753 @example
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1754 ;;; Settings for IDLWAVE mode
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1755
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1756 (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
|
1757 (setq idlwave-main-block-indent 3)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1758 (setq idlwave-end-offset -3)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1759 (setq idlwave-continuation-indent 1)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1760 (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
|
1761 ; anchored at start of line.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1762 (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
|
1763 (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
|
1764 (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
|
1765 (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
|
1766 ; (with abbrevs only)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1767 (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
|
1768 (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
|
1769 (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
|
1770 (setq idlwave-abbrev-move t) ; Allow abbrevs to move point
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1771
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1772 ;; 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
|
1773
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1774 (add-hook 'idlwave-mode-hook
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1775 (lambda ()
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1776 (setq abbrev-mode 1) ; Turn on abbrevs (-1 for off)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1777 (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
|
1778 ;; Run other functions here
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1779 (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
|
1780 (idlwave-auto-fill-mode 0) ; Turn off auto filling
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1781 ;;
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1782 ;; Pad with with 1 space (if -n is used then make the
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1783 ;; 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
|
1784 ;; instead of 1.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1785 (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
|
1786 (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
|
1787 (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
|
1788 (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
|
1789 ;;
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1790 ;; 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
|
1791 (idlwave-action-and-binding "," '(idlwave-surround nil 1))
|
27600
|
1792 (idlwave-action-and-binding "&" '(idlwave-surround 1 1))
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1793 ;;
|
27600
|
1794 ;; Pad only after `->', remove any space before the arrow
|
|
1795 (idlwave-action-and-binding "->" '(idlwave-surround 0 -1 nil 2))
|
|
1796 ;;;
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1797 ;; Set some personal bindings
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1798 ;; (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
|
1799 (local-set-key "," 'self-insert-command)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1800 ;; 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
|
1801 ;; 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
|
1802 ;; 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
|
1803 (local-set-key "\n" 'idlwave-newline)
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1804 ;; (local-set-key "\C-j" 'idlwave-newline) ; My preference.
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1805 ))
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1806
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1807 ;;; Settings for IDLWAVE SHELL mode
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1808
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1809 (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
|
1810 (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
|
1811 (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
|
1812 (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
|
1813 (setq idlwave-shell-process-name "wave")
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1814 (setq idlwave-shell-use-toolbar nil) ; No toolbar
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1815 @end example
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1816
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1817 @node Index, , Configuration Examples, Top
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1818 @unnumbered Index
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1819 @printindex cp
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1820
|
29713
|
1821 @setchapternewpage odd
|
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1822 @summarycontents
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1823 @contents
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1824 @bye
|
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1825
|