annotate man/idlwave.texi @ 27444:89c53b25be12

(checkdoc-interactive-loop): Don't lose on a function with an empty body.
author Dave Love <fx@gnu.org>
date Wed, 26 Jan 2000 17:15:13 +0000
parents eb645a473bf8
children 322d1a88513b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2 @c %**start of header
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
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
12 @set VERSION 3.12
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
13 @set EDITION 1.8
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
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
16 @set NSYSKEYWORDS 5230
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
17 @set DATE December 1999
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
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
33 Copyright (c) 1999 Free Software Foundation, Inc.
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
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
67 Copyright @copyright{} 1999 Free Software Foundation, Inc.
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
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
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 If you are in a hurry, here is some quick-start information.
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 @subheading Editing IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
262
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
263 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
264 @item @key{TAB}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
265 @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
266 @item @kbd{M-C-\}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
267 @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
268 @item @kbd{M-@key{RET}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
269 @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
270 @item @kbd{M-q}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
271 @tab Fill the current comment paragraph.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
272 @item @kbd{C-c ?}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
273 @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
274 at point.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
275 @item @kbd{M-@key{TAB}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
276 @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
277 @item @kbd{C-c C-i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
278 @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
279 @item @kbd{C-c C-v}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
280 @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
281 @item @kbd{C-c C-h}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
282 @tab Insert a standard documentation header.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
283 @item @kbd{C-c C-m}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
284 @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
285 @end multitable
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 @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
288
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
289 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
290 @item @kbd{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 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
292 @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
293 @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
294 @item @kbd{M-p}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
295 @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
296 @item @kbd{M-n}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
297 @tab Cycle forward.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
298 @item @kbd{M-@key{TAB}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
299 @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
300 @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
301 @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
302 @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
303 @tab Goto next syntax error.
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-b}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
305 @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
306 @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
307 @tab Clear the current breakpoint.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
308 @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
309 @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
310 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
311
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
312 @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
313 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
314 ;; Change the indentation preferences
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
315 (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
316 idlwave-block-indent 2 ; default 4
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
317 idlwave-end-offset -2) ; default -4
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
318
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
319 ;; Syntax Highlighting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
320 (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
321 ;; Automatically expand END to ENDIF, ENDELSE, ...
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
322 (setq idlwave-expand-generic-end t)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
323
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
324 ;; Automatically start the shell when needed
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
325 (setq idlwave-shell-automatic-start t)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
326 ;; Always use a separate frame for the shell buffer
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
327 (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
328
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
329 ;; 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
330 (setq idlwave-libinfo-file "~/idlinfo.el")
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
331 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
332
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
333 @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
334 @chapter The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
335 @cindex IDLWAVE major mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
336 @cindex Major mode, @code{idlwave-mode}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
337
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
338 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
339 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
340 customize them.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
341
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
342 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
343 * Code Formatting:: Making code look nice
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
344 * Routine Info:: Calling Sequences and Keywords
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
345 * Completion:: Completing routine names and Keywords
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
346 * Code Templates:: Abbreviations for frequent constructs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
347 * Actions:: Changing case, Padding, End checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
348 * Doc Header:: Inserting a standard header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
349 * 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
350 * 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
351 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
352
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
353 @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
354 @section Code Formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
355 @cindex Code formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
356 @cindex Formatting, of code
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
357
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
358 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
359 * Code Indentation:: Reflecting the logical structure
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
360 * 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
361 * Continuation Lines:: Splitting statements over lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
362 * Syntax Highlighting:: Font-lock support
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
363 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
364
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
365 @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
366 @subsection Code Indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
367 @cindex Code indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
368 @cindex Indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
369
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
370 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
371 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
372 @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
373 governed by a number of variables.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
374
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
375 @cindex Foreign code, adapting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
376 @cindex Indentation, of foreign code
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
377 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
378 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
379 (@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
380 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
381 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
382 additional formatting conventions on foreign code.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
383
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
384 @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
385 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
386 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
387 unit.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
388 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
389
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
390 @defopt idlwave-block-indent (@code{4})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
391 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
392 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
393 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
394
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
395 @defopt idlwave-end-offset (@code{-4})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
396 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
397 @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
398 BEGIN lines.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
399 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
400
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
401 @defopt idlwave-continuation-indent (@code{2})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
402 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
403 parenthesis.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
404 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
405
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
406 @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
407 @subsection Comment Indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
408 @cindex Comment indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
409 @cindex Hanging paragraphs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
410 @cindex Paragraphs, filling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
411 @cindex Paragraphs, hanging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
412
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
413 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
414 Comment lines are indented as follows:
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
415
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
416 @multitable @columnfractions .1 .90
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
417 @item @code{;;;}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
418 @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
419 unchanged.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
420 @item @code{;;}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
421 @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
422 @item @code{;}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
423 @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
424 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
425
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
426 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
427
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
428 @defopt idlwave-no-change-comment
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
429 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
430 expression will not be changed.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
431 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
432
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
433 @defopt idlwave-begin-line-comment
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
434 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
435 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
436 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
437
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
438 @defopt idlwave-code-comment
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
439 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
440 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
441 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
442
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
443 @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
444 @subsection Continuation Lines and Filling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
445 @cindex Continuation lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
446 @cindex Line splitting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
447 @cindex Splitting, of lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
448 @cindex Filling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
449 @cindex @code{auto-fill-mode}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
450 @cindex Hanging paragraphs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
451
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
452 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
453 @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
454 @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
455 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
456 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
457 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
458 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
459 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
460 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
461 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
462 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
463 @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
464 @kbd{C-c C-a}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
465
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
466 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
467 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
468 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
469 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
470 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
471 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
472 following example.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
473
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
474 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
475 ; INPUTS
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
476 ; x - an array containing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
477 ; lots of interesting numbers.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
478 ;
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
479 ; y - another variable where
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
480 ; a hanging paragraph is used
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
481 ; to describe it.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
482 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
483
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
484 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
485
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
486 @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
487 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
488 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
489
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
490 @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
491 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
492 operator.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
493 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
494
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
495 @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
496 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
497 @samp{+}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
498 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
499
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
500 @defopt idlwave-hanging-indent
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
501 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
502 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
503 line of the paragraph.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
504 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
505
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
506 @defopt idlwave-hang-indent-regexp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
507 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
508 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
509 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
510
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
511 @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
512 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
513 @code{idlwave-indent-regexp}.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
514 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
515
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
516 @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
517 @subsection Syntax Highlighting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
518 @cindex Syntax highlighting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
519 @cindex Font lock
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
520
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
521 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
522 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
523 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
524 @ref{Configuration Examples})@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
525
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
526 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
527 (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
528 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
529
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
530 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
531 @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
532
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
533 @defopt idlwave-default-font-lock-items
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
534 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
535 2.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
536 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
537
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
538 @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
539 @section Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
540 @cindex Routine info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
541
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
542 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
543 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
544 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
545 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
546 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
547 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
548 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
549 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
550 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
551 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
552 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
553 these routines.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
554
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
555 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
556 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
557 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
558 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
559 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
560
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
561 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
562 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
563 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
564 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
565
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
566 @cindex Object methods
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
567 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
568 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
569 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
570 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
571 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
572 object.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
573
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
574 @cindex Calling sequences
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
575 @cindex Keywords of a routine
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
576 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
577 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
578 @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
579 module}). It looks like this:
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
580
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
581 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
582 Usage: MAP_PROJ_INFO, iproj
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
583 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
584 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
585 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
586
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
587 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
588 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
589 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
590 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
591 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
592 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
593 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
594
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
595 @cindex Routine source file
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
596 @cindex Module source file
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
597 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
598 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
599 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
600 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
601 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
602
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
603 @cindex @code{RESOLVE_ROUTINE}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
604 @cindex Compiling library modules
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
605 @cindex Routines, resolving
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
606 @cindex Online help, for IDL routines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
607 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
608 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
609 @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
610 @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
611 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
612 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
613 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
614 resolve (compile) it.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
615
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
616 @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
617 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
618 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
619 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
620 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
621
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
622 @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
623 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
624
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
625 @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
626 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
627 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
628 buffer.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
629 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
630
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
631 @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
632 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
633 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
634
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
635 @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
636 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
637 fit the content.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
638 @end defopt
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
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
641 @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
642 @section Completion
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
643 @cindex Completion
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
644
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
645 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
646 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
647 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
648 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
649 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
650 (@code{idlwave-update-routine-info}).@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
651
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
652 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
653 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
654 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
655 @samp{*}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
656
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
657 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
658 plo* @r{Procedure}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
659 x = a* @r{Function}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
660 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
661 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
662 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
663 obj -> a* @r{Object method (procedure)}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
664 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
665 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
666 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
667 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
668
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
669 @cindex Scrolling the @file{*Completions*} window
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
670 @cindex Completion, scrolling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
671 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
672 @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
673 @kbd{M-@key{TAB}} repeatedly.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
674
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
675 @cindex Case of completed words
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
676 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
677 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
678 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
679 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
680 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
681 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
682 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
683 variable @code{idlwave-completion-case}.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
684
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
685 @defopt idlwave-completion-case
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
686 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
687 words.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
688 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
689
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
690 @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
691 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
692 @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
693 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
694 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
695
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
696 @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
697 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
698 completion.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
699 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
700
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
701 @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
702 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
703 completed keywords.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
704 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
705
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
706 @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
707 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
708 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
709 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
710 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
711
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
712 @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
713 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
714 completion.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
715 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
716
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
717 @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
718 @cindex Object methods
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
719 @cindex Class ambiguity
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
720 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
721 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
722 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
723 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
724 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
725 @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
726 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
727 @code{idlwave-completion-show-classes}).@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
728
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
729 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
730 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
731 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
732 @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
733 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
734 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
735 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
736 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
737 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
738 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
739 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
740 to turn it on.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
741
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
742 @defopt idlwave-completion-show-classes (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
743 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
744 completing object methods and keywords.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
745 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
746
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
747 @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
748 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
749 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
750
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
751 @defopt idlwave-query-class (@code{nil})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
752 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
753 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
754
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
755 @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
756 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
757 @samp{->}.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
758 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
759
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
760 @defopt idlwave-class-arrow-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
761 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
762 property.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
763 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
764
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
765 @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
766 @section Code Templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
767 @cindex Code templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
768 @cindex Abbreviations
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
769 @cindex Templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
770
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
771 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
772 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
773
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
774 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
775 @item @kbd{C-c C-c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
776 @tab @code{CASE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
777 @item @kbd{C-c C-f}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
778 @tab @code{FOR} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
779 @item @kbd{C-c C-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
780 @tab @code{REPEAT} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
781 @item @kbd{C-c C-w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
782 @tab @code{WHILE} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
783 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
784
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
785 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
786 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
787 @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
788 start with a @samp{\} (the backslash). Here are a few examples of
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
789 predefined abbreviations. For a full list, use @kbd{M-x
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
790 idlwave-list-abbrevs}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
791
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
792 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
793 @item @code{\pr}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
794 @tab @code{PROCEDURE} template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
795 @item @code{\fu}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
796 @tab @code{FUNCTION} template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
797 @item @code{\c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
798 @tab @code{CASE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
799 @item @code{\f}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
800 @tab @code{FOR} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
801 @item @code{\r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
802 @tab @code{REPEAT} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
803 @item @code{\w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
804 @tab @code{WHILE} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
805 @item @code{\i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
806 @tab @code{IF} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
807 @item @code{\elif}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
808 @tab @code{IF-ELSE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
809 @item @code{\b}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
810 @tab @code{BEGIN}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
811 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
812
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
813 @defopt idlwave-abbrev-start-char
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
814 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
815 mode.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
816 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
817
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
818 @defopt idlwave-abbrev-move (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
819 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
820 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
821 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
822
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
823 @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
824 @section Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
825 @cindex Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
826 @cindex Coding standards, enforcing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
827
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
828 @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
829 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
830 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
831 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
832 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
833 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
834 helpful.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
835
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
836 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
837 @itemize @bullet
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
838 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
839 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
840 @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
841 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
842 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
843 case.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
844 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
845 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
846 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
847 must be non-@code{nil}.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
848 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
849 @cindex Foreign code, adapting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
850 @cindex Actions, applied to foreign code
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
851 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
852 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
853 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
854 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
855 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
856 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
857 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
858
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
859 @defopt idlwave-do-actions (@code{nil})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
860 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
861 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
862
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
863 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
864 * 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
865 * Padding Operators:: Enforcing space around `=' etc
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
866 * Case Changes:: Enforcing upper case keywords
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
867 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
868
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
869 @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
870 @subsection Block Boundary Check
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
871 @cindex Block boundary check
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
872 @cindex @code{END} type checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
873 @cindex @code{END}, automatic insertion
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
874 @cindex Block, closing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
875 @cindex Closing a block
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
876
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
877 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
878 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
879 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
880 @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
881 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
882
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
883 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
884 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
885 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
886 the appropriate @code{END} statement.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
887
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
888 @defopt idlwave-show-block (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
889 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
890 @code{idlwave-show-begin}.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
891 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
892
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
893 @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
894 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
895 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
896
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
897 @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
898 @subsection Padding Operators
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
899 @cindex Padding operators with spaces
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
900 @cindex Operators, padding with spaces
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
901
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
902 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
903 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
904 indented. IDLWAVE contains this setting for the operators @samp{&},
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
905 @samp{<}, @samp{>}, @samp{,}, @samp{=}, but the feature is turned off by
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
906 default. If you want to turn it on, customize the variable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
907 @code{idlwave-surround-by-blank}. You can also define similar actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
908 for other operators by using the function
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
909 @code{idlwave-action-and-binding} in the mode hook. For example, to
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
910 enforce space padding of the @samp{+} and @samp{*} operators, try this
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
911 in @file{.emacs}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
912
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
913 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
914 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
915 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
916 (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
917 (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
918 (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
919 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
920
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
921 @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
922 Non-@code{nil} means, enable @code{idlwave-surround}. If non-nil,
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
923 @samp{=}, @samp{<}, @samp{>}, @samp{&}, @samp{,} are surrounded with
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
924 spaces by @code{idlwave-surround}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
925 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
926
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
927 @defopt idlwave-pad-keyword (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
928 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
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 @node Case Changes, , Padding Operators, Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
932 @subsection Case Changes
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
933 @cindex Case changes
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 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
936 abbreviations by customizing the variables
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
937 @code{idlwave-abbrev-change-case} and
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
938 @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
939 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
940 your @file{.emacs} file:@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
941
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
942 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
943 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
944 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
945 ;; Capitalize system vars
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
946 (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
947 ;; Capitalize procedure name
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
948 (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
949 '(capitalize-word 1) t)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
950 ;; Capitalize common block name
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
951 (idlwave-action-and-binding "\\<common\\>[ \t]+\\<"
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
952 '(capitalize-word 1) t)))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
953 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
954
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
955 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
956 @code{idlwave-action-and-binding}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
957
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
958 @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
959 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
960 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
961 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
962
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
963 @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
964 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
965 expansion.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
966 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
967
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
968
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
969 @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
970 @section Documentation Header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
971 @cindex Documentation header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
972 @cindex Modification timestamp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
973 @cindex Header, for file documentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
974 @cindex Timestamp, in doc header.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
975 @cindex Changelog, in doc header.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
976
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
977 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
978 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
979 @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
980 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
981 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
982 name with a timestamp.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
983
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
984 @defopt idlwave-file-header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
985 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
986 @end defopt
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-timestamp-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
989 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
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-doc-modifications-keyword
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
993 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
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-doclib-start
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
997 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
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-end
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 @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
1005 @section Motion Commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1006 @cindex Motion commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1007 @cindex Program structure, moving through
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1008 @cindex Code structure, moving through
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1009
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1010 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
1011 program. These are
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1012
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1013 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1014 @item @kbd{C-M-a}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1015 @tab Beginning of subprogram
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1016 @item @kbd{C-M-e}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1017 @tab End of subprogram
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1018 @item @kbd{C-c @{}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1019 @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
1020 @item @kbd{C-c @}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1021 @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
1022 @item @kbd{M-C-n}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1023 @tab Forward block (on same level)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1024 @item @kbd{M-C-p}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1025 @tab Backward block (on same level)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1026 @item @kbd{M-C-d}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1027 @tab Down block (enters a block)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1028 @item @kbd{M-C-u}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1029 @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
1030 @item @kbd{C-c C-n}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1031 @tab Next Statement
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1032 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1033
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1034
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1035 @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
1036 @section Miscellaneous Options
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 @defopt idlwave-help-application
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1039 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
1040 @end defopt
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-startup-message (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1043 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
1044 is first called.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1045 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1046
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1047 @defopt idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1048 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
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-load-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1052 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
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
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1056
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1057
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 @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
1071 @chapter The IDLWAVE Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1072 @cindex IDLWAVE shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1073 @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
1074
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1075 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
1076 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
1077 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
1078 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
1079 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
1080 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
1081 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
1082 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
1083 only works under Unix.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1084
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1085 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1086 * 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
1087 * 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
1088 * Debugging IDL Programs:: Compilation/Debugging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1089 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1090
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1091 @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
1092 @section Starting the Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1093 @cindex Starting the shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1094 @cindex Shell, starting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1095 @cindex Dedicated frame, for shell buffer
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1096 @cindex Frame, for shell buffer
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1097
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1098 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
1099 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
1100 @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
1101 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
1102 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
1103 (@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
1104 shell window without selecting it.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1105
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1106 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
1107 @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
1108 @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
1109 window, configure the variable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1110 @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
1111
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1112 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
1113 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
1114 @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
1115
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1116 @defopt idlwave-shell-explicit-file-name
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1117 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
1118 @end defopt
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-command-line-options
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1121 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
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-prompt-pattern
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1125 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
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-process-name
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1129 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
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-automatic-start
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1133 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
1134 running.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1135 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1136
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1137 @defopt idlwave-shell-initial-commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1138 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
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-use-dedicated-frame (@code{nil})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1142 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
1143 shell buffer.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1144 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1145
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1146 @defopt idlwave-shell-frame-parameters
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1147 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
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-temp-pro-prefix
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1151 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
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-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1155 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
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 @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
1159 @section Using the Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1160 @cindex comint
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1161 @cindex Shell, basic commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1162
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1163 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
1164 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
1165 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
1166 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
1167
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1168 @multitable @columnfractions .12 .88
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1169 @item @kbd{M-p}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1170 @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
1171 @item @kbd{M-n}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1172 @tab Cycle forwards
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1173 @item @kbd{M-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1174 @tab Previous input matching a regexp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1175 @item @kbd{M-s}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1176 @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
1177 @item @kbd{return}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1178 @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
1179 @item @kbd{C-c C-a}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1180 @tab Beginning of line; skip prompt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1181 @item @kbd{C-c C-u}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1182 @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
1183 @item @kbd{C-c C-w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1184 @tab Kill word before cursor
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1185 @item @kbd{C-c C-c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1186 @tab Send ^C
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1187 @item @kbd{C-c C-z}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1188 @tab Send ^Z
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1189 @item @kbd{C-c C-\}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1190 @tab Send ^\
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1191 @item @kbd{C-c C-o}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1192 @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
1193 @item @kbd{C-c C-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1194 @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
1195 @item @kbd{C-c C-l}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1196 @tab List input history
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1197 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1198
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1199 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
1200 @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
1201 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
1202 @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
1203
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1204 @cindex Completion in the shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1205 @cindex Routine info in the shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1206 @multitable @columnfractions .12 .88
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1207 @item @kbd{@key{TAB}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1208 @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
1209 (@code{idlwave-shell-complete})@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1210 @item @kbd{M-@key{TAB}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1211 @tab Same as @key{TAB}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1212 @item @kbd{C-c ?}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1213 @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
1214 @item @kbd{M-?}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1215 @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
1216 @item @kbd{C-c C-i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1217 @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
1218 (@code{idlwave-update-routine-info})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1219 @item @kbd{C-c C-v}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1220 @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
1221 @item @kbd{C-c =}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1222 @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
1223 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1224
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1225 @defopt idlwave-shell-file-name-chars
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1226 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
1227 completion.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1228 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1229
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1230 @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
1231 @section Debugging IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1232 @cindex Debugging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1233 @cindex Keybindings for debugging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1234 @cindex Toolbar
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1235
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1236 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
1237 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
1238 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
1239 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
1240 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
1241 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
1242
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1243 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
1244 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
1245 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
1246 available, turn on the variable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1247 @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
1248 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
1249 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
1250
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1251 @defopt idlwave-shell-prefix-key
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1252 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
1253 @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
1254 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1255
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1256 @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
1257 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
1258 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
1259 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1260
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1261 @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
1262 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
1263 keys, like @kbd{A-b}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1264 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1265
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1266 @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
1267 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
1268 buffers.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1269 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1270
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1271
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1272 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1273 * 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
1274 * 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
1275 * 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
1276 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1277
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1278 @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
1279 @subsection Compiling Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1280 @cindex Compiling programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1281 @cindex Programs, compiling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1282 @cindex Default command line, executing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1283 @cindex Executing a default command line
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1284
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1285 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
1286 @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
1287 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
1288 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
1289 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
1290 re-compiled.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1291
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1292 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
1293 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
1294 @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
1295 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
1296 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
1297 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
1298 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
1299 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
1300
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1301 @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
1302 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
1303 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
1304 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
1305 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1306
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1307 @defopt idlwave-shell-overlay-arrow
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1308 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
1309 halts.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1310 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1311
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1312 @defopt idlwave-shell-stop-line-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1313 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
1314 stopped.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1315 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1316
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1317 @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
1318 @subsection Breakpoints and Stepping
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1319 @cindex Breakpoints
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1320 @cindex Stepping
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1321
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1322 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
1323 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
1324 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
1325 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
1326 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
1327 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
1328 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
1329 (@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
1330 @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
1331 highlighted in the source code.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1332
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1333 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
1334 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
1335
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1336 @multitable @columnfractions .2 .8
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1337 @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
1338 @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
1339 @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
1340 @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
1341 @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
1342 @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
1343 @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
1344 @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
1345 @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
1346 @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
1347 @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
1348 @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
1349 @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
1350 @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
1351 @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
1352 @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
1353 @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
1354 @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
1355 @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
1356 @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
1357 @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
1358 @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
1359 @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
1360 @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
1361 @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
1362 @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
1363 @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
1364 @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
1365 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1366
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1367 @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
1368 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
1369 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
1370 @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
1371 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1372
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1373 @defopt idlwave-shell-breakpoint-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1374 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
1375 @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
1376 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1377
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1378 @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
1379 @subsection Examining Variables
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1380 @cindex @code{PRINT} expressions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1381 @cindex @code{HELP}, on expressions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1382 @cindex Expressions, printing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1383 @cindex Expressions, help
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1384 @cindex Mouse binding to print expressions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1385
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1386 When execution is stopped you can examine the values of variables. The
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1387 command @kbd{C-c C-d C-p} prints the expression at point in the shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1388 buffer, while @kbd{C-c C-d ?} shows help on this expression. The
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1389 expression at point is an array expression or a function call, or the
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1390 contents of a pair of parenthesis. The selected expression becomes
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1391 highlighted in the source code for a short time.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1392
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1393 I find it very convenient to bind these functions to a mouse event, so
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1394 that simply clicking on an expression prints its value. Here is a way
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1395 to do this with XEmacs:
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1396
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1397 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1398 (add-hook 'idlwave-shell-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1399 (lambda()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1400 (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
1401 'idlwave-shell-mouse-print)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1402 (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
1403 'idlwave-shell-mouse-help)))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1404 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1405
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1406 @defopt idlwave-shell-expression-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1407 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
1408 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
1409 the expression printed by IDL.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1410 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1411
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1412
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1413 @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
1414 @chapter Installation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1415 @cindex Installation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1416 @cindex FTP site
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1417 @cindex URL, homepage for IDLWAVE
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1418 @cindex Homepage for IDLWAVE
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1419
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1420 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1421 * 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
1422 * 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
1423 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1424
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1425 @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
1426 @section Installing IDLWAVE
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1427
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1428 IDLWAVE is part of Emacs 21.1 and later. It is also@footnote{or will be
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1429 soon} an XEmacs packages and can be installed from
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1430 @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
1431 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
1432
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1433 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
1434 @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
1435 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
1436
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1437 @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
1438 @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
1439 @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
1440 @cindex Renaming old variables
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1441 @cindex Old variables, renaming
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1442
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1443 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
1444 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
1445 customization in @file{.emacs}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1446
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1447 @enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1448 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1449 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
1450 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1451 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
1452 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
1453 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1454 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
1455 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
1456 @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
1457 @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
1458 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1459 (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
1460 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1461 @end enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1462
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1463 @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
1464 @chapter Acknowledgement
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1465 @cindex Acknowledgement
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1466 @cindex Thanks
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1467
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1468 @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
1469 @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
1470 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
1471 @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
1472
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1473 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
1474 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
1475
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1476 @itemize @minus
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1477 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1478 Ulrik Dickow <dickow@@nbi.dk>
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1479 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1480 Eric E. Dors <edors@@lanl.gov>
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 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
1483 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1484 David Huenemoerder <dph@@space.mit.edu>
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1485 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1486 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
1487 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1488 Xuyong Liu <liu@@stsci.edu>
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1489 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1490 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
1491 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1492 Laurent Mugnier <mugnier@@onera.fr>
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1493 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1494 Lubos Pochman <lubos@@rsinc.com>
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1495 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1496 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
1497 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1498 Marty Ryba <ryba@@ll.mit.edu>
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1499 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1500 Phil Williams <williams@@irc.chmcc.org>
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1501 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1502 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
1503 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1504 Phil Sterne <sterne@@dublin.llnl.gov>
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1505 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1506
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1507 @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
1508 @appendix Sources of Routine Info
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 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
1511 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
1512 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
1513 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
1514
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1515 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1516 * 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
1517 * 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
1518 * Library Scan:: Scanning the Libraries for Routine Info
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
1519 * 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
1520 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1521
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1522 @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
1523 @section Routine Definitions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1524 @cindex Routine definitions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1525
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1526 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
1527 places:
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1528
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1529 @enumerate
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 @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
1532 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
1533 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1534 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
1535 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
1536 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
1537 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1538 @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
1539 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
1540 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
1541 dynamically.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1542 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1543 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
1544 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
1545 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
1546 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
1547 routines.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1548 @end enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1549
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1550 @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
1551 @section Routine Information Sources
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1552 @cindex Routine info sources
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1553
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1554 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
1555 following to collect information:@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1556
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1557 @enumerate
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 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1560 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
1561 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
1562 @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
1563 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
1564 by scanning the IDL manuals and is stored in the file
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
1565 @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
1566 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
1567
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1568 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1569 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
1570 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
1571 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
1572 @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
1573 time to rescan all buffers.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1574
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1575 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1576 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
1577 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
1578 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
1579 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
1580 @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
1581 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
1582
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1583 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1584 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
1585 file which will be automatically loaded just like
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
1586 @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
1587 scan library files.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1588 @end enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1589
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1590 @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
1591 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
1592 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
1593 buffer.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1594 @end defopt
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 @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
1597 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
1598 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1599
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1600
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
1601 @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
1602 @section Library Scan
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1603 @cindex Library scan
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1604 @cindex IDL library routine info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1605
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1606 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
1607 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
1608 @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
1609 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
1610 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
1611 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
1612 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
1613 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
1614
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1615 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
1616 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
1617 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
1618 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
1619 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
1620 @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
1621 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
1622 @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
1623 @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
1624 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
1625 rebuild IDLWAVEs internal lists.@refill
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 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
1628 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
1629 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
1630 significant amount of memory.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1631
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1632 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
1633 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
1634 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
1635 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
1636 are not on the library search path, the information about compiled
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1637 routines is in fact unnecessary. In this case, you can turn of the
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1638 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
1639 @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
1640
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1641 @defopt idlwave-libinfo-file
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1642 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
1643 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1644
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1645 @defopt idlwave-library-path
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1646 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
1647 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1648
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1649
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
1650 @node Updating idlw-rinfo.el, , Library Scan, Sources of Routine Info
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
1651 @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
1652 @cindex @file{get_rinfo}
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
1653 @cindex @file{idlw-rinfo.el}
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
1654 @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
1655
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
1656 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
1657 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
1658 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
1659 access to the newest version of IDL and provide updates of
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
1660 @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
1661 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
1662 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
1663 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
1664 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
1665 itself.@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1666
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1667 @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
1668 @appendix Configuration Examples
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1669 @cindex Configuration examples
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1670 @cindex Example configuration
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1671
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1672 @noindent
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1673 @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
1674 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
1675 actually set in your own configuration?
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1676
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1677 @noindent
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1678 @b{Answer:} Hardly any. As the maintainer, I set the default of all
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1679 options to what I think is best. However, I do not turn on features by
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1680 default which
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1681 @itemize @minus
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1682 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1683 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
1684 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1685 are too intrusive
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1686 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1687 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
1688 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1689 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
1690 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1691
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1692 @noindent To see what I mean, here is the entire configuration I have in
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1693 my @file{.emacs}:
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1694
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1695 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1696 (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
1697 idlwave-expand-generic-end t
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1698 idlwave-store-inquired-class t
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1699 idlwave-shell-automatic-start t
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1700 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
1701 idlwave-main-block-indent 2)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1702 (add-hook 'idlwave-shell-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1703 (lambda()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1704 (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
1705 'idlwave-shell-mouse-print)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1706 (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
1707 'idlwave-shell-mouse-help)))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1708 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1709
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1710 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
1711 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
1712 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
1713 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
1714 user is King!@refill
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1715
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1716 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1717 ;;; Settings for IDLWAVE mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1718
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1719 (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
1720 (setq idlwave-main-block-indent 3)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1721 (setq idlwave-end-offset -3)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1722 (setq idlwave-continuation-indent 1)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1723 (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
1724 ; anchored at start of line.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1725 (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
1726 (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
1727 (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
1728 (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
1729 ; (with abbrevs only)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1730 (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
1731 (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
1732 (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
1733 (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
1734
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1735 ;; 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
1736
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1737 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1738 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1739 (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
1740 (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
1741 ;; Run other functions here
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1742 (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
1743 (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
1744 ;;
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1745 ;; 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
1746 ;; 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
1747 ;; instead of 1.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1748 (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
1749 (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
1750 (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
1751 (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
1752 ;;
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1753 ;; 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
1754 (idlwave-action-and-binding "," '(idlwave-surround nil 1))
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 ;; Set some personal bindings
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1757 ;; (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
1758 (local-set-key "," 'self-insert-command)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1759 ;; 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
1760 ;; 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
1761 ;; 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
1762 (local-set-key "\n" 'idlwave-newline)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1763 ;; (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
1764 ))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1765
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1766 ;;; Settings for IDLWAVE SHELL mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1767
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1768 (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
1769 (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
1770 (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
1771 (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
1772 (setq idlwave-shell-process-name "wave")
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1773 (setq idlwave-shell-use-dedicated-frame t) ; Shell on separate frame
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1774 (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
1775 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1776
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1777 @node Index, , Configuration Examples, Top
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1778 @unnumbered Index
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1779 @printindex cp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1780
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1781 @summarycontents
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1782 @contents
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1783 @bye
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1784