Mercurial > emacs
annotate man/idlwave.texi @ 35660:b9366f467430
* alloc.c (allocate_string) [macintosh]: Call check_string_bytes
only if current_sblock has been initialized.
* frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
terminal frame even if it is the only visible frame.
* src/macfns.c (QCconversion): Replaces QCalgorithm.
* src/macfns.c (image_ascent, lookup_image): Adapt to change of
image margins.
* src/macterm.c (x_produce_image_glyph, x_draw_image_foreground)
(x_draw_image_relief, x_draw_image_foreground_1)
(x_draw_image_glyph_string): Adapt to change of image margins.
* src/macterm.c (mac_to_x_fontname): Change charset name of
Simplify Chinese fonts from gb2312 to gb2312.1980 and Korean fonts
from ksc5601 to ksc5601.1989.
author | Andrew Choi <akochoi@shaw.ca> |
---|---|
date | Sun, 28 Jan 2001 11:23:07 +0000 |
parents | 652e7327d016 |
children | f6ba7a00b9e1 |
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 |
34434
652e7327d016
Fixed setfilename and setdircategory. This was to undo incorrect
Carsten Dominik <dominik@science.uva.nl>
parents:
34433
diff
changeset
|
3 @setfilename ../info/idlwave |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
4 @settitle IDLWAVE User Manual |
34434
652e7327d016
Fixed setfilename and setdircategory. This was to undo incorrect
Carsten Dominik <dominik@science.uva.nl>
parents:
34433
diff
changeset
|
5 @dircategory Emacs |
26960
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 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
12 @set VERSION 4.7 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
13 @set EDITION 4.7 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
14 @set IDLVERSION 5.4 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
15 @set NSYSROUTINES 1287 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
16 @set NSYSKEYWORDS 5724 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
17 @set DATE December 2000 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
18 @set AUTHOR Carsten Dominik |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
19 @set AUTHOR-EMAIL dominik@@astro.uva.nl |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
20 @set MAINTAINER Carsten Dominik |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
21 @set MAINTAINER-EMAIL dominik@@astro.uva.nl |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
22 @set IDLWAVE-HOMEPAGE http://www.strw.leidenuniv.nl/~dominik/Tools/idlwave |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
23 @c %**end of header |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
24 @finalout |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
25 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
26 @ifinfo |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
27 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
|
28 WAVE/CL files with Emacs. It also implements a shell for running IDL as |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
29 a subprocess. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
30 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
31 This is edition @value{EDITION} of the IDLWAVE User Manual for |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
32 IDLWAVE @value{VERSION} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
33 |
27600 | 34 Copyright (c) 1999, 2000 Free Software Foundation, Inc. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
35 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
36 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
|
37 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
|
38 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
|
39 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
40 @ignore |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
41 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
|
42 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
|
43 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
|
44 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
|
45 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
|
46 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
47 @end ignore |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
48 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
|
49 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
|
50 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
|
51 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
|
52 notice identical to this one. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
53 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
54 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
|
55 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
|
56 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
|
57 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
|
58 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
|
59 @end ifinfo |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
60 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
61 @titlepage |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
62 @title IDLWAVE User Manual |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
63 @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
|
64 @subtitle Edition @value{EDITION}, @value{DATE} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
65 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
66 @author by Carsten Dominik |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
67 @page |
27600 | 68 Copyright @copyright{} 1999, 2000 Free Software Foundation, Inc. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
69 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
70 @sp 2 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
71 This is edition @value{EDITION} of the @cite{IDLWAVE User Manual} for |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
72 IDLWAVE version @value{VERSION}, @value{DATE}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
73 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
74 @sp 2 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
75 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
76 @cindex Copyright, of IDLWAVE |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
77 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
|
78 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
|
79 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
|
80 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
81 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
|
82 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
|
83 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
|
84 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
|
85 notice identical to this one. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
86 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
87 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
|
88 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
|
89 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
|
90 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
|
91 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
|
92 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
93 @end titlepage |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
94 @contents |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
95 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
96 @page |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
97 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
98 @ifnottex |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
99 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
100 @node Top, Introduction, (dir), (dir) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
101 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
102 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
|
103 Interactive Data Language (IDL), and for running IDL as an inferior |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
104 shell. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
105 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
106 @end ifnottex |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
107 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
108 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
109 * 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
|
110 * IDLWAVE in a Nutshell:: One page quick-start guide |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
111 * Getting Started:: Tutorial |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
112 * 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
|
113 * 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
|
114 * Installation:: How to Install or Upgrade |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
115 * Acknowledgement:: Who helped |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
116 * 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
|
117 * Configuration Examples:: The user is king... |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
118 * Index:: Fast access |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
119 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
120 @detailmenu --- The Detailed Node Listing --- |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
121 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
122 The IDLWAVE Major Mode |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
123 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
124 * Code Formatting:: Making code look nice |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
125 * Routine Info:: Calling Sequence and Keyword List |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
126 * Online Help:: One key press from source to help |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
127 * Completion:: Completing routine names and Keywords |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
128 * Routine Source:: How to visit the source file of routine XYZ |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
129 * Resolving Routines:: Force the Shell to compile a routine |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
130 * Code Templates:: Abbreviations for frequent constructs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
131 * Actions:: Changing case, Padding, End checking |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
132 * Doc Header:: Inserting a standard header |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
133 * 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
|
134 * 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
|
135 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
136 Code Formatting |
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 * Code Indentation:: Reflecting the logical structure |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
139 * Comment Indentation:: Special indentation for comment lines |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
140 * Continuation Lines:: Splitting statements over lines |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
141 * Syntax Highlighting:: Font-lock support |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
142 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
143 Actions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
144 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
145 * 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
|
146 * Padding Operators:: Enforcing space around `=' etc |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
147 * Case Changes:: Enforcing upper case keywords |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
148 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
149 The IDLWAVE Shell |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
150 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
151 * 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
|
152 * 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
|
153 * Debugging IDL Programs:: Compilation/Debugging |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
154 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
155 Debugging IDL Programs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
156 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
157 * 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
|
158 * 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
|
159 * 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
|
160 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
161 Installation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
162 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
163 * Installing IDLWAVE:: How to install the distribution |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
164 * Installing Online Help:: Where to get the additional files needed |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
165 * 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
|
166 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
167 Sources of Routine Info |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
168 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
169 * Routine Definitions:: Where IDL Routines are defined. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
170 * Routine Information Sources:: So how does IDLWAVE know about... |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
171 * Library Catalog:: Scanning the Libraries for Routine Info |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
172 * Load-Path Shadows:: Routines defined in several places |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
173 * Documentation Scan:: Scanning the IDL Manuals |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
174 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
175 @end detailmenu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
176 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
177 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
178 @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
|
179 @chapter Introduction |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
180 @cindex Introduction |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
181 @cindex CORBA (Common Object Request Broker Architecture) |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
182 @cindex Interface Definition Language |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
183 @cindex Interactive Data Language |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
184 @cindex cc-mode.el |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
185 @cindex @file{idl.el} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
186 @cindex @file{idl-shell.el} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
187 @cindex Feature overview |
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 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
|
190 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
|
191 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
|
192 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
|
193 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
|
194 Broker Architecture (CORBA). |
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 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
|
197 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
|
198 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
|
199 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
|
200 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
|
201 switch. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
202 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
203 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
|
204 (@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
|
205 inferior shell (@code{idlwave-shell-mode}). Both modes work closely |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
206 together and form a complete development environment. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
207 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
208 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
|
209 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
210 @itemize @bullet |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
211 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
212 Code indentation and formatting. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
213 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
214 Font-lock support on three levels. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
215 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
216 Display of calling sequence and keywords of more than 1000 IDL |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
217 routines routines and any routines in your local IDL library. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
218 @item |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
219 Name space conflict search. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
220 @item |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
221 Fast context-sensitive online help. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
222 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
223 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
|
224 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
225 Insertion of code templates. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
226 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
227 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
|
228 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
229 Block structure check. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
230 @item |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
231 Support for @file{imenu} (Emacs) and @file{func-menu} (XEmacs). |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
232 @item |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
233 Documentation support. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
234 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
235 Running IDL as inferior process. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
236 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
237 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
|
238 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
239 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
|
240 buffer. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
241 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
242 Examining expressions with a mouse click. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
243 @end itemize |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
244 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
245 @ifnottex |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
246 @cindex Screenshots |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
247 Here are a number of screenshots showing IDLWAVE in action. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
248 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
249 @itemize @bullet |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
250 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
251 @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
|
252 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
|
253 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
254 @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
|
255 XEmacs 21.1 displaying routine info} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
256 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
257 @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
|
258 XEmacs 21.1 completing a keyword} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
259 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
260 @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
|
261 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
|
262 @end itemize |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
263 @end ifnottex |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
264 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
265 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
|
266 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
|
267 -- 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
|
268 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
|
269 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
|
270 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
|
271 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
|
272 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
273 @node IDLWAVE in a Nutshell, Getting Started, Introduction, Top |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
274 @chapter IDLWAVE in a Nutshell |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
275 @cindex Summary of important commands |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
276 @cindex IDLWAVE in a Nutshell |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
277 @cindex Nutshell, IDLWAVE in a |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
278 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
279 @subheading Editing IDL Programs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
280 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
281 @multitable @columnfractions .15 .85 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
282 @item @key{TAB} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
283 @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
|
284 @item @kbd{M-C-\} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
285 @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
|
286 @item @kbd{M-@key{RET}} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
287 @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
|
288 @item @kbd{M-q} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
289 @tab Fill the current comment paragraph. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
290 @item @kbd{C-c ?} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
291 @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
|
292 at point. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
293 @item @kbd{M-?} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
294 @tab Context sensitive online help. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
295 @item @kbd{M-@key{TAB}} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
296 @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
|
297 @item @kbd{C-c C-i} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
298 @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
|
299 @item @kbd{C-c C-v} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
300 @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
|
301 @item @kbd{C-c C-h} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
302 @tab Insert a standard documentation header. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
303 @item @kbd{C-c C-m} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
304 @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
|
305 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
306 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
307 @subheading Running the IDLWAVE Shell, Debugging Programs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
308 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
309 @multitable @columnfractions .15 .85 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
310 @item @kbd{C-c C-s} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
311 @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
|
312 @item @kbd{M-p} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
313 @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
|
314 @item @kbd{M-n} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
315 @tab Cycle forward. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
316 @item @kbd{M-@key{TAB}} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
317 @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
|
318 @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
|
319 @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
|
320 @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
|
321 @tab Goto next syntax error. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
322 @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
|
323 @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
|
324 @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
|
325 @tab Clear the current breakpoint. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
326 @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
|
327 @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
|
328 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
329 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
330 @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
|
331 @lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
332 ;; Change the indentation preferences |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
333 (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
|
334 idlwave-block-indent 2 ; default 4 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
335 idlwave-end-offset -2) ; default -4 |
27600 | 336 ;; Pad some operators with spaces |
337 (setq idlwave-do-actions t | |
338 idlwave-surround-by-blank t) | |
339 ;; Syntax Highlighting | |
340 (add-hook 'idlwave-mode-hook 'turn-on-font-lock) | |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
341 ;; Automatically start the shell when needed |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
342 (setq idlwave-shell-automatic-start t) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
343 ;; Bind debugging commands with CONTROL and SHIFT modifiers |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
344 (setq idlwave-shell-debug-modifiers '(control shift)) |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
345 ;; Where are the online help files? |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
346 (setq idlwave-help-directory "~/.idlwave") |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
347 @end lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
348 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
349 @node Getting Started, The IDLWAVE Major Mode, IDLWAVE in a Nutshell, Top |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
350 @chapter Getting Started (Tutorial) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
351 @cindex Quick-Start |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
352 @cindex Tutorial |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
353 @cindex Getting Started |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
354 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
355 @section Lession I: Development Cycle |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
356 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
357 The purpose of this tutorial is to guide you through a very basic |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
358 development cycle with IDLWAVE. We will type a simple program into a |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
359 buffer and use the shell to compile, debug and run this program. On the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
360 way we will use the most important commands in IDLWAVE. Note |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
361 however that there is much more funtionality available in IDLWAVE than |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
362 we cover here, and it will pay off greatly if eventually you go further |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
363 and read the whole manual. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
364 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
365 I assume that you have access to Emacs or XEmacs with the full IDLWAVE |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
366 package including online help (@pxref{Installation}). I also assume |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
367 that you are familiar with Emacs and can read the nomenclature of key |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
368 presses in Emacs (in particular, @kbd{C} stands for @key{CONTROL} and |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
369 @kbd{M} for @key{META} (often the @key{ALT} key carries this |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
370 functionality)). |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
371 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
372 Open a new source file by typing |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
373 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
374 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
375 @kbd{C-x C-f tutorial.pro @key{RET}} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
376 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
377 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
378 A buffer for this file will pop up, and it should be in IDLWAVE mode. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
379 You can see this by looking at the mode line, just below the editing |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
380 window. Also, the menu bar should contain entries @samp{IDLWAVE} and |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
381 @samp{Debug}. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
382 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
383 Now cut-and-paste the following program, also available as |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
384 @file{tutorial.pro} in the IDLWAVE distribution. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
385 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
386 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
387 function daynr,d,m,y |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
388 ;; compute a sequence number for a date |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
389 ;; works 1901-2099. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
390 if y lt 100 then y = y+1900 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
391 if m le 2 then delta = 1 else delta = 0 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
392 m1 = m + delta*12 + 1 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
393 y1 = y * delta |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
394 return, d + floor(m1*30.6)+floor(y1*365.25)+5 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
395 end |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
396 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
397 function weekday,day,month,year |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
398 ;; compute weekday number for date |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
399 nr = daynr(day,month,year) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
400 return, nr mod 7 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
401 end |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
402 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
403 pro plot_wday,day,month |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
404 ;; Plot the weekday of a date in the first 10 years of this century. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
405 years = 2000,+indgen(10) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
406 wdays = intarr(10) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
407 for i=0,n_elements(wdays)-1 do begin |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
408 wdays[i] = weekday(day,month,years[i]) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
409 end |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
410 plot,years,wdays,YS=2,YT="Wday (0=sunday)" |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
411 end |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
412 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
413 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
414 The indentation probably looks funny, since it's different from the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
415 settings you use, so use the @key{TAB} key in each line to automatically |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
416 line it up (or more quickly @emph{select} the entire buffer with |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
417 @kbd{C-x h} followed by @kbd{M-C-\}). Notice how different syntactical |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
418 elements are highlighted in different colors, if you have set up support |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
419 for font-lock. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
420 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
421 Let's check out two particular editing features of IDLWAVE. Place the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
422 cursor after the @code{end} statement of the @code{for} loop and press |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
423 @key{SPC}. IDLWAVE blinks back to the beginning of the block and |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
424 changes the generic @code{end} to the specific @code{endfor} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
425 automatically. Now place the cursor in any line you would like to split |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
426 into two and press @kbd{M-@key{RET}}. The line is split at the cursor |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
427 position, with the continuation @samp{$} and indentation all taken care |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
428 of. Use @kbd{C-/} to undo the last change. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
429 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
430 The procedure @code{plot_wday} is supposed to plot the weekday of a given |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
431 date for the first 10 years of the 21st century. I have put in a few |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
432 bugs which we are going to fix now. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
433 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
434 First, let's launch the IDLWAVE shell. You do this with the command |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
435 @kbd{C-c C-s}. The Emacs window will split and display IDL running in a |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
436 shell interaction buffer. Type a few commands like @code{print,!PI} to |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
437 convince yourself that you can work there like in an xterminal, or the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
438 IDLDE. Use the arrow keys to cycle through your command history. Are |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
439 we having fun now? |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
440 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
441 Now go back to the source window and type @kbd{C-c C-d C-c} to compile |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
442 the program. If you watch the shell buffer, you see that IDLWAVE types |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
443 @samp{.run tutorial.pro} for you. But the compilation fails because |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
444 there is a comma in the line @samp{years=...}. The line with the error |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
445 is highlighted and the cursor positioned at the error, so remove the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
446 comma (you should only need to hit Delete!). Compile again, using the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
447 same keystrokes as before. Notice that the file is saved for you. This |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
448 time everything should work fine, and you should see the three routines |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
449 compile. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
450 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
451 Now we want to use the command to plot the weekdays for January 1st. We |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
452 could type the full command ourselves, but why do that? Go back to the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
453 shell window, type @samp{plot_} and hit @key{TAB}. After a bit of a |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
454 delay (while IDLWAVE initializes its routine info database), the window |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
455 will split to show all procedures it knows starting with that string, |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
456 and @w{@code{plot_wday}} should be one of them. Saving the buffer was |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
457 enough to tell IDLWAVE about this new routine. Click with the middle |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
458 mouse button on @code{plot_wday} and it will be copied to the shell |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
459 buffer, or if you prefer, add @samp{w} to @samp{plot_} to make it |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
460 unambiguous, hit @key{TAB}, and the full routine name will be completed. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
461 Now provide the two arguments: |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
462 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
463 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
464 plot_wday,1,1 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
465 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
466 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
467 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
468 and press @key{RET}. This fails with an error message telling you the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
469 @code{YT} keyword to plot is ambiguous. What are the allowed keywords |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
470 again? Go back to the source window and put the cursor into the `plot' |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
471 line, and press @kbd{C-c ?}. This pops up the routine info window for |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
472 the plot routine, which contains a list of keywords, and the argument |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
473 list. Oh, we wanted @code{YTITLE}. Fix that up. Recompile with |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
474 @kbd{C-c C-d C-c}. Jump back into the shell with @kbd{C-c C-s}, press |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
475 the @key{UP} arrow to recall the previous command and execute again. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
476 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
477 This time we get a plot, but it is pretty ugly -- the points are all |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
478 connected with a line. Hmm, isn't there a way for @code{plot} to use |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
479 symbols instead? What was that keyword? Position the cursor on the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
480 plot line after a comma (where you'd normally type a keyword), and hit |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
481 @kbd{M-@key{Tab}}. A long list of plot's keywords appears. Aha, there |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
482 it is, @code{PSYM}. Middle click to insert it. An @samp{=} sign is |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
483 included for you too. Now what were the values of @code{PSYM} supposed |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
484 to be? With the cursor on or after the keyword, press @kbd{M-?} for |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
485 online help (alternatively, you could have right clicked on the colored |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
486 keyword itself in the completion list). The online help window will pop |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
487 up showing the documentation for the @code{PYSM} keyword. Ok, let's use |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
488 diamonds=4. Fix this, recompile (you know the command by now: @kbd{C-c |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
489 C-d C-c}, go back to the shell (if it's vanished, you know the command |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
490 to recall it by now: @kbd{C-c C-s}) and execute again. Now things look |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
491 pretty good. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
492 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
493 Lets try a different day - how about April fool's day? |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
494 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
495 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
496 plot_wday,1,4 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
497 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
498 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
499 Oops, this looks very wrong. All April fool's days cannot be |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
500 Fridays! We've got a bug in the program, perhaps in the @code{daynr} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
501 function. Lets put a breakpoint on the last line there. Position the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
502 cursor on the @samp{return, d+...} line and press @kbd{C-c C-d C-b}. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
503 IDL sets a breakpoint (as you see in the shell window), and the line is |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
504 highlighted in some way. Back to the shell buffer, re-execute the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
505 previous command. IDL stops at the line with the breakpoint. Now hold |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
506 down the SHIFT key and click with the middle mouse button on a few |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
507 variables there: @samp{d}, @samp{y}, @samp{m}, @samp{y1}, etc. Maybe |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
508 @code{d} isn't the correct type. CONTROL-SHIFT middle-click on it for |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
509 help. Well, it's an integer, so that's not the problem. Aha, @samp{y1} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
510 is zero, but it should be the year, depending on delta. Shift click |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
511 @samp{delta} to see that it's 0. Below, we see the offending line: |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
512 @samp{y1=y*delta...} the multiplication should have been a minus sign! |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
513 So fix the line to |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
514 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
515 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
516 y1 = y - delta |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
517 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
518 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
519 Now remove all breakpoints: @kbd{C-c C-d C-a}. Recompile and rerun the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
520 command. Everything should now work fine. How about those leap years? |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
521 Change the code to plot 100 years and see that every 28 years, the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
522 sequence of weekdays repeats. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
523 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
524 @section Lession II: Customization |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
525 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
526 Emacs is probably the most customizable piece of software available, and |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
527 it would be a shame if you did not make use of this and adapt IDLWAVE to |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
528 your own preferences. Customizing Emacs or IDLWAVE means that you have |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
529 to set Lisp variables in the @file{.emacs} file in your home directory. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
530 This looks scary to many people because of all the parenthesis. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
531 However, you can just cut and paste the examples given here and work |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
532 from there. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
533 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
534 Lets first use a boolean variable. These are variables which you turn |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
535 on or off, much like a checkbox. A value of @samp{t} means on, a |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
536 value of @samp{nil} means off. Copy the following line into your |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
537 @file{.emacs} file, exit and restart Emacs. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
538 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
539 @lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
540 (setq idlwave-reserved-word-upcase t) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
541 @end lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
542 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
543 When this option is turned on, each reserved word you type into an IDL |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
544 source buffer will be converted to upper case when you press @key{SPC} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
545 or @key{RET} right after the word. Try it out! @samp{if} changes to |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
546 @samp{IF}, @samp{begin} to @samp{BEGIN}. If you don't like this |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
547 behavior, remove the option again from your @file{.emacs} file. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
548 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
549 Now I bet you have your own indentation preferences for IDL code. For |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
550 example, I like to indent the main block of an IDL program a bit, |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
551 different from the conventions used by RSI. Also, I'd like to use only |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
552 3 spaces as indentation between @code{BEGIN} and @code{END}. Try the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
553 following lines in @file{.emacs} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
554 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
555 @lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
556 (setq idlwave-main-block-indent 2) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
557 (setq idlwave-block-indent 3) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
558 (setq idlwave-end-offset -3) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
559 @end lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
560 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
561 Restart Emacs, take the program we developed in the first part of this |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
562 tutorial and re-indent it with @kbd{C-c h} and @kbd{M-C-\}. You |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
563 probably want to keep these lines in @file{.emacs}, with values adjusted |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
564 to your likings. If you want to get more information about any of these |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
565 variables, type, e.g., @kbd{C-h v idlwave-main-block-indent @key{RET}}. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
566 To find which variables can be customized, look for items marked |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
567 @samp{User Option:} in the manual. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
568 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
569 If you cannot wrap your head around this Lisp stuff, there is another, |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
570 more user-friendly way to customize all the IDLWAVE variables. You can |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
571 access it through the IDLWAVE menu in one of the @file{.pro} buffers, |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
572 option @code{Customize->Browse IDLWAVE Group}. Here you'll be presented |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
573 with all the various variables grouped into categories. You can |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
574 navigate the hierarchy (e.g. Idlwave Code Formatting->Idlwave Main Block |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
575 Indent), read about the variables, change them, and `Save for Future |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
576 Sessions'. Few of these variables need customization, but you can |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
577 exercise considerable control over IDLWAVE's functionality with them. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
578 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
579 Many people I talk to find the key bindings used for the debugging |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
580 commands too long and complicated. Do I always have to type @kbd{C-c |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
581 C-d C-c} to get a single simple command? Due to Emacs rules and |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
582 conventions I cannot make better bindings by default, but you can. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
583 First, there is a way to assign all debugging commands in a single sweep |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
584 to other combinations. The only problem is that we have to use |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
585 something which Emacs does not need for other important commands. A |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
586 good option is to execute debugging commands by holding down |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
587 @key{CONTROL} and @key{SHIFT} while pressing a single character: |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
588 @kbd{C-S-b} for setting a breakpoint, @kbd{C-S-c} for compiling the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
589 current source file, @kbd{C-S-a} for deleting all breakpoints. You can |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
590 have this with |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
591 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
592 @lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
593 (setq idlwave-shell-debug-modifiers '(shift control)) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
594 @end lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
595 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
596 If you have a special keyboard with for example a @key{HYPER} key, you |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
597 could use |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
598 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
599 @lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
600 (setq idlwave-shell-debug-modifiers '(hyper)) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
601 @end lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
602 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
603 instead to get compilation on @kbd{H-c}. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
604 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
605 You can also assign specific commands to function keys. This you must |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
606 do in the @emph{mode-hook}, a special function which is run when a new |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
607 buffer gets set up. Keybindings can only be done when the buffer |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
608 exists. The possibilities for key customization are endless. Here we |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
609 set function keys f5-f8 to common debugging commands. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
610 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
611 @lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
612 ;; First for the source buffer |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
613 (add-hook 'idlwave-mode-hook |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
614 (lambda () |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
615 (local-set-key [f5] 'idlwave-shell-break-here) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
616 (local-set-key [f6] 'idlwave-shell-clear-current-bp) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
617 (local-set-key [f7] 'idlwave-shell-cont) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
618 (local-set-key [f8] 'idlwave-shell-clear-all-bp))) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
619 ;; Then for the shell buffer |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
620 (add-hook 'idlwave-shell-mode-hook |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
621 (lambda () |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
622 (local-set-key [f5] 'idlwave-shell-break-here) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
623 (local-set-key [f6] 'idlwave-shell-clear-current-bp) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
624 (local-set-key [f7] 'idlwave-shell-cont) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
625 (local-set-key [f8] 'idlwave-shell-clear-all-bp))) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
626 @end lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
627 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
628 @section Lession III: Library Catalog |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
629 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
630 We have already used the routine info display in the first part of this |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
631 tutorial. This was the key @kbd{C-c ?} which displays information about |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
632 the IDL routine near the cursor position. Wouldn't it be nice |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
633 to have the same available for your own library routines and for the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
634 huge amount of code in major extension libraries like JHUPL or the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
635 IDL-Astro library? To do this, you must give IDLWAVE a chance to study |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
636 these routines first. We call this @emph{Building the library catalog}. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
637 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
638 From the IDLWAVE entry in the menu bar, select @code{Routine Info/Select |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
639 Catalog Directories}. If necessary, start the shell first with @kbd{C-c |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
640 C-s} (@pxref{Starting the Shell}). IDLWAVE will find out about the IDL |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
641 @code{!PATH} variable and offer a list of directories on the path. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
642 Simply select them all (or whichever you want) and click on the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
643 @samp{Scan&Save} button. Then go for a cup of coffee while IDLWAVE |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
644 collects information for each and every IDL routine on your search path. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
645 All this information is written to the file @file{.idlcat} in your home |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
646 directory and will from now one be automatically loaded whenever you use |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
647 IDLWAVE. Try to use routine info (@kbd{C-c ?}) or completion |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
648 (@kbd{M-<TAB>}) while on any routine or partial routine name you know to |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
649 be located in the library. E.g., if you have scanned the IDL-Astro |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
650 library: |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
651 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
652 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
653 a=readf@key{M-<TAB>} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
654 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
655 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
656 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
657 expands to `readfits('. Then try |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
658 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
659 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
660 a=readfits(@key{C-c ?} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
661 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
662 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
663 and you get: |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
664 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
665 @example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
666 Usage: Result = READFITS(filename, header, heap) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
667 ... |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
668 @end example |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
669 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
670 I hope you made it until here. Now you are set to work with IDLWAVE. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
671 On the way you will want to change other things, and to learn more about |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
672 the possibilities not discussed in this short tutorial. Read the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
673 manual, look at the documentation strings of interesting variables (with |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
674 @kbd{C-h v idlwave<-variable-name> @key{RET}}) and ask the remaining |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
675 questions on @code{comp.lang.idl-pvwave}. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
676 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
677 @node The IDLWAVE Major Mode, The IDLWAVE Shell, Getting Started, Top |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
678 @chapter The IDLWAVE Major Mode |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
679 @cindex IDLWAVE major mode |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
680 @cindex Major mode, @code{idlwave-mode} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
681 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
682 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
|
683 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
|
684 customize them. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
685 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
686 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
687 * Code Formatting:: Making code look nice |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
688 * Routine Info:: Calling Sequence and Keyword List |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
689 * Online Help:: One key press from source to help |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
690 * Completion:: Completing routine names and Keywords |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
691 * Routine Source:: How to visit the source file of routine XYZ |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
692 * Resolving Routines:: Force the Shell to compile a routine |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
693 * Code Templates:: Abbreviations for frequent constructs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
694 * Actions:: Changing case, Padding, End checking |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
695 * Doc Header:: Inserting a standard header |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
696 * 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
|
697 * 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
|
698 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
699 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
700 @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
|
701 @section Code Formatting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
702 @cindex Code formatting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
703 @cindex Formatting, of code |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
704 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
705 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
706 * Code Indentation:: Reflecting the logical structure |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
707 * 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
|
708 * Continuation Lines:: Splitting statements over lines |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
709 * Syntax Highlighting:: Font-lock support |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
710 @end menu |
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 @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
|
713 @subsection Code Indentation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
714 @cindex Code indentation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
715 @cindex Indentation |
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 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
|
718 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
|
719 @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
|
720 governed by a number of variables. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
721 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
722 @cindex Foreign code, adapting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
723 @cindex Indentation, of foreign code |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
724 @kindex M-C-\ |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
725 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
|
726 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
|
727 (@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
|
728 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
|
729 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
|
730 additional formatting conventions on foreign code. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
731 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
732 @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
|
733 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
|
734 the FUNCTION/PRO statement and the END statement for that program |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
735 unit. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
736 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
737 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
738 @defopt idlwave-block-indent (@code{5}) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
739 Extra indentation applied to block lines. If you change this, you |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
740 probably also want to change @code{idlwave-end-offset}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
741 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
742 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
743 @defopt idlwave-end-offset (@code{-4}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
744 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
|
745 @code{idlwave-block-indent} will make END lines line up with the block |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
746 BEGIN lines. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
747 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
748 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
749 @defopt idlwave-continuation-indent (@code{2}) |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
750 Extra indentation applied to continuation lines and inside unbalanced |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
751 parenthesis. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
752 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
753 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
754 @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
|
755 @subsection Comment Indentation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
756 @cindex Comment indentation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
757 @cindex Hanging paragraphs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
758 @cindex Paragraphs, filling |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
759 @cindex Paragraphs, hanging |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
760 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
761 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
|
762 Comment lines are indented as follows: |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
763 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
764 @multitable @columnfractions .1 .90 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
765 @item @code{;;;} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
766 @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
|
767 unchanged. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
768 @item @code{;;} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
769 @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
|
770 @item @code{;} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
771 @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
|
772 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
773 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
774 @noindent |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
775 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
|
776 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
777 @defopt idlwave-no-change-comment |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
778 The indentation of a comment starting with this regexp will not be changed. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
779 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
780 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
781 @defopt idlwave-begin-line-comment |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
782 A comment anchored at the beginning of line. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
783 @end defopt |
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 @defopt idlwave-code-comment |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
786 A comment that starts with this regexp is indented as if it is a part of |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
787 IDL code. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
788 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
789 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
790 @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
|
791 @subsection Continuation Lines and Filling |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
792 @cindex Continuation lines |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
793 @cindex Line splitting |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
794 @cindex String splitting |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
795 @cindex Splitting, of lines |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
796 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
797 @kindex M-@key{RET} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
798 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
|
799 @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
|
800 @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
|
801 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
|
802 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
|
803 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
|
804 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
|
805 string constant, the string is split with the @samp{+} concatenation |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
806 operator. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
807 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
808 @cindex Filling |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
809 @cindex @code{auto-fill-mode} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
810 @cindex Hanging paragraphs |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
811 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
|
812 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
|
813 are customary in the IDL routine headers. When @code{auto-fill-mode} is |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
814 turned on (toggle with @kbd{C-c C-a}), comments will be auto-filled. If |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
815 the first line of a paragraph is matched by |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
816 @code{idlwave-hang-indent-regexp}, subsequent lines are indented to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
817 after the position of this match, as in the following example. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
818 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
819 @example |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
820 ; INPUTS: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
821 ; x - an array containing |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
822 ; lots of interesting numbers. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
823 ; |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
824 ; y - another variable where |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
825 ; a hanging paragraph is used |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
826 ; to describe it. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
827 @end example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
828 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
829 @kindex M-q |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
830 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
|
831 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
832 @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
|
833 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
|
834 @end defopt |
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 @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
|
837 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
|
838 operator. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
839 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
840 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
841 @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
|
842 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
|
843 @samp{+}. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
844 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
845 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
846 @defopt idlwave-hanging-indent (@code{t}) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
847 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
|
848 indent given by @code{idlwave-hang-indent-regexp} match in the first |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
849 line of the paragraph. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
850 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
851 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
852 @defopt idlwave-hang-indent-regexp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
853 Regular expression matching the position of the hanging indent |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
854 in the first line of a comment paragraph. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
855 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
856 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
857 @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
|
858 Non-@code{nil} means use last match on line for |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
859 @code{idlwave-indent-regexp}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
860 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
861 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
862 @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
|
863 @subsection Syntax Highlighting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
864 @cindex Syntax highlighting |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
865 @cindex Highlighting of syntax |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
866 @cindex Font lock |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
867 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
868 Highlighting of keywords, comments, strings etc. can be accomplished |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
869 with @code{font-lock}. If you are using @code{global-font-lock-mode} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
870 (on Emacs), or have @code{font-lock} turned on in any other buffer in |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
871 XEmacs, it should also automatically work in IDLWAVE buffers. If not, |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
872 you can enforce it with the following line in your @file{.emacs} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
873 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
874 @lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
875 (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
|
876 @end lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
877 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
878 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
|
879 @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
|
880 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
881 @defopt idlwave-default-font-lock-items |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
882 Items which should be fontified on the default fontification level |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
883 2. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
884 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
885 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
886 @node Routine Info, Online Help, Code Formatting, The IDLWAVE Major Mode |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
887 @section Routine Info |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
888 @cindex Routine info |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
889 @cindex Updating routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
890 @cindex Scanning buffers for routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
891 @cindex Buffers, scanning for routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
892 @cindex Shell, querying for routine info |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
893 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
894 @kindex C-c C-i |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
895 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
|
896 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
|
897 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
|
898 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
|
899 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
|
900 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
|
901 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
|
902 routine definitions and queries the IDLWAVE-Shell for the properties of |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
903 modules currently compiled under the shell. This information is updated |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
904 automatically. If you think the information is not up-to-date, use |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
905 @kbd{C-c C-i} (@code{idlwave-update-routine-info}) to enforce a global |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
906 update. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
907 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
908 @kindex C-c ? |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
909 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
|
910 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
|
911 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
|
912 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
|
913 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
|
914 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
915 @example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
916 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
|
917 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
|
918 @end example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
919 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
920 @cindex Default routine, for info and help |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
921 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
|
922 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
|
923 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
|
924 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
|
925 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
|
926 object. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
927 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
928 @cindex Calling sequences |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
929 @cindex Keywords of a routine |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
930 @cindex Routine source information |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
931 The description displayed contains the calling sequence, the list of |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
932 keywords and the source location of this routine. It looks like this: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
933 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
934 @example |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
935 Usage: XMANAGER, NAME, ID |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
936 Keywords: BACKGROUND CATCH CLEANUP EVENT_HANDLER GROUP_LEADER |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
937 JUST_REG MODAL NO_BLOCK |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
938 Source: SystemLib [CSB] /soft1/idl53/lib/xmanager.pro |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
939 @end example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
940 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
941 @cindex Categories, of routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
942 @cindex Load-path shadows |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
943 @cindex Shadows, load-path |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
944 @cindex IDL variable @code{!PATH} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
945 @cindex @code{!PATH}, IDL variable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
946 @cindex IDL variable @code{!DIR} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
947 @cindex @code{!DIR}, IDL variable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
948 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
949 If a definition of this routine exists in several files accessible to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
950 IDLWAVE, several @samp{Source} lines will point to the different files. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
951 This may indicate that your routine is shadowing a library routine, |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
952 which may or may not be what you want (@pxref{Load-Path Shadows}). The |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
953 information about the calling sequence and the keywords is derived from |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
954 the first source listed. Library routines can only be supported if you |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
955 have scanned the local IDL library (@pxref{Library Catalog}). The source |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
956 entry consists of a @emph{source category}, a set of @emph{flags} and |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
957 the path to the @emph{source file}. The following categories |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
958 exist: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
959 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
960 @multitable @columnfractions .15 .85 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
961 @item @i{System} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
962 @tab A system routine, but we do not know if it is @i{Builtin} or |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
963 @i{SystemLib}. When the system library has bee scanned |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
964 (@pxref{Library Catalog}), this category will automatically split into the |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
965 next two. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
966 @item @i{Builtin} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
967 @tab A builtin routine with no source code available. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
968 @item @i{SystemLib} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
969 @tab A library routine in the official lib directory @file{!DIR/lib}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
970 @item @i{Obsolete} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
971 @tab A library routine in the official lib directory @file{!DIR/lib/obsolete}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
972 @item @i{Library} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
973 @tab A file on IDL's search path @code{!PATH}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
974 @item @i{Other} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
975 @tab Any other file not known to be on the search path. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
976 @item @i{Unresolved} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
977 @tab The shell lists this routine as unresolved. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
978 @end multitable |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
979 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
980 You can define additional categories based on the file name and path |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
981 with the variable @code{idlwave-special-lib-alist}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
982 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
983 @cindex Flags, in routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
984 @cindex Duplicate routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
985 @cindex Multiply defined routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
986 @cindex Routine definitions, multiple |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
987 The flags @code{[CSB]} indicate if the file is known to IDLWAVE from the |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
988 library catalog (@w{@code{[C--]}}, @pxref{Library Catalog}), from the Shell |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
989 (@w{@code{[-S-]}}) or from an Emacs buffer (@w{@code{[--B]}}). |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
990 Combinations are possible. If a file contains multiple definitions of |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
991 the same routine, the file name will be prefixed with @samp{(Nx)} where |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
992 @samp{N} is the number of definitions. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
993 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
994 @cindex Online Help from the routine info buffer |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
995 @cindex Active text, in routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
996 @cindex Inserting keywords, from routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
997 @cindex Source file, access from routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
998 Some of the text in the @file{*Help*} buffer will be active (it |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
999 highlights when you move the mouse over it). Clicking on these items |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1000 will have the following effects: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1001 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1002 @multitable @columnfractions 0.15 0.85 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1003 @item @i{Usage} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1004 @tab If online help is installed, a click with the @emph{right} mouse |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1005 button on the @i{Usage:} line will access the help for the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1006 routine (@pxref{Online Help}). |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1007 @item @i{Keyword} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1008 @tab Online help about keywords is also available with the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1009 @emph{right} mouse button. Clicking on a keyword with the @emph{middle} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1010 mouse button will insert this keyword in the buffer from where |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1011 @code{idlwave-routine-info} was called. Holding down @key{SHIFT} while |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1012 clicking also adds the initial @samp{/}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1013 @item @i{Source} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1014 @tab Clicking with the @emph{middle} mouse button on a @samp{Source} line |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1015 finds the source file of the routine and visits it in another window. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1016 Another click on the same line switches back to the buffer from which |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1017 @kbd{C-c ?} was called. If you use the @emph{right} mouse button, the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1018 source will not be visited by a buffer, but displayed in the online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1019 window. |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1020 @item @i{Classes} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1021 @tab The @i{Classes} line is only included in the routine info window if |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1022 the current class inherits from other classes. You can click with the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1023 @emph{middle} mouse button to display routine info about the current |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1024 method in other classes on the inheritance chain. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1025 @end multitable |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1026 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1027 @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
|
1028 Non-@code{nil} means, resize the Routine-info @file{*Help*} window to |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1029 fit the content. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1030 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1031 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1032 @defopt idlwave-special-lib-alist |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1033 Alist of regular expressions matching special library directories. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1034 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1035 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1036 @defopt idlwave-rinfo-max-source-lines (@code{5}) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1037 Maximum number of source files displayed in the Routine Info window. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1038 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1039 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1040 @page |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1041 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1042 @node Online Help, Completion, Routine Info, The IDLWAVE Major Mode |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1043 @section Online Help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1044 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1045 @cindex Online Help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1046 @cindex @file{idlw-help.txt} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1047 @cindex @file{idlw-help.el} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1048 @cindex IDL manual, ASCII version |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1049 @cindex Installing online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1050 @cindex Online Help, Installation |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1051 @cindex Speed, of online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1052 For IDL system routines, RSI provides extensive documentation. IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1053 can access an ASCII version of this documentation very quickly and |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1054 accurately. This is @emph{much} faster than using the IDL online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1055 application, also because usually IDLWAVE gets you to the right place in |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1056 the docs directly, without additional browsing and scrolling. For this |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1057 online help to work, you need an ASCII version of the IDL documentation |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1058 which is not part of the standard IDLWAVE distribution. The required |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1059 files can be downloaded from @uref{@value{IDLWAVE-HOMEPAGE}, the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1060 maintainers webpage}. As the text is extracted from PDF files, the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1061 formatting of the help text is good for normal text, but graphics and |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1062 multiline equations will not be well represented. See also |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1063 @ref{Documentation Scan}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1064 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1065 @cindex Source code, as online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1066 @cindex DocLib header, as online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1067 For routines which are not documented in the IDL manual (for example |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1068 your own routines), the source code is used as help text. If the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1069 requested information can be found in a (more or less) standard DocLib |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1070 file header, IDLWAVE shows the header. Otherwise the routine definition |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1071 statement (@code{pro}/@code{function}) is shown. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1072 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1073 @kindex M-? |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1074 In any IDL program, press @kbd{M-?} (@code{idlwave-context-help}) or |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1075 click with @kbd{S-mouse-3} to access context sensitive online help. The |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1076 following locations are recognized as context: |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1077 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1078 @cindex Context, for online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1079 @multitable @columnfractions .25 .75 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1080 @item @i{Routine name} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1081 @tab The name of a routine (function, procedure, method). |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1082 @item @i{Keyword Parameter} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1083 @tab Keyword parameter of a routine. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1084 @item @i{System Variable} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1085 @tab System variable like @code{!DPI}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1086 @item @i{IDL Statement} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1087 @tab Like @code{PRO}, @code{REPEAT}, or @code{COMPILE_OPT}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1088 @item @i{Class name} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1089 @tab Class name in @code{OBJ_NEW} call. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1090 @item @i{Executive Command} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1091 @tab Executive command like @code{.RUN}. Mostly useful in the shell. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1092 @item @i{Default} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1093 @tab The routine that would be selected for routine info display. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1094 @end multitable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1095 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1096 @cindex @code{OBJ_NEW}, special online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1097 Note that the @code{OBJ_NEW} function is special in that the help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1098 displayed depends on the cursor position: If the cursor is on the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1099 @samp{OBJ_NEW}, this function is described. If it is on the class name |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1100 inside the quotes, the documentation for the class is pulled up. If the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1101 cursor is @emph{after} the class name, anywhere in the argument list, |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1102 the documentation for the corresponding @code{Init} method and its |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1103 keywords is targeted. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1104 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1105 @noindent Apart from source buffers, there are two more places from |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1106 which online help can be accessed. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1107 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1108 @itemize @bullet |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1109 @item |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1110 Online help for routines and keywords can be accessed through the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1111 Routine Info display. Click with @kbd{mouse-3} on an item to see the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1112 corresponding help (@pxref{Routine Info}). |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1113 @item |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1114 When using completion and Emacs pops up a window with possible |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1115 completions, clicking with @kbd{mouse-3} on a completion item invokes |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1116 help on that item (@pxref{Completion}). |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1117 @end itemize |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1118 @noindent |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1119 In both cases, a blue face indicates that the item is documented in the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1120 IDL manual. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1121 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1122 @page |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1123 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1124 @cindex Help application, keybindings |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1125 @cindex Keybindings, in help application |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1126 The help window is normally displayed in a separate frame. The |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1127 following commands can be used to navigate inside the help system. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1128 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1129 @multitable @columnfractions .15 .85 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1130 @item @kbd{@key{SPACE}} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1131 @tab Scroll forward one page. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1132 @item @kbd{@key{RET}} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1133 @tab Scroll forward one line. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1134 @item @kbd{@key{DEL}} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1135 @tab Scroll back one page. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1136 @item @kbd{n, p} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1137 @tab Browse to the next or previous topic (in physical sequence). |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1138 @item @kbd{b, f} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1139 @tab Move back and forward through the help topic history. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1140 @item @kbd{c} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1141 @tab Clear the history. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1142 @item @kbd{mouse-2} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1143 @tab Follow a link. Active links are displayed in a different font. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1144 Items under @i{See Also} are active, and classes have links to their |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1145 methods and back. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1146 @item @kbd{o} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1147 @tab Open a topic. The topic can be selected with completion. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1148 @item @kbd{*} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1149 @tab Load the whole help file into Emacs, for global text searches. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1150 @item @kbd{q} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1151 @tab Kill the help window. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1152 @end multitable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1153 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1154 @sp 1 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1155 @noindent When the help text is a source file, the following commands |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1156 are also available. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1157 @multitable @columnfractions .15 .85 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1158 @item @kbd{h} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1159 @tab Jump to DocLib Header of the routine whose source is displayed |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1160 as help. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1161 @item @kbd{H} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1162 @tab Jump to the first DocLib Header in the file. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1163 @item @kbd{.} @r{(Dot)} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1164 @tab Jump back and forth between the routine definition (the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1165 @code{pro}/@code{function} statement) and the description of the help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1166 item in the DocLib header. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1167 @item @kbd{F} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1168 @tab Fontify the buffer like source code. See the variable @code{idlwave-help-fontify-source-code}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1169 @end multitable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1170 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1171 @defopt idlwave-help-directory |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1172 The directory where idlw-help.txt and idlw-help.el are stored. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1173 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1174 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1175 @defopt idlwave-help-use-dedicated-frame (@code{t}) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1176 Non-nil means, use a separate frame for Online Help if possible. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1177 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1178 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1179 @defopt idlwave-help-frame-parameters |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1180 The frame parameters for the special Online Help frame. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1181 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1182 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1183 @defopt idlwave-max-popup-menu-items (@code{20}) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1184 Maximum number of items per pane in popup menus. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1185 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1186 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1187 @defopt idlwave-extra-help-function |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1188 Function to call for help if the normal help fails. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1189 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1190 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1191 @defopt idlwave-help-fontify-source-code (@code{nil}) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1192 Non-nil means, fontify source code displayed as help. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1193 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1194 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1195 @defopt idlwave-help-source-try-header (@code{t}) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1196 Non-nil means, try to find help in routine header when displaying source |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1197 file. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1198 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1199 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1200 @defopt idlwave-help-link-face |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1201 The face for links to IDLWAVE online help. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1202 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1203 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1204 @defopt idlwave-help-activate-links-agressively (@code{t}) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1205 Non-@code{nil} means, make all possible links in help window active. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1206 @end defopt |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1207 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1208 @node Completion, Routine Source, Online Help, The IDLWAVE Major Mode |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1209 @section Completion |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1210 @cindex Completion |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1211 @cindex Keyword completion |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1212 @cindex Method completion |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1213 @cindex Object method completion |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1214 @cindex Class name completion |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1215 @cindex Function name completion |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1216 @cindex Procedure name completion |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1217 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1218 @kindex M-@key{TAB} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1219 @kindex C-c C-i |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1220 IDLWAVE offers completion for class names, routine names and keywords. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1221 As in many programming modes, completion is bound to @kbd{M-@key{TAB}}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1222 Completion uses the same internal information as routine info, so when |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1223 necessary it can be updated with @kbd{C-c C-i} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1224 (@code{idlwave-update-routine-info}). |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1225 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1226 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
|
1227 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
|
1228 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
|
1229 @samp{*}. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1230 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1231 @example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1232 plo* @r{Procedure} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1233 x = a* @r{Function} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1234 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
|
1235 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
|
1236 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
|
1237 obj -> a* @r{Object method (procedure)} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1238 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
|
1239 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
|
1240 x = obj_new('MyCl',a* @r{Keyword to @code{Init} method in class @code{MyCl}} |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1241 pro A* @r{Class name} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1242 pro * @r{Fill in @code{Class::} of first method in this file} |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1243 !v* @r{System variable} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1244 !version.t* @r{Structure tag of system variable} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1245 self.g* @r{Class structure tag in methods} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1246 @end example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1247 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1248 @cindex Scrolling the @file{*Completions*} window |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1249 @cindex Completion, scrolling |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1250 @cindex Completion, Online Help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1251 @cindex Online Help in @file{*Completions*} buffer |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1252 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
|
1253 @file{*Completions*} window, the window can be scrolled by pressing |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1254 @kbd{M-@key{TAB}} repeatedly. Online help (if installed) for each |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1255 possible completion is available by clicking with @kbd{mouse-3} on the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1256 item. Items for which system online help (from the IDL manual) is |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1257 available will be displayed in a different font. For other items, the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1258 corresponding source code or DocLib header is available as help text. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1259 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1260 @cindex Case of completed words |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1261 @cindex Mixed case completion |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1262 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
|
1263 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
|
1264 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
|
1265 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
|
1266 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
|
1267 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
|
1268 conventions in the IDL manuals. These defaults can be changed with the |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1269 variable @code{idlwave-completion-case}. |
26960
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 @defopt idlwave-completion-case |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1272 Association list setting the case (UPPER/lower/Capitalized/...) of completed |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1273 words. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1274 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1275 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1276 @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
|
1277 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
|
1278 @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
|
1279 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
|
1280 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1281 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1282 @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
|
1283 Non-@code{nil} means, the empty string is considered lower case for |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1284 completion. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1285 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1286 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1287 @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
|
1288 Non-@code{nil} means, completion automatically adds @samp{=} after |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1289 completed keywords. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1290 @end defopt |
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 @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
|
1293 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
|
1294 completed function. A value of `2' means, also add the closing |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1295 parenthesis and position cursor between the two. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1296 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1297 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1298 @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
|
1299 Non-@code{nil} means, restore window configuration after successful |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1300 completion. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1301 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1302 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1303 @defopt idlwave-highlight-help-links-in-completion (@code{t}) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1304 Non-nil means, highlight completions for which system help is available. |
26960
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 @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
|
1308 @cindex Object methods |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1309 @cindex Class ambiguity |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1310 @cindex @code{self} object, default class |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1311 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
|
1312 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
|
1313 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
|
1314 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
|
1315 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
|
1316 @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
|
1317 will be shown next to the item (see option |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1318 @code{idlwave-completion-show-classes}). As a special case, the class |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1319 of an object called @samp{self} object is always the class of the |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1320 current routine. All classes it inherits from are considered as well |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1321 where appropriate. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1322 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1323 @cindex Forcing class query. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1324 @cindex Class query, forcing |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1325 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
|
1326 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
|
1327 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
|
1328 @code{idlwave-query-class} can be configured to make this behavior the |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1329 default (not recommended). After you have specified the class |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1330 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
|
1331 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
|
1332 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
|
1333 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
|
1334 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
|
1335 default - the variable @code{idlwave-store-inquired-class} can be used |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1336 to turn it on. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1337 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1338 @defopt idlwave-support-inheritance (@code{t}) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1339 Non-@code{nil} means, treat inheritance with completion, online help etc. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1340 @end defopt |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1341 |
27600 | 1342 @defopt idlwave-completion-show-classes (@code{1}) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1343 Non-@code{nil} means, show classes in @file{*Completions*} buffer when |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1344 completing object methods and keywords. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1345 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1346 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1347 @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
|
1348 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
|
1349 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1350 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1351 @defopt idlwave-query-class (@code{nil}) |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1352 Association list governing query for object classes during completion. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1353 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1354 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1355 @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
|
1356 Non-@code{nil} means, store class of a method call as text property on |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1357 @samp{->}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1358 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1359 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1360 @defopt idlwave-class-arrow-face |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1361 Face to highlight object operator arrows @samp{->} which carry a class |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1362 text property. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1363 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1364 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1365 @node Routine Source, Resolving Routines, Completion, The IDLWAVE Major Mode |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1366 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1367 @section Routine Source |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1368 @cindex Routine source file |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1369 @cindex Module source file |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1370 @cindex Source file, of a routine |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1371 @kindex C-c C-v |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1372 Apart from clicking on a @i{Source:} line in the routine info window, |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1373 there is also another way to find the source file of a routine. The |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1374 command @kbd{C-c C-v} (@code{idlwave-find-module}) asks for a module |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1375 name, offering the same default as @code{idlwave-routine-info} would |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1376 have used. In the minibuffer, specify a complete routine name |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1377 (including the class part). IDLWAVE will display the source file in |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1378 another window. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1379 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1380 @cindex Buffers, killing |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1381 @cindex Killing autoloaded buffers |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1382 Since getting the source of a routine into a buffer is so easy with |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1383 IDLWAVE, too many buffers visiting different IDL source files are |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1384 sometimes created. The special command @kbd{C-c C-k} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1385 (@code{idlwave-kill-autoloaded-buffers}) can be used to remove these |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1386 buffers. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1387 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1388 @node Resolving Routines, Code Templates, Routine Source, The IDLWAVE Major Mode |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1389 @section Resolving Routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1390 @cindex @code{RESOLVE_ROUTINE} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1391 @cindex Compiling library modules |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1392 @cindex Routines, resolving |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1393 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1394 The key sequence @kbd{C-c =} calls the command @code{idlwave-resolve} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1395 and sends the line @samp{RESOLVE_ROUTINE, '@var{routine_name}'} to IDL |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1396 in order to resolve (compile) it. The default routine to be resolved is |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1397 taken from context, but you get a chance to edit it. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1398 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1399 @code{idlwave-resolve} is one way to get a library module within reach |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1400 of IDLWAVE's routine info collecting functions. A better way is to |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1401 scan (parts of) the library (@pxref{Library Catalog}). Routine info on |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1402 library modules will then be available without the need to compile the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1403 modules first, and even without a running shell. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1404 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1405 @xref{Sources of Routine Info}, for in-depth information where IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1406 collects data about routines, and how to update this information. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1407 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1408 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1409 @node Code Templates, Actions, Resolving Routines, The IDLWAVE Major Mode |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1410 @section Code Templates |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1411 @cindex Code templates |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1412 @cindex Abbreviations |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1413 @cindex Templates |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1414 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1415 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
|
1416 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
|
1417 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1418 @multitable @columnfractions .15 .85 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1419 @item @kbd{C-c C-c} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1420 @tab @code{CASE} statement template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1421 @item @kbd{C-c C-f} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1422 @tab @code{FOR} loop template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1423 @item @kbd{C-c C-r} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1424 @tab @code{REPEAT} loop template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1425 @item @kbd{C-c C-w} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1426 @tab @code{WHILE} loop template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1427 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1428 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1429 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
|
1430 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
|
1431 @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
|
1432 start with a @samp{\} (the backslash). Here are a few examples of |
27600 | 1433 predefined abbreviations. For a full list, use @kbd{M-x |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1434 idlwave-list-abbrevs}. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1435 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1436 @multitable @columnfractions .15 .85 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1437 @item @code{\pr} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1438 @tab @code{PROCEDURE} template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1439 @item @code{\fu} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1440 @tab @code{FUNCTION} template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1441 @item @code{\c} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1442 @tab @code{CASE} statement template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1443 @item @code{\f} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1444 @tab @code{FOR} loop template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1445 @item @code{\r} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1446 @tab @code{REPEAT} loop template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1447 @item @code{\w} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1448 @tab @code{WHILE} loop template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1449 @item @code{\i} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1450 @tab @code{IF} statement template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1451 @item @code{\elif} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1452 @tab @code{IF-ELSE} statement template |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1453 @item @code{\b} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1454 @tab @code{BEGIN} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1455 @end multitable |
27600 | 1456 |
1457 The templates are expanded in upper or lower case, depending upon the | |
1458 variables @code{idlwave-abbrev-change-case} and | |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1459 @code{idlwave-reserved-word-upcase}. |
27600 | 1460 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1461 @defopt idlwave-abbrev-start-char (@code{"\"}) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1462 A single character string used to start abbreviations in abbrev |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1463 mode. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1464 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1465 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1466 @defopt idlwave-abbrev-move (@code{t}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1467 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
|
1468 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
|
1469 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1470 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1471 @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
|
1472 @section Actions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1473 @cindex Actions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1474 @cindex Coding standards, enforcing |
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 @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
|
1477 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
|
1478 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
|
1479 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
|
1480 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
|
1481 want your code to adhere to certain standards, they can be |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1482 helpful. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1483 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1484 Action can be applied in three ways: |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1485 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1486 @itemize @bullet |
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 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
|
1489 @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
|
1490 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
|
1491 after a reserved word can call a command to change the word to upper |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1492 case. |
26960
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 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
|
1495 entire line. To enable this, the variable @code{idlwave-do-actions} |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1496 must be non-@code{nil}. |
26960
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 @cindex Foreign code, adapting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1499 @cindex Actions, applied to foreign code |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1500 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
|
1501 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
|
1502 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
|
1503 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
|
1504 current subprogram). @xref{Code Indentation}, for information how to |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1505 adjust the indentation of the code. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1506 @end itemize |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1507 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1508 @defopt idlwave-do-actions (@code{nil}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1509 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
|
1510 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1511 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1512 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1513 * 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
|
1514 * Padding Operators:: Enforcing space around `=' etc |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1515 * Case Changes:: Enforcing upper case keywords |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1516 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1517 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1518 @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
|
1519 @subsection Block Boundary Check |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1520 @cindex Block boundary check |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1521 @cindex @code{END} type checking |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1522 @cindex @code{END}, automatic insertion |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1523 @cindex @code{END}, expanding |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1524 @cindex Block, closing |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1525 @cindex Closing a block |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1526 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1527 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
|
1528 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
|
1529 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
|
1530 @code{ENDIF} or @code{ENDCASE}, you get a warning if that kind of END |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1531 does not match the type of block it terminates. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1532 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1533 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
|
1534 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
|
1535 You can also type @kbd{C-c ]} to close the current block by inserting |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1536 the appropriate @code{END} statement. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1537 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1538 @defopt idlwave-show-block (@code{t}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1539 Non-@code{nil} means point blinks to block beginning for |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1540 @code{idlwave-show-begin}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1541 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1542 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1543 @defopt idlwave-expand-generic-end (@code{t}) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1544 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
|
1545 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1546 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1547 @defopt idlwave-reindent-end (@code{t}) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1548 Non-nil means re-indent line after END was typed. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1549 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1550 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1551 @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
|
1552 @subsection Padding Operators |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1553 @cindex Padding operators with spaces |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1554 @cindex Operators, padding with spaces |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1555 @cindex Space, around operators |
26960
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 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
|
1558 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
|
1559 indented. IDLWAVE contains this setting for the operators @samp{&}, |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1560 @samp{<}, @samp{>}, @samp{,}, @samp{=}, and @samp{->}@footnote{Operators |
27600 | 1561 longer than one character can only be padded during line indentation.}, |
1562 but the feature is turned off by default. If you want to turn it on, | |
1563 customize the variables @code{idlwave-surround-by-blank} and | |
1564 @code{idlwave-do-actions}. You can also define similar actions for | |
1565 other operators by using the function @code{idlwave-action-and-binding} | |
1566 in the mode hook. For example, to enforce space padding of the @samp{+} | |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1567 and @samp{*} operators, try this in @file{.emacs} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1568 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1569 @lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1570 (add-hook 'idlwave-mode-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1571 (lambda () |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1572 (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
|
1573 (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
|
1574 (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
|
1575 @end lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1576 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1577 @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
|
1578 Non-@code{nil} means, enable @code{idlwave-surround}. If non-nil, |
27600 | 1579 @samp{=}, @samp{<}, @samp{>}, @samp{&}, @samp{,}, @samp{->} are |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1580 surrounded with spaces by @code{idlwave-surround}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1581 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1582 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1583 @defopt idlwave-pad-keyword (@code{t}) |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1584 Non-@code{nil} means pad @samp{=} for keywords like assignments. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1585 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1586 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1587 @node Case Changes, , Padding Operators, Actions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1588 @subsection Case Changes |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1589 @cindex Case changes |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1590 @cindex Upcase, enforcing for reserved words |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1591 @cindex Downcase, enforcing for reserved words |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1592 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1593 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
|
1594 abbreviations by customizing the variables |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1595 @code{idlwave-abbrev-change-case} and |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1596 @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
|
1597 additional words automatically, put something like the following into |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1598 your @file{.emacs} file: |
26960
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 @lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1601 (add-hook 'idlwave-mode-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1602 (lambda () |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1603 ;; Capitalize system vars |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1604 (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
|
1605 ;; Capitalize procedure name |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1606 (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
|
1607 '(capitalize-word 1) t) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1608 ;; Capitalize common block name |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1609 (idlwave-action-and-binding "\\<common\\>[ \t]+\\<" |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1610 '(capitalize-word 1) t))) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1611 @end lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1612 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1613 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
|
1614 @code{idlwave-action-and-binding}. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1615 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1616 @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
|
1617 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
|
1618 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
|
1619 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1620 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1621 @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
|
1622 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
|
1623 expansion. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1624 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1625 |
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 @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
|
1628 @section Documentation Header |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1629 @cindex Documentation header |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1630 @cindex DocLib header |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1631 @cindex Modification timestamp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1632 @cindex Header, for file documentation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1633 @cindex Timestamp, in doc header. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1634 @cindex Changelog, in doc header. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1635 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1636 @kindex C-c C-h |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1637 @kindex C-c C-m |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1638 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
|
1639 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
|
1640 @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
|
1641 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
|
1642 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
|
1643 name with a timestamp. |
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-file-header |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1646 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
|
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 @defopt idlwave-timestamp-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1650 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
|
1651 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1652 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1653 @defopt idlwave-doc-modifications-keyword |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1654 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
|
1655 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1656 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1657 @defopt idlwave-doclib-start |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1658 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
|
1659 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1660 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1661 @defopt idlwave-doclib-end |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1662 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
|
1663 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1664 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1665 @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
|
1666 @section Motion Commands |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1667 @cindex Motion commands |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1668 @cindex Program structure, moving through |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1669 @cindex Code structure, moving through |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1670 @cindex @file{Func-menu}, XEmacs package |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1671 @cindex @file{Imenu}, Emacs package |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1672 @cindex Function definitions, jumping to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1673 @cindex Procedure definitions, jumping to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1674 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1675 IDLWAVE supports both @file{Imenu} and @file{Func-menu}, two packages |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1676 which make it easy to jump to the definitions of functions and |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1677 procedures in the current file. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1678 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1679 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
|
1680 program. These are |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1681 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1682 @multitable @columnfractions .15 .85 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1683 @item @kbd{C-M-a} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1684 @tab Beginning of subprogram |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1685 @item @kbd{C-M-e} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1686 @tab End of subprogram |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1687 @item @kbd{C-c @{} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1688 @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
|
1689 @item @kbd{C-c @}} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1690 @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
|
1691 @item @kbd{M-C-n} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1692 @tab Forward block (on same level) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1693 @item @kbd{M-C-p} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1694 @tab Backward block (on same level) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1695 @item @kbd{M-C-d} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1696 @tab Down block (enters a block) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1697 @item @kbd{M-C-u} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1698 @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
|
1699 @item @kbd{C-c C-n} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1700 @tab Next Statement |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1701 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1702 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1703 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1704 @node 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
|
1705 @section Miscellaneous Options |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1706 @cindex Hooks |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1707 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1708 @defopt idlwave-help-application |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1709 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
|
1710 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1711 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1712 @defopt idlwave-startup-message (@code{t}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1713 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
|
1714 is first called. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1715 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1716 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1717 @defopt idlwave-mode-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1718 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
|
1719 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1720 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1721 @defopt idlwave-load-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1722 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
|
1723 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1724 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1725 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1726 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1727 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1728 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1729 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1730 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1731 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1732 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1733 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1734 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1735 |
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 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1738 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1739 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1740 @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
|
1741 @chapter The IDLWAVE Shell |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1742 @cindex IDLWAVE shell |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1743 @cindex Major mode, @code{idlwave-shell-mode} |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1744 @cindex IDL, as Emacs subprocess |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1745 @cindex Subprocess of Emacs, IDL |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1746 @cindex Comint, Emacs package |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1747 @cindex Windows |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1748 @cindex MacOS |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1749 @cindex Unix |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1750 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1751 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
|
1752 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
|
1753 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
|
1754 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
|
1755 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
|
1756 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
|
1757 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
|
1758 to make the IDLWAVE shell work on these systems.} - so the IDLWAVE shell |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1759 only works under Unix. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1760 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1761 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1762 * 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
|
1763 * 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
|
1764 * Debugging IDL Programs:: Compilation/Debugging |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1765 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1766 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1767 @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
|
1768 @section Starting the Shell |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1769 @cindex Starting the shell |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1770 @cindex Shell, starting |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1771 @cindex Dedicated frame, for shell buffer |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1772 @cindex Frame, for shell buffer |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1773 @cindex Subprocess of Emacs, IDL |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1774 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1775 @kindex C-c C-s |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1776 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
|
1777 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
|
1778 @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
|
1779 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
|
1780 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
|
1781 (@code{idlwave-shell-recenter-shell-window}) displays the |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1782 shell window without selecting it. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1783 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1784 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
|
1785 @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
|
1786 @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
|
1787 window, configure the variable |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1788 @code{idlwave-shell-use-dedicated-frame}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1789 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1790 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
|
1791 to send a command to it. To enable auto start, set the variable |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1792 @code{idlwave-shell-automatic-start} to @code{t}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1793 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1794 @defopt idlwave-shell-explicit-file-name |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1795 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
|
1796 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1797 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1798 @defopt idlwave-shell-command-line-options |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1799 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
|
1800 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1801 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1802 @defopt idlwave-shell-prompt-pattern |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1803 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
|
1804 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1805 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1806 @defopt idlwave-shell-process-name |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1807 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
|
1808 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1809 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1810 @defopt idlwave-shell-automatic-start |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1811 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
|
1812 running. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1813 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1814 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1815 @defopt idlwave-shell-initial-commands |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1816 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
|
1817 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1818 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1819 @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
|
1820 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
|
1821 shell buffer. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1822 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1823 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1824 @defopt idlwave-shell-frame-parameters |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1825 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
|
1826 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1827 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1828 @defopt idlwave-shell-temp-pro-prefix |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1829 The prefix for temporary IDL files used when compiling regions. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1830 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1831 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1832 @cindex Hooks |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1833 @defopt idlwave-shell-mode-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1834 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
|
1835 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1836 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1837 @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
|
1838 @section Using the Shell |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1839 @cindex Comint |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1840 @cindex Shell, basic commands |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1841 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1842 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
|
1843 Emacs. It provides command history, command line editing and job |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1844 control. The @key{UP} and @key{DOWN} arrows cycle through the input |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1845 history just like in an X terminal@footnote{This is different from |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1846 normal Emacs/Comint behavior, but more like an xterm. If you prefer the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1847 default comint functionality, check the variable |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1848 @code{idlwave-shell-arrows-do-history}.}. Here is a list of |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1849 commonly used commands. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1850 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1851 @multitable @columnfractions .12 .88 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1852 @item @key{UP} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1853 @tab Cycle backwards in input history |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1854 @item @key{DOWN} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1855 @tab Cycle forwards in input history |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1856 @item @kbd{M-p} |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1857 @tab Cycle backwards in input history @emph{matching input} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1858 @item @kbd{M-n} |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1859 @tab Cycle forwards in input history @emph{matching input} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1860 @item @kbd{M-r} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1861 @tab Previous input matching a regexp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1862 @item @kbd{M-s} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1863 @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
|
1864 @item @kbd{return} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1865 @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
|
1866 @item @kbd{C-c C-a} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1867 @tab Beginning of line; skip prompt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1868 @item @kbd{C-c C-u} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1869 @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
|
1870 @item @kbd{C-c C-w} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1871 @tab Kill word before cursor |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1872 @item @kbd{C-c C-c} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1873 @tab Send ^C |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1874 @item @kbd{C-c C-z} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1875 @tab Send ^Z |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1876 @item @kbd{C-c C-\} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1877 @tab Send ^\ |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1878 @item @kbd{C-c C-o} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1879 @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
|
1880 @item @kbd{C-c C-r} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1881 @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
|
1882 @item @kbd{C-c C-l} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1883 @tab List input history |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1884 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1885 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1886 In addition to these standard @file{comint} commands, |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1887 @code{idlwave-shell-mode} provides many of the commands which simplify |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1888 writing IDL code, including abbreviations, online help, and completion. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1889 See @ref{Routine Info} and @ref{Online Help} and @ref{Completion} for more |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1890 information on these commands. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1891 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1892 @cindex Completion, in the shell |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1893 @cindex Routine info, in the shell |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1894 @cindex Online Help, in the shell |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1895 @multitable @columnfractions .12 .88 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1896 @item @kbd{@key{TAB}} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1897 @tab Completion of file names, routine names and keywords |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1898 (@code{idlwave-shell-complete}) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1899 @item @kbd{M-@key{TAB}} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1900 @tab Same as @key{TAB} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1901 @item @kbd{C-c ?} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1902 @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
|
1903 @item @kbd{M-?} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1904 @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
|
1905 @item @kbd{C-c C-i} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1906 @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
|
1907 (@code{idlwave-update-routine-info}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1908 @item @kbd{C-c C-v} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1909 @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
|
1910 @item @kbd{C-c =} |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1911 @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
|
1912 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1913 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1914 @defopt idlwave-shell-arrows-do-history (@code{t}) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1915 Non-@code{nil} means @key{UP} and @key{DOWN} arrows move through command |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1916 history like xterm. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1917 @end defopt |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1918 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1919 @defopt idlwave-shell-file-name-chars |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1920 The characters allowed in file names, as a string. Used for file name |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1921 completion. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1922 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1923 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1924 @defopt idlwave-shell-graphics-window-size |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1925 Size of IDL graphics windows popped up by special IDLWAVE command. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1926 @end defopt |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1927 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1928 @cindex Input mode |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1929 @cindex Character input mode (Shell) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1930 @cindex Line input mode (Shell) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1931 @cindex Magic spells, for input mode |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1932 @cindex Spells, magic |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1933 IDLWAVE works in line input mode: You compose a full command line, using |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1934 all the power Emacs gives you to do this. When you press @key{RET}, the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1935 whole line is sent to IDL. Sometimes it is necessary to send single |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1936 characters (without a newline), for example when an IDL program is |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1937 waiting for single character input with the @code{GET_KBRD} function. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1938 You can send a single character to IDL with the command @kbd{C-c C-x} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1939 (@code{idlwave-shell-send-char}). When you press @kbd{C-c C-y} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1940 (@code{idlwave-shell-char-mode-loop}), IDLWAVE runs a blocking loop |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1941 which accepts characters and immediately sends them to IDL. The loop |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1942 can be exited with @kbd{C-g}. It terminates also automatically when the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1943 current IDL command is finished. Check the documentation of the two |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1944 variables described below for a way to make IDL programs trigger |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1945 automatic switches of the input mode. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1946 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1947 @defopt idlwave-shell-use-input-mode-magic (@code{nil}) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1948 Non-nil means, IDLWAVE should check for input mode spells in output. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1949 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1950 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1951 @defopt idlwave-shell-input-mode-spells |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1952 The three regular expressions which match the magic spells for input |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1953 modes. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1954 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1955 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1956 @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
|
1957 @section Debugging IDL Programs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1958 @cindex Debugging |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1959 @cindex Keybindings for debugging |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1960 @cindex Toolbar |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1961 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1962 @kindex C-c C-d |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1963 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
|
1964 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
|
1965 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
|
1966 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
|
1967 toolbar. The display of the toolbar can be toggled with @kbd{C-c C-d |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1968 C-t} (@code{idlwave-shell-toggle-toolbar}). |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1969 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1970 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
|
1971 C-d}, so for example setting a breakpoint is done with @kbd{C-c C-d |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1972 C-b}, compiling a source file with @kbd{C-c C-d C-c}. If you find this |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1973 too much work you can choose a combination of modifier keys which is not |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1974 used by other commands. For example, if you write in @file{.emacs} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1975 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1976 @lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1977 (setq idlwave-shell-debug-modifiers '(control shift)) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1978 @end lisp |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1979 |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1980 a breakpoint can be set by pressing @kbd{b} while holding down |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1981 @kbd{shift} and @kbd{control} keys, i.e. @kbd{C-S-b}. Compiling a |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1982 source file will be on @kbd{C-S-c}, deleting a breakpoint @kbd{C-S-d} |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1983 etc. In the remainder of this chapter we will assume that the @kbd{C-c |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1984 C-d} bindings are active, but each of these bindings will have an |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1985 equivalent single-keypress shortcut with the modifiers given in the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1986 @code{idlwave-shell-debug-modifiers} variable. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1987 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1988 @defopt idlwave-shell-prefix-key (@kbd{C-c C-d}) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1989 The prefix key for the debugging map |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
1990 @code{idlwave-shell-mode-prefix-map}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1991 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1992 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1993 @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
|
1994 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
|
1995 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
|
1996 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
1997 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1998 @defopt idlwave-shell-debug-modifiers (@code{nil}) |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
1999 List of modifier keys to use for binding debugging commands in the shell |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2000 and in source buffers. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2001 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2002 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2003 @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
|
2004 Non-@code{nil} means, use the debugging toolbar in all IDL related |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2005 buffers. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2006 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2007 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2008 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2009 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2010 * 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
|
2011 * 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
|
2012 * 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
|
2013 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2014 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2015 @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
|
2016 @subsection Compiling Programs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2017 @cindex Compiling programs |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2018 @cindex Programs, compiling |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2019 @cindex Default command line, executing |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2020 @cindex Executing a default command line |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2021 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2022 @kindex C-c C-d C-c |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2023 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
|
2024 @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
|
2025 current buffer and then send the command @samp{.run path/to/file} to the |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2026 shell. You can also execute @kbd{C-c C-d C-c} from the shell buffer, in |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2027 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
|
2028 re-compiled. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2029 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2030 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
|
2031 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
|
2032 @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
|
2033 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
|
2034 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
|
2035 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
|
2036 line, call @code{idlwave-shell-execute-default-command-line} with a |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2037 prefix argument: @kbd{C-u C-c C-d C-y}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2038 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2039 @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
|
2040 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
|
2041 stopped. The value decides about the preferred method. Legal values |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2042 are @code{nil}, @code{t}, @code{arrow}, and @code{face}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2043 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2044 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2045 @defopt idlwave-shell-overlay-arrow (@code{">"}) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2046 The overlay arrow to display at source lines where execution |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2047 halts. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2048 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2049 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2050 @defopt idlwave-shell-stop-line-face |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2051 The face which highlights the source line where IDL is |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2052 stopped. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2053 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2054 |
34433
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2055 @node Breakpoints and Stepping, Examining Variables, Compiling Programs, Debugging IDL Programs |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2056 @subsection Breakpoints and Stepping |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2057 @cindex Breakpoints |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2058 @cindex Stepping |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2059 @cindex Execution, controlled |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2060 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2061 @kindex C-c C-d C-b |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2062 @kindex C-c C-d C-b |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2063 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
|
2064 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
|
2065 with @kbd{C-c C-d C-b} (@code{idlwave-shell-break-here}). With a prefix |
34433
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2066 arg of 1, the breakpoint gets a @code{/ONCE} keyword, meaning that it |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2067 will be deleted after first use. With a numeric prefix greater than |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2068 one, the breakpoint will only be active the @code{nth} time it is hit. |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2069 To clear the breakpoint in the current line, use @kbd{C-c C-d C-d} |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2070 (@code{idlwave-clear-current-bp}). To clear all breakpoints, use |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2071 @kbd{C-c C-d C-a} (@code{idlwave-clear-all-bp}). Breakpoint lines are |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2072 highlighted in the source code. |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2073 |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2074 Once the program has stopped somewhere, you can step through it. Here |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2075 is a summary of the breakpoint and stepping commands: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2076 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2077 @multitable @columnfractions .23 .77 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2078 @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
|
2079 @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
|
2080 @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
|
2081 @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
|
2082 @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
|
2083 @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
|
2084 @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
|
2085 @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
|
2086 @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
|
2087 @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
|
2088 @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
|
2089 @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
|
2090 @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
|
2091 @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
|
2092 @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
|
2093 @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
|
2094 @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
|
2095 @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
|
2096 @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
|
2097 @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
|
2098 @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
|
2099 @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
|
2100 @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
|
2101 @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
|
2102 @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
|
2103 @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
|
2104 @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
|
2105 @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
|
2106 @end multitable |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2107 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2108 @defopt idlwave-shell-mark-breakpoints (@code{t}) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2109 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
|
2110 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
|
2111 @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
|
2112 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2113 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2114 @defopt idlwave-shell-breakpoint-face |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2115 The face for breakpoint lines in the source code if |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2116 @code{idlwave-shell-mark-breakpoints} has the value @code{face}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2117 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2118 |
34433
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2119 @node Examining Variables, , Breakpoints and Stepping, Debugging IDL Programs |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2120 @subsection Examining Variables |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2121 @cindex @code{PRINT} expressions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2122 @cindex @code{HELP}, on expressions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2123 @cindex Expressions, printing |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2124 @cindex Expressions, help |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2125 @cindex Mouse binding to print expressions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2126 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2127 @kindex C-c C-d C-p |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2128 When execution is stopped you can examine the values of variables. The |
27600 | 2129 command @kbd{C-c C-d C-p} prints the expression at point, while @kbd{C-c |
2130 C-d ?} shows help on this expression. The expression at point is an | |
2131 array expression or a function call, or the contents of a pair of | |
2132 parenthesis. The selected expression becomes highlighted in the source | |
2133 code for a short time. Calling the above commands with a prefix | |
2134 argument will prompt for an expression instead of using the one at | |
2135 point. | |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2136 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2137 It is very convenient to click with the mouse on expressions to retrieve |
34433
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2138 their value. Expression printing is also bound to @kbd{S-mouse-2} and |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2139 expression help to @kbd{C-S-mouse-2}. I.e. you need to hold down |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2140 @key{SHIFT} and @key{CONTROL} while clicking with the mouse. |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2141 |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2142 @cindex Calling stack, motion |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2143 @cindex Printing expressions, on calling stack |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2144 @cindex Restrictions for expression printing |
27600 | 2145 Printing of expressions also works on higher levels of the calling |
2146 stack. This means that you can examine the values of variables and | |
2147 expressions inside the routine which called the current routine etc. | |
34433
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2148 Use the commands @kbd{C-c C-d C-@key{UP}} |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2149 (@code{idlwave-shell-stack-up}) and @kbd{C-c C-d C-@key{DOWN}} |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2150 (@code{idlwave-shell-stack-down}) or the corresponding toolbar buttons |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2151 to move through the calling stack. The mode line of the shell window |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2152 will indicate the routine and the calling stack level which define the |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2153 context for printing expressions. The following restrictions apply for |
31e98a1ac98f
Updated IDLWAVE to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
34432
diff
changeset
|
2154 all levels except the current: |
27600 | 2155 |
2156 @itemize @bullet | |
2157 @item | |
2158 Array expressions must use the @samp{[ ]} index delimiters. Identifiers | |
2159 with a @samp{( )} will be interpreted as function calls. | |
2160 @item | |
2161 @cindex ROUTINE_NAMES, IDL procedure | |
2162 Printing values of expressions on higher levels of the calling stack | |
2163 uses the @emph{unsupported} IDL routine @code{ROUTINE_NAMES}, which may | |
2164 or may not be available in future versions of IDL. | |
2165 @end itemize | |
2166 | |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2167 @defopt idlwave-shell-expression-face |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2168 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
|
2169 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
|
2170 the expression printed by IDL. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2171 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2172 |
27600 | 2173 @defopt idlwave-shell-print-expression-function (@code{nil}) |
2174 A function to handle special display of evaluated expressions. | |
2175 @end defopt | |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2176 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2177 @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
|
2178 @chapter Installation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2179 @cindex Installation |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2180 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2181 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2182 * Installing IDLWAVE:: How to install the distribution |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2183 * Installing Online Help:: Where to get the additional files needed |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2184 * 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
|
2185 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2186 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2187 @node Installing IDLWAVE, Installing Online Help, Installation, Installation |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2188 @section Installing IDLWAVE |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2189 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2190 @cindex FTP site |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2191 @cindex URL, homepage for IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2192 @cindex Homepage for IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2193 @cindex IDLWAVE, homepage |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2194 @cindex XEmacs package IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2195 @cindex Emacs, distributed with IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2196 @cindex Copyright, of IDL manual |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2197 IDLWAVE is part of Emacs 21.1 and later. It is also an XEmacs package |
27600 | 2198 and can be installed from |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2199 @uref{ftp://ftp.xemacs.org/pub/xemacs/packages/,the XEmacs ftp site} |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2200 with the normal package management system on XEmacs 21. These |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2201 pre-installed versions should work out-of-the-box. However, the files |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2202 needed for online help are not distributed with XEmacs/Emacs and have to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2203 be installed separately@footnote{Due to copyright reasons, the ASCII |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2204 version of the IDL manual cannot be distributed under the GPL.} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2205 (@pxref{Installing Online Help}). |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2206 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2207 You can also download IDLWAVE and install it yourself from |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2208 @uref{@value{IDLWAVE-HOMEPAGE}, the maintainers webpage}. Follow the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2209 instructions in the INSTALL file. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2210 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2211 @node Installing Online Help, Upgrading from idl.el , Installing IDLWAVE, Installation |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2212 @section Installing Online Help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2213 @cindex Installing online help |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2214 @cindex Online Help, Installation |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2215 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2216 If you want to use the online help display, two additional files (an |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2217 ASCII version of the IDL documentation and a topics/code file) must be |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2218 installed. These files can also be downloaded from |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2219 @uref{@value{IDLWAVE-HOMEPAGE}, the maintainers webpage}. You need to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2220 place the files somewhere on your system and tell IDLWAVE where they are |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2221 with |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2222 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2223 @lisp |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2224 (setq idlwave-help-directory "/path/to/help/files/") |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2225 @end lisp |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2226 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2227 @node Upgrading from idl.el, , Installing Online Help, Installation |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2228 @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
|
2229 @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
|
2230 @cindex Renaming old variables |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2231 @cindex Old variables, renaming |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2232 @kindex M-@key{TAB} |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2233 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2234 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
|
2235 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
|
2236 customization in @file{.emacs}. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2237 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2238 @enumerate |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2239 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2240 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
|
2241 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2242 Remove the now invalid @code{autoload} and @code{auto-mode-alist} forms |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2243 pointing to the @file{idl.el} and @file{idl-shell.el} files. Install |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2244 the new autoload forms. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2245 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2246 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
|
2247 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
|
2248 @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
|
2249 @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
|
2250 @lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2251 (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
|
2252 @end lisp |
27600 | 2253 @item |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2254 The key sequence @kbd{M-@key{TAB}} no longer inserts a TAB character. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2255 Like in in many other Emacs modes, @kbd{M-@key{TAB}} now does |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2256 completion. Inserting a TAB has therefore been moved to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2257 @kbd{C-@key{TAB}}. On a character based terminal you can also use |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2258 @kbd{C-c @key{SPC}}. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2259 @end enumerate |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2260 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2261 @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
|
2262 @chapter Acknowledgement |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2263 @cindex Acknowledgement |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2264 @cindex Maintainer, of IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2265 @cindex Authors, of IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2266 @cindex Contributors, to IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2267 @cindex Email address, of Maintainer |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2268 @cindex Thanks |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2269 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2270 @noindent |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2271 The main contributors to the IDLWAVE package have been: |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2272 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2273 @itemize @minus |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2274 @item |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2275 @uref{mailto:chase@@att.com, @b{Chris Chase}}, the original author. |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2276 Chris wrote @file{idl.el} and @file{idl-shell.el} and maintained them |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2277 for several years. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2278 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2279 @item |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2280 @uref{mailto:dominik@@astro.uva.nl, @b{Carsten Dominik}}, current author |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2281 and maintainer. I have been in charge of the package since version |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2282 3.0. I am also responsible for the manual. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2283 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2284 @item |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2285 @uref{mailto:jdsmith@@astrosun.tn.cornell.edu, @b{J.D. Smith}} has |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2286 shaped Object method completion and most new features in version 4.0 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2287 with his ideas, bug reports, and patient explanations of IDL internals. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2288 @end itemize |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2289 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2290 @noindent |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2291 The following people have also contributed to the development of IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2292 with patches, ideas, bug reports and suggestions. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2293 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2294 @itemize @minus |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2295 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2296 Ulrik Dickow <dickow@@nbi.dk> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2297 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2298 Eric E. Dors <edors@@lanl.gov> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2299 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2300 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
|
2301 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2302 David Huenemoerder <dph@@space.mit.edu> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2303 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2304 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
|
2305 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2306 Xuyong Liu <liu@@stsci.edu> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2307 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2308 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
|
2309 @item |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2310 Craig Markwardt <craigm@@cow.physics.wisc.edu> |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2311 @item |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2312 Laurent Mugnier <mugnier@@onera.fr> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2313 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2314 Lubos Pochman <lubos@@rsinc.com> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2315 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2316 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
|
2317 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2318 Marty Ryba <ryba@@ll.mit.edu> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2319 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2320 Phil Williams <williams@@irc.chmcc.org> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2321 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2322 Phil Sterne <sterne@@dublin.llnl.gov> |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2323 @end itemize |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2324 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2325 @noindent |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2326 Thanks to everyone! |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2327 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2328 @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
|
2329 @appendix Sources of Routine Info |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2330 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2331 @cindex Sources of routine information |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2332 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
|
2333 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
|
2334 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
|
2335 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
|
2336 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2337 @menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2338 * Routine Definitions:: Where IDL Routines are defined. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2339 * Routine Information Sources:: So how does IDLWAVE know about... |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2340 * Library Catalog:: Scanning the Libraries for Routine Info |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2341 * Load-Path Shadows:: Routines defined in several places |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2342 * Documentation Scan:: Scanning the IDL Manuals |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2343 @end menu |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2344 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2345 @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
|
2346 @section Routine Definitions |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2347 @cindex Routine definitions |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2348 @cindex IDL variable @code{!PATH} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2349 @cindex @code{!PATH}, IDL variable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2350 @cindex @code{CALL_EXTERNAL}, IDL routine |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2351 @cindex @code{LINKIMAGE}, IDL routine |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2352 @cindex External routines |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2353 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2354 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
|
2355 places: |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2356 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2357 @enumerate |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2358 @item |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2359 @emph{Builtin routines} are defined inside IDL itself. The source |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2360 code of such routines is not accessible to the user. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2361 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2362 Routines @emph{part of the current program} are defined in a file which |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2363 is explicitly compiled by the user. This file may or may not be located |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2364 on the IDL search path. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2365 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2366 @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
|
2367 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
|
2368 the first time, IDL will find the source file and compile it |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2369 dynamically. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2370 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2371 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
|
2372 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
|
2373 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
|
2374 cannot provide routine info and completion for external |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2375 routines. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2376 @end enumerate |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2377 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2378 @node Routine Information Sources, Library Catalog, Routine Definitions, Sources of Routine Info |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2379 @section Routine Information Sources |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2380 @cindex Routine info sources |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2381 @cindex Builtin list of routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2382 @cindex Updating routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2383 @cindex Scanning buffers for routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2384 @cindex Buffers, scanning for routine info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2385 @cindex Shell, querying for routine info |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2386 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2387 In oder to know about as many routines as possible, IDLWAVE will do the |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2388 following to collect information: |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2389 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2390 @enumerate |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2391 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2392 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2393 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
|
2394 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
|
2395 @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
|
2396 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
|
2397 by scanning the IDL manuals and is stored in the file |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2398 @file{idlw-rinfo.el}. @xref{Documentation Scan}, for |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2399 information how to regenerate this file for new versions of IDL. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2400 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2401 @item |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2402 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
|
2403 routine definitions. This is done automatically when routine |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2404 information or completion is first requested by the user. Each new |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2405 buffer and each buffer which is saved after making changes is also |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2406 scanned. The command @kbd{C-c C-i} (@code{idlwave-update-routine-info}) |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2407 can be used at any time to rescan all buffers. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2408 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2409 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2410 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
|
2411 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
|
2412 and their arguments. This happens automatically when routine |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2413 information or completion is first requested by the user, and each time |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2414 an Emacs buffer is compiled with @kbd{C-c C-d C-c}. The command |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2415 @kbd{C-c C-i} (@code{idlwave-update-routine-info}) can be used to ask |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2416 the shell again at any time. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2417 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2418 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2419 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
|
2420 file which will be automatically loaded just like |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2421 @file{idlw-rinfo.el}. @xref{Library Catalog}, for information how to |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2422 scan library files. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2423 @end enumerate |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2424 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2425 @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
|
2426 Non-@code{nil} means, scan all buffers for IDL programs when updating |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2427 info. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2428 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2429 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2430 @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
|
2431 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
|
2432 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2433 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2434 @defopt idlwave-auto-routine-info-updates |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2435 Controls under what circumstances routine info is updated automatically. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2436 @end defopt |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2437 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2438 @node Library Catalog, Load-Path Shadows, Routine Information Sources, Sources of Routine Info |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2439 @section Library Catalog |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2440 @cindex Library scan |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2441 @cindex Library catalog |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2442 @cindex IDL library routine info |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2443 @cindex Windows |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2444 @cindex MacOS |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2445 @cindex Unix |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2446 @cindex IDL variable @code{!DIR} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2447 @cindex @code{!DIR}, IDL variable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2448 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2449 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2450 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
|
2451 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
|
2452 @code{idlwave-libinfo-file} needs to contain the path to a file in an |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2453 existing directory (the default is @code{"~/.idlcat.el"}). Since the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2454 file will contain lisp code, its name should end in @file{.el}. Under |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2455 Windows and MacOS, you also need to specify the search path for IDL |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2456 library files in the variable @code{idlwave-library-path}, and the |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2457 location of the IDL directory (the value of the @code{!DIR} system |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2458 variable) in the variable @code{idlwave-system-directory}. Under UNIX, |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2459 these values will be automatically inferred from an IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2460 shell. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2461 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2462 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
|
2463 scan library files. It brings up a widget in which you can select some |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2464 or all directories on the search path. If you only want to have routine |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2465 and completion info of some libraries, it is sufficient to scan those |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2466 directories. However, if you want IDLWAVE to detect possible name |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2467 conflicts with routines defined in other libraries, the whole pass |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2468 should be scanned. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2469 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2470 After selecting directories, click on the @w{@samp{[Scan & Save]}} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2471 button in the widget to scan all files in the selected directories and |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2472 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
|
2473 @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
|
2474 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
|
2475 @code{idlwave-update-routine-info} with a double prefix argument: |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2476 @w{@kbd{C-u C-u C-c C-i}}. This will rescan files in the previously |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2477 selected directories, write an updated version of the libinfo file and |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2478 rebuild IDLWAVEs internal lists. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2479 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2480 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
|
2481 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
|
2482 time and loading this information into Emacs can require a |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2483 significant amount of memory. However, having this information |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2484 available will be a great help. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2485 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2486 @defopt idlwave-libinfo-file |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2487 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
|
2488 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2489 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2490 @defopt idlwave-library-path |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2491 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
|
2492 @end defopt |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2493 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2494 @defopt idlwave-system-directory |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2495 The IDL system directory for Windows and MacOS. Not needed under UNIX. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2496 @end defopt |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2497 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2498 @defopt idlwave-special-lib-alist |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2499 Alist of regular expressions matching special library directories. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2500 @end defopt |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2501 |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2502 @node Load-Path Shadows, Documentation Scan, Library Catalog, Sources of Routine Info |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2503 @section Load-Path Shadows |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2504 @cindex Load-path shadows |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2505 @cindex Shadows, load-path |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2506 @cindex Duplicate routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2507 @cindex Multiply defined routines |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2508 @cindex Routine definitions, multiple |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2509 @cindex Application, testing for shadowing |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2510 @cindex Buffer, testing for shadowing |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2511 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2512 IDLWAVE can compile a list of routines which are defined in several |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2513 different files. Since one definition will hide (shadow) the others |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2514 depending on which file is compiled first, such multiple definitions are |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2515 called "load-path shadows". IDLWAVE has several routines to scan for |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2516 load path shadows. The output is placed into the special buffer |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2517 @file{*Shadows*}. The format of the output is identical to the source |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2518 section of the routine info buffer (@pxref{Routine Info}). The |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2519 different definitions of a routine are listed in the sequence of |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2520 @emph{likelyhood of use}. So the first entry will be most likely the |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2521 one you'll get if an unsuspecting command uses that routine. Before |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2522 listing shadows, you should make sure that routine info is up-to-date by |
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2523 pressing @kbd{C-c C-i}. Here are the different routines: |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2524 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2525 @table @asis |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2526 @item @kbd{M-x idlwave-list-buffer-load-path-shadows} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2527 This commands checks the names of all routines defined in the current |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2528 buffer for shadowing conflicts with other routines accessible to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2529 IDLWAVE. The command also has a key binding: @kbd{C-c C-b} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2530 @item @kbd{M-x idlwave-list-shell-load-path-shadows}. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2531 Checks all routines compiled under the shell for shadowing. This is |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2532 very useful when you have written a complete application. Just compile |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2533 the application, use @code{RESOLVE_ALL} to compile any routines used by |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2534 your code, update the routine info inside IDLWAVE with @kbd{C-c C-i} and |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2535 then check for shadowing. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2536 @item @kbd{M-x idlwave-list-all-load-path-shadows} |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2537 This command checks all routines accessible to IDLWAVE for conflicts. |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2538 @end table |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2539 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2540 For these commands to work properly you should have scanned the entire |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2541 load path, not just selected directories. Also, IDLWAVE should be able to |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2542 distinguish between the system library files (normally installed in |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2543 @file{/usr/local/rsi/idl/lib}) and any site specific or user specific |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2544 files. Therefore, such local files should not be installed |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2545 inside the @file{lib} directory of the IDL directory. This is of course |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2546 also advisable for many other reasons. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2547 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2548 @cindex Windows |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2549 @cindex MacOS |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2550 @cindex IDL variable @code{!DIR} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2551 @cindex @code{!DIR}, IDL variable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2552 Users of Windows and MacOS also must set the variable |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2553 @code{idlwave-system-directory} to the value of the @code{!DIR} system |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2554 variable in IDL. IDLWAVE appends @file{lib} to the value of this |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2555 variable and assumes that all files found on that path are system |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2556 routines. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2557 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2558 Another way to find out if a specific routine has multiple definitions |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2559 on the load path is routine info display (@pxref{Routine Info}). |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2560 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2561 @node Documentation Scan, , Load-Path Shadows, Sources of Routine Info |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2562 @section Documentation Scan |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2563 @cindex @file{get_rinfo} |
27186
eb645a473bf8
New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents:
26960
diff
changeset
|
2564 @cindex @file{idlw-rinfo.el} |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2565 @cindex @file{idlw-help.txt} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2566 @cindex @file{idlw-help.el} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2567 @cindex Scanning the documentation |
27186
eb645a473bf8
New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents:
26960
diff
changeset
|
2568 @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
|
2569 |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2570 IDLWAVE derives it knowledge about system routines from the IDL |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2571 manuals. The file @file{idlw-rinfo.el} contains the routine information |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2572 for the IDL system routines. The Online Help feature of IDLWAVE |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2573 requires ASCII versions of some IDL manuals to be available in a |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2574 specific format (@file{idlw-help.txt}), along with an Emacs-Lisp file |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2575 @file{idlw-help.el} with supporting code and pointers to the ASCII file. |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2576 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2577 All 3 files can be derived from the IDL documentation. If you are |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2578 lucky, the maintainer of IDLWAVE will always have access to the newest |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2579 version of IDL and provide updates. The IDLWAVE distribution also |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2580 contains the Perl program @file{get_rinfo} which constructs these files |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2581 by scanning selected files from the IDL documentation. Instructions on |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2582 how to use @file{get_rinfo} are in the program itself. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2583 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2584 @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
|
2585 @appendix Configuration Examples |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2586 @cindex Configuration examples |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2587 @cindex Example configuration |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2588 @cindex @file{.emacs} |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2589 @cindex Default settings, of options |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2590 @cindex Interview, with the maintainer |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2591 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2592 @noindent |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2593 @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
|
2594 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
|
2595 actually set in your own configuration? |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2596 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2597 @noindent |
27600 | 2598 @b{Answer:} Hardly any. As the maintainer, I set the default of most |
2599 options to what I think is best. However, the default settings do not | |
2600 turn on features which | |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2601 |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2602 @itemize @minus |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2603 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2604 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
|
2605 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2606 are too intrusive |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2607 @item |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2608 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
|
2609 @item |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2610 break with widely used standards. |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2611 @end itemize |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2612 |
27600 | 2613 @noindent To see what I mean, here is the @emph{entire} configuration I |
2614 have in my @file{.emacs}: | |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2615 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2616 @lisp |
34432
538246e4d1bc
Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents:
30009
diff
changeset
|
2617 (setq idlwave-shell-debug-modifiers '(control shift) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2618 idlwave-store-inquired-class t |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2619 idlwave-shell-automatic-start t |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2620 idlwave-main-block-indent 2 |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2621 idlwave-help-dir "~/lib/emacs/idlwave" |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2622 idlwave-special-lib-alist '(("/idl-astro/" . "AstroLib") |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2623 ("/jhuapl/" . "JHUAPL-Lib") |
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2624 ("/dominik/lib/idl/" . "MyLib"))) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2625 @end lisp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2626 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2627 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
|
2628 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
|
2629 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
|
2630 of IDLWAVE. To say it again - this is not what I recommend, but the |
29773
bdbce902ea81
Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents:
29713
diff
changeset
|
2631 user is King! |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2632 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2633 @example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2634 ;;; Settings for IDLWAVE mode |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2635 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2636 (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
|
2637 (setq idlwave-main-block-indent 3) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2638 (setq idlwave-end-offset -3) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2639 (setq idlwave-continuation-indent 1) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2640 (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
|
2641 ; anchored at start of line. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2642 (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
|
2643 (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
|
2644 (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
|
2645 (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
|
2646 ; (with abbrevs only) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2647 (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
|
2648 (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
|
2649 (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
|
2650 (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
|
2651 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2652 ;; 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
|
2653 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2654 (add-hook 'idlwave-mode-hook |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2655 (lambda () |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2656 (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
|
2657 (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
|
2658 ;; Run other functions here |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2659 (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
|
2660 (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
|
2661 ;; |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2662 ;; 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
|
2663 ;; 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
|
2664 ;; instead of 1. |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2665 (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
|
2666 (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
|
2667 (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
|
2668 (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
|
2669 ;; |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2670 ;; 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
|
2671 (idlwave-action-and-binding "," '(idlwave-surround nil 1)) |
27600 | 2672 (idlwave-action-and-binding "&" '(idlwave-surround 1 1)) |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2673 ;; |
27600 | 2674 ;; Pad only after `->', remove any space before the arrow |
2675 (idlwave-action-and-binding "->" '(idlwave-surround 0 -1 nil 2)) | |
2676 ;;; | |
26960
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2677 ;; Set some personal bindings |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2678 ;; (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
|
2679 (local-set-key "," 'self-insert-command) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2680 ;; 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
|
2681 ;; 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
|
2682 ;; 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
|
2683 (local-set-key "\n" 'idlwave-newline) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2684 ;; (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
|
2685 )) |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2686 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2687 ;;; Settings for IDLWAVE SHELL mode |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2688 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2689 (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
|
2690 (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
|
2691 (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
|
2692 (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
|
2693 (setq idlwave-shell-process-name "wave") |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2694 (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
|
2695 @end example |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2696 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2697 @node Index, , Configuration Examples, Top |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2698 @unnumbered Index |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2699 @printindex cp |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2700 |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2701 @bye |
733eba22afe2
TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff
changeset
|
2702 |