annotate man/idlwave.texi @ 83600:9aa8a3a78f9e

* emacsclient.c (s): Restore. (main): Don't define s here. (w32_execvp): Move definition before use.
author Dan Nicolaescu <dann@ics.uci.edu>
date Wed, 16 May 2007 16:14:26 +0000
parents 2c3331730126
children 02b9a9aa5b0c 70bf32a0f523
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2 @c %**start of header
58524
92dc214c88ac Fix the setfilename directive to put the produced file in ../info.
Eli Zaretskii <eliz@gnu.org>
parents: 58296
diff changeset
3 @setfilename ../info/idlwave
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4 @settitle IDLWAVE User Manual
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
5 @dircategory Emacs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
6 @direntry
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
7 * IDLWAVE: (idlwave). Major mode and shell for IDL files.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
8 @end direntry
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
9 @synindex ky cp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
10 @syncodeindex vr cp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
11 @syncodeindex fn cp
77522
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
12 @set VERSION 6.1
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
13 @set EDITION 6.1
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
14 @set IDLVERSION 6.3
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
15 @set NSYSROUTINES 4346
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
16 @set DATE April, 2007
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
17 @set AUTHOR J.D. Smith & Carsten Dominik
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
18 @set MAINTAINER J.D. Smith
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
19 @c %**end of header
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
20 @finalout
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
21
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
22 @ifinfo
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
23 This file documents IDLWAVE, a major mode for editing IDL files with
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
24 Emacs, and interacting with an IDL shell run as a subprocess.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
25
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
26 This is edition @value{EDITION} of the IDLWAVE User Manual for IDLWAVE
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
27 @value{VERSION}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
28
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
29 Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005,
75348
3d45362f1d38 Add 2007 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 71224
diff changeset
30 2006, 2007 Free Software Foundation, Inc.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
31
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
32 Permission is granted to copy, distribute and/or modify this document
65555
69b3598a61c5 Update all manuals to specify GFDL version 1.2.
Romain Francoise <romain@orebokech.com>
parents: 64890
diff changeset
33 under the terms of the GNU Free Documentation License, Version 1.2 or
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
34 any later version published by the Free Software Foundation; with no
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
35 Invariant Sections, with the Front-Cover texts being ``A GNU
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
36 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
37 license is included in the section entitled ``GNU Free Documentation
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
38 License'' in the Emacs manual.
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
39
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
40 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
41 this GNU Manual, like GNU software. Copies published by the Free
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
42 Software Foundation raise funds for GNU development.''
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
43
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
44 This document is part of a collection distributed under the GNU Free
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
45 Documentation License. If you want to distribute this document
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
46 separately from the collection, you can do so by adding a copy of the
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
47 license to the document, as described in section 6 of the license.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
48 @end ifinfo
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
49
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
50 @titlepage
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
51 @title IDLWAVE User Manual
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
52 @subtitle Emacs major mode and shell for IDL
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
53 @subtitle Edition @value{EDITION}, @value{DATE}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
54
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
55 @author by J.D. Smith & Carsten Dominik
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
56 @page
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
57 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
58 IDLWAVE version @value{VERSION}, @value{DATE}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
59 @sp 2
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
60 Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005,
75348
3d45362f1d38 Add 2007 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 71224
diff changeset
61 2006, 2007 Free Software Foundation, Inc.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
62 @sp 2
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
63 @cindex Copyright, of IDLWAVE
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
64 Permission is granted to copy, distribute and/or modify this document
65555
69b3598a61c5 Update all manuals to specify GFDL version 1.2.
Romain Francoise <romain@orebokech.com>
parents: 64890
diff changeset
65 under the terms of the GNU Free Documentation License, Version 1.2 or
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
66 any later version published by the Free Software Foundation; with no
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
67 Invariant Sections, with the Front-Cover texts being ``A GNU
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
68 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
69 license is included in the section entitled ``GNU Free Documentation
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
70 License'' in the Emacs manual.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
71
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
72 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
73 this GNU Manual, like GNU software. Copies published by the Free
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
74 Software Foundation raise funds for GNU development.''
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
75
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
76 This document is part of a collection distributed under the GNU Free
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
77 Documentation License. If you want to distribute this document
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
78 separately from the collection, you can do so by adding a copy of the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
79 license to the document, as described in section 6 of the license.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
80 @end titlepage
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
81 @contents
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
82
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
83 @page
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
84
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
85 @ifnottex
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
86
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
87 @node Top, Introduction, (dir), (dir)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
88
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
89 IDLWAVE is a package which supports editing source code written in the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
90 Interactive Data Language (IDL), and running IDL as an inferior shell.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
91
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
92 @end ifnottex
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
93
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
94 @menu
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
95 * Introduction:: What IDLWAVE is, and what it is not
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
96 * 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
97 * Getting Started:: Tutorial
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
98 * The IDLWAVE Major Mode:: The mode for editing IDL programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
99 * The IDLWAVE Shell:: The mode for running IDL as an inferior program
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
100 * Acknowledgements:: Who did what
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
101 * Sources of Routine Info:: How does IDLWAVE know about routine XYZ
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
102 * HTML Help Browser Tips::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
103 * Configuration Examples:: The user is king
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
104 * Windows and MacOS:: What still works, and how
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
105 * Troubleshooting:: When good computers turn bad
77235
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
106 * GNU Free Documentation License:: The license for this documentation.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
107 * Index:: Fast access
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
108
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
109 @detailmenu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
110 --- The Detailed Node Listing ---
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
111
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
112 Getting Started (Tutorial)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
113
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
114 * Lesson I -- Development Cycle::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
115 * Lesson II -- Customization::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
116 * Lesson III -- User Catalog::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
117
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
118 The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
119
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
120 * Code Formatting:: Making code look nice
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
121 * Routine Info:: Calling Sequence and Keyword List
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
122 * 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
123 * Completion:: Completing routine names and Keywords
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
124 * Routine Source:: Finding routines, the easy way
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
125 * Resolving Routines:: Force the Shell to compile a routine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
126 * Code Templates:: Frequent code constructs
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
127 * Abbreviations:: Abbreviations for common commands
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
128 * Actions:: Changing case, Padding, End checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
129 * Doc Header:: Inserting a standard header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
130 * 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
131 * 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
132
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
133 Code Formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
134
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
135 * Code Indentation:: Reflecting the logical structure
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
136 * Continued Statement Indentation::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
137 * 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
138 * Continuation Lines:: Splitting statements over lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
139 * Syntax Highlighting:: Font-lock support
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
140 * Octals and Highlighting:: Why "123 causes problems
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
141
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
142 Online Help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
143
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
144 * Help with HTML Documentation::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
145 * Help with Source::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
146
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
147 Completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
148
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
149 * Case of Completed Words:: CaseOFcomPletedWords
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
150 * Object Method Completion and Class Ambiguity:: obj->Method, what?
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
151 * Object Method Completion in the Shell::
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
152 * Class and Keyword Inheritance:: obj->Method, _EXTRA=e
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
153 * Structure Tag Completion:: Completing state.Tag
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
154
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
155 Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
156
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
157 * Block Boundary Check:: Is the END statement correct?
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
158 * Padding Operators:: Enforcing space around `=' etc
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
159 * Case Changes:: Enforcing upper case keywords
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 The IDLWAVE Shell
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 * 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
164 * Using the Shell:: Interactively working with the Shell
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
165 * Commands Sent to the Shell::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
166 * Debugging IDL Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
167 * Examining Variables::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
168 * Custom Expression Examination::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
169
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
170 Debugging IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
171
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
172 * A Tale of Two Modes::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
173 * Debug Key Bindings::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
174 * Breakpoints and Stepping::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
175 * Compiling Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
176 * Walking the Calling Stack::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
177 * Electric Debug Mode::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
178
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
179 Sources of Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
180
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
181 * Routine Definitions:: Where IDL Routines are defined.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
182 * Routine Information Sources:: So how does IDLWAVE know about...
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
183 * Catalogs::
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
184 * Load-Path Shadows:: Routines defined in several places
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
185 * Documentation Scan:: Scanning the IDL Manuals
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
186
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
187 Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
188
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
189 * Library Catalogs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
190 * User Catalog::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
191
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
192 @end detailmenu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
193 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
194
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
195 @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
196 @chapter Introduction
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
197 @cindex Introduction
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
198 @cindex CORBA (Common Object Request Broker Architecture)
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
199 @cindex Interface Definition Language
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
200 @cindex Interactive Data Language
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
201 @cindex cc-mode.el
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
202 @cindex @file{idl.el}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
203 @cindex @file{idl-shell.el}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
204 @cindex Feature overview
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
205
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
206 IDLWAVE is a package which supports editing source files written in
69835
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
207 the Interactive Data Language (IDL), and running IDL as an inferior shell@footnote{IDLWAVE can also be used
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
208 for editing source files for the related WAVE/CL language, but with only
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
209 limited support.}. It is a feature-rich replacement for the IDLDE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
210 development environment included with IDL, and uses the full power of
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
211 Emacs to make editing and running IDL programs easier, quicker, and more
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
212 structured.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
213
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
214 IDLWAVE consists of two main parts: a major mode for editing IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
215 source files (@code{idlwave-mode}) and a mode for running the IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
216 program as an inferior shell (@code{idlwave-shell-mode}). Although
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
217 one mode can be used without the other, both work together closely to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
218 form a complete development environment. Here is a brief summary of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
219 what IDLWAVE does:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
220
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
221 @itemize @bullet
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
222 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
223 Smart code indentation and automatic-formatting.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
224 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
225 Three level syntax highlighting support.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
226 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
227 Context-sensitive display of calling sequences and keywords for more
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
228 than 1000 native IDL routines, extendible to any additional number of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
229 local routines, and already available with many pre-scanned libraries.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
230 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
231 Fast, context-sensitive online HTML help, or source-header help for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
232 undocumented routines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
233 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
234 Context sensitive completion of routine names, keywords, system
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
235 variables, class names and much more.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
236 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
237 Easy insertion of code templates and abbreviations of common constructs.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
238 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
239 Automatic corrections to enforce a variety of customizable coding
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
240 standards.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
241 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
242 Integrity checks and auto-termination of logical blocks.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
243 @item
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
244 Routine name space conflict search with likelihood-of-use ranking.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
245 @item
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
246 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
247 @item
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
248 Documentation support.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
249 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
250 Running IDL as an inferior Shell with history search, command line
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
251 editing and all the completion and routine info capabilities present in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
252 IDL source buffers.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
253 @item
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
254 Full handling of debugging with breakpoints, with interactive setting
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
255 of break conditions, and easy stepping through code.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
256 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
257 Compilation, execution and interactive single-keystroke debugging of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
258 programs directly from the source buffer.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
259 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
260 Quick, source-guided navigation of the calling stack, with variable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
261 inspection, etc.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
262 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
263 Examining variables and expressions with a mouse click.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
264 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
265 And much, much more...
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
266 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
267
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
268 @ifnottex
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
269 @cindex Screenshots
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
270 Here are a number of screenshots showing IDLWAVE in action:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
271
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
272 @itemize @bullet
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
273 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
274 @uref{http://idlwave.org/screenshots/emacs_21_nav.gif,An IDLWAVE buffer}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
275 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
276 @uref{http://idlwave.org/screenshots/emacs_21_keys.gif,A keyword being completed}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
277 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
278 @uref{http://idlwave.org/screenshots/emacs_21_help.gif,Online help text.}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
279 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
280 @uref{http://idlwave.org/screenshots/emacs_21_ri.gif,Routine information displayed}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
281 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
282 @uref{http://idlwave.org/screenshots/emacs_21_bp.gif,Debugging code
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
283 stopped at a breakpoint}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
284 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
285 @end ifnottex
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
286
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
287 IDLWAVE is the distant successor to the @file{idl.el} and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
288 @file{idl-shell.el} files written by Chris Chase. The modes and files
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
289 had to be renamed because of a name space conflict with CORBA's
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
290 @code{idl-mode}, defined in Emacs in the file @file{cc-mode.el}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
291
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
292 In this manual, each section ends with a list of related user options.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
293 Don't be confused by the sheer number of options available --- in most
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
294 cases the default settings are just fine. The variables are listed here
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
295 to make sure you know where to look if you want to change anything. For
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
296 a full description of what a particular variable does and how to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
297 configure it, see the documentation string of that variable (available
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
298 with @kbd{C-h v}). Some configuration examples are also given in the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
299 appendix.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
300
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
301 @node IDLWAVE in a Nutshell, Getting Started, Introduction, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
302 @chapter IDLWAVE in a Nutshell
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
303 @cindex Summary of important commands
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
304 @cindex IDLWAVE in a Nutshell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
305 @cindex Nutshell, IDLWAVE in a
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
306
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
307 @subheading Editing IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
308
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
309 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
310 @item @key{TAB}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
311 @tab Indent the current line relative to context.
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
312 @item @kbd{C-M-\}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
313 @tab Re-indent all lines in the current region.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
314 @item @kbd{C-M-q}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
315 @tab Re-indent all lines in the current routine.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
316 @item @kbd{C-u @key{TAB}}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
317 @tab Re-indent all lines in the current statement.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
318 @item @kbd{M-@key{RET}}
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
319 @tab Start a continuation line, splitting the current line at point.
77522
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
320 @item @kbd{M-;}
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
321 @tab Start new comment at line beginning or after code, or (un)comment
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
322 highlighted region.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
323 @item @kbd{M-q}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
324 @tab Fill the current comment paragraph.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
325 @item @kbd{C-c ?}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
326 @tab Display calling sequence and keywords for the procedure or function call
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
327 at point.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
328 @item @kbd{M-?}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
329 @tab Load context sensitive online help for nearby routine, keyword, etc.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
330 @item @kbd{M-@key{TAB}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
331 @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
332 @item @kbd{C-c C-i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
333 @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
334 @item @kbd{C-c C-v}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
335 @tab Visit the source code of a procedure/function.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
336 @item @kbd{C-u C-c C-v}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
337 @tab Visit the source code of a procedure/function in this buffer.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
338 @item @kbd{C-c C-h}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
339 @tab Insert a standard documentation header.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
340 @item @kbd{C-c @key{RET}}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
341 @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
342 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
343
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
344 @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
345
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
346 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
347 @item @kbd{C-c C-s}
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
348 @tab Start IDL as a subprocess and/or switch to the shell buffer.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
349 @item @key{Up}, @kbd{M-p}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
350 @tab Cycle back through IDL command history.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
351 @item @key{Down},@kbd{M-n}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
352 @tab Cycle forward.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
353 @item @kbd{@key{TAB}}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
354 @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
355 @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
356 @tab Save and compile the source file in the current buffer.
77522
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
357 @item @kbd{C-c C-d C-e}
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
358 @tab Compile and run the current region.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
359 @item @kbd{C-c C-d C-x}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
360 @tab Go to next syntax error.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
361 @item @kbd{C-c C-d C-v}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
362 @tab Switch to electric debug mode.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
363 @item @kbd{C-c C-d C-b}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
364 @tab Set a breakpoint at the nearest viable source line.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
365 @item @kbd{C-c C-d C-d}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
366 @tab Clear the nearest breakpoint.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
367 @item @kbd{C-c C-d [}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
368 @tab Go to the previous breakpoint.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
369 @item @kbd{C-c C-d ]}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
370 @tab Go to the next breakpoint.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
371 @item @kbd{C-c C-d C-p}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
372 @tab Print the value of the expression near point in IDL.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
373 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
374
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
375 @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
376 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
377 ;; Change the indentation preferences
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
378 ;; Start autoloading routine info after 2 idle seconds
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
379 (setq idlwave-init-rinfo-when-idle-after 2)
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
380 ;; Pad operators with spaces
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
381 (setq idlwave-do-actions t
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
382 idlwave-surround-by-blank t)
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
383 ;; Syntax Highlighting
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
384 (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
385 ;; Automatically start the shell when needed
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
386 (setq idlwave-shell-automatic-start t)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
387 ;; 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
388 (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
389 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
390
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
391 @html
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
392 <A NAME="TUTORIAL"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
393 @end html
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
394
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
395 @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
396 @chapter Getting Started (Tutorial)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
397 @cindex Quick-Start
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
398 @cindex Tutorial
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
399 @cindex Getting Started
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
400
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
401 @menu
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
402 * Lesson I -- Development Cycle::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
403 * Lesson II -- Customization::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
404 * Lesson III -- User Catalog::
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
405 @end menu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
406
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
407 @node Lesson I -- Development Cycle, Lesson II -- Customization, Getting Started, Getting Started
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
408 @section Lesson I: Development Cycle
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
409
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
410 The purpose of this tutorial is to guide you through a very basic
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
411 development cycle using IDLWAVE. We will paste a simple program into
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
412 a buffer and use the shell to compile, debug and run it. On the way
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
413 we will use many of the important IDLWAVE commands. Note, however,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
414 that IDLWAVE has many more capabilities than covered here, which can
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
415 be discovered by reading the entire manual, or hovering over the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
416 shoulder of your nearest IDLWAVE guru for a few days.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
417
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
418 It is assumed that you have access to Emacs or XEmacs with the full
69835
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
419 IDLWAVE package including online help. We also assume that you are
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
420 familiar with Emacs and can read the nomenclature of key presses in
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
421 Emacs (in particular, @kbd{C} stands for @key{CONTROL} and @kbd{M} for
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
422 @key{META} (often the @key{ALT} key carries this functionality)).
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
423
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
424 Open a new source file by typing:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
425
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
426 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
427 @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
428 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
429
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
430 A buffer for this file will pop up, and it should be in IDLWAVE mode,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
431 indicated in the mode line just below the editing window. Also, the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
432 menu bar should contain @samp{IDLWAVE}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
433
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
434 Now cut-and-paste the following code, also available as
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
435 @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
436
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
437 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
438 function daynr,d,m,y
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
439 ;; 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
440 ;; works 1901-2099.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
441 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
442 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
443 m1 = m + delta*12 + 1
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
444 y1 = y * delta
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
445 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
446 end
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
447
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
448 function weekday,day,month,year
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
449 ;; compute weekday number for date
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
450 nr = daynr(day,month,year)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
451 return, nr mod 7
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
452 end
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
453
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
454 pro plot_wday,day,month
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
455 ;; 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
456 years = 2000,+indgen(10)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
457 wdays = intarr(10)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
458 for i=0,n_elements(wdays)-1 do begin
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
459 wdays[i] = weekday(day,month,years[i])
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
460 end
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
461 plot,years,wdays,YS=2,YT="Wday (0=Sunday)"
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
462 end
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
463 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
464
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
465 The indentation probably looks funny, since it's different from the
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
466 settings you use, so use the @key{TAB} key in each line to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
467 automatically line it up (or, more quickly, @emph{select} the entire
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
468 buffer with @kbd{C-x h}, and indent the whole region with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
469 @kbd{C-M-\}). Notice how different syntactical elements are
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
470 highlighted in different colors, if you have set up support for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
471 font-lock.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
472
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
473 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
474 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
475 @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
476 changes the generic @code{end} to the specific @code{endfor}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
477 automatically (as long as the variable @code{idlwave-expand-generic-end}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
478 is turned on --- @pxref{Lesson II -- Customization}). Now place the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
479 cursor in any line you would like to split and press @kbd{M-@key{RET}}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
480 The line is split at the cursor position, with the continuation @samp{$}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
481 and indentation all taken care of. Use @kbd{C-/} to undo the last
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
482 change.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
483
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
484 The procedure @code{plot_wday} is supposed to plot the day of the week
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
485 of a given date for the first 10 years of the 21st century. As in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
486 most code, there are a few bugs, which we are going to use IDLWAVE to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
487 help us fix.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
488
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
489 First, let's launch the IDLWAVE shell. You do this with the command
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
490 @kbd{C-c C-s}. The Emacs window will split or another window will popup
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
491 to display IDL running in a shell interaction buffer. Type a few
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
492 commands like @code{print,!PI} to convince yourself that you can work
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
493 there just as well as in a terminal, or the IDLDE. Use the arrow keys
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
494 to cycle through your command history. Are we having fun now?
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
495
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
496 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
497 the program. If you watch the shell buffer, you see that IDLWAVE types
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
498 @samp{.run "tutorial.pro"} for you. But the compilation fails because
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
499 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
500 is highlighted and the cursor positioned at the error, so remove the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
501 comma (you should only need to hit @kbd{Delete}!). Compile again, using
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
502 the same keystrokes as before. Notice that the file is automatically
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
503 saved for you. This time everything should work fine, and you should
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
504 see the three routines compile.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
505
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
506 Now we want to use the command to plot the day of the week on January
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
507 1st. We could type the full command ourselves, but why do that? Go
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
508 back to the shell window, type @samp{plot_} and hit @key{TAB}. After
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
509 a bit of a delay (while IDLWAVE initializes its routine info database,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
510 if necessary), the window will split to show all procedures it knows
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
511 starting with that string, and @w{@code{plot_wday}} should be one of
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
512 them. Saving the buffer alerted IDLWAVE about this new routine.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
513 Click with the middle mouse button on @code{plot_wday} and it will be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
514 copied to the shell buffer, or if you prefer, add @samp{w} to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
515 @samp{plot_} to make it unambiguous (depending on what other routines
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
516 starting with @samp{plot_} you have installed on your system), hit
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
517 @key{TAB} again, and the full routine name will be completed. Now
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
518 provide the two arguments:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
519
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
520 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
521 plot_wday,1,1
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
522 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
523
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
524 @noindent and press @key{RET}. This fails with an error message telling
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
525 you the @code{YT} keyword to plot is ambiguous. What are the allowed
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
526 keywords again? Go back to the source window and put the cursor into
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
527 the `plot' line and press @kbd{C-c ?}. This shows the routine info
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
528 window for the plot routine, which contains a list of keywords, along
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
529 with the argument list. Oh, we wanted @code{YTITLE}. Fix that up.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
530 Recompile with @kbd{C-c C-d C-c}. Jump back into the shell with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
531 @kbd{C-c C-s}, press the @key{UP} arrow to recall the previous command
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
532 and execute again.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
533
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
534 This time we get a plot, but it is pretty ugly --- the points are all
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
535 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
536 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
537 plot line after a comma (where you'd normally type a keyword), and hit
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
538 @kbd{M-@key{Tab}}. A long list of plot's keywords appears. Aha,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
539 there it is, @code{PSYM}. Middle click to insert it. An @samp{=}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
540 sign is included for you too. Now what were the values of @code{PSYM}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
541 supposed to be? With the cursor on or after the keyword, press
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
542 @kbd{M-?} for online help (alternatively, you could have right clicked
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
543 on the colored keyword itself in the completion list). A browser will
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
544 pop up showing the HTML documentation for the @code{PYSM} keyword.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
545 OK, let's use diamonds=4. Fix this, recompile (you know the command
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
546 by now: @kbd{C-c C-d C-c}), go back to the shell (if it's vanished,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
547 you know what to do: @kbd{C-c C-s}) and execute again. Now things
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
548 look pretty good.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
549
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
550 Let's try a different day --- how about April fool's day?
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
551
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
552 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
553 plot_wday,1,4
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
554 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
555
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
556 Oops, this looks very wrong. All April Fool's days cannot be Fridays!
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
557 We've got a bug in the program, perhaps in the @code{daynr} function.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
558 Let's put a breakpoint on the last line there. Position the cursor on
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
559 the @samp{return, d+...} line and press @kbd{C-c C-d C-b}. IDL sets a
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
560 breakpoint (as you see in the shell window), and the break line is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
561 indicated. Back to the shell buffer, re-execute the previous command.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
562 IDL stops at the line with the breakpoint. Now hold down the SHIFT
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
563 key and click with the middle mouse button on a few variables there:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
564 @samp{d}, @samp{y}, @samp{m}, @samp{y1}, etc. Maybe @code{d} isn't
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
565 the correct type. CONTROL-SHIFT middle-click on it for help. Well,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
566 it's an integer, so that's not the problem. Aha, @samp{y1} is zero,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
567 but it should be the year, depending on delta. Shift click
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
568 @samp{delta} to see that it's 0. Below, we see the offending line:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
569 @samp{y1=y*delta...} the multiplication should have been a minus sign!
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
570 Hit @kbd{q} to exit the debugging mode, and fix the line to read:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
571
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
572 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
573 y1 = y - delta
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
574 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
575
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
576 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
577 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
578 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
579 sequence of weekdays repeats.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
580
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
581 @node Lesson II -- Customization, Lesson III -- User Catalog, Lesson I -- Development Cycle, Getting Started
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
582 @section Lesson II: Customization
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
583
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
584 Emacs is probably the most customizable piece of software ever written,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
585 and it would be a shame if you did not make use of this to adapt IDLWAVE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
586 to your own preferences. Customizing Emacs or IDLWAVE is accomplished
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
587 by setting Lisp variables in the @file{.emacs} file in your home
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
588 directory --- but do not be dismayed; for the most part, you can just
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
589 copy and work from the examples given here.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
590
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
591 Let's first use a boolean variable. These are variables which you turn
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
592 on or off, much like a checkbox. A value of @samp{t} means on, a value
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
593 of @samp{nil} means off. Copy the following line into your
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
594 @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
595
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
596 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
597 (setq idlwave-reserved-word-upcase t)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
598 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
599
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
600 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
601 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
602 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
603 @samp{IF}, @samp{begin} to @samp{BEGIN}. If you don't like this
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
604 behavior, remove the option again from your @file{.emacs} file and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
605 restart Emacs.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
606
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
607 You likely have your own indentation preferences for IDL code. For
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
608 example, some may prefer to indent the main block of an IDL program
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
609 slightly from the margin and use only 3 spaces as indentation between
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
610 @code{BEGIN} and @code{END}. Try the following lines in @file{.emacs}:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
611
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
612 @lisp
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
613 (setq idlwave-main-block-indent 1)
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
614 (setq idlwave-block-indent 3)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
615 (setq idlwave-end-offset -3)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
616 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
617
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
618 Restart Emacs, and re-indent the program we developed in the first part
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
619 of this tutorial with @kbd{C-c h} and @kbd{C-M-\}. You may want to keep
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
620 these lines in @file{.emacs}, with values adjusted to your likings. If
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
621 you want to get more information about any of these variables, type,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
622 e.g., @kbd{C-h v idlwave-main-block-indent @key{RET}}. To find which
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
623 variables can be customized, look for items marked @samp{User Option:}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
624 throughout this manual.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
625
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
626 If you cannot seem to master this Lisp customization in @file{.emacs},
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
627 there is another, more user-friendly way to customize all the IDLWAVE
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
628 variables. You can access it through the IDLWAVE menu in one of the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
629 @file{.pro} buffers, menu item @code{Customize->Browse IDLWAVE
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
630 Group}. Here you'll be presented with all the various variables grouped
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
631 into categories. You can navigate the hierarchy (e.g. @samp{IDLWAVE
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
632 Code Formatting->Idlwave Abbrev And Indent Action->Idlwave Expand
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
633 Generic End} to turn on @code{END} expansion), read about the variables,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
634 change them, and `Save for Future Sessions'. Few of these variables
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
635 need customization, but you can exercise considerable control over
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
636 IDLWAVE's functionality with them.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
637
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
638 You may also find the key bindings used for the debugging commands too
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
639 long and complicated. Often we have heard complaints along the lines
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
640 of, ``Do I really have to go through the finger gymnastics of @kbd{C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
641 C-d C-c} to run a simple command?'' Due to Emacs rules and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
642 conventions, shorter bindings cannot be set by default, but you can
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
643 easily enable them. First, there is a way to assign all debugging
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
644 commands in a single sweep to another simpler combination. The only
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
645 problem is that we have to use something which Emacs does not need for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
646 other important commands. One good option is to execute debugging
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
647 commands by holding down @key{CONTROL} and @key{SHIFT} while pressing
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
648 a single character: @kbd{C-S-b} for setting a breakpoint, @kbd{C-S-c}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
649 for compiling the current source file, @kbd{C-S-a} for deleting all
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
650 breakpoints (try it, it's easier). You can enable this with:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
651
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
652 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
653 (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
654 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
655
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
656 @noindent If you have a special keyboard with, for example, a
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
657 @key{SUPER} key, you could even shorten that:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
658
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
659 @lisp
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
660 (setq idlwave-shell-debug-modifiers '(super))
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
661 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
662
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
663 @noindent to get compilation on @kbd{S-c}. Often, a modifier key like
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
664 @key{SUPER} or @key{HYPER} is bound or can be bound to an otherwise
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
665 unused key on your keyboard --- consult your system documentation.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
666
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
667 You can also assign specific commands to keys. This you must do in the
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
668 @emph{mode-hook}, a special function which is run when a new IDLWAVE
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
669 buffer gets set up. The possibilities for key customization are
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
670 endless. Here we set function keys f4-f8 to common debugging commands.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
671
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
672 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
673 ;; First for the source buffer
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
674 (add-hook 'idlwave-mode-hook
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
675 (lambda ()
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
676 (local-set-key [f4] 'idlwave-shell-retall)
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
677 (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
678 (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
679 (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
680 (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
681 ;; Then for the shell buffer
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
682 (add-hook 'idlwave-shell-mode-hook
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
683 (lambda ()
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
684 (local-set-key [f4] 'idlwave-shell-retall)
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
685 (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
686 (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
687 (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
688 (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
689 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
690
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
691 @node Lesson III -- User Catalog, , Lesson II -- Customization, Getting Started
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
692 @section Lesson III: User and Library Catalogs
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
693
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
694 We have already used the routine info display in the first part of this
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
695 tutorial. This was the invoked using @kbd{C-c ?}, and displays
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
696 information about the IDL routine near the cursor position. Wouldn't it
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
697 be nice to have the same kind of information available for your own
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
698 routines and for the huge amount of code in major libraries like JHUPL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
699 or the IDL-Astro library? In many cases, you may already have this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
700 information. Files named @file{.idlwave_catalog} in library directories
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
701 contain scanned information on the routines in that directory; many
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
702 popular libraries ship with these ``library catalogs'' pre-scanned.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
703 Users can scan their own routines in one of two ways: either using the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
704 supplied tool to scan directories and build their own
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
705 @file{.idlwave_catalog} files, or using the built-in method to create a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
706 single ``user catalog'', which we'll show here. @xref{Catalogs}, for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
707 more information on choosing which method to use.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
708
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
709 To build a user catalog, select @code{Routine Info/Select Catalog
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
710 Directories} from the IDLWAVE entry in the menu bar. If necessary,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
711 start the shell first with @kbd{C-c C-s} (@pxref{Starting the Shell}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
712 IDLWAVE will find out about the IDL @code{!PATH} variable and offer a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
713 list of directories on the path. Simply select them all (or whichever
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
714 you want --- directories with existing library catalogs will not be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
715 selected by default) and click on the @samp{Scan&Save} button. Then
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
716 go for a cup of coffee while IDLWAVE collects information for each and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
717 every IDL routine on your search path. All this information is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
718 written to the file @file{.idlwave/idlusercat.el} in your home
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
719 directory and will from now on automatically load whenever you use
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
720 IDLWAVE. You may find it necessary to rebuild the catalog on occasion
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
721 as your local libraries change, or build a library catalog for those
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
722 directories instead. Invoke routine info (@kbd{C-c ?}) or completion
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
723 (@kbd{M-@key{TAB}}) on any routine or partial routine name you know to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
724 be located in the library. E.g., if you have scanned the IDL-Astro
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
725 library:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
726
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
727 @example
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
728 a=readf@key{M-@key{TAB}}
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
729 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
730
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
731 expands to `readfits('. Then try
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
732
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
733 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
734 a=readfits(@key{C-c ?}
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
735 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
736
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
737 and you get:
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
738
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
739 @example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
740 Usage: Result = READFITS(filename, header, heap)
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
741 ...
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
742 @end example
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
743
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
744 I hope you made it until here. Now you are set to work with IDLWAVE.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
745 On the way you will want to change other things, and to learn more
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
746 about the possibilities not discussed in this short tutorial. Read
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
747 the manual, look at the documentation strings of interesting variables
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
748 (with @kbd{C-h v idlwave<-variable-name> @key{RET}}) and ask the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
749 remaining questions on the newsgroup @code{comp.lang.idl-pvwave}.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
750
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
751 @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
752 @chapter The IDLWAVE Major Mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
753 @cindex IDLWAVE major mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
754 @cindex Major mode, @code{idlwave-mode}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
755
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
756 The IDLWAVE major mode supports editing IDL source files. In this
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
757 chapter we describe the main features of the mode and how to customize
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
758 them.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
759
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
760 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
761 * Code Formatting:: Making code look nice
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
762 * Routine Info:: Calling Sequence and Keyword List
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
763 * 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
764 * Completion:: Completing routine names and Keywords
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
765 * Routine Source:: Finding routines, the easy way
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
766 * Resolving Routines:: Force the Shell to compile a routine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
767 * Code Templates:: Frequent code constructs
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
768 * Abbreviations:: Abbreviations for common commands
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
769 * Actions:: Changing case, Padding, End checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
770 * Doc Header:: Inserting a standard header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
771 * 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
772 * 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
773 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
774
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
775 @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
776 @section Code Formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
777 @cindex Code formatting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
778 @cindex Formatting, of code
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
779
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
780 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
781 * Code Indentation:: Reflecting the logical structure
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
782 * Continued Statement Indentation::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
783 * 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
784 * Continuation Lines:: Splitting statements over lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
785 * Syntax Highlighting:: Font-lock support
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
786 * Octals and Highlighting:: Why "123 causes problems
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
787 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
788
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
789 The IDL language, with its early roots in FORTRAN, modern
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
790 implementation in C, and liberal borrowing of features of many vector
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
791 and other languages along its 25+ year history, has inherited an
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
792 unusual mix of syntax elements. Left to his or her own devices, a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
793 novice IDL programmer will often conjure code which is very difficult
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
794 to read and impossible to adapt. Much can be gleaned from studying
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
795 available IDL code libraries for coding style pointers, but, due to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
796 the variety of IDL syntax elements, replicating this style can be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
797 challenging at best. Luckily, IDLWAVE understands the structure of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
798 IDL code very well, and takes care of almost all formatting issues for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
799 you. After configuring it to match your coding standards, you can
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
800 rely on it to help keep your code neat and organized.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
801
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
802
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
803 @node Code Indentation, Continued Statement Indentation, Code Formatting, Code Formatting
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
804 @subsection Code Indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
805 @cindex Code indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
806 @cindex Indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
807
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
808 Like all Emacs programming modes, IDLWAVE performs code indentation.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
809 The @key{TAB} key indents the current line relative to context.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
810 @key{LFD} insert a newline and indents the new line. The indentation is
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
811 governed by a number of variables. IDLWAVE indents blocks (between
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
812 @code{PRO}/@code{FUNCTION}/@code{BEGIN} and @code{END}), and
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
813 continuation lines.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
814
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
815 @cindex Foreign code, adapting
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
816 @cindex Indentation, of foreign code
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
817 @kindex C-M-\
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
818 To re-indent a larger portion of code (e.g. when working with foreign
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
819 code written with different conventions), use @kbd{C-M-\}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
820 (@code{indent-region}) after marking the relevant code. Useful marking
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
821 commands are @kbd{C-x h} (the entire file) or @kbd{C-M-h} (the current
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
822 subprogram). The command @kbd{C-M-q} reindents the entire current
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
823 routine. @xref{Actions}, for information how to impose additional
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
824 formatting conventions on foreign code.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
825
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
826 @defopt idlwave-main-block-indent (@code{2})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
827 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
828 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
829 unit.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
830 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
831
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
832 @defopt idlwave-block-indent (@code{3})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
833 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
834 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
835 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
836
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
837 @defopt idlwave-end-offset (@code{-3})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
838 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
839 @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
840 BEGIN lines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
841 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
842
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
843 @node Continued Statement Indentation, Comment Indentation, Code Indentation, Code Formatting
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
844 @subsection Continued Statement Indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
845 @cindex Indentation, continued statement
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
846 @cindex Continued statement indentation
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
847 Continuation lines (following a line ending with @code{$}) can receive a
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
848 fixed indentation offset from the main level, but in several situations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
849 IDLWAVE can use a special form of indentation which aligns continued
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
850 statements more naturally. Special indentation is calculated for
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
851 continued routine definition statements and calls, enclosing parentheses
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
852 (like function calls, structure/class definitions, explicit structures
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
853 or lists, etc.), and continued assignments. An attempt is made to line
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
854 up with the first non-whitespace character after the relevant opening
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
855 punctuation mark (@code{,},@code{(},@code{@{},@code{[},@code{=}). For
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
856 lines without any non-comment characters on the line with the opening
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
857 punctuation, the continued line(s) are aligned just past the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
858 punctuation. An example:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
859
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
860 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
861 function foo, a, b, $
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
862 c, d
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
863 bar = sin( a + b + $
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
864 c + d)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
865 end
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
866 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
867 @noindent
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
868
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
869 The only drawback to this special continued statement indentation is
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
870 that it consumes more space, e.g., for long function names or left hand
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
871 sides of an assignment:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
872
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
873 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
874 function thisfunctionnameisverylongsoitwillleavelittleroom, a, b, $
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
875 c, d
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
876 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
877
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
878 You can instruct IDLWAVE when to avoid using this special continuation
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
879 indentation by setting the variable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
880 @code{idlwave-max-extra-continuation-indent}, which specifies the
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
881 maximum additional indentation beyond the basic indent to be
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
882 tolerated, otherwise defaulting to a fixed-offset from the enclosing
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
883 indent (the size of which offset is set in
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
884 @code{idlwave-continuation-indent}). As a special case, continuations
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
885 of routine calls without any arguments or keywords will @emph{not}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
886 align the continued line, under the assumption that you continued
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
887 because you needed the space.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
888
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
889 Also, since the indentation level can be somewhat dynamic in continued
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
890 statements with special continuation indentation, especially if
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
891 @code{idlwave-max-extra-continuation-indent} is small, the key
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
892 @kbd{C-u @key{TAB}} will re-indent all lines in the current statement.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
893 Note that @code{idlwave-indent-to-open-paren}, if non-@code{nil},
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
894 overrides the @code{idlwave-max-extra-continuation-indent} limit, for
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
895 parentheses only, forcing them always to line up.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
896
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
897
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
898 @defopt idlwave-continuation-indent (@code{2})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
899 Extra indentation applied to normal continuation lines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
900 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
901
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
902 @defopt idlwave-max-extra-continuation-indent (@code{20})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
903 The maximum additional indentation (over the basic continuation-indent)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
904 that will be permitted for special continues. To effectively disable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
905 special continuation indentation, set to @code{0}. To enable it
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
906 constantly, set to a large number (like @code{100}). Note that the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
907 indentation in a long continued statement never decreases from line to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
908 line, outside of nested parentheses statements.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
909 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
910
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
911 @defopt idlwave-indent-to-open-paren (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
912 Non-@code{nil} means indent continuation lines to innermost open
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
913 parenthesis, regardless of whether the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
914 @code{idlwave-max-extra-continuation-indent} limit is satisfied.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
915 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
916
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
917 @node Comment Indentation, Continuation Lines, Continued Statement Indentation, Code Formatting
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
918 @subsection Comment Indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
919 @cindex Comment indentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
920 @cindex Hanging paragraphs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
921 @cindex Paragraphs, filling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
922 @cindex Paragraphs, hanging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
923
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
924 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
925 Comment lines are indented as follows:
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
926
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
927 @multitable @columnfractions .1 .90
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
928 @item @code{;;;}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
929 @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
930 unchanged.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
931 @item @code{;;}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
932 @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
933 @item @code{;}
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
934 @tab Lines starting with a single semicolon are indented to a minimum column.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
935 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
936
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
937 @noindent
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
938 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
939
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
940 @defopt idlwave-no-change-comment
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
941 The indentation of a comment starting with this regexp will not be
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
942 changed.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
943 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
944
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
945 @defopt idlwave-begin-line-comment
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
946 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
947 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
948
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
949 @defopt idlwave-code-comment
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
950 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
951 IDL code.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
952 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
953
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
954 @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
955 @subsection Continuation Lines and Filling
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
956 @cindex Continuation lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
957 @cindex Line splitting
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
958 @cindex String splitting
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
959 @cindex Splitting, of lines
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
960
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
961 @kindex M-@key{RET}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
962 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
963 @samp{$}. If you would like to start a continuation line, use
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
964 @kbd{M-@key{RET}}, which calls the command @code{idlwave-split-line}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
965 It inserts the continuation character @samp{$}, terminates the line and
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
966 indents the new line. The command @kbd{M-@key{RET}} can also be invoked
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
967 inside a string to split it at that point, in which case the @samp{+}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
968 concatenation operator is used.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
969
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
970 @cindex Filling
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
971 @cindex @code{auto-fill-mode}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
972 @cindex Hanging paragraphs
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
973 When filling comment paragraphs, IDLWAVE overloads the normal filling
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
974 functions and uses a function which creates the hanging paragraphs
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
975 customary in IDL routine headers. When @code{auto-fill-mode} is turned
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
976 on (toggle with @kbd{C-c C-a}), comments will be auto-filled. If the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
977 first line of a paragraph contains a match for
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
978 @code{idlwave-hang-indent-regexp} (a dash-space by default), subsequent
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
979 lines are positioned to line up after it, as in the following example.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
980
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
981 @example
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
982 @group
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
983 ;=================================
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
984 ; x - an array containing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
985 ; lots of interesting numbers.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
986 ;
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
987 ; y - another variable where
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
988 ; a hanging paragraph is used
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
989 ; to describe it.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
990 ;=================================
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
991 @end group
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
992 @end example
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 @kindex M-q
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
995 You can also refill a comment at any time paragraph with @kbd{M-q}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
996 Comment delimiting lines as in the above example, consisting of one or
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
997 more @samp{;} followed by one or more of the characters @samp{+=-_*},
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
998 are kept in place, as is.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
999
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1000 @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
1001 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
1002 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1003
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1004 @defopt idlwave-auto-fill-split-string (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1005 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
1006 operator.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1007 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1008
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1009 @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
1010 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
1011 @samp{+}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1012 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1013
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1014 @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
1015 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
1016 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
1017 line of the paragraph.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1018 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1019
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1020 @defopt idlwave-hang-indent-regexp (@code{"- "})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1021 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
1022 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
1023 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1024
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1025 @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
1026 Non-@code{nil} means use last match on line for
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1027 @code{idlwave-indent-regexp}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1028 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1029
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1030 @node Syntax Highlighting, Octals and Highlighting, Continuation Lines, Code Formatting
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1031 @subsection Syntax Highlighting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1032 @cindex Syntax highlighting
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1033 @cindex Highlighting of syntax
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1034 @cindex Font lock
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1035
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1036 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
1037 with @code{font-lock}. If you are using @code{global-font-lock-mode}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1038 (in Emacs), or have @code{font-lock} turned on in any other buffer in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1039 XEmacs, it should also automatically work in IDLWAVE buffers. If you'd
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1040 prefer invoking font-lock individually by mode, you can enforce it in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1041 @code{idlwave-mode} with the following line in your @file{.emacs}:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1042
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1043 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1044 (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
1045 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1046
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1047 @noindent IDLWAVE supports 3 increasing levels of syntax highlighting.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1048 The variable @code{font-lock-maximum-decoration} determines which level
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1049 is selected. Individual categories of special tokens can be selected
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1050 for highlighting using the variable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1051 @code{idlwave-default-font-lock-items}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1052
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1053 @defopt idlwave-default-font-lock-items
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1054 Items which should be fontified on the default fontification level
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1055 2.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1056 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1057
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1058 @node Octals and Highlighting, , Syntax Highlighting, Code Formatting
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1059 @subsection Octals and Highlighting
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1060 @cindex Syntax highlighting, Octals
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1061 @cindex Highlighting of syntax, Octals
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1062
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1063 A rare syntax highlighting problem results from an extremely unfortunate
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1064 notation for octal numbers in IDL: @code{"123}. This unpaired quotation
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1065 mark is very difficult to parse, given that it can be mixed on a single
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1066 line with any number of strings. Emacs will incorrectly identify this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1067 as a string, and the highlighting of following lines of code can be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1068 distorted, since the string is never terminated.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1069
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1070 One solution to this involves terminating the mistakenly identified
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1071 string yourself by providing a closing quotation mark in a comment:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1072
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1073 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1074 string("305B) + $ ;" <--- for font-lock
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1075 ' is an Angstrom.'
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1076 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1077
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1078 @noindent A far better solution is to abandon this notation for octals
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1079 altogether, and use the more sensible alternative IDL provides:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1080
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1081 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1082 string('305'OB) + ' is an Angstrom.'
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1083 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1084
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1085 @noindent This simultaneously solves the font-lock problem and is more
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1086 consistent with the notation for hexadecimal numbers, e.g. @code{'C5'XB}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1087
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1088 @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
1089 @section Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1090 @cindex Routine info
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1091 @cindex Updating routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1092 @cindex Scanning buffers for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1093 @cindex Buffers, scanning for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1094 @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
1095
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1096 @kindex C-c C-i
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1097 IDL comes bundled with more than one thousand procedures, functions
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1098 and object methods, and large libraries typically contain hundreds or
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1099 even thousands more (each with a few to tens of keywords and
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1100 arguments). This large command set can make it difficult to remember
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1101 the calling sequence and keywords for the routines you use, but
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1102 IDLWAVE can help. It builds up routine information from a wide
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1103 variety of sources; IDLWAVE in fact knows far more about the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1104 @samp{.pro} routines on your system than IDL itself! It maintains a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1105 list of all built-in routines, with calling sequences and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1106 keywords@footnote{This list is created by scanning the IDL manuals and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1107 might contain (very few) errors. Please report any errors to the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1108 maintainer, so that they can be fixed.}. It also scans Emacs buffers
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1109 for routine definitions, queries the IDLWAVE-Shell for information
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1110 about routines currently compiled there, and automatically locates
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1111 library and user-created catalogs. This information is updated
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1112 automatically, and so should usually be current. To force a global
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1113 update and refresh the routine information, use @kbd{C-c C-i}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1114 (@code{idlwave-update-routine-info}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1115
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1116 @kindex C-c ?
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1117 To display the information about a routine, press @kbd{C-c ?}, which
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1118 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
1119 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
1120 function, information will be displayed about the routine. For example,
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1121 consider the indicated cursor positions in the following line:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1122
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1123 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1124 plot,x,alog(x+5*sin(x) + 2),
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1125 | | | | | | | |
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1126 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
1127 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1128
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1129 @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
1130 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
1131 be shown. On positions 3,4, and 7, the @samp{alog} function will be
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1132 described, while positions 5 and 6 will investigate the @samp{sin}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1133 function.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1134
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1135 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
1136 method exists in several classes, IDLWAVE queries for the class of the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1137 object, unless the class is already known through a text property on the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1138 @samp{->} operator (@pxref{Object Method Completion and Class
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
1139 Ambiguity}), or by having been explicitly included in the call
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1140 (e.g. @code{a->myclass::Foo}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1141
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1142 @cindex Calling sequences
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1143 @cindex Keywords of a routine
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1144 @cindex Routine source information
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1145 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
1146 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
1147
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1148 @example
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1149 Usage: XMANAGER, NAME, ID
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1150 Keywords: BACKGROUND CATCH CLEANUP EVENT_HANDLER GROUP_LEADER
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1151 JUST_REG MODAL NO_BLOCK
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1152 Source: SystemLib [LCSB] /soft1/idl53/lib/xmanager.pro
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1153 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1154
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1155 @cindex Categories, of routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1156 @cindex Load-path shadows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1157 @cindex Shadows, load-path
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1158 @cindex IDL variable @code{!PATH}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1159 @cindex @code{!PATH}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1160 @cindex IDL variable @code{!DIR}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1161 @cindex @code{!DIR}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1162
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1163 If a definition of this routine exists in several files accessible to
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1164 IDLWAVE, several @samp{Source} lines will point to the different
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1165 files. This may indicate that your routine is shadowing a system
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1166 library routine, which may or may not be what you want
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1167 (@pxref{Load-Path Shadows}). The information about the calling
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1168 sequence and keywords is derived from the first source listed.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1169 Library routines are available only if you have scanned your local IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1170 directories or are using pre-scanned libraries (@pxref{Catalogs}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1171 The source entry consists of a @emph{source category}, a set of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1172 @emph{flags} and the path to the @emph{source file}. The following
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1173 default categories exist:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1174
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1175 @multitable @columnfractions .15 .85
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1176 @item @i{System}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1177 @tab A system routine of unknown origin. When the system library has
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1178 been scanned as part of a catalog (@pxref{Catalogs}), this category
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1179 will automatically split into the next two.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1180 @item @i{Builtin}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1181 @tab A builtin system routine with no source code available.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1182 @item @i{SystemLib}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1183 @tab A library system routine in the official lib directory @file{!DIR/lib}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1184 @item @i{Obsolete}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1185 @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
1186 @item @i{Library}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1187 @tab A routine in a file on IDL's search path @code{!PATH}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1188 @item @i{Other}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1189 @tab Any other routine with a file not known to be on the search path.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1190 @item @i{Unresolved}
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
1191 @tab An otherwise unknown routine the shell lists as unresolved
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1192 (referenced, but not compiled).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1193 @end multitable
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1194
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1195 Any routines discovered in library catalogs (@pxref{Library
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1196 Catalogs}), will display the category assigned during creation,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1197 e.g. @samp{NasaLib}. For routines not discovered in this way, you can
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1198 create additional categories based on the routine's filename using the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1199 variable @code{idlwave-special-lib-alist}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1200
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1201 @cindex Flags, in routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1202 @cindex Duplicate routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1203 @cindex Multiply defined routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1204 @cindex Routine definitions, multiple
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1205 The flags @code{[LCSB]} indicate the source of the information IDLWAVE
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1206 has regarding the file: from a library catalog (@w{@code{[L---]}}),
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1207 from a user catalog (@w{@code{[-C--]}}, from the IDL Shell
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1208 (@w{@code{[--S-]}}) or from an Emacs buffer (@w{@code{[---B]}}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1209 Combinations are possible (a compiled library routine visited in a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1210 buffer might read @w{@code{[L-SB]}}). If a file contains multiple
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1211 definitions of the same routine, the file name will be prefixed with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1212 @samp{(Nx)} where @samp{N} is the number of definitions.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1213
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1214 @cindex Online Help from the routine info buffer
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1215 @cindex Active text, in routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1216 @cindex Inserting keywords, from routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1217 @cindex Source file, access from routine info
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1218 Some of the text in the @file{*Help*} routine info buffer will be active
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1219 (it is highlighted when the mouse moves over it). Typically, clicking
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1220 with the right mouse button invokes online help lookup, and clicking
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1221 with the middle mouse button inserts keywords or visits files:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1222
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1223 @multitable @columnfractions 0.15 0.85
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1224 @item @i{Usage}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1225 @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
1226 button on the @i{Usage:} line will access the help for the
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1227 routine (@pxref{Online Help}).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1228 @item @i{Keyword}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1229 @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
1230 @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
1231 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
1232 @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
1233 clicking also adds the initial @samp{/}.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1234 @item @i{Source}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1235 @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
1236 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
1237 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
1238 @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
1239 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
1240 window.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1241 @item @i{Classes}
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1242 @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
1243 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
1244 @emph{middle} mouse button to display routine info about the current
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1245 method in other classes on the inheritance chain, if such a method
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1246 exists there.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1247 @end multitable
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1248
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1249 @defopt idlwave-resize-routine-help-window (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1250 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
1251 fit the content.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1252 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1253
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1254 @defopt idlwave-special-lib-alist
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1255 Alist of regular expressions matching special library directories.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1256 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1257
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1258 @defopt idlwave-rinfo-max-source-lines (@code{5})
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1259 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
1260 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1261
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1262
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1263 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1264 <A NAME="ONLINE_HELP"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1265 @end html
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1266 @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
1267 @section Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1268
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1269 @cindex Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1270 @cindex @file{idlw-help.txt}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1271 @cindex @file{idlw-help.el}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1272 @cindex Installing online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1273 @cindex Online Help, Installation
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1274 @cindex Speed, of online help
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1275 @cindex XML Help Catalog
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1276
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1277 For IDL system routines, extensive documentation is supplied with IDL.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1278 IDLWAVE can access the HTML version of this documentation very quickly
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1279 and accurately, based on the local context. This can be @emph{much}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1280 faster than using the IDL online help application, because IDLWAVE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1281 usually gets you to the right place in the documentation directly ---
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1282 e.g. a specific keyword of a routine --- without any additional browsing
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1283 and scrolling.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1284
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1285 For this online help to work, an HTML version of the IDL documentation
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1286 is required. Beginning with IDL 6.2, HTML documentation is distributed
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1287 directly with IDL, along with an XML-based catalog of routine
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1288 information. By default, IDLWAVE automatically attempts to convert this
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1289 XML catalog into a format Emacs can more easily understand, and caches
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1290 this information in your @code{idlwave_config_directory}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1291 (@file{~/.idlwave/}, by default). It also re-scans the XML catalog if
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1292 it is newer than the current cached version. You can force rescan with
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1293 the menu entry @code{IDLWAVE->Routine Info->Rescan XML Help Catalog}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1294
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1295 Before IDL 6.2, the HTML help was not distributed with IDL, and was not
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1296 part of the standalone IDLWAVE distribution, but had to be downloaded
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1297 separately. This is no longer necessary: all help and routine
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1298 information is supplied with IDL versions 6.2 and later.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1299
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1300 There are a variety of options for displaying the HTML help: see below.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1301 Help for routines without HTML documentation is also available, by using
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1302 the routine documentation header and/or routine source.
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1303
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1304 @kindex M-?
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1305 In any IDL program (or, as with most IDLWAVE commands, in the IDL
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1306 Shell), press @kbd{M-?} (@code{idlwave-context-help}), or click with
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
1307 @kbd{S-Mouse-3} to access context sensitive online help. The following
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1308 locations are recognized context for help:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1309
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1310 @cindex Context, for online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1311 @multitable @columnfractions .25 .75
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1312 @item @i{Routine names}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1313 @tab The name of a routine (function, procedure, method).
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1314 @item @i{Keyword Parameters}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1315 @tab A keyword parameter of a routine.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1316 @item @i{System Variables}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1317 @tab System variables like @code{!DPI}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1318 @item @i{System Variable Tags}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1319 @tab System variables tags like @code{!D.X_SIZE}.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1320 @item @i{IDL Statements}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1321 @tab Statements like @code{PRO}, @code{REPEAT}, @code{COMPILE_OPT}, etc.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1322 @item @i{IDL Controls}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1323 @tab Control structures like @code{FOR}, @code{SWITCH}, etc.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1324 @item @i{Class names}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1325 @tab A class name in an @code{OBJ_NEW} call.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1326 @item @i{Class Init Keywords}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1327 @tab Beyond the class name in an @code{OBJ_NEW} call.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1328 @item @i{Executive Command}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1329 @tab An executive command like @code{.RUN}. Mostly useful in the shell.
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1330 @item @i{Structure Tags}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1331 @tab Structure tags like @code{state.xsize}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1332 @item @i{Class Tags}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1333 @tab Class tags like @code{self.value}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1334 @item @i{Default}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1335 @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
1336 @end multitable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1337
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1338 @cindex @code{OBJ_NEW}, special online help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1339 Note that the @code{OBJ_NEW} function is special in that the help
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1340 displayed depends on the cursor position. If the cursor is on the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1341 @samp{OBJ_NEW}, this function is described. If it is on the class
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1342 name inside the quotes, the documentation for the class is pulled up.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1343 If the cursor is @emph{after} the class name, anywhere in the argument
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1344 list, the documentation for the corresponding @code{Init} method and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1345 its keywords is targeted.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1346
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1347 Apart from an IDLWAVE buffer or shell, there are two more places from
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1348 which online help can be accessed.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1349
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1350 @itemize @bullet
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1351 @item
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1352 Online help for routines and keywords can be accessed through the
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
1353 Routine Info display. Click with @kbd{Mouse-3} on an item to see the
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1354 corresponding help (@pxref{Routine Info}).
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1355 @item
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1356 When using completion and Emacs pops up a @file{*Completions*} buffer
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1357 with possible completions, clicking with @kbd{Mouse-3} on a completion
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1358 item invokes help on that item (@pxref{Completion}). Items for which
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1359 help is available in the online system documentation (vs. just the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1360 program source itself) will be emphasized (e.g. colored blue).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1361 @end itemize
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1362 @noindent
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1363 In both cases, a blue face indicates that the item is documented in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1364 the IDL manual, but an attempt will be made to visit non-blue items
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1365 directly in the originating source file.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1366
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1367
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1368 @menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1369 * Help with HTML Documentation::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1370 * Help with Source::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1371 @end menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1372
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1373 @node Help with HTML Documentation, Help with Source, Online Help, Online Help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1374 @subsection Help with HTML Documentation
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1375 @cindex HTML Help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1376 @cindex Help using HTML manuals
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1377 @cindex IDL manual, HTML version
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1378 @cindex IDL Assistant
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1379
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1380 Help using the HTML documentation is invoked with the built-in Emacs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1381 command @code{browse-url}, which displays the relevant help topic in a
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1382 browser of your choosing. Beginning with version 6.2, IDL comes with
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1383 the help browser @emph{IDL Assistant}, which it uses by default for
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1384 displaying online help on all supported platforms. This browser
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1385 offers topical searches, an index, and is also now the default and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1386 recommended IDLWAVE help browser. The variable
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1387 @code{idlwave-help-use-assistant} controls whether this browser is
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1388 used. Note that, due to limitations in the Assistant, invoking help
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1389 within IDLWAVE and @code{? topic} within IDL will result in two
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1390 running copies of Assistant.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1391
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1392 Aside from the IDL Assistant, there are many possible browsers to choose
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1393 among, with differing advantages and disadvantages. The variable
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1394 @code{idlwave-help-browser-function} controls which browser help is sent
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1395 to (as long as @code{idlwave-help-use-assistant} is not set). This
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1396 function is used to set the variable @code{browse-url-browser-function}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1397 locally for IDLWAVE help only. Customize the latter variable to see
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1398 what choices of browsers your system offers. Certain browsers like
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1399 @code{w3} (bundled with many versions of Emacs) and @code{w3m}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1400 (@uref{http://emacs-w3m.namazu.org/}) are run within Emacs, and use
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1401 Emacs buffers to display the HTML help. This can be convenient,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1402 especially on small displays, and images can even be displayed in-line
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1403 on newer Emacs versions. However, better formatting results are often
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1404 achieved with external browsers, like Mozilla. IDLWAVE assumes any
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1405 browser function containing "w3" is displayed in a local buffer. If you
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1406 are using another Emacs-local browser for which this is not true, set
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1407 the variable @code{idlwave-help-browser-is-local}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1408
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1409 With IDL 6.2 or later, it is important to ensure that the variable
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1410 @code{idlwave-system-directory} is set (@pxref{Catalogs}). One easy way
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1411 to ensure this is to run the IDL Shell (@kbd{C-c C-s}). It will be
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1412 queried for this directory, and the results will be cached to file for
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1413 subsequent use.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1414
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1415 @xref{HTML Help Browser Tips}, for more information on selecting and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1416 configuring a browser for use with IDL's HTML help system.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1417
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1418 @defopt idlwave-html-system-help-location @file{help/online_help}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1419 Relative directory of the system-supplied HTML help directory,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1420 considered with respect to @code{idlwave-system-directory}. Relevant
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1421 for IDL 6.2 and greater. Should not change.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1422 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1423
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1424 @defopt idlwave-html-help-location @file{/usr/local/etc/}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1425 The directory where the @file{idl_html_help} HTML directory live.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1426 Obsolete and ignored for IDL 6.2 and greater
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1427 (@code{idlwave-html-system-help-location} is used instead).
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1428 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1429
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1430 @defopt idlwave-help-use-assistant @code{t}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1431 If set, use the IDL Assistant if possible for online HTML help,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1432 otherwise use the browser function specified in
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1433 @code{idlwave-help-browser-function}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1434 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1435
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1436 @defopt idlwave-help-browser-function
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1437 The browser function to use to display IDLWAVE HTML help. Should be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1438 one of the functions available for setting
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1439 @code{browse-url-browser-function}, which see.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1440 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1441
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1442 @defopt idlwave-help-browser-is-local
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1443 Is the browser selected in @code{idlwave-help-browser-function} run in a
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1444 local Emacs buffer or window? Defaults to @code{t} if the function
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1445 contains "-w3".
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1446 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1447
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1448 @defopt idlwave-help-link-face
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1449 The face for links to IDLWAVE online help.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1450 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1451
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1452 @node Help with Source, , Help with HTML Documentation, Online Help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1453 @subsection Help with Source
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1454 @cindex Help using routine source
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1455
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1456 @cindex Source code, as online help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1457 @cindex DocLib header, as online help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1458 For routines which are not documented in an HTML manual (for example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1459 personal or library routines), the source code itself is used as help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1460 text. If the requested information can be found in a (more or less)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1461 standard DocLib file header, IDLWAVE shows the header (scrolling down to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1462 a keyword, if appropriate). Otherwise the routine definition statement
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1463 (@code{pro}/@code{function}) is shown. The doclib header sections which
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1464 are searched for include @samp{NAME} and @samp{KEYWORDS}. Localization
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1465 support can be added by customizing the @code{idlwave-help-doclib-name}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1466 and @code{idlwave-help-doclib-keyword} variables.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1467
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1468 @cindex Structure tags, in online help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1469 @cindex Class tags, in online help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1470 Help is also available for class structure tags (@code{self.TAG}), and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1471 generic structure tags, if structure tag completion is enabled
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1472 (@pxref{Structure Tag Completion}). This is implemented by visiting the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1473 tag within the class or structure definition source itself. Help is not
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1474 available on built-in system class tags.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1475
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1476 The help window is normally displayed in the same frame, but can be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1477 popped-up in a separate frame. The following commands can be used to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1478 navigate inside the help system for source files:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1479
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1480 @multitable @columnfractions .15 .85
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1481 @item @kbd{@key{SPACE}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1482 @tab Scroll forward one page.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1483 @item @kbd{@key{RET}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1484 @tab Scroll forward one line.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1485 @item @kbd{@key{DEL}}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1486 @tab Scroll back one page.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1487 @item @kbd{h}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1488 @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
1489 as help.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1490 @item @kbd{H}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1491 @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
1492 @item @kbd{.} @r{(Dot)}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1493 @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
1494 @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
1495 item in the DocLib header.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1496 @item @kbd{F}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1497 @tab Fontify the buffer like source code. See the variable @code{idlwave-help-fontify-source-code}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1498 @item @kbd{q}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1499 @tab Kill the help window.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1500 @end multitable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1501
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1502
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1503 @defopt idlwave-help-use-dedicated-frame (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1504 Non-@code{nil} means use a separate frame for Online Help if possible.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1505 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1506
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1507 @defopt idlwave-help-frame-parameters
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1508 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
1509 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1510
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1511 @defopt idlwave-max-popup-menu-items (@code{20})
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
1512 Maximum number of items per pane in pop-up menus.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1513 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1514
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1515 @defopt idlwave-extra-help-function
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1516 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
1517 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1518
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1519 @defopt idlwave-help-fontify-source-code (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1520 Non-@code{nil} means fontify source code displayed as help.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1521 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1522
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1523 @defopt idlwave-help-source-try-header (@code{t})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1524 Non-@code{nil} means try to find help in routine header when
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1525 displaying source file.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1526 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1527
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1528 @defopt idlwave-help-doclib-name (@code{"name"})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1529 The case-insensitive heading word in doclib headers to locate the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1530 @emph{name} section. Can be a regexp, e.g. @code{"\\(name\\|nom\\)"}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1531 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1532
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1533 @defopt idlwave-help-doclib-keyword (@code{"KEYWORD"})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1534 The case-insensitive heading word in doclib headers to locate the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1535 @emph{keywords} section. Can be a regexp.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1536 @end defopt
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1537
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1538
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1539 @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
1540 @section Completion
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1541 @cindex Completion
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1542 @cindex Keyword completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1543 @cindex Method completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1544 @cindex Object method completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1545 @cindex Class name completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1546 @cindex Function name completion
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1547 @cindex Procedure name completion
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1548
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1549 @kindex M-@key{TAB}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1550 @kindex C-c C-i
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1551 IDLWAVE offers completion for class names, routine names, keywords,
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1552 system variables, system variable tags, class structure tags, regular
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1553 structure tags and file names. As in many programming modes, completion
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1554 is bound to @kbd{M-@key{TAB}} (or simply @kbd{@key{TAB}} in the IDLWAVE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1555 Shell --- @pxref{Using the Shell}). Completion uses exactly the same
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1556 internal information as routine info, so when necessary (rarely) it can
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1557 be updated with @kbd{C-c C-i} (@code{idlwave-update-routine-info}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1558
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1559 The completion function is context sensitive and figures out what to
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1560 complete based on the location of the point. Here are example lines and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1561 what @kbd{M-@key{TAB}} would try to complete when the cursor is on the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1562 position marked with a @samp{_}:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1563
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1564 @example
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1565 plo_ @r{Procedure}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1566 x = a_ @r{Function}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1567 plot,xra_ @r{Keyword of @code{plot} procedure}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1568 plot,x,y,/x_ @r{Keyword of @code{plot} procedure}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1569 plot,min(_ @r{Keyword of @code{min} function}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1570 obj -> a_ @r{Object method (procedure)}
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1571 a[2,3] = obj -> a_ @r{Object method (function)}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1572 x = obj_new('IDL_ @r{Class name}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1573 x = obj_new('MyCl',a_ @r{Keyword to @code{Init} method in class @code{MyCl}}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1574 pro A_ @r{Class name}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1575 pro _ @r{Fill in @code{Class::} of first method in this file}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1576 !v_ @r{System variable}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1577 !version.t_ @r{Structure tag of system variable}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1578 self.g_ @r{Class structure tag in methods}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1579 state.w_ @r{Structure tag, if tag completion enabled}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1580 name = 'a_ @r{File name (default inside quotes)}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1581 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1582
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1583 @cindex Completion, ambiguity
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1584 @cindex Completion, forcing function name
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1585 The only place where completion is ambiguous is procedure/function
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1586 @emph{keywords} versus @emph{functions}. After @samp{plot,x,_}, IDLWAVE
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1587 will always assume a keyword to @samp{plot}. However, a function is
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1588 also a possible completion here. You can force completion of a function
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1589 name at such a location by using a prefix arg: @kbd{C-u M-@key{TAB}}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1590
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1591 Giving two prefix arguments (@kbd{C-u C-u M-@key{TAB}}) prompts for a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1592 regular expression to search among the commands to be completed. As
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1593 an example, completing a blank line in this way will allow you to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1594 search for a procedure matching a regexp.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1595
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1596 @cindex Scrolling the @file{*Completions*} window
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1597 @cindex Completion, scrolling
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1598 @cindex Completion, Online Help
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1599 @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
1600 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
1601 @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
1602 @kbd{M-@key{TAB}} repeatedly. Online help (if installed) for each
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
1603 possible completion is available by clicking with @kbd{Mouse-3} on the
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1604 item. Items for which system online help (from the IDL manual) is
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1605 available will be emphasized (e.g. colored blue). For other items, the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1606 corresponding source code or DocLib header will be used as the help
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1607 text.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1608
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1609 @cindex Completion, cancelling
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1610 @cindex Cancelling completion
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1611 Completion is not a blocking operation --- you are free to continue
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1612 editing, enter commands, or simply ignore the @file{*Completions*}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1613 buffer during a completion operation. If, however, the most recent
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1614 command was a completion, @kbd{C-g} will remove the buffer and restore
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1615 the window configuration. You can also remove the buffer at any time
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1616 with no negative consequences.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1617
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1618 @defopt idlwave-keyword-completion-adds-equal (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1619 Non-@code{nil} means completion automatically adds @samp{=} after
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1620 completed keywords.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1621 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1622
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1623 @defopt idlwave-function-completion-adds-paren (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1624 Non-@code{nil} means completion automatically adds @samp{(} after
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1625 completed function. A value of `2' means also add the closing
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1626 parenthesis and position the cursor between the two.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1627 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1628
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1629 @defopt idlwave-completion-restore-window-configuration (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1630 Non-@code{nil} means restore window configuration after successful
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1631 completion.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1632 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1633
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1634 @defopt idlwave-highlight-help-links-in-completion (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1635 Non-@code{nil} means highlight completions for which system help is
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1636 available.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1637 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1638
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1639 @menu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1640 * Case of Completed Words:: CaseOFcomPletedWords
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1641 * Object Method Completion and Class Ambiguity:: obj->Method, what?
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1642 * Object Method Completion in the Shell::
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1643 * Class and Keyword Inheritance:: obj->Method, _EXTRA=e
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1644 * Structure Tag Completion:: Completing state.Tag
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1645 @end menu
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1646
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1647 @node Case of Completed Words, Object Method Completion and Class Ambiguity, Completion, Completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1648 @subsection Case of Completed Words
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1649 @cindex Case of completed words
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1650 @cindex Mixed case completion
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1651 IDL is a case-insensitive language, so casing is a matter of style
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1652 only. IDLWAVE helps maintain a consistent casing style for completed
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1653 items. The case of the completed words is determined by what is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1654 already in the buffer. As an exception, when the partial word being
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1655 completed is all lower case, the completion will be lower case as
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1656 well. If at least one character is upper case, the string will be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1657 completed in upper case or mixed case, depending on the value of the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1658 variable @code{idlwave-completion-case}. The default is to use upper
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1659 case for procedures, functions and keywords, and mixed case for object
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1660 class names and methods, similar to the conventions in the IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1661 manuals. For instance, to enable mixed-case completion for routines
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1662 in addition to classes and methods, you need an entry such as
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1663 @code{(routine . preserve)} in that variable. To enable total control
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1664 over the case of completed items, independent of buffer context, set
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1665 @code{idlwave-completion-force-default-case} to non-@code{nil}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1666
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1667 @defopt idlwave-completion-case
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1668 Association list setting the case (UPPER/lower/Capitalized/MixedCase...)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1669 of completed words.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1670 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1671
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1672 @defopt idlwave-completion-force-default-case (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1673 Non-@code{nil} means completion will always honor the settings in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1674 @code{idlwave-completion-case}. When nil (the default), entirely lower
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1675 case strings will always be completed to lower case, no matter what the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1676 settings in @code{idlwave-completion-case}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1677 @end defopt
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 @defopt idlwave-complete-empty-string-as-lower-case (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1680 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
1681 completion.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1682 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1683
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1684 @node Object Method Completion and Class Ambiguity, Object Method Completion in the Shell, Case of Completed Words, Completion
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1685 @subsection Object Method Completion and Class Ambiguity
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1686 @cindex Object methods
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1687 @cindex Class ambiguity
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1688 @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
1689 An object method is not uniquely determined without the object's class.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1690 Since the class is almost always omitted in the calling source (as
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1691 required to obtain the true benefits of object-based programming),
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1692 IDLWAVE considers all available methods in all classes as possible
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1693 method name completions. The combined list of keywords of the current
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1694 method in @emph{all} known classes which contain that method will be
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1695 considered for keyword completion. In the @file{*Completions*} buffer,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1696 the matching classes will be shown next to each item (see option
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1697 @code{idlwave-completion-show-classes}). As a special case, the class
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1698 of an object called @samp{self} is always taken to be the class of the
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1699 current routine, when in an IDLWAVE buffer. All inherits classes are
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1700 considered as well.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1701
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1702 @cindex Forcing class query.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1703 @cindex Class query, forcing
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1704 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
1705 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
1706 narrow down the number of possible completions. The variable
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1707 @code{idlwave-query-class} can be configured to make such prompting the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1708 default for all methods (not recommended), or selectively for very
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1709 common methods for which the number of completing keywords would be too
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1710 large (e.g. @code{Init,SetProperty,GetProperty}).
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1711
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1712 @cindex Saving object class on @code{->}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1713 @cindex @code{->}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1714 After you have specified the class for a particular statement (e.g. when
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1715 completing the method), IDLWAVE can remember it for the rest of the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1716 editing session. Subsequent completions in the same statement
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1717 (e.g. keywords) can then reuse this class information. This works by
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1718 placing a text property on the method invocation operator @samp{->},
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1719 after which the operator will be shown in a different face (bold by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1720 default). The variable @code{idlwave-store-inquired-class} can be used
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1721 to turn it off or on.
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
1722
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
1723 @defopt idlwave-completion-show-classes (@code{1})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1724 Non-@code{nil} means show up to that many classes in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1725 @file{*Completions*} buffer when completing object methods and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1726 keywords.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1727 @end defopt
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 @defopt idlwave-completion-fontify-classes (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1730 Non-@code{nil} means fontify the classes in completions buffer.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1731 @end defopt
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 @defopt idlwave-query-class (@code{nil})
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1734 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
1735 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1736
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1737 @defopt idlwave-store-inquired-class (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1738 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
1739 @samp{->}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1740 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1741
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1742 @defopt idlwave-class-arrow-face
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1743 Face to highlight object operator arrows @samp{->} which carry a saved
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1744 class text property.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1745 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1746
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1747 @node Object Method Completion in the Shell, Class and Keyword Inheritance, Object Method Completion and Class Ambiguity, Completion
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1748 @subsection Object Method Completion in the Shell
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1749 @cindex Method Completion in Shell
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1750 In the IDLWAVE Shell (@pxref{The IDLWAVE Shell}), objects on which
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1751 methods are being invoked have a special property: they must exist as
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1752 variables, and so their class can be determined (for instance, using the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1753 @code{obj_class()} function). In the Shell, when attempting completion,
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1754 routine info, or online help within a method routine, a query is sent to
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1755 determine the class of the object. If this query is successful, the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1756 class found will be used to select appropriate completions, routine
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1757 info, or help. If unsuccessful, information from all known classes will
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1758 be used (as in the buffer).
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1759
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1760 @node Class and Keyword Inheritance, Structure Tag Completion, Object Method Completion in the Shell, Completion
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1761 @subsection Class and Keyword Inheritance
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1762 @cindex Inheritance, class
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1763 @cindex Keyword inheritance
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1764 @cindex Inheritance, keyword
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1765
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1766 Class inheritance affects which methods are called in IDL. An object of
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1767 a class which inherits methods from one or more superclasses can
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1768 override that method by defining its own method of the same name, extend
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1769 the method by calling the method(s) of its superclass(es) in its
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1770 version, or inherit the method directly by making no modifications.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1771 IDLWAVE examines class definitions during completion and routine
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1772 information display, and records all inheritance information it finds.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1773 This information is displayed if appropriate with the calling sequence
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1774 for methods (@pxref{Routine Info}), as long as variable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1775 @code{idlwave-support-inheritance} is non-@code{nil}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1776
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1777 In many class methods, @emph{keyword} inheritance (@code{_EXTRA} and
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1778 @code{_REF_EXTRA}) is used hand-in-hand with class inheritance and
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1779 method overriding. E.g., in a @code{SetProperty} method, this technique
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1780 allows a single call @code{obj->SetProperty} to set properties up the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1781 entire class inheritance chain. This is often referred to as
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1782 @emph{chaining}, and is characterized by chained method calls like
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1783 @w{@code{self->MySuperClass::SetProperty,_EXTRA=e}}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1784
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
1785 IDLWAVE can accommodate this special synergy between class and keyword
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1786 inheritance: if @code{_EXTRA} or @code{_REF_EXTRA} is detected among a
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1787 method's keyword parameters, all keywords of superclass versions of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1788 the method being considered can be included in completion. There is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1789 of course no guarantee that this type of keyword chaining actually
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
1790 occurs, but for some methods it's a very convenient assumption. The
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1791 variable @code{idlwave-keyword-class-inheritance} can be used to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1792 configure which methods have keyword inheritance treated in this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1793 simple, class-driven way. By default, only @code{Init} and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1794 @code{(Get|Set)Property} are. The completion buffer will label
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1795 keywords based on their originating class.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1796
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1797 @defopt idlwave-support-inheritance (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1798 Non-@code{nil} means consider inheritance during completion, online help etc.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1799 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1800
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1801 @defopt idlwave-keyword-class-inheritance
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1802 A list of regular expressions to match methods for which simple
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1803 class-driven keyword inheritance will be used for Completion.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1804 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1805
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1806 @node Structure Tag Completion, , Class and Keyword Inheritance, Completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1807 @subsection Structure Tag Completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1808 @cindex Completion, structure tag
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1809 @cindex Structure tag completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1810
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1811 In many programs, especially those involving widgets, large structures
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1812 (e.g. the @samp{state} structure) are used to communicate among
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1813 routines. It is very convenient to be able to complete structure tags,
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1814 in the same way as for instance variables (tags) of the @samp{self}
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1815 object (@pxref{Object Method Completion and Class Ambiguity}). Add-in
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1816 code for structure tag completion is available in the form of a loadable
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1817 completion module: @file{idlw-complete-structtag.el}. Tag completion in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1818 structures is highly ambiguous (much more so than @samp{self}
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1819 completion), so @code{idlw-complete-structtag} makes an unusual and very
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1820 specific assumption: the exact same variable name is used to refer to
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1821 the structure in all parts of the program. This is entirely unenforced
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1822 by the IDL language, but is a typical convention. If you consistently
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1823 refer to the same structure with the same variable name
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1824 (e.g. @samp{state}), structure tags which are read from its definition
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1825 in the same file can be used for completion.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1826
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1827 Structure tag completion is not enabled by default. To enable it,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1828 simply add the following to your @file{.emacs}:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1829
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1830 @lisp
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1831 (add-hook 'idlwave-load-hook
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1832 (lambda () (require 'idlw-complete-structtag)))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1833 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1834
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1835 Once enabled, you'll also be able to access online help on the structure
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1836 tags, using the usual methods (@pxref{Online Help}). In addition,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1837 structure variables in the shell will be queried for tag names, similar
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1838 to the way object variables in the shell are queried for method names.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1839 So, e.g.:
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1840
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1841 @example
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1842 IDL> st.[Tab]
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1843 @end example
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1844
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1845 @noindent will complete with all structure fields of the structure
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1846 @code{st}.
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1847
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1848 @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
1849 @section Routine Source
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1850 @cindex Routine source file
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1851 @cindex Module source file
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1852 @cindex Source file, of a routine
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1853 @kindex C-c C-v
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1854 In addition to clicking on a @i{Source:} line in the routine info
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1855 window, there is another way to quickly visit the source file of a
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1856 routine. The command @kbd{C-c C-v} (@code{idlwave-find-module}) asks
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1857 for a module name, offering the same default as
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1858 @code{idlwave-routine-info} would have used, taken from nearby buffer
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1859 contents. In the minibuffer, specify a complete routine name (including
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1860 any class part). IDLWAVE will display the source file in another
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1861 window, positioned at the routine in question. You can also limit this
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1862 to a routine in the current buffer only, with completion, and a
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1863 context-sensitive default, by using a single prefix (@kbd{C-u C-c C-v})
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1864 or the convenience binding @kbd{C-c C-t}.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1865
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1866 @cindex Buffers, killing
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1867 @cindex Killing autoloaded buffers
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1868 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
1869 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
1870 sometimes created. The special command @kbd{C-c C-k}
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1871 (@code{idlwave-kill-autoloaded-buffers}) can be used to easily remove
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
1872 these buffers.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1873
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1874 @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
1875 @section Resolving Routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1876 @cindex @code{RESOLVE_ROUTINE}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1877 @cindex Compiling library modules
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1878 @cindex Routines, resolving
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1879
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1880 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
1881 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
1882 in order to resolve (compile) it. The default routine to be resolved is
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1883 taken from context, but you get a chance to edit it. Usually this is
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
1884 not necessary, since IDL automatically discovers routines on its path.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1885
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1886 @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
1887 of IDLWAVE's routine info collecting functions. A better way is to
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1888 keep routine information available in catalogs (@pxref{Catalogs}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1889 Routine info on modules will then be available without the need to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
1890 compile the modules first, and even without a running shell.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1891
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1892 @xref{Sources of Routine Info}, for more information on the ways IDLWAVE
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
1893 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
1894
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1895 @node Code Templates, Abbreviations, Resolving Routines, The IDLWAVE Major Mode
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1896 @section Code Templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1897 @cindex Code templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1898 @cindex Templates
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1899
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1900 IDLWAVE can insert IDL code templates into the buffer. For a few
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
1901 templates, this is done with direct key bindings:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1902
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1903 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1904 @item @kbd{C-c C-c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1905 @tab @code{CASE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1906 @item @kbd{C-c C-f}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1907 @tab @code{FOR} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1908 @item @kbd{C-c C-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1909 @tab @code{REPEAT} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1910 @item @kbd{C-c C-w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1911 @tab @code{WHILE} loop template
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
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1914 All code templates are also available as abbreviations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1915 (@pxref{Abbreviations}).
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1916
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1917 @node Abbreviations, Actions, Code Templates, The IDLWAVE Major Mode
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1918 @section Abbreviations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1919 @cindex Abbreviations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1920
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1921 Special abbreviations exist to enable rapid entry of commonly used
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1922 commands. Emacs abbreviations are expanded by typing text into the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1923 buffer and pressing @key{SPC} or @key{RET}. The special abbreviations
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1924 used to insert code templates all start with a @samp{\} (the backslash),
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1925 or, optionally, any other character set in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1926 @code{idlwave-abbrev-start-char}. IDLWAVE ensures that abbreviations are
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1927 only expanded where they should be (i.e., not in a string or comment),
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1928 and permits the point to be moved after an abbreviation expansion ---
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1929 very useful for positioning the mark inside of parentheses, etc.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1930
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1931 Special abbreviations are pre-defined for code templates and other
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1932 useful items. To visit the full list of abbreviations, use @kbd{M-x
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1933 idlwave-list-abbrevs}.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1934
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1935 Template abbreviations:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1936
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1937 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1938 @item @code{\pr}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1939 @tab @code{PROCEDURE} template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1940 @item @code{\fu}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1941 @tab @code{FUNCTION} template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1942 @item @code{\c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1943 @tab @code{CASE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1944 @item @code{\f}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1945 @tab @code{FOR} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1946 @item @code{\r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1947 @tab @code{REPEAT} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1948 @item @code{\w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1949 @tab @code{WHILE} loop template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1950 @item @code{\i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1951 @tab @code{IF} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1952 @item @code{\elif}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1953 @tab @code{IF-ELSE} statement template
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
1954 @end multitable
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
1955
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1956 String abbreviations:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1957
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1958 @multitable @columnfractions .15 .85
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1959 @item @code{\ap}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1960 @tab @code{arg_present()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1961 @item @code{\b}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1962 @tab @code{begin}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1963 @item @code{\cb}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1964 @tab @code{byte()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1965 @item @code{\cc}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1966 @tab @code{complex()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1967 @item @code{\cd}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1968 @tab @code{double()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1969 @item @code{\cf}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1970 @tab @code{float()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1971 @item @code{\cl}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1972 @tab @code{long()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1973 @item @code{\co}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1974 @tab @code{common}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1975 @item @code{\cs}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1976 @tab @code{string()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1977 @item @code{\cx}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1978 @tab @code{fix()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1979 @item @code{\e}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1980 @tab @code{else}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1981 @item @code{\ec}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1982 @tab @code{endcase}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1983 @item @code{\ee}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1984 @tab @code{endelse}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1985 @item @code{\ef}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1986 @tab @code{endfor}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1987 @item @code{\ei}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1988 @tab @code{endif else if}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1989 @item @code{\el}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1990 @tab @code{endif else}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1991 @item @code{\en}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1992 @tab @code{endif}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1993 @item @code{\er}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1994 @tab @code{endrep}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1995 @item @code{\es}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1996 @tab @code{endswitch}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1997 @item @code{\ew}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1998 @tab @code{endwhile}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
1999 @item @code{\g}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2000 @tab @code{goto,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2001 @item @code{\h}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2002 @tab @code{help,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2003 @item @code{\ik}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2004 @tab @code{if keyword_set() then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2005 @item @code{\iap}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2006 @tab @code{if arg_present() then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2007 @item @code{\ine}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2008 @tab @code{if n_elements() eq 0 then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2009 @item @code{\inn}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2010 @tab @code{if n_elements() ne 0 then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2011 @item @code{\k}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2012 @tab @code{keyword_set()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2013 @item @code{\n}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2014 @tab @code{n_elements()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2015 @item @code{\np}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2016 @tab @code{n_params()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2017 @item @code{\oi}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2018 @tab @code{on_ioerror,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2019 @item @code{\or}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2020 @tab @code{openr,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2021 @item @code{\ou}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2022 @tab @code{openu,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2023 @item @code{\ow}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2024 @tab @code{openw,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2025 @item @code{\p}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2026 @tab @code{print,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2027 @item @code{\pt}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2028 @tab @code{plot,}
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2029 @item @code{\pv}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2030 @tab @code{ptr_valid()}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2031 @item @code{\re}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2032 @tab @code{read,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2033 @item @code{\rf}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2034 @tab @code{readf,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2035 @item @code{\rt}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2036 @tab @code{return}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2037 @item @code{\ru}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2038 @tab @code{readu,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2039 @item @code{\s}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2040 @tab @code{size()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2041 @item @code{\sc}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2042 @tab @code{strcompress()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2043 @item @code{\sl}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2044 @tab @code{strlowcase()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2045 @item @code{\sm}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2046 @tab @code{strmid()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2047 @item @code{\sn}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2048 @tab @code{strlen()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2049 @item @code{\sp}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2050 @tab @code{strpos()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2051 @item @code{\sr}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2052 @tab @code{strtrim()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2053 @item @code{\st}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2054 @tab @code{strput()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2055 @item @code{\su}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2056 @tab @code{strupcase()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2057 @item @code{\t}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2058 @tab @code{then}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2059 @item @code{\u}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2060 @tab @code{until}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2061 @item @code{\wc}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2062 @tab @code{widget_control,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2063 @item @code{\wi}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2064 @tab @code{widget_info()}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2065 @item @code{\wu}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2066 @tab @code{writeu,}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2067 @end multitable
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2068
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2069 @noindent You can easily add your own abbreviations or override existing
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
2070 abbrevs with @code{define-abbrev} in your mode hook, using the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2071 convenience function @code{idlwave-define-abbrev}:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2072
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2073 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2074 (add-hook 'idlwave-mode-hook
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2075 (lambda ()
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2076 (idlwave-define-abbrev "wb" "widget_base()"
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2077 (idlwave-keyword-abbrev 1))
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2078 (idlwave-define-abbrev "ine" "IF N_Elements() EQ 0 THEN"
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2079 (idlwave-keyword-abbrev 11))))
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2080 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2081
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2082 Notice how the abbreviation (here @emph{wb}) and its expansion
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2083 (@emph{widget_base()}) are given as arguments, and the single argument to
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2084 @code{idlwave-keyword-abbrev} (here @emph{1}) specifies how far back to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2085 move the point upon expansion (in this example, to put it between the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2086 parentheses).
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2087
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2088 The abbreviations are expanded in upper or lower case, depending upon
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2089 the variables @code{idlwave-abbrev-change-case} and, for reserved word
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2090 templates, @code{idlwave-reserved-word-upcase} (@pxref{Case Changes}).
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
2091
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2092 @defopt idlwave-abbrev-start-char (@code{"\"})
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2093 A single character string used to start abbreviations in abbrev mode.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2094 Beware of common characters which might naturally occur in sequence with
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2095 abbreviation strings.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2096 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2097
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2098 @defopt idlwave-abbrev-move (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2099 Non-@code{nil} means the abbrev hook can move point, e.g. to end up
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2100 between the parentheses of a function call.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2101 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2102
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2103 @node Actions, Doc Header, Abbreviations, The IDLWAVE Major Mode
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2104 @section Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2105 @cindex Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2106 @cindex Coding standards, enforcing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2107
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2108 @emph{Actions} are special formatting commands which are executed
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2109 automatically while you write code in order to check the structure of
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2110 the program or to enforce coding standards. Most actions which have
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2111 been implemented in IDLWAVE are turned off by default, assuming that the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2112 average user wants her code the way she writes it. But if you are a
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2113 lazy typist and want your code to adhere to certain standards, actions
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2114 can be helpful.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2115
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2116 Actions can be applied in three ways:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2117
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2118 @itemize @bullet
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2119 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2120 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
2121 @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
2122 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
2123 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
2124 case.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2125 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2126 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
2127 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
2128 must be non-@code{nil}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2129 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2130 @cindex Foreign code, adapting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2131 @cindex Actions, applied to foreign code
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2132 Actions can also be applied to a larger piece of code, e.g. to convert
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2133 foreign code to your own style. To do this, mark the relevant part of
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2134 the code and execute @kbd{M-x expand-region-abbrevs}. Useful marking
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2135 commands are @kbd{C-x h} (the entire file) or @kbd{C-M-h} (the current
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2136 subprogram). @xref{Code Indentation}, for information how to adjust the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2137 indentation of the code.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2138 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2139
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2140 @defopt idlwave-do-actions (@code{nil})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2141 Non-@code{nil} means performs actions when indenting. Individual action
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2142 settings are described below and set separately.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2143 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2144
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2145 @menu
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2146 * Block Boundary Check:: Is the END statement correct?
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2147 * Padding Operators:: Enforcing space around `=' etc
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2148 * Case Changes:: Enforcing upper case keywords
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2149 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2150
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2151 @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
2152 @subsection Block Boundary Check
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2153 @cindex Block boundary check
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2154 @cindex @code{END} type checking
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2155 @cindex @code{END}, automatic insertion
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2156 @cindex @code{END}, expanding
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2157 @cindex Block, closing
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2158 @cindex Closing a block
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2159
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2160 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
2161 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
2162 location for a second. If you have typed a specific @code{END}, like
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2163 @code{ENDIF} or @code{ENDCASE}, you get a warning if that terminator
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2164 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
2165
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2166 Set the variable @code{idlwave-expand-generic-end} in order to have all
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2167 generic @code{END} statements automatically expanded to the appropriate
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2168 type. You can also type @kbd{C-c ]} to close the current block by
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2169 inserting the appropriate @code{END} statement.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2170
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2171 @defopt idlwave-show-block (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2172 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
2173 @code{idlwave-show-begin}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2174 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2175
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2176 @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
2177 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
2178 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2179
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2180 @defopt idlwave-reindent-end (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2181 Non-@code{nil} means re-indent line after END was typed.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2182 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2183
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2184 @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
2185 @subsection Padding Operators
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2186 @cindex Padding operators with spaces
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2187 @cindex Operators, padding with spaces
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2188 @cindex Space, around operators
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2189
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2190 Some operators can be automatically surrounded by spaces. This can
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2191 happen when the operator is typed, or later when the line is indented.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2192 IDLWAVE can pad the operators @samp{<}, @samp{>}, @samp{,}, @samp{=},
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2193 and @samp{->}, as well as the modified assignment operators
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2194 (@samp{AND=}, @samp{OR=}, etc.). This feature is turned off by default.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2195 If you want to turn it on, customize the variables
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2196 @code{idlwave-surround-by-blank} and @code{idlwave-do-actions} and turn
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2197 both on. You can also define similar actions for other operators by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2198 using the function @code{idlwave-action-and-binding} in the mode hook.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2199 For example, to enforce space padding of the @samp{+} and @samp{*}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2200 operators (outside of strings and comments, of course), try this in
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2201 @file{.emacs}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2202
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2203 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2204 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2205 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2206 (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
2207 (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
2208 (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
2209 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2210
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2211 Note that the modified assignment operators which begin with a word
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2212 (@samp{AND=}, @samp{OR=}, @samp{NOT=}, etc.) require a leading space to
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
2213 be recognized (e.g @code{vAND=4} would be interpreted as a variable
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2214 @code{vAND}). Also note that, since e.g., @code{>} and @code{>=} are
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2215 both valid operators, it is impossible to surround both by blanks while
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2216 they are being typed. Similarly with @code{&} and @code{&&}. For
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2217 these, a compromise is made: the padding is placed on the left, and if
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2218 the longer operator is keyed in, on the right as well (otherwise you
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2219 must insert spaces to pad right yourself, or press simply press Tab to
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2220 repad everything if @code{idlwave-do-actions} is on).
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2221
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2222 @defopt idlwave-surround-by-blank (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2223 Non-@code{nil} means enable @code{idlwave-surround}. If non-@code{nil},
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2224 @samp{=}, @samp{<}, @samp{>}, @samp{&}, @samp{,}, @samp{->}, and the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2225 modified assignment operators (@samp{AND=}, @samp{OR=}, etc.) are
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2226 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
2227 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2228
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2229 @defopt idlwave-pad-keyword (@code{t})
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2230 Non-@code{nil} means space-pad the @samp{=} in keyword assignments.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2231 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2232
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2233 @node Case Changes, , Padding Operators, Actions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2234 @subsection Case Changes
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2235 @cindex Case changes
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2236 @cindex Upcase, enforcing for reserved words
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2237 @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
2238
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2239 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
2240 abbreviations by customizing the variables
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2241 @code{idlwave-abbrev-change-case} and
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2242 @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
2243 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
2244 your @file{.emacs} file:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2245
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2246 @lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2247 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2248 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2249 ;; Capitalize system vars
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2250 (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
2251 ;; Capitalize procedure name
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2252 (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
2253 '(capitalize-word 1) t)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2254 ;; Capitalize common block name
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2255 (idlwave-action-and-binding "\\<common\\>[ \t]+\\<"
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2256 '(capitalize-word 1) t)))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2257 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2258
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2259 For more information, see the documentation string for the function
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2260 @code{idlwave-action-and-binding}. For information on controlling the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2261 case of routines, keywords, classes, and methods as they are completed, see
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2262 @ref{Completion}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2263
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2264 @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
2265 Non-@code{nil} means all abbrevs will be forced to either upper or lower
60927
bae786986f2e * calc.texi, cl.texi, gnus.texi, idlwave.texi, reftex.texi: Replace
Werner LEMBERG <wl@gnu.org>
parents: 60880
diff changeset
2266 case. Valid values are @code{nil}, @code{t}, and @code{down}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2267 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2268
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2269 @defopt idlwave-reserved-word-upcase (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2270 Non-@code{nil} means reserved words will be made upper case via abbrev
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2271 expansion.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2272 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2273
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2274
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2275 @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
2276 @section Documentation Header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2277 @cindex Documentation header
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2278 @cindex DocLib header
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2279 @cindex Modification timestamp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2280 @cindex Header, for file documentation
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2281 @cindex Timestamp, in doc header.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2282 @cindex Changelog, in doc header.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2283
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2284 @kindex C-c C-h
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2285 @kindex C-c C-m
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2286 The command @kbd{C-c C-h} inserts a standard routine header into the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2287 buffer, with the usual fields for documentation (a different header can
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2288 be specified with @code{idlwave-file-header}). One of the keywords is
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2289 @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
2290 recorded. The command @kbd{C-c C-m} jumps to the @samp{MODIFICATION
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2291 HISTORY} of the current routine or file and inserts the user name with a
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2292 timestamp.
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 @defopt idlwave-file-header
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2295 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
2296 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2297
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2298 @defopt idlwave-header-to-beginning-of-file (@code{nil})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2299 Non-@code{nil} means the documentation header will always be at start
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2300 of file.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2301 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2302
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2303 @defopt idlwave-timestamp-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2304 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
2305 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2306
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2307 @defopt idlwave-doc-modifications-keyword
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2308 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
2309 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2310
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2311 @defopt idlwave-doclib-start
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2312 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
2313 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2314
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2315 @defopt idlwave-doclib-end
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2316 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
2317 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2318
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2319 @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
2320 @section Motion Commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2321 @cindex Motion commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2322 @cindex Program structure, moving through
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2323 @cindex Code structure, moving through
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2324 @cindex @file{Func-menu}, XEmacs package
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2325 @cindex @file{Imenu}, Emacs package
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2326 @cindex Function definitions, jumping to
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2327 @cindex Procedure definitions, jumping to
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2328
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2329 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
2330 which make it easy to jump to the definitions of functions and
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2331 procedures in the current file with a pop-up selection. To bind
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2332 @file{Imenu} to a mouse-press, use in your @file{.emacs}:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2333
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2334 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2335 (define-key global-map [S-down-mouse-3] 'imenu)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2336 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2337
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2338 @cindex @file{Speedbar}, Emacs package
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2339
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2340 In addition, @file{Speedbar} support allows convenient navigation of a
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2341 source tree of IDL routine files, quickly stepping to routine
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2342 definitions. See @code{Tools->Display Speedbar}.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2343
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2344 Several commands allow you to move quickly through the structure of an
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2345 IDL program:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2346
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2347 @multitable @columnfractions .15 .85
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2348 @item @kbd{C-M-a}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2349 @tab Beginning of subprogram
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2350 @item @kbd{C-M-e}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2351 @tab End of subprogram
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2352 @item @kbd{C-c @{}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2353 @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
2354 @item @kbd{C-c @}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2355 @tab End of block (stay inside the block)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2356 @item @kbd{C-M-n}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2357 @tab Forward block (on same level)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2358 @item @kbd{C-M-p}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2359 @tab Backward block (on same level)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2360 @item @kbd{C-M-d}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2361 @tab Down block (enters a block)
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39268
diff changeset
2362 @item @kbd{C-M-u}
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2363 @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
2364 @item @kbd{C-c C-n}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2365 @tab Next Statement
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2366 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2367
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2368
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2369 @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
2370 @section Miscellaneous Options
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2371 @cindex Hooks
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2372
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2373 @defopt idlwave-help-application
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2374 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
2375 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2376
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2377 @defopt idlwave-startup-message (@code{t})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2378 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
2379 is first called.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2380 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2381
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2382 @defopt idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2383 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
2384 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2385
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2386 @defopt idlwave-load-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2387 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
2388 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2389
60880
78ef32e30574 Don't say where to get IDL or its non-free manual.
Richard M. Stallman <rms@gnu.org>
parents: 58527
diff changeset
2390 @node The IDLWAVE Shell, Acknowledgements, The IDLWAVE Major Mode, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2391 @chapter The IDLWAVE Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2392 @cindex IDLWAVE shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2393 @cindex Major mode, @code{idlwave-shell-mode}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2394 @cindex IDL, as Emacs subprocess
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2395 @cindex Subprocess of Emacs, IDL
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2396 @cindex Comint, Emacs package
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2397 @cindex Windows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2398 @cindex MacOS
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2399
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2400 The IDLWAVE shell is an Emacs major mode which permits running the IDL
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2401 program as an inferior process of Emacs, and works closely with the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2402 IDLWAVE major mode in buffers. It can be used to work with IDL
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2403 interactively, to compile and run IDL programs in Emacs buffers and to
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2404 debug these programs. The IDLWAVE shell is built on @file{comint}, an
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2405 Emacs packages which handles the communication with the IDL program.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2406 Unfortunately, IDL for Windows does not have command-prompt versions and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2407 thus do not allow the interaction with Emacs --- so the IDLWAVE shell
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2408 currently only works under Unix and MacOSX.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2409
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2410 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2411 * 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
2412 * Using the Shell:: Interactively working with the Shell
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2413 * Commands Sent to the Shell::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2414 * Debugging IDL Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2415 * Examining Variables::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2416 * Custom Expression Examination::
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2417 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2418
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2419 @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
2420 @section Starting the Shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2421 @cindex Starting the shell
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2422 @cindex Shell, starting
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2423 @cindex Dedicated frame, for shell buffer
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2424 @cindex Frame, for shell buffer
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2425 @cindex Subprocess of Emacs, IDL
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2426
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2427 @kindex C-c C-s
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2428 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
2429 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
2430 @kbd{C-c C-s}. It creates a buffer @file{*idl*} which is used to
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2431 interact with the shell. If the shell is already running, @kbd{C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2432 C-s} will simply switch to the shell buffer. The command @kbd{C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2433 C-l} (@code{idlwave-shell-recenter-shell-window}) displays the shell
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2434 window without selecting it. The shell can also be started
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2435 automatically when another command tries to send a command to it. To
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2436 enable auto start, set the variable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2437 @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
2438
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2439 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
2440 @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
2441 @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
2442 window, configure the variable
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2443 @code{idlwave-shell-use-dedicated-frame}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2444
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2445 To launch a quick IDLWAVE shell directly from a shell prompt without
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2446 an IDLWAVE buffer (e.g., as a replacement for running inside an
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2447 xterm), define a system alias with the following content:
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2448
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2449 @example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2450 emacs -geometry 80x32 -eval "(idlwave-shell 'quick)"
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2451 @end example
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2452
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2453 Replace the @samp{-geometry 80x32} option with @samp{-nw} if you prefer
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2454 the Emacs process to run directly inside the terminal window.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2455
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2456 @cindex ENVI
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2457 @cindex IDL> Prompt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2458
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2459 To use IDLWAVE with ENVI or other custom packages which change the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2460 @samp{IDL> } prompt, you must change the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2461 @code{idlwave-shell-prompt-pattern}, which defaults to @samp{"^ ?IDL>
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2462 "}. Normally, you can just replace the @samp{IDL} in this expression
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2463 with the prompt you see. A suitable pattern which matches the prompt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2464 for both ENVI and IDL simultaneously is @samp{"^ ?\\(ENVI\\|IDL\\)> "}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2465
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2466 @defopt idlwave-shell-explicit-file-name (@file{idl})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2467 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
2468 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2469
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2470 @defopt idlwave-shell-command-line-options
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2471 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
2472 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2473
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2474 @defopt idlwave-shell-prompt-pattern
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2475 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
2476 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2477
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2478 @defopt idlwave-shell-process-name
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2479 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
2480 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2481
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2482 @defopt idlwave-shell-automatic-start (@code{nil})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2483 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
2484 running.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2485 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2486
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2487 @defopt idlwave-shell-initial-commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2488 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
2489 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2490
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2491 @defopt idlwave-shell-save-command-history (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2492 Non-@code{nil} means preserve command history between sessions.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2493 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2494
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2495 @defopt idlwave-shell-command-history-file (@file{~/.idlwave/.idlwhist})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2496 The file in which the command history of the idlwave shell is saved.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2497 Unless it's an absolute path, it goes in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2498 @code{idlwave-config-directory}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2499 @end defopt
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2500
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2501 @defopt idlwave-shell-use-dedicated-frame (@code{nil})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2502 Non-@code{nil} means IDLWAVE should use a special frame to display the
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47737
diff changeset
2503 shell buffer.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2504 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2505
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2506 @defopt idlwave-shell-use-dedicated-window (@code{nil})
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2507 Non-@code{nil} means use a dedicated window for the shell, taking care
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2508 not it replace it with other buffers.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2509 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2510
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2511 @defopt idlwave-shell-frame-parameters
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2512 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
2513 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2514
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2515 @defopt idlwave-shell-raise-frame (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2516 Non-@code{nil} means `idlwave-shell' raises the frame showing the shell
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2517 window.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2518 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2519
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2520 @defopt idlwave-shell-temp-pro-prefix
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2521 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
2522 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2523
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2524 @cindex Hooks
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2525 @defopt idlwave-shell-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2526 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
2527 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2528
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2529 @node Using the Shell, Commands Sent to the Shell, Starting the Shell, The IDLWAVE Shell
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2530 @section Using the Shell
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2531 @cindex Comint
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2532 @cindex Shell, basic commands
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2533
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2534 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
2535 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
2536 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
2537 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
2538 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
2539 default comint functionality, check the variable
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2540 @code{idlwave-shell-arrows-do-history}.}. The history is preserved
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2541 between emacs and IDL sessions. Here is a list of commonly used
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2542 commands:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2543
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2544 @multitable @columnfractions .12 .88
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2545 @item @key{UP}, @key{M-p}
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2546 @tab Cycle backwards in input history
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2547 @item @key{DOWN}, @key{M-n}
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2548 @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
2549 @item @kbd{M-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2550 @tab Previous input matching a regexp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2551 @item @kbd{M-s}
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2552 @tab Next input matching a regexp
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2553 @item @kbd{return}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2554 @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
2555 @item @kbd{C-c C-a}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2556 @tab Beginning of line; skip prompt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2557 @item @kbd{C-c C-u}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2558 @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
2559 @item @kbd{C-c C-w}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2560 @tab Kill word before cursor
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2561 @item @kbd{C-c C-c}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2562 @tab Send ^C
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2563 @item @kbd{C-c C-z}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2564 @tab Send ^Z
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2565 @item @kbd{C-c C-\}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2566 @tab Send ^\
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2567 @item @kbd{C-c C-o}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2568 @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
2569 @item @kbd{C-c C-r}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2570 @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
2571 @item @kbd{C-c C-l}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2572 @tab List input history
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2573 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2574
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2575 In addition to these standard @file{comint} commands,
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2576 @code{idlwave-shell-mode} provides many of the same commands which
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2577 simplify writing IDL code available in IDLWAVE buffers. This includes
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2578 abbreviations, online help, and completion. See @ref{Routine Info} and
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2579 @ref{Online Help} and @ref{Completion} for more information on these
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2580 commands.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2581
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2582 @cindex Completion, in the shell
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2583 @cindex Routine info, in the shell
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2584 @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
2585 @multitable @columnfractions .12 .88
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2586 @item @kbd{@key{TAB}}
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2587 @tab Completion of file names (between quotes and after executive
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2588 commands @samp{.run} and @samp{.compile}), routine names, class names,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2589 keywords, system variables, system variable tags etc.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2590 (@code{idlwave-shell-complete}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2591 @item @kbd{M-@key{TAB}}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2592 @tab Same as @key{TAB}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2593 @item @kbd{C-c ?}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2594 @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
2595 @item @kbd{M-?}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2596 @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
2597 @item @kbd{C-c C-i}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2598 @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
2599 (@code{idlwave-update-routine-info})
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2600 @item @kbd{C-c C-v}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2601 @tab Find the source file of a routine (@code{idlwave-find-module})
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2602 @item @kbd{C-c C-t}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2603 @tab Find the source file of a routine in the currently visited file
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2604 (@code{idlwave-find-module-this-file}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2605 @item @kbd{C-c =}
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2606 @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
2607 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2608
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2609 @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
2610 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
2611 history like xterm.
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2612 @end defopt
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2613
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2614 @defopt idlwave-shell-comint-settings
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2615 Alist of special settings for the comint variables in the IDLWAVE Shell.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2616 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2617
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2618 @defopt idlwave-shell-file-name-chars
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2619 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
2620 completion.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2621 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2622
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2623 @defopt idlwave-shell-graphics-window-size
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2624 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
2625 @end defopt
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2626
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2627 @cindex Input mode
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2628 @cindex Character input mode (Shell)
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2629 @cindex Line input mode (Shell)
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2630 @cindex Magic spells, for input mode
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2631 @cindex Spells, magic
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2632 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
2633 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
2634 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
2635 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
2636 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
2637 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
2638 (@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
2639 (@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
2640 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
2641 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
2642 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
2643 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
2644 automatic switches of the input mode.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2645
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2646 @defopt idlwave-shell-use-input-mode-magic (@code{nil})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2647 Non-@code{nil} means IDLWAVE should check for input mode spells in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2648 output.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2649 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2650
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2651 @defopt idlwave-shell-input-mode-spells
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2652 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
2653 modes.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2654 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2655
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2656 @node Commands Sent to the Shell, Debugging IDL Programs, Using the Shell, The IDLWAVE Shell
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2657 @section Commands Sent to the Shell
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2658 @cindex Commands in shell, showing
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2659 @cindex Showing commands in shell
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2660
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2661 The IDLWAVE buffers and shell interact very closely. In addition to the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2662 normal commands you enter at the @code{IDL>} prompt, many other special
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2663 commands are sent to the shell, sometimes as a direct result of invoking
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2664 a key command, menu item, or toolbar button, but also automatically, as
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2665 part of the normal flow of information updates between the buffer and
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2666 shell.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2667
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2668 The commands sent include @code{breakpoint}, @code{.step} and other
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2669 debug commands (@pxref{Debugging IDL Programs}), @code{.run} and other
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2670 compilation statements (@pxref{Compiling Programs}), examination
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2671 commands like @code{print} and @code{help} (@pxref{Examining
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2672 Variables}), and other special purpose commands designed to keep
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2673 information on the running shell current.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2674
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2675 By default, much of this background shell input and output is hidden
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2676 from the user, but this is configurable. The custom variable
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2677 @code{idlwave-abbrev-show-commands} allows you to configure which
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2678 commands sent to the shell are shown there. For a related customization
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2679 for separating the output of @emph{examine} commands, see @ref{Examining
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2680 Variables}.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2681
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2682 @defopt idlwave-shell-show-commands (@code{'(run misc breakpoint)})
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2683 A list of command types to echo in the shell when sent. Possible values
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2684 are @code{run} for @code{.run}, @code{.compile} and other run commands,
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2685 @code{misc} for lesser used commands like @code{window},
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2686 @code{retall},@code{close}, etc., @code{breakpoint} for breakpoint
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2687 setting and clearing commands, and @code{debug} for other debug,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2688 stepping, and continue commands. In addition, if the variable is set to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2689 the single symbol @code{'everything}, all the copious shell input is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2690 displayed (which is probably only useful for debugging purposes).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2691 N.B. For hidden commands which produce output by side-effect, that
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2692 output remains hidden (e.g., stepping through a @code{print} command).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2693 As a special case, any error message in the output will be displayed
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2694 (e.g., stepping to an error).
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2695 @end defopt
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2696
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2697 @node Debugging IDL Programs, Examining Variables, Commands Sent to the Shell, The IDLWAVE Shell
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2698 @section Debugging IDL Programs
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2699 @cindex Debugging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2700 @cindex Keybindings for debugging
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2701 @cindex Toolbar
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2702
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2703 Programs can be compiled, run, and debugged directly from the source
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2704 buffer in Emacs, walking through arbitrarily deeply nested code,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2705 printing expressions and skipping up and down the calling stack along
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2706 the way. IDLWAVE makes compiling and debugging IDL programs far less
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2707 cumbersome by providing a full-featured, key/menu/toolbar-driven
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2708 interface to commands like @code{breakpoint}, @code{.step},
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2709 @code{.run}, etc. It can even perform complex debug operations not
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2710 natively supported by IDL (like continuing to the line at the cursor).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2711
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2712 The IDLWAVE shell installs key bindings both in the shell buffer and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2713 in all IDL code buffers of the current Emacs session, so debug
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2714 commands work in both places (in the shell, commands operate on the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2715 last file compiled). On Emacs versions which support it, a debugging
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2716 toolbar is also installed. The toolbar display can be toggled with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2717 @kbd{C-c C-d C-t} (@code{idlwave-shell-toggle-toolbar}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2718
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2719
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2720 @defopt idlwave-shell-use-toolbar (@code{t})
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2721 Non-@code{nil} means use the debugging toolbar in all IDL related
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2722 buffers.
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2723 @end defopt
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2724
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2725 @menu
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2726 * A Tale of Two Modes::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2727 * Debug Key Bindings::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2728 * Breakpoints and Stepping::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2729 * Compiling Programs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2730 * Walking the Calling Stack::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2731 * Electric Debug Mode::
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2732 @end menu
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2733
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2734
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2735 @node A Tale of Two Modes, Debug Key Bindings, Debugging IDL Programs, Debugging IDL Programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2736 @subsection A Tale of Two Modes
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2737 @cindex Electric Debug Mode
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2738 @cindex Debugging Interface
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2739
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2740 The many debugging, compiling, and examination commands provided in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2741 IDLWAVE are available simultaneously through two different interfaces:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2742 the original, multi-key command interface, and the new Electric Debug
65575
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2743 Mode. The functionality they offer is similar, but the way you interact
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2744 with them is quite different. The main difference is that, in Electric
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2745 Debug Mode, the source buffers are made read-only, and single
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2746 key-strokes are used to step through, examine expressions, set and
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2747 remove breakpoints, etc. The same variables, prefix arguments, and
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2748 settings apply to both versions, and both can be used interchangeably.
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2749 By default, when breakpoints are hit, Electric Debug Mode is enabled.
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2750 The traditional interface is described first. @xref{Electric Debug
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2751 Mode}, for more on that mode. Note that electric debug mode can be
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2752 prevented from activating automatically by customizing the variable
2b96746de758 Fixed spurious cross-ref
J.D. Smith <jdsmith@as.arizona.edu>
parents: 65555
diff changeset
2753 @code{idlwave-shell-automatic-electric-debug}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2754
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2755 @node Debug Key Bindings, Breakpoints and Stepping, A Tale of Two Modes, Debugging IDL Programs
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2756 @subsection Debug Key Bindings
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2757 @kindex C-c C-d
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2758 @cindex Key bindings
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2759
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2760 The standard debugging key bindings are always available by default on
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2761 the prefix key @kbd{C-c C-d}, so, for example, setting a breakpoint is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2762 done with @kbd{C-c C-d C-b}, and compiling a source file with @kbd{C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2763 C-d C-c}. You can also easily configure IDLWAVE to use one or more
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2764 modifier keys not in use by other commands, in lieu of the prefix
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2765 @kbd{C-c C-d} (though these bindings will typically also be available
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2766 --- see @code{idlwave-shell-activate-prefix-keybindings}). For
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2767 example, if you include in @file{.emacs}:
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2768
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2769 @lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2770 (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
2771 @end lisp
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2772
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2773 @noindent a breakpoint can then be set by pressing @kbd{b} while holding down
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2774 @kbd{shift} and @kbd{control} keys, i.e. @kbd{C-S-b}. Compiling a
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2775 source file will be on @kbd{C-S-c}, deleting a breakpoint @kbd{C-S-d},
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2776 etc. In the remainder of this chapter we will assume that the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2777 @kbd{C-c C-d} bindings are active, but each of these bindings will
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2778 have an equivalent shortcut if modifiers are given in the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2779 @code{idlwave-shell-debug-modifiers} variable (@pxref{Lesson II --
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2780 Customization}). A much simpler and faster form of debugging for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2781 running code is also available by default --- see @ref{Electric Debug
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2782 Mode}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2783
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2784 @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
2785 The prefix key for the debugging map
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2786 @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
2787 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2788
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2789 @defopt idlwave-shell-activate-prefix-keybindings (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2790 Non-@code{nil} means debug commands will be bound to the prefix
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2791 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
2792 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2793
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
2794 @defopt idlwave-shell-debug-modifiers (@code{nil})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2795 List of modifier keys to use for additional, alternative binding of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2796 debugging commands in the shell and source buffers. Can be one or
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2797 more of @code{control}, @code{meta}, @code{super}, @code{hyper},
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2798 @code{alt}, and @code{shift}.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2799 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2800
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2801 @node Breakpoints and Stepping, Compiling Programs, Debug Key Bindings, Debugging IDL Programs
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2802 @subsection Breakpoints and Stepping
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2803 @cindex Breakpoints
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2804 @cindex Stepping
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2805 @cindex Execution, controlled
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2806
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2807 @kindex C-c C-d C-b
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2808 @kindex C-c C-d C-b
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2809 IDLWAVE helps you set breakpoints and step through code. Setting a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2810 breakpoint in the current line of the source buffer is accomplished
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2811 with @kbd{C-c C-d C-b} (@code{idlwave-shell-break-here}). With a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2812 prefix arg of 1 (i.e. @kbd{C-1 C-c C-d C-b}), the breakpoint gets a
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2813 @code{/ONCE} keyword, meaning that it will be deleted after first use.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2814 With a numeric prefix greater than one (e.g. @kbd{C-4 C-c C-d C-b}),
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2815 the breakpoint will only be active the @code{nth} time it is hit.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2816 With a single non-numeric prefix (i.e. @kbd{C-u C-c C-d C-b}), prompt
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
2817 for a condition --- an IDL expression to be evaluated and trigger the
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2818 breakpoint only if true. To clear the breakpoint in the current line,
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2819 use @kbd{C-c C-d C-d} (@code{idlwave-clear-current-bp}). When
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2820 executed from the shell window, the breakpoint where IDL is currently
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2821 stopped will be deleted. To clear all breakpoints, use @kbd{C-c C-d
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2822 C-a} (@code{idlwave-clear-all-bp}). Breakpoints can also be disabled
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2823 and re-enabled: @kbd{C-c C-d C-\}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2824 (@code{idlwave-shell-toggle-enable-current-bp}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2825
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2826 Breakpoint lines are highlighted or indicated with an icon in the source
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2827 code (different icons for conditional, after, and other break types).
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2828 Disabled breakpoints are @emph{grayed out} by default. Note that IDL
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2829 places breakpoints as close as possible on or after the line you
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2830 specify. IDLWAVE queries the shell for the actual breakpoint location
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2831 which was set, so the exact line you specify may not be marked. You can
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2832 re-sync the breakpoint list and update the display at any time (e.g., if
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2833 you add or remove some on the command line) using @kbd{C-c C-d C-l}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2834
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2835 In recent IDLWAVE versions, the breakpoint line is highlighted when the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2836 mouse is moved over it, and a tooltip pops up describing the break
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2837 details. @kbd{Mouse-3} on the breakpoint line pops up a menu of
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2838 breakpoint actions, including clearing, disabling, and adding or
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2839 changing break conditions or ``after'' break count.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2840
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2841 Once the program has stopped somewhere, you can step through it. The
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2842 most important stepping commands are @kbd{C-c C-d C-s} to execute one
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2843 line of IDL code ("step into"); @kbd{C-c C-d C-n} to step a single line,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2844 treating procedure and function calls as a single step ("step over");
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2845 @kbd{C-c C-d C-h} to continue execution to the line at the cursor and
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2846 @kbd{C-c C-d C-r} to continue execution. @xref{Commands Sent to the
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2847 Shell}, for information on displaying or hiding the breakpoint and
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
2848 stepping commands the shell receives. Here is a summary of the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2849 breakpoint and stepping commands:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2850
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2851 @multitable @columnfractions .23 .77
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2852 @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
2853 @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
2854 @item @kbd{C-c C-d C-i}
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2855 @tab Set breakpoint in module named here (@code{idlwave-shell-break-in})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2856 @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
2857 @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
2858 @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
2859 @tab Clear all breakpoints (@code{idlwave-shell-clear-all-bp})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2860 @item @kbd{C-c C-d [}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2861 @tab Go to the previous breakpoint (@code{idlwave-shell-goto-previous-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2862 @item @kbd{C-c C-d ]}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2863 @tab Go to the next breakpoint (@code{idlwave-shell-goto-next-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2864 @item @kbd{C-c C-d C-\}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2865 @tab Disable/Enable current breakpoint (@code{idlwave-shell-toggle-enable-current-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2866 @item @kbd{C-c C-d C-j}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2867 @tab Set a breakpoint at the beginning of the enclosing routine.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2868 @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
2869 @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
2870 @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
2871 @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
2872 @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
2873 @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
2874 @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
2875 @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
2876 @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
2877 @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
2878 @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
2879 @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
2880 @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
2881 @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
2882 @item @kbd{C-c C-d C-r}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2883 @tab Continue execution to next breakpoint, if any (@code{idlwave-shell-cont})
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2884 @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
2885 @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
2886 @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
2887 @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
2888 @end multitable
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2889
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2890 All of these commands have equivalents in Electric Debug Mode, which
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2891 provides faster single-key access (@pxref{Electric Debug Mode}).
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2892
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2893 The line where IDL is currently stopped, at breakpoints, halts, and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2894 errors, etc., is marked with a color overlay or arrow, depending on the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2895 setting in @code{idlwave-shell-mark-stop-line}. If an overlay face is
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2896 used to mark the stop line (as it is by default), when stepping through
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2897 code, the face color is temporarily changed to gray, until IDL completes
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2898 the next command and moves to the new line.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2899
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2900 @defopt idlwave-shell-mark-breakpoints (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2901 Non-@code{nil} means mark breakpoints in the source file buffers. The
60927
bae786986f2e * calc.texi, cl.texi, gnus.texi, idlwave.texi, reftex.texi: Replace
Werner LEMBERG <wl@gnu.org>
parents: 60880
diff changeset
2902 value indicates the preferred method. Valid values are @code{nil},
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2903 @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
2904 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2905
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2906 @defopt idlwave-shell-breakpoint-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2907 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
2908 @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
2909 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
2910
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2911 @defopt idlwave-shell-breakpoint-popup-menu (@code{t})
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2912 Whether to pop-up a menu and present a tooltip description on
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2913 breakpoint lines.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2914 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2915
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2916 @defopt idlwave-shell-mark-stop-line (@code{t})
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2917 Non-@code{nil} means mark the source code line where IDL is currently
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2918 stopped. The value specifies the preferred method. Valid values are
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2919 @code{nil}, @code{t}, @code{arrow}, and @code{face}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2920 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2921
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2922 @defopt idlwave-shell-overlay-arrow (@code{">"})
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2923 The overlay arrow to display at source lines where execution halts, if
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2924 configured in @code{idlwave-shell-mark-stop-line}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2925 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2926
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2927 @defopt idlwave-shell-stop-line-face
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2928 The face which highlights the source line where IDL is stopped, if
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2929 configured in @code{idlwave-shell-mark-stop-line}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2930 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2931
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2932
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2933 @node Compiling Programs, Walking the Calling Stack, Breakpoints and Stepping, Debugging IDL Programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2934 @subsection Compiling Programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2935 @cindex Compiling programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2936 @cindex Programs, compiling
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2937 @cindex Default command line, executing
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2938 @cindex Executing a default command line
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2939
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2940 @kindex C-c C-d C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2941 In order to compile the current buffer under the IDLWAVE shell, press
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2942 @kbd{C-c C-d C-c} (@code{idlwave-save-and-run}). This first saves the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2943 current buffer and then sends the command @samp{.run path/to/file} to the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2944 shell. You can also execute @kbd{C-c C-d C-c} from the shell buffer, in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2945 which case the most recently compiled buffer will be saved and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2946 re-compiled.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2947
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2948 When developing or debugging a program, it is often necessary to execute
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2949 the same command line many times. A convenient way to do this is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2950 @kbd{C-c C-d C-y} (@code{idlwave-shell-execute-default-command-line}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2951 This command first resets IDL from a state of interrupted execution by
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2952 closing all files and returning to the main interpreter level. Then a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2953 default command line is send to the shell. To edit the default command
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2954 line, call @code{idlwave-shell-execute-default-command-line} with a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2955 prefix argument: @kbd{C-u C-c C-d C-y}. If no default command line has
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2956 been set (or you give two prefix arguments), the last command on the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2957 @code{comint} input history is sent.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2958
77522
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
2959 @kindex C-c C-d C-e
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
2960 @cindex Compiling regions
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
2961 For quickly compiling and running the currently marked region as a main
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
2962 level program @kbd{C-c C-d C-e} (@code{idlwave-shell-run-region}) is
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
2963 very useful. A temporary file is created holding the contents of the
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
2964 current region (with @code{END} appended), and run from the shell.
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
2965
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2966 @node Walking the Calling Stack, Electric Debug Mode, Compiling Programs, Debugging IDL Programs
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2967 @subsection Walking the Calling Stack
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2968 @cindex Calling stack, walking
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2969
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2970 While debugging a program, it can be very useful to check the context in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2971 which the current routine was called, for instance to help understand
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2972 the value of the arguments passed. To do so conveniently you need to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2973 examine the calling stack. If execution is stopped somewhere deep in a
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2974 program, you can use the commands @kbd{C-c C-d C-@key{UP}}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2975 (@code{idlwave-shell-stack-up}) and @kbd{C-c C-d C-@key{DOWN}}
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2976 (@code{idlwave-shell-stack-down}), or the corresponding toolbar buttons,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2977 to move up or down through the calling stack. The mode line of the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2978 shell window will indicate the position within the stack with a label
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2979 like @samp{[-3:MYPRO]}. The line of IDL code at that stack position
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2980 will be highlighted. If you continue execution, IDLWAVE will
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2981 automatically return to the current level. @xref{Examining Variables},
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2982 for information how to examine the value of variables and expressions on
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2983 higher calling stack levels.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
2984
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2985 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2986 <A NAME="EDEBUG"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2987 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2988 @node Electric Debug Mode, , Walking the Calling Stack, Debugging IDL Programs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2989 @subsection Electric Debug Mode
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2990 @cindex Electric Debug Mode
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2991 @cindex @samp{*Debugging*}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2992
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
2993 Even with a convenient debug key prefix enabled, repetitive stepping,
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2994 variable examination (@pxref{Examining Variables}), and other debugging
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2995 activities can be awkward and slow using commands which require multiple
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2996 keystrokes. Luckily, there's a better way, inspired by the lisp e-debug
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2997 mode, and available through the @emph{Electric Debug Mode}. By default,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2998 as soon as a breakpoint is hit, this minor mode is enabled. The buffer
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
2999 showing the line where execution has halted is switched to Electric
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3000 Debug Mode. This mode is visible as @samp{*Debugging*} in the mode
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3001 line, and a different face (violet by default, if color is available)
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3002 for the line stopped at point. The buffer is made read-only and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3003 single-character bindings for the most commonly used debugging commands
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3004 are enabled. These character commands (a list of which is available
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3005 with @kbd{C-?}) are:
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3006
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3007 @multitable @columnfractions .2 .8
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3008 @item @kbd{a}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3009 @tab Clear all breakpoints (@code{idlwave-shell-clear-all-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3010 @item @kbd{b}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3011 @tab Set breakpoint, @kbd{C-u b} for a conditional break, @kbd{C-n b} for nth hit (@code{idlwave-shell-break-here})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3012 @item @kbd{d}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3013 @tab Clear current breakpoint (@code{idlwave-shell-clear-current-bp})
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3014 @item @kbd{e}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3015 @tab Prompt for expression to print (@code{idlwave-shell-clear-current-bp}).
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3016 @item @kbd{h}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3017 @tab Continue to the line at cursor position (@code{idlwave-shell-to-here})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3018 @item @kbd{i}
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3019 @tab Set breakpoint in module named here (@code{idlwave-shell-break-in})
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3020 @item @kbd{[}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3021 @tab Go to the previous breakpoint in the file (@code{idlwave-shell-goto-previous-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3022 @item @kbd{]}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3023 @tab Go to the next breakpoint in the file
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3024 (@code{idlwave-shell-goto-next-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3025 @item @kbd{\}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3026 @tab Disable/Enable current breakpoint (@code{idlwave-shell-toggle-enable-current-bp})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3027 @item @kbd{j}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3028 @tab Set breakpoint at beginning of enclosing routine (@code{idlwave-shell-break-this-module})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3029 @item @kbd{k}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3030 @tab Skip one statement (@code{idlwave-shell-skip})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3031 @item @kbd{m}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3032 @tab Continue to end of function (@code{idlwave-shell-return})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3033 @item @kbd{n}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3034 @tab Step, over function calls (@code{idlwave-shell-stepover})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3035 @item @kbd{o}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3036 @tab Continue past end of function (@code{idlwave-shell-out})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3037 @item @kbd{p}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3038 @tab Print expression near point or in region with @kbd{C-u p} (@code{idlwave-shell-print})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3039 @item @kbd{q}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3040 @tab End the debugging session and return to the Shell's main level
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3041 (@code{idlwave-shell-retall})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3042 @item @kbd{r}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3043 @tab Continue execution to next breakpoint, if any (@code{idlwave-shell-cont})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3044 @item @kbd{s} or @kbd{@key{SPACE}}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3045 @tab Step, into function calls (@code{idlwave-shell-step})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3046 @item @kbd{t}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3047 @tab Print a calling-level traceback in the shell
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3048 @item @kbd{u}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3049 @tab Continue to end of block (@code{idlwave-shell-up})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3050 @item @kbd{v}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3051 @tab Turn Electric Debug Mode off
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3052 (@code{idlwave-shell-electric-debug-mode})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3053 @item @kbd{x}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3054 @tab Examine expression near point (or in region with @kbd{C-u x})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3055 with shortcut of examine type.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3056 @item @kbd{z}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3057 @tab Reset IDL (@code{idlwave-shell-reset})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3058 @item @kbd{+} or @kbd{=}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3059 @tab Show higher level in calling stack (@code{idlwave-shell-stack-up})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3060 @item @kbd{-} or @kbd{_}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3061 @tab Show lower level in calling stack (@code{idlwave-shell-stack-down})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3062 @item @kbd{?}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3063 @tab Help on expression near point or in region with @kbd{C-u ?}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3064 (@code{idlwave-shell-help-expression})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3065 @item @kbd{C-?}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3066 @tab Show help on the commands available.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3067 @end multitable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3068
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3069 Most single-character electric debug bindings use the final keystroke
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3070 of the equivalent multiple key commands (which are of course also
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3071 still available), but some differ (e.g. @kbd{e},@kbd{t},@kbd{q},@kbd{x}).
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3072 Some have additional convenience bindings (like @kbd{@key{SPACE}} for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3073 stepping). All prefix and other argument options described in this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3074 section for the commands invoked by electric debug bindings are still
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3075 valid. For example, @kbd{C-u b} sets a conditional breakpoint, just
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3076 as it did with @kbd{C-u C-c C-d C-b}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3077
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3078 You can toggle the electric debug mode at any time in a buffer using
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3079 @kbd{C-c C-d C-v} (@kbd{v} to turn it off while in the mode), or from
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3080 the Debug menu. Normally the mode will be enabled and disabled at the
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
3081 appropriate times, but occasionally you might want to edit a file
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3082 while still debugging it, or switch to the mode for conveniently
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3083 setting lots of breakpoints.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3084
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3085 To quickly abandon a debugging session and return to normal editing at
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3086 the Shell's main level, use @kbd{q} (@code{idlwave-shell-retall}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3087 This disables electric debug mode in all IDLWAVE buffers@footnote{Note
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3088 that this binding is not symmetric: @kbd{C-c C-d C-q} is bound to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3089 @code{idlwave-shell-quit}, which quits your IDL session.}. Help is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3090 available for the command shortcuts with @kbd{C-?}. If you find this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3091 mode gets in your way, you can keep it from automatically activating
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3092 by setting the variable @code{idlwave-shell-automatic-electric-debug}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3093 to @code{nil}, or @code{'breakpoint}. If you'd like the convenient
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3094 electric debug shortcuts available also when run-time errors are
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3095 encountered, set to @code{t}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3096
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3097 @defopt idlwave-shell-automatic-electric-debug (@code{'breakpoint})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3098 Whether to enter electric debug mode automatically when a breakpoint
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3099 or run-time error is encountered, and then disable it in all buffers
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3100 when the $MAIN$ level is reached (either through normal program
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3101 execution, or retall). In addition to @code{nil} for never, and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3102 @code{t} for both breakpoints and errors, this can be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3103 @code{'breakpoint} (the default) to enable it only at breakpoint
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3104 halts.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3105 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3106
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3107 @defopt idlwave-shell-electric-stop-color (Violet)
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3108 Default color of the stopped line overlay when in electric debug mode.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3109 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3110
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3111 @defopt idlwave-shell-electric-stop-line-face
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3112 The face to use for the stopped line. Defaults to a face similar to the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3113 modeline, with color @code{idlwave-shell-electric-stop-color}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3114 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3115
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3116 @defopt idlwave-shell-electric-zap-to-file (@code{t})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3117 If set, when entering electric debug mode, select the window displaying
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3118 the file where point is stopped. This takes point away from the shell
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3119 window, but is useful for immediate stepping, etc.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3120 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3121
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3122 @html
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3123 <A NAME="EXAMINE"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3124 @end html
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3125 @node Examining Variables, Custom Expression Examination, Debugging IDL Programs, The IDLWAVE Shell
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3126 @section Examining Variables
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3127 @cindex @code{PRINT} expressions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3128 @cindex @code{HELP}, on expressions
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3129 @cindex Expressions, printing & help
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3130 @cindex Examining expressions
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3131 @cindex Printing expressions
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3132 @cindex Mouse binding to print expressions
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3133
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3134 @kindex C-c C-d C-p
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3135 Do you find yourself repeatedly typing, e.g. @code{print,n_elements(x)},
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3136 and similar statements to remind yourself of the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3137 type/size/structure/value/etc. of variables and expressions in your code
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3138 or at the command line? IDLWAVE has a suite of special commands to
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3139 automate these types of variable or expression examinations. They work
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3140 by sending statements to the shell formatted to include the indicated
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3141 expression, and can be accessed in several ways.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3142
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3143 These @emph{examine} commands can be used in the shell or buffer at any
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3144 time (as long as the shell is running), and are very useful when
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3145 execution is stopped in a buffer due to a triggered breakpoint or error,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3146 or while composing a long command in the IDLWAVE shell. In the latter
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3147 case, the command is sent to the shell and its output is visible, but
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3148 point remains unmoved in the command being composed --- you can inspect
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
3149 the constituents of a command you're building without interrupting the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3150 process of building it! You can even print arbitrary expressions from
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3151 older input or output further up in the shell window --- any expression,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3152 variable, number, or function you see can be examined.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3153
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3154 If the variable @code{idlwave-shell-separate-examine-output} is
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3155 non-@code{nil} (the default), all examine output will be sent to a
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3156 special @file{*Examine*} buffer, rather than the shell. The output of
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3157 prior examine commands is saved in this buffer. In this buffer @key{c}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3158 clears the contents, and @key{q} hides the buffer.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3159
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3160 The two most basic examine commands are bound to @kbd{C-c C-d C-p}, to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3161 print the expression at point, and @kbd{C-c C-d ?}, to invoke help on
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3162 this expression@footnote{Available as @kbd{p} and @kbd{?} in Electric
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3163 Debug Mode (@pxref{Electric Debug Mode})}. The expression at point is
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3164 either an array expression or a function call, or the contents of a pair
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3165 of parentheses. The chosen expression is highlighted, and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3166 simultaneously the resulting output is highlighted in the shell or
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3167 separate output buffer. Calling the above commands with a prefix
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3168 argument will use the current region as expression instead of using the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3169 one at point. which can be useful for examining complicated, multi-line
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3170 expressions. Two prefix arguments (@kbd{C-u C-u C-c C-d C-p}) will
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3171 prompt for an expression to print directly. By default, when invoking
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3172 print, only an initial portion of long arrays will be printed, up to
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3173 @code{idlwave-shell-max-print-length}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3174
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3175 For added speed and convenience, there are mouse bindings which allow
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3176 you to click on expressions and examine their values. Use
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
3177 @kbd{S-Mouse-2} to print an expression and @kbd{C-M-Mouse-2} to invoke
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3178 help (i.e. you need to hold down @key{META} and @key{CONTROL} while
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3179 clicking with the middle mouse button). If you simply click, the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3180 nearest expression will be selected in the same manner as described
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3181 above. You can also @emph{drag} the mouse in order to highlight
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3182 exactly the specific expression or sub-expression you want to examine.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3183 For custom expression examination, and the powerful customizable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3184 pop-up examine selection, @xref{Custom Expression Examination}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3185
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3186 @cindex Printing expressions, on calling stack
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3187 @cindex Restrictions for expression printing
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3188 The same variable inspection commands work both in the IDL Shell and
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3189 IDLWAVE buffers, and even for variables at higher levels of the calling
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3190 stack. For instance, if you're stopped at a breakpoint in a routine,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3191 you can examine the values of variables and expressions inside its
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3192 calling routine, and so on, all the way up through the calling stack.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3193 Simply step up the stack, and print variables as you see them
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3194 (@pxref{Walking the Calling Stack}, for information on stepping back
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3195 through the calling stack). The following restrictions apply for all
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3196 levels except the current:
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3197
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3198 @itemize @bullet
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3199 @item
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3200 Array expressions must use the @samp{[ ]} index delimiters. Identifiers
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3201 with a @samp{( )} will be interpreted as function calls.
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3202 @item
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3203 @cindex ROUTINE_NAMES, IDL procedure
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3204 N.B.: printing values of expressions on higher levels of the calling
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3205 stack uses the @emph{unsupported} IDL routine @code{ROUTINE_NAMES},
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3206 which may or may not be available in future versions of IDL. Caveat
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3207 Examinor.
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3208 @end itemize
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3209
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3210 @defopt idlwave-shell-expression-face
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3211 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
3212 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
3213 the expression printed by IDL.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3214 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3215
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3216 @defopt idlwave-shell-output-face
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3217 The face for @code{idlwave-shell-output-overlay}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3218 Allows to choose the font, color and other properties for the most
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3219 recent output of IDL when examining an expression."
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3220 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3221
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3222 @defopt idlwave-shell-separate-examine-output (@code{t})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3223 If non-@code{nil}, re-direct the output of examine commands to a special
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3224 @file{*Examine*} buffer, instead of in the shell itself.
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3225 @end defopt
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3226
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3227 @defopt idlwave-shell-max-print-length (200)
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3228 The maximum number of leading array entries to print, when examining
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3229 array expressions.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3230 @end defopt
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3231
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3232 @node Custom Expression Examination, , Examining Variables, The IDLWAVE Shell
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3233 @section Custom Expression Examination
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3234 @cindex Expressions, custom examination
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3235 @cindex Custom expression examination
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3236
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3237 The variety of possible variable and expression examination commands is
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3238 endless (just look, for instance, at the keyword list to
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3239 @code{widget_info()}). Rather than attempt to include them all, IDLWAVE
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3240 provides two easy methods to customize your own commands, with a special
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3241 mouse examine command, and two macros for generating your own examine
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3242 key and mouse bindings.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3243
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3244 The most powerful and flexible mouse examine command of all is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3245 available on @kbd{C-S-Mouse-2}. Just as for all the other mouse
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3246 examine commands, it permits click or drag expression selection, but
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3247 instead of sending hard-coded commands to the shell, it pops-up a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3248 customizable selection list of examine functions to choose among,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3249 configured with the @code{idlwave-shell-examine-alist}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3250 variable@footnote{In Electric Debug Mode (@pxref{Electric Debug
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3251 Mode}), the key @kbd{x} provides a single-character shortcut interface
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3252 to the same examine functions for the expression at point or marked by
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3253 the region.}. This variable is a list of key-value pairs (an
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3254 @emph{alist} in Emacs parlance), where the key gives a name to be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3255 shown for the examine command, and the value is the command strings
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3256 itself, in which the text @code{___} (three underscores) will be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3257 replaced by the selected expression before being sent to the shell.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3258 An example might be key @code{Structure Help} with value
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3259 @code{help,___,/STRUCTURE}. In that case, you'd be prompted with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3260 @emph{Structure Help}, which might send something like
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3261 @code{help,var,/STRUCTURE} to the shell for output.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3262 @code{idlwave-shell-examine-alist} comes configured by default with a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3263 large list of examine commands, but you can easily customize it to add
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3264 your own.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3265
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3266 In addition to configuring the functions available to the pop-up mouse
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3267 command, you can easily create your own customized bindings to inspect
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3268 expressions using the two convenience macros
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3269 @code{idlwave-shell-examine} and @code{idlwave-shell-mouse-examine}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3270 These create keyboard or mouse-based custom inspections of variables,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3271 sharing all the same properties of the built-in examine commands.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3272 Both functions take a single string argument sharing the syntax of the
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3273 @code{idlwave-shell-examine-alist} values, e.g.:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3274
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3275 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3276 (add-hook 'idlwave-shell-mode-hook
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3277 (lambda ()
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3278 (idlwave-shell-define-key-both [s-down-mouse-2]
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3279 (idlwave-shell-mouse-examine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3280 "print, size(___,/DIMENSIONS)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3281 (idlwave-shell-define-key-both [f9] (idlwave-shell-examine
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3282 "print, size(___,/DIMENSIONS)"))
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3283 (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3284 "print,size(___,/TNAME)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3285 (idlwave-shell-define-key-both [f11] (idlwave-shell-examine
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3286 "help,___,/STRUCTURE"))))
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3287 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3288
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3289 @noindent Now pressing @key{f9}, or middle-mouse dragging with the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3290 @key{SUPER} key depressed, will print the dimensions of the nearby or
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3291 highlighted expression. Pressing @key{f10} will give the type string,
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3292 and @key{f11} will show the contents of a nearby structure. As you can
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3293 see, the possibilities are only marginally finite.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3294
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3295 @defopt idlwave-shell-examine-alist
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3296 An alist of examine commands in which the keys name the command and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3297 are displayed in the selection pop-up, and the values are custom IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3298 examine command strings to send, after all instances of @code{___}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3299 (three underscores) are replaced by the indicated expression.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3300 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3301
60880
78ef32e30574 Don't say where to get IDL or its non-free manual.
Richard M. Stallman <rms@gnu.org>
parents: 58527
diff changeset
3302 @node Acknowledgements, Sources of Routine Info, The IDLWAVE Shell, Top
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3303 @chapter Acknowledgements
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3304 @cindex Acknowledgements
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3305 @cindex Maintainer, of IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3306 @cindex Authors, of IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3307 @cindex Contributors, to IDLWAVE
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3308 @cindex Email address, of Maintainer
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3309 @cindex Thanks
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3310
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3311 @noindent
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3312 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
3313
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3314 @itemize @minus
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3315 @item
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3316 @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
3317 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
3318 for several years.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3319
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3320 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3321 @uref{mailto:dominik@@astro.uva.nl, @b{Carsten Dominik}} was in charge
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3322 of the package from version 3.0, during which time he overhauled almost
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3323 everything, modernized IDLWAVE with many new features, and developed the
41745
1061224d9cb0 Update maintainer.
Eli Zaretskii <eliz@gnu.org>
parents: 40705
diff changeset
3324 manual.
1061224d9cb0 Update maintainer.
Eli Zaretskii <eliz@gnu.org>
parents: 40705
diff changeset
3325
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3326 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3327 @uref{mailto:jdsmith@@as.arizona.edu, @b{J.D. Smith}}, the current
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3328 maintainer, as of version 4.10, helped shape object method completion
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3329 and most new features introduced in versions 4.x, and introduced many
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3330 new features for IDLWAVE versions 5.x and 6.x.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3331 @end itemize
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3332
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3333 @noindent
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3334 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
3335 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
3336
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3337 @itemize @minus
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3338 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3339 Ulrik Dickow <dickow__at__nbi.dk>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3340 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3341 Eric E. Dors <edors__at__lanl.gov>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3342 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3343 Stein Vidar H. Haugan <s.v.h.haugan__at__astro.uio.no>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3344 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3345 David Huenemoerder <dph__at__space.mit.edu>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3346 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3347 Kevin Ivory <Kevin.Ivory__at__linmpi.mpg.de>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3348 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3349 Dick Jackson <dick__at__d-jackson.com>
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3350 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3351 Xuyong Liu <liu__at__stsci.edu>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3352 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3353 Simon Marshall <Simon.Marshall__at__esrin.esa.it>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3354 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3355 Craig Markwardt <craigm__at__cow.physics.wisc.edu>
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3356 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3357 Laurent Mugnier <mugnier__at__onera.fr>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3358 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3359 Lubos Pochman <lubos__at__rsinc.com>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3360 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3361 Bob Portmann <portmann__at__al.noaa.gov>
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3362 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3363 Patrick M. Ryan <pat__at__jaameri.gsfc.nasa.gov>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3364 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3365 Marty Ryba <ryba__at__ll.mit.edu>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3366 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3367 Phil Williams <williams__at__irc.chmcc.org>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3368 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3369 Phil Sterne <sterne__at__dublin.llnl.gov>
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3370 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3371 Paul Sorenson <aardvark62__at__msn.com>
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3372 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3373
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3374 Doug Dirks was instrumental in providing the crucial IDL XML catalog to
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3375 support HTML help with IDL v6.2 and later, and Ali Bahrami provided
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3376 scripts and documentation to interface with the IDL Assistant.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3377
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3378 @noindent
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3379 Thanks to everyone!
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3380
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3381 @node Sources of Routine Info, HTML Help Browser Tips, Acknowledgements, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3382 @appendix Sources of Routine Info
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3383
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3384 @cindex Sources of routine information
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3385 In @ref{Routine Info} and @ref{Completion} we showed how IDLWAVE
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3386 displays the calling sequence and keywords of routines, and completes
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3387 routine names and keywords. For these features to work, IDLWAVE must
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3388 know about the accessible routines.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3389
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3390 @menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3391 * Routine Definitions:: Where IDL Routines are defined.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3392 * Routine Information Sources:: So how does IDLWAVE know about...
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3393 * Catalogs::
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3394 * Load-Path Shadows:: Routines defined in several places
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3395 * 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
3396 @end menu
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3397
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3398 @node Routine Definitions, Routine Information Sources, Sources of Routine Info, Sources of Routine Info
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3399 @appendixsec Routine Definitions
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3400 @cindex Routine definitions
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3401 @cindex IDL variable @code{!PATH}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3402 @cindex @code{!PATH}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3403 @cindex @code{CALL_EXTERNAL}, IDL routine
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3404 @cindex @code{LINKIMAGE}, IDL routine
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3405 @cindex External routines
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3406
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3407 @noindent Routines which can be used in an IDL program can be defined in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3408 several places:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3409
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3410 @enumerate
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3411 @item
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3412 @emph{Builtin routines} are defined inside IDL itself. The source code
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3413 of such routines is not available, but instead are learned about through
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3414 the IDL documentation.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3415 @item
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3416 Routines which are @emph{part of the current program}, are defined in a
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3417 file explicitly compiled by the user. This file may or may not be
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
3418 located on the IDL search path.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3419 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3420 @emph{Library routines} are defined in files located on IDL's search
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3421 path. When a library routine is called for the first time, IDL will
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3422 find the source file and compile it dynamically. A special sub-category
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3423 of library routines are the @emph{system routines} distributed with IDL,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3424 and usually available in the @file{lib} subdirectory of the IDL
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3425 distribution.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3426 @item
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3427 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
3428 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
3429 or included as dynamically loaded modules (DLMs). Currently IDLWAVE
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3430 cannot provide routine info and completion for such external routines,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3431 except by querying the Shell for calling information (DLMs only).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3432 @end enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3433
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3434 @node Routine Information Sources, Catalogs, Routine Definitions, Sources of Routine Info
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3435 @appendixsec Routine Information Sources
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3436 @cindex Routine info sources
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3437 @cindex Builtin list of routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3438 @cindex Updating routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3439 @cindex Scanning buffers for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3440 @cindex Buffers, scanning for routine info
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3441 @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
3442
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3443 @noindent To maintain the most comprehensive information about all IDL
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3444 routines on a system, IDLWAVE collects data from many sources:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3445
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3446 @enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3447
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3448 @item
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3449 It has a @emph{builtin list} with information about the routines IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3450 ships with. IDLWAVE @value{VERSION} is distributed with a list of
77522
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
3451 @value{NSYSROUTINES} routines and object methods, reflecting IDL version
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3452 @value{IDLVERSION}. As of IDL v6.2, the routine info is distributed
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3453 directly with IDL in the form of an XML catalog which IDLWAVE scans.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3454 Formerly, this list was created by scanning the IDL manuals to produce
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3455 the file @file{idlw-rinfo.el}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3456
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3457 @item
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3458 IDLWAVE @emph{scans} all its @emph{buffers} in the current Emacs session
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3459 for 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
3460 information or completion is first requested by the user. Each new
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3461 buffer and each buffer saved after making changes is also scanned. The
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3462 command @kbd{C-c C-i} (@code{idlwave-update-routine-info}) can be used
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3463 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
3464
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3465 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3466 If you have an IDLWAVE-Shell running in the Emacs session, IDLWAVE will
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3467 @emph{query the shell} for compiled routines and their arguments. This
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3468 happens automatically when routine information or completion is first
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3469 requested by the user. Each time an Emacs buffer is compiled with
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3470 @kbd{C-c C-d C-c}, the routine info for that file is queried. Though
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3471 rarely necessary, the command @kbd{C-c C-i}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3472 (@code{idlwave-update-routine-info}) can be used to explicitly update
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3473 the shell routine data.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3474
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3475 @item
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3476 Many popular libraries are distributed with routine information already
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3477 scanned into @emph{library catalogs} (@pxref{Library Catalogs}). These
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3478 per-directory catalog files can also be built by the user with the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3479 supplied @file{idlwave_catalog} tool. They are automatically discovered
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3480 by IDLWAVE.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3481
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3482 @item
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3483 IDLWAVE can scan selected directories of source files and store the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3484 result in a single @emph{user catalog} file which will be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3485 automatically loaded just like @file{idlw-rinfo.el}. @xref{User
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3486 Catalog}, for information on how to scan files in this way.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3487 @end enumerate
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3488
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3489 Loading all the routine and catalog information can be a time consuming
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3490 process, especially over slow networks. Depending on the system and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3491 network configuration it could take up to 30 seconds (though locally on
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3492 fast systems is usually only a few seconds). In order to minimize the
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3493 wait time upon your first completion or routine info command in a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3494 session, IDLWAVE uses Emacs idle time to do the initialization in six
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3495 steps, yielding to user input in between. If this gets into your way,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3496 set the variable @code{idlwave-init-rinfo-when-idle-after} to 0 (zero).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3497 The more routines documented in library and user catalogs, the slower
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3498 the loading will be, so reducing this number can help alleviate any long
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3499 load times.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3500
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3501 @defopt idlwave-init-rinfo-when-idle-after (@code{10})
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3502 Seconds of idle time before routine info is automatically initialized.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3503 @end defopt
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3504
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3505 @defopt idlwave-scan-all-buffers-for-routine-info (@code{t})
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3506 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
3507 info.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3508 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3509
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3510 @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
3511 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
3512 @end defopt
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3513
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3514 @defopt idlwave-auto-routine-info-updates
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3515 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
3516 @end defopt
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3517
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3518 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3519 <A NAME="CATALOGS"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3520 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3521 @node Catalogs, Load-Path Shadows, Routine Information Sources, Sources of Routine Info
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3522 @appendixsec Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3523 @cindex Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3524
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3525 @emph{Catalogs} are files containing scanned information on individual
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3526 routines, including arguments and keywords, calling sequence, file path,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3527 class and procedure vs. function type, etc. They represent a way of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3528 extending the internal built-in information available for IDL system
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3529 routines (@pxref{Routine Info}) to other source collections.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3530
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3531 Starting with version 5.0, there are two types of catalogs available
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3532 with IDLWAVE. The traditional @emph{user catalog} and the newer
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3533 @emph{library catalogs}. Although they can be used interchangeably, the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3534 library catalogs are more flexible, and preferred. There are few
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3535 occasions when a user catalog might be preferred --- read below. Both
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3536 types of catalogs can coexist without causing problems.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3537
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3538 To facilitate the catalog systems, IDLWAVE stores information it gathers
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3539 from the shell about the IDL search paths, and can write this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3540 information out automatically, or on-demand (menu @code{Debug->Save Path
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3541 Info}). On systems with no shell from which to discover the path
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3542 information (e.g. Windows), a library path must be specified in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3543 @code{idlwave-library-path} to allow library catalogs to be located, and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3544 to setup directories for user catalog scan (@pxref{User Catalog} for
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3545 more on this variable). Note that, before the shell is running, IDLWAVE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3546 can only know about the IDL search path by consulting the file pointed
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3547 to by @code{idlwave-path-file} (@file{~/.idlwave/idlpath.el}, by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3548 default). If @code{idlwave-auto-write-path} is enabled (which is the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3549 default), the paths are written out whenever the IDLWAVE shell is
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3550 started.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3551
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3552 @defopt idlwave-auto-write-path (@code{t})
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3553 Write out information on the !PATH and !DIR paths from IDL automatically
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3554 when they change and when the Shell is closed. These paths are needed
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3555 to locate library catalogs.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3556 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3557
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3558 @defopt idlwave-library-path
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3559 IDL library path for Windows and MacOS. Under Unix/MacOSX, will be
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3560 obtained from the Shell when run.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3561 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3562
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3563 @defopt idlwave-system-directory
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3564 The IDL system directory for Windows and MacOS. Also needed for
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3565 locating HTML help and the IDL Assistant for IDL v6.2 and later. Under
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3566 Unix/MacOSX, will be obtained from the Shell and recorded, if run.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3567 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3568
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3569 @defopt idlwave-config-directory (@file{~/.idlwave})
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3570 Default path where IDLWAVE saves configuration information, a user
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3571 catalog (if any), and a cached scan of the XML catalog (IDL v6.2 and
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3572 later).
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3573 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3574
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3575 @menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3576 * Library Catalogs::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3577 * User Catalog::
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3578 @end menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3579
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3580 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3581 <A NAME="LIBRARY_CATALOGS"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3582 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3583 @node Library Catalogs, User Catalog, Catalogs, Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3584 @appendixsubsec Library Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3585 @cindex @file{.idlwave_catalog}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3586 @cindex Library catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3587 @cindex @code{idlwave_catalog}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3588
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3589 Library catalogs consist of files named @file{.idlwave_catalog} stored
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3590 in directories containing @code{.pro} routine files. They are
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3591 discovered on the IDL search path and loaded automatically when routine
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3592 information is read. Each catalog file documents the routines found in
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3593 that directory --- one catalog per directory. Every catalog has a
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3594 library name associated with it (e.g. @emph{AstroLib}). This name will
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3595 be shown briefly when the catalog is found, and in the routine info of
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3596 routines it documents.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3597
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3598 Many popular libraries of routines are shipped with IDLWAVE catalog
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3599 files by default, and so will be automatically discovered. Library
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3600 catalogs are scanned externally to Emacs using a tool provided with
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3601 IDLWAVE. Each catalog can be re-scanned independently of any other.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3602 Catalogs can easily be made available system-wide with a common source
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3603 repository, providing uniform routine information, and lifting the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3604 burden of scanning from the user (who may not even know they're using a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3605 scanned catalog). Since all catalogs are independent, they can be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3606 re-scanned automatically to gather updates, e.g. in a @file{cron} job.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3607 Scanning is much faster than with the built-in user catalog method. One
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3608 minor disadvantage: the entire IDL search path is scanned for catalog
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3609 files every time IDLWAVE starts up, which might be slow if accessing IDL
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3610 routines over a slow network.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3611
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3612 A Perl tool to create library catalogs is distributed with IDLWAVE:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3613 @code{idlwave_catalog}. It can be called quite simply:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3614 @example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3615 idlwave_catalog MyLib
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3616 @end example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3617
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3618 @noindent This will scan all directories recursively beneath the current and
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3619 populate them with @file{.idlwave_catalog} files, tagging the routines
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3620 found there with the name library ``MyLib''. The full usage
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3621 information:
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3622
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3623 @example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3624 Usage: idlwave_catalog [-l] [-v] [-d] [-s] [-f] [-h] libname
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3625 libname - Unique name of the catalog (4 or more alphanumeric
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3626 characters).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3627 -l - Scan local directory only, otherwise recursively
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3628 catalog all directories at or beneath this one.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3629 -v - Print verbose information.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3630 -d - Instead of scanning, delete all .idlwave_catalog files
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3631 here or below.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3632 -s - Be silent.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3633 -f - Force overwriting any catalogs found with a different
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3634 library name.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3635 -h - Print this usage.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3636 @end example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3637
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3638 To re-load the library catalogs on the IDL path, force a system routine
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3639 info update using a single prefix to @code{idlwave-update-routine-info}:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3640 @kbd{C-u C-c C-i}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3641
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3642 @defopt idlwave-use-library-catalogs (@code{t})
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3643 Whether to search for and load library catalogs. Disable if load
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3644 performance is a problem and/or the catalogs are not needed.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3645 @end defopt
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3646
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3647 @node User Catalog, , Library Catalogs, Catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3648 @appendixsubsec User Catalog
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3649 @cindex User catalog
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3650 @cindex IDL library routine info
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3651 @cindex Windows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3652 @cindex MacOS
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3653 @cindex IDL variable @code{!DIR}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3654 @cindex @code{!DIR}, IDL variable
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3655
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3656 The user catalog is the old routine catalog system. It is produced
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3657 within Emacs, and stored in a single file in the user's home directory
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3658 (@file{.idlwave/idlusercat.el} by default). Although library catalogs
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3659 are more flexible, there may be reasons to prefer a user catalog
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3660 instead, including:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3661
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3662 @itemize @bullet
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3663 @item The scan is internal to Emacs, so you don't need a working Perl
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3664 installation, as you do for library catalogs.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3665 @item Can be used to scan directories for which the user has no write
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3666 privileges.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3667 @item Easy widget-based path selection.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3668 @end itemize
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3669
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3670 However, no routine info is available in the user catalog by default;
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3671 the user must actively complete a scan. In addition, this type of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3672 catalog is all or nothing: if a single routine changes, the entire
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3673 catalog must be rescanned to update it. Creating the user catalog is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3674 also much slower than scanning library catalogs.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3675
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3676 You can scan any of the directories on the currently known path. Under
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3677 Windows and MacOS (not OSX), you need to specify the IDL search path in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3678 the variable @code{idlwave-library-path}, and the location of the IDL
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3679 directory (the value of the @code{!DIR} system variable) in the variable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3680 @code{idlwave-system-directory}, like this@footnote{The initial @samp{+}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3681 leads to recursive expansion of the path, just like in IDL}:
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3682
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3683 @lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3684 (setq idlwave-library-path
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3685 '("+c:/RSI/IDL56/lib/" "+c:/user/me/idllibs"))
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3686 (setq idlwave-system-directory "c:/RSI/IDL56/")
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3687 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3688
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3689 @noindent Under GNU/Linux and UNIX, these values will be automatically
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3690 gathered from the IDLWAVE shell, if run.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3691
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3692 The command @kbd{M-x idlwave-create-user-catalog-file} (or the menu item
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3693 @samp{IDLWAVE->Routine Info->Select Catalog Directories}) can then be
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3694 used to create a user catalog. It brings up a widget in which you can
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3695 select some or all directories on the search path. Directories which
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3696 already contain a library catalog are marked with @samp{[LIB]}, and need
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3697 not be scanned (although there is no harm if you do so, other than the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3698 additional memory used for the duplication).
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3699
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3700 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
3701 button in the widget to scan all files in the selected directories and
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3702 write out the resulting routine information. In order to update the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3703 library information using the directory selection, call the command
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3704 @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
3705 @w{@kbd{C-u C-u C-c C-i}}. This will rescan files in the previously
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3706 selected directories, write an updated version of the user catalog file
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3707 and rebuild IDLWAVE's internal lists. If you give three prefix
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3708 arguments @w{@kbd{C-u C-u C-u C-c C-i}}, updating will be done with a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3709 background job@footnote{Unix systems only, I think.}. You can continue
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3710 to work, and the library catalog will be re-read when it is ready. If
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3711 you find you need to update the user catalog often, you should consider
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3712 building a library catalog for your routines instead (@pxref{Library
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3713 Catalogs}).
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3714
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3715 @defopt idlwave-special-lib-alist
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3716 Alist of regular expressions matching special library directories for
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3717 labeling in routine-info display.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3718 @end defopt
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3719
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3720 @node Load-Path Shadows, Documentation Scan, Catalogs, Sources of Routine Info
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3721 @appendixsec Load-Path Shadows
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3722 @cindex Load-path shadows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3723 @cindex Shadows, load-path
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3724 @cindex Duplicate routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3725 @cindex Multiply defined routines
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3726 @cindex Routine definitions, multiple
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3727 @cindex Application, testing for shadowing
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3728 @cindex Buffer, testing for shadowing
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3729
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3730 IDLWAVE can compile a list of routines which are (re-)defined in more
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3731 than one file. Since one definition will hide (shadow) the others
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3732 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
3733 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
3734 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
3735 @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
3736 section of the routine info buffer (@pxref{Routine Info}). The
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3737 different definitions of a routine are ordered by @emph{likelihood of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3738 use}. So the first entry will be most likely the one you'll get if an
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3739 unsuspecting command uses that routine. Before listing shadows, you
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3740 should make sure that routine info is up-to-date by pressing @kbd{C-c
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3741 C-i}. Here are the different routines (also available in the Menu
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3742 @samp{IDLWAVE->Routine Info}):
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3743
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3744 @table @asis
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3745 @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
3746 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
3747 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
3748 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
3749 @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
3750 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
3751 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
3752 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
3753 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
3754 then check for shadowing.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3755 @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
3756 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
3757 @end table
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3758
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3759 For these commands to work fully you need to scan the entire load path
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3760 in either a user or library catalog. Also, IDLWAVE should be able to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3761 distinguish between the system library files (normally installed in
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3762 @file{/usr/local/rsi/idl/lib}) and any site specific or user specific
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3763 files. Therefore, such local files should not be installed inside the
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3764 @file{lib} directory of the IDL directory. This is also advisable for
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3765 many other reasons.
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3766
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3767 @cindex Windows
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3768 @cindex MacOS
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3769 @cindex IDL variable @code{!DIR}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3770 @cindex @code{!DIR}, IDL variable
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3771 Users of Windows and MacOS (not X) also must set the variable
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3772 @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
3773 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
3774 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
3775 routines.
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3776
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3777 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
3778 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
3779
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3780 @node Documentation Scan, , Load-Path Shadows, Sources of Routine Info
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3781 @appendixsec Documentation Scan
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3782 @cindex @file{get_html_rinfo}
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
3783 @cindex @file{idlw-rinfo.el}
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3784 @cindex Scanning the documentation
27186
eb645a473bf8 New version is consistent with the changed names.
Carsten Dominik <dominik@science.uva.nl>
parents: 26960
diff changeset
3785 @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
3786
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3787 @strong{Starting with version 6.2, IDL is distributed directly with HTML
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3788 online help, and an XML-based catalog of routine information}. This
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3789 makes scanning the manuals with the tool @file{get_html_rinfo}, and the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3790 @file{idlw-rinfo.el} file it produced, as described here, entirely
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3791 unnecessary. The information is left here for users wishing to produce
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3792 a catalog of older IDL versions' help.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3793
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3794
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3795 IDLWAVE derives its knowledge about system routines from the IDL
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3796 manuals. The file @file{idlw-rinfo.el} contains the routine information
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3797 for the IDL system routines, and links to relevant sections of the HTML
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3798 documentation. The Online Help feature of IDLWAVE requires HTML
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3799 versions of the IDL manuals to be available; the HTML documentation is
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3800 not distributed with IDLWAVE by default, but must be downloaded
69835
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
3801 separately.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3802
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3803 The HTML files and related images can be produced from the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3804 @file{idl.chm} HTMLHelp file distributed with IDL using the free
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3805 Microsoft HTML Help Workshop. If you are lucky, the maintainer of
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3806 IDLWAVE will always have access to the newest version of IDL and provide
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3807 updates. The IDLWAVE distribution also contains the Perl program
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3808 @file{get_html_rinfo} which constructs the @file{idlw-rinfo.el} file by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3809 scanning the HTML documents produced from the IDL documentation.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3810 Instructions on how to use @file{get_html_rinfo} are in the program
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3811 itself.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3812
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3813 @node HTML Help Browser Tips, Configuration Examples, Sources of Routine Info, Top
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3814 @appendix HTML Help Browser Tips
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3815 @cindex Browser Tips
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3816
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3817 There are a wide variety of possible browsers to use for displaying
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3818 the online HTML help available with IDLWAVE (starting with version
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3819 5.0). Since IDL v6.2, a single cross-platform HTML help browser, the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3820 @emph{IDL Assistant} is distributed with IDL. If this help browser is
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3821 available, it is the preferred choice, and the default. The variable
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3822 @code{idlwave-help-use-assistant}, enabled by default, controls
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3823 whether this help browser is used. If you use the IDL Assistant, the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3824 tips here are not relevant.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3825
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3826 Since IDLWAVE runs on a many different system types, a single browser
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3827 configuration is not possible, but choices abound. On many systems,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3828 the default browser configured in @code{browse-url-browser-function},
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3829 and hence inherited by default by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3830 @code{idlwave-help-browser-function}, is Netscape. Unfortunately, the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3831 HTML manuals decompiled from the original source contain formatting
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3832 structures which Netscape 4.x does not handle well, though they are
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3833 still readable. A much better choice is Mozilla, or one of the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3834 Mozilla-derived browsers such as
60880
78ef32e30574 Don't say where to get IDL or its non-free manual.
Richard M. Stallman <rms@gnu.org>
parents: 58527
diff changeset
3835 @uref{http://galeon.sourceforge.net/,Galeon} (GNU/Linux),
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3836 @uref{http://www.mozilla.org/projects/camino/,Camino} (MacOSX), or
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3837 @uref{http://www.mozilla.org/projects/firebird/,Firebird} (all
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3838 platforms). Newer versions of Emacs provide a browser-function choice
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3839 @code{browse-url-gnome-moz} which uses the Gnome-configured browser.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3840
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3841 Note that the HTML files decompiled from the help sources contain
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3842 specific references to the @samp{Symbol} font, which by default is not
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3843 permitted in normal encodings (it's invalid, technically). Though it
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3844 only impacts a few symbols, you can trick Mozilla-based browsers into
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3845 recognizing @samp{Symbol} by following the directions
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3846 @uref{http://hutchinson.belmont.ma.us/tth/Xfonts.html, here}. With
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3847 this fix in place, HTML help pages look almost identical to their PDF
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3848 equivalents (yet can be bookmarked, browsed as history, searched,
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
3849 etc.).
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3850
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3851 @noindent Individual platform recommendations:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3852
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3853 @itemize @bullet
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3854 @item Unix/MacOSX: The @uref{http://www.w3m.org,@code{w3m}} browser
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3855 and its associated
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3856 @uref{http://emacs-w3m.namazu.org/,@code{emacs-w3m}} emacs mode
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3857 provide in-buffer browsing with image display, and excellent speed and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3858 formatting. Both the Emacs mode and the browser itself must be
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3859 downloaded separately. To use this browser, include
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3860
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3861 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3862 (setq idlwave-help-browser-function 'w3m-browse-url)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3863 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3864
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3865 in your @file{.emacs}. Setting a few other nice @code{w3m} options
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3866 cuts down on screen clutter:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3867
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3868 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3869 (setq w3m-use-tab nil
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3870 w3m-use-header-line nil
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3871 w3m-use-toolbar nil)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3872 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3873
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3874 If you use a dedicated frame for help, you might want to add the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3875 following, to get consistent behavior with the @kbd{q} key:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3876
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3877 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3878 ;; Close my help window when w3m closes.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3879 (defadvice w3m-close-window (after idlwave-close activate)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3880 (if (boundp 'idlwave-help-frame)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3881 (idlwave-help-quit)))
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3882 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3883
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3884 Note that you can open the file in an external browser from within
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3885 @code{w3m} using @kbd{M}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3886 @end itemize
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3887
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3888 @node Configuration Examples, Windows and MacOS, HTML Help Browser Tips, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3889 @appendix Configuration Examples
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3890 @cindex Configuration examples
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3891 @cindex Example configuration
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3892 @cindex @file{.emacs}
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3893 @cindex Default settings, of options
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3894 @cindex Interview, with the maintainer
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3895
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3896 @noindent
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3897 @b{Question:} You have all these complicated configuration options in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3898 your package, but which ones do @emph{you} as the maintainer actually
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3899 set in your own configuration?
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3900
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3901 @noindent
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3902 @b{Answer:} Not many, beyond custom key bindings. I set most defaults
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3903 the way that seems best. However, the default settings do not turn on
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3904 features which:
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3905
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3906 @itemize @minus
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3907 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3908 are not self-evident (i.e. too magic) when used by an unsuspecting user.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3909 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3910 are too intrusive.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3911 @item
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3912 will not work properly on all Emacs installations.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3913 @item
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3914 break with widely used standards.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3915 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3916 use function or other non-standard keys.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3917 @item
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3918 are purely personal customizations, like additional key bindings, and
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3919 library names.
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3920 @end itemize
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3921
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3922 @noindent To see what I mean, here is the @emph{entire} configuration
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3923 the old maintainer had in his @file{.emacs}:
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3924
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3925 @lisp
34432
538246e4d1bc Updated IDLWAVE manual to version 4.7
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
3926 (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
3927 idlwave-store-inquired-class t
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3928 idlwave-shell-automatic-start t
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3929 idlwave-main-block-indent 2
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3930 idlwave-init-rinfo-when-idle-after 2
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3931 idlwave-help-dir "~/lib/emacs/idlwave"
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3932 idlwave-special-lib-alist '(("/idl-astro/" . "AstroLib")
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3933 ("/jhuapl/" . "JHUAPL-Lib")
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3934 ("/dominik/lib/idl/" . "MyLib")))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3935 @end lisp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3936
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3937 However, if you are an Emacs power-user and want IDLWAVE to work
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3938 completely differently, you can change almost every aspect of it. Here
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3939 is an example of a much more extensive configuration of IDLWAVE. The
29773
bdbce902ea81 Update to idlwave 4.2
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3940 user is King!
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3941
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3942 @example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3943 ;;; Settings for IDLWAVE mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3944
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3945 (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
3946 (setq idlwave-main-block-indent 3)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3947 (setq idlwave-end-offset -3)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3948 (setq idlwave-continuation-indent 1)
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3949 (setq idlwave-begin-line-comment "^;[^;]") ; Leave ";" but not ";;"
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3950 ; anchored at start of line.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3951 (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
3952 (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
3953 (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
3954 (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
3955 ; (with abbrevs only)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3956 (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
3957 (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
3958 (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
3959 (setq idlwave-abbrev-move t) ; Allow abbrevs to move point
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3960 (setq idlwave-query-class '((method-default . nil) ; No query for method
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3961 (keyword-default . nil); or keyword completion
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3962 ("INIT" . t) ; except for these
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3963 ("CLEANUP" . t)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3964 ("SETPROPERTY" .t)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3965 ("GETPROPERTY" .t)))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3966
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3967 ;; Using w3m for help (must install w3m and emacs-w3m)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3968 (autoload 'w3m-browse-url "w3m" "Interface for w3m on Emacs." t)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3969 (setq idlwave-help-browser-function 'w3m-browse-url
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3970 w3m-use-tab nil ; no tabs, location line, or toolbar
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3971 w3m-use-header-line nil
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3972 w3m-use-toolbar nil)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3973
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3974 ;; Close my help window or frame when w3m closes with `q'
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3975 (defadvice w3m-close-window (after idlwave-close activate)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3976 (if (boundp 'idlwave-help-frame)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3977 (idlwave-help-quit)))
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3978
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3979 ;; 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
3980 (add-hook 'idlwave-mode-hook
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3981 (lambda ()
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3982 (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
3983 ;; Run other functions here
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3984 (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
3985 (idlwave-auto-fill-mode 0) ; Turn off auto filling
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
3986 (setq idlwave-help-browser-function 'browse-url-w3)
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3987
46534
9059071c4fa9 Updated with patches from 1.8-1.17
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46530
diff changeset
3988 ;; Pad with 1 space (if -n is used then make the
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3989 ;; 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
3990 ;; instead of 1.
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3991 (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
3992 (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
3993 (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
3994 (idlwave-action-and-binding "&" '(idlwave-surround 1 1))
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3995
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
3996 ;; 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
3997 (idlwave-action-and-binding "," '(idlwave-surround nil 1))
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
3998 (idlwave-action-and-binding "&" '(idlwave-surround 1 1))
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
3999
27600
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
4000 ;; Pad only after `->', remove any space before the arrow
322d1a88513b IDLWAVE 3.15
Carsten Dominik <dominik@science.uva.nl>
parents: 27186
diff changeset
4001 (idlwave-action-and-binding "->" '(idlwave-surround 0 -1 nil 2))
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4002
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4003 ;; Set some personal bindings
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4004 ;; (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
4005 (local-set-key "," 'self-insert-command)
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4006 (local-set-key [f5] 'idlwave-shell-break-here)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4007 (local-set-key [f6] 'idlwave-shell-clear-current-bp)
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4008
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4009 ;; 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
4010 ;; 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
4011 ;; 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
4012 (local-set-key "\n" 'idlwave-newline)
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4013 ;; (local-set-key "\C-j" 'idlwave-newline) ; My preference.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4014
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4015 ;; Some personal abbreviations
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4016 (define-abbrev idlwave-mode-abbrev-table
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4017 (concat idlwave-abbrev-start-char "wb") "widget_base()"
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4018 (idlwave-keyword-abbrev 1))
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4019 (define-abbrev idlwave-mode-abbrev-table
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4020 (concat idlwave-abbrev-start-char "on") "obj_new()"
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4021 (idlwave-keyword-abbrev 1))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4022 ))
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4023
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4024 ;;; Settings for IDLWAVE SHELL mode
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4025
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4026 (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
4027 (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
4028 (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
4029 (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
4030 (setq idlwave-shell-process-name "wave")
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4031 (setq idlwave-shell-use-toolbar nil) ; No toolbar
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4032
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4033 ;; Most shell interaction settings can be done from the shell-mode-hook.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4034 (add-hook 'idlwave-shell-mode-hook
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4035 (lambda ()
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4036 ;; Set up some custom key and mouse examine commands
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4037 (idlwave-shell-define-key-both [s-down-mouse-2]
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4038 (idlwave-shell-mouse-examine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4039 "print, size(___,/DIMENSIONS)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4040 (idlwave-shell-define-key-both [f9] (idlwave-shell-examine
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4041 "print, size(___,/DIMENSIONS)"))
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4042 (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4043 "print,size(___,/TNAME)"))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4044 (idlwave-shell-define-key-both [f11] (idlwave-shell-examine
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4045 "help,___,/STRUCTURE"))))
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4046 @end example
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4047
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4048 @html
47440
0e5a022947e9 Updated to IDLWAVE version 4.15. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 46918
diff changeset
4049 <A NAME="WIN_MAC"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4050 @end html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4051 @node Windows and MacOS, Troubleshooting, Configuration Examples, Top
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4052 @appendix Windows and MacOS
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4053 @cindex Windows
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4054 @cindex MacOS
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4055 @cindex MacOSX
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4056
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4057 IDLWAVE was developed on a UNIX system. However, thanks to the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4058 portability of Emacs, much of IDLWAVE does also work under different
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4059 operating systems like Windows (with NTEmacs or NTXEmacs) or MacOS.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4060
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4061 The only real problem is that there is no command-line version of IDL
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4062 for Windows or MacOS(<=9) with which IDLWAVE can interact. As a
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4063 result, the IDLWAVE Shell does not work and you have to rely on IDLDE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4064 to run and debug your programs. However, editing IDL source files
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4065 with Emacs/IDLWAVE works with all bells and whistles, including
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4066 routine info, completion and fast online help. Only a small amount of
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4067 additional information must be specified in your @file{.emacs} file:
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4068 the path names which, on a UNIX system, are automatically gathered by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4069 talking to the IDL program.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4070
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4071 Here is an example of the additional configuration needed for a Windows
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4072 system. I am assuming that IDLWAVE has been installed in
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4073 @w{@samp{C:\Program Files\IDLWAVE}} and that IDL is installed in
77522
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
4074 @w{@samp{C:\RSI\IDL63}}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4075
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4076 @lisp
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4077 ;; location of the lisp files (only needed if IDLWAVE is not part of
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4078 ;; your default X/Emacs installation)
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4079 (setq load-path (cons "c:/program files/IDLWAVE" load-path))
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4080
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4081 ;; The location of the IDL library directories, both standard, and your own.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4082 ;; note that the initial "+" expands the path recursively
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4083 (setq idlwave-library-path
77522
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
4084 '("+c:/RSI/IDL63/lib/" "+c:/path/to/my/idllibs" ))
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4085
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4086 ;; location of the IDL system directory (try "print,!DIR")
77522
2c3331730126 Minor updates for IDLWAVE 6.1
J.D. Smith <jdsmith@as.arizona.edu>
parents: 77235
diff changeset
4087 (setq idlwave-system-directory "c:/RSI/IDL63/")
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4088
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4089 @end lisp
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4090
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4091 @noindent Furthermore, Windows sometimes tries to outsmart you --- make
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4092 sure you check the following things:
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4093
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4094 @itemize @bullet
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4095 @item When you download the IDLWAVE distribution, make sure you save the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4096 file under the names @file{idlwave.tar.gz}.
46527
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4097 @item M-TAB switches among running programs --- use Esc-TAB
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4098 instead.
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4099 @item Other issues as yet unnamed...
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4100 @end itemize
a687c07c44a6 Updated to IDLWAVE version 4.14.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 41745
diff changeset
4101
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4102 Windows users who'd like to make use of IDLWAVE's context-aware HTML
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4103 help can skip the browser and use the HTMLHelp functionality directly.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4104 @xref{Help with HTML Documentation}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4105
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4106 @html
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4107 <A NAME="TROUBLE"></A>
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4108 @end html
77235
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
4109 @node Troubleshooting, GNU Free Documentation License, Windows and MacOS, Top
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4110 @appendix Troubleshooting
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4111 @cindex Troubleshooting
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4112
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4113 Although IDLWAVE usually installs and works without difficulty, a few
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4114 common problems and their solutions are documented below.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4115
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4116 @enumerate
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4117
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4118 @item @strong{Whenever an IDL error occurs or a breakpoint is hit, I get
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4119 errors or strange behavior when I try to type anything into some of my
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4120 IDLWAVE buffers.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4121
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4122 This is a @emph{feature}, not an error. You're in @emph{Electric
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4123 Debug Mode} (@pxref{Electric Debug Mode}). You should see
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4124 @code{*Debugging*} in the mode-line. The buffer is read-only and all
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4125 debugging and examination commands are available as single keystrokes;
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4126 @kbd{C-?} lists these shortcuts. Use @kbd{q} to quit the mode, and
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4127 customize the variable @code{idlwave-shell-automatic-electric-debug}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4128 if you prefer not to enter electric debug on breakpoints@dots{} but
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4129 you really should try it before you disable it! You can also
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4130 customize this variable to enter debug mode when errors are
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4131 encountered.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4132
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4133 @item @strong{I get errors like @samp{Searching for program: no such
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4134 file or directory, idl} when attempting to start the IDL shell.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4135
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4136 IDLWAVE needs to know where IDL is in order to run it as a process.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4137 By default, it attempts to invoke it simply as @samp{idl}, which
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4138 presumes such an executable is on your search path. You need to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4139 ensure @samp{idl} is on your @samp{$PATH}, or specify the full
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4140 pathname to the idl program with the variable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4141 @code{idlwave-shell-explicit-file-name}. Note that you may need to
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4142 set your shell search path in two places when running Emacs as an Aqua
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4143 application with MacOSX; see the next topic.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4144
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4145 @item @strong{IDLWAVE is disregarding my @samp{IDL_PATH} which I set
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4146 under MacOSX}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4147
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4148 If you run Emacs directly as an Aqua application, rather than from the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4149 console shell, the environment is set not from your usual shell
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4150 configuration files (e.g. @file{.cshrc}), but from the file
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4151 @file{~/.MacOSX/environment.plist}. Either include your path settings
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4152 there, or start Emacs and IDLWAVE from the shell.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4153
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4154 @item @strong{I get errors like @samp{Symbol's function is void:
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4155 overlayp}}
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4156
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4157 You don't have the @samp{fsf-compat} package installed, which IDLWAVE
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4158 needs to run under XEmacs. Install it, or find an XEmacs distribution
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4159 which includes it by default.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4160
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4161 @item @strong{I'm getting errors like @samp{Symbol's value as variable is void:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4162 cl-builtin-gethash} on completion or routine info.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4163
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4164 This error arises if you upgraded Emacs from 20.x to 21.x without
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4165 re-installing IDLWAVE. Old Emacs and new Emacs are not byte-compatible
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4166 in compiled lisp files. Presumably, you kept the original .elc files in
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4167 place, and this is the source of the error. If you recompile (or just
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4168 "make; make install") from source, it should resolve this problem.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4169 Another option is to recompile the @file{idlw*.el} files by hand using
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4170 @kbd{M-x byte-compile-file}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4171
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4172 @item @strong{@kbd{M-@key{TAB}} doesn't complete words, it switches
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4173 windows on my desktop.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4174
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4175 Your system is trapping @kbd{M-@key{TAB}} and using it for its own
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4176 nefarious purposes: Emacs never sees the keystrokes. On many Unix
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4177 systems, you can reconfigure your window manager to use another key
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4178 sequence for switching among windows. Another option is to use the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4179 equivalent sequence @kbd{@key{ESC}-@key{TAB}}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4180
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4181 @item @strong{When stopping at breakpoints or errors, IDLWAVE does not
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4182 seem to highlight the relevant line in the source.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4183
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4184 IDLWAVE scans for error and halt messages and highlights the stop
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4185 location in the correct file. However, if you've changed the system
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4186 variable @samp{!ERROR_STATE.MSG_PREFIX}, it is unable to parse these
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4187 message correctly. Don't do that.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4188
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4189 @item @strong{IDLWAVE doesn't work correctly when using ENVI.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4190
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4191 Though IDLWAVE was not written with ENVI in mind, it works just fine
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4192 with it, as long as you update the prompt it's looking for (@samp{IDL>
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4193 } by default). You can do this with the variable
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4194 @code{idlwave-shell-prompt-pattern} (@pxref{Starting the Shell}), e.g.,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4195 in your @file{.emacs}:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4196
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4197 @lisp
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4198 (setq idlwave-shell-prompt-pattern "^\r? ?\\(ENVI\\|IDL\\)> ")
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4199 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4200
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4201 @item @strong{Attempts to set breakpoints fail: no breakpoint is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4202 indicated in the IDLWAVE buffer.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4203
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4204 IDL changed its breakpoint reporting format starting with IDLv5.5. The
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4205 first version of IDLWAVE to support the new format is IDLWAVE v4.10. If
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4206 you have an older version and are using IDL >v5.5, you need to upgrade,
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4207 and/or make sure your recent version of IDLWAVE is being found on the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4208 Emacs load-path (see the next entry). You can list the version being
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4209 used with @kbd{C-h v idlwave-mode-version @key{RET}}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4210
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4211 @item @strong{I installed a new version of IDLWAVE, but the old
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4212 version is still being used} or @strong{IDLWAVE works, but when I
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4213 tried to install the optional modules @file{idlw-roprompt.el} or
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4214 @file{idlw-complete-structtag}, I get errors like @samp{Cannot open
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4215 load file}}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4216
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4217 The problem is that your Emacs is not finding the version of IDLWAVE you
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4218 installed. Many Emacsen come with an older bundled copy of IDLWAVE
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4219 (e.g. v4.7 for Emacs 21.x), which is likely what's being used instead.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4220 You need to make sure your Emacs @emph{load-path} contains the directory
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4221 where IDLWAVE is installed (@file{/usr/local/share/emacs/site-lisp}, by
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4222 default), @emph{before} Emacs' default search directories. You can
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4223 accomplish this by putting the following in your @file{.emacs}:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4224
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4225 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4226 (setq load-path (cons "/usr/local/share/emacs/site-lisp" load-path))
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4227 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4228
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4229 @noindent You can check on your load-path value using @kbd{C-h v
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4230 load-path @key{RET}}, and @kbd{C-h m} in an IDLWAVE buffer should show
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4231 you the version Emacs is using.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4232
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4233 @item @strong{IDLWAVE is screwing up the formatting of my @file{.idl} files.}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4234
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4235 Actually, this isn't IDLWAVE at all, but @samp{idl-mode}, an unrelated
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4236 programming mode for CORBA's Interface Definition Language (you should
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4237 see @samp{(IDL)}, not @samp{(IDLWAVE)} in the mode-line). One
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4238 solution: don't name your file @file{.idl}, but rather @file{.pro}.
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4239 Another solution: make sure @file{.idl} files load IDLWAVE instead of
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4240 @samp{idl-mode} by adding the following to your @file{.emacs}:
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4241
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4242 @lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4243 (setcdr (rassoc 'idl-mode auto-mode-alist) 'idlwave-mode)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4244 @end lisp
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4245
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4246 @item @strong{The routine info for my local routines is out of date!}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4247
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4248 IDLWAVE collects routine info from various locations (@pxref{Routine
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4249 Information Sources}). Routines in files visited in a buffer or
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4250 compiled in the shell should be up to date. For other routines, the
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4251 information is only as current as the most recent scan. If you have a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4252 rapidly changing set of routines, and you'd like the latest routine
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4253 information to be available for it, one powerful technique is to make
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4254 use of the library catalog tool, @samp{idlwave_catalog}. Simply add a
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4255 line to your @samp{cron} file (@samp{crontab -e} will let you edit this
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4256 on some systems), like this
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4257
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4258 @example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4259 45 3 * * 1-5 (cd /path/to/myidllib; /path/to/idlwave_catalog MyLib)
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4260 @end example
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4261
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4262 @noindent where @samp{MyLib} is the name of your library. This will
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4263 rescan all @file{.pro} files at or below @file{/path/to/myidllib} every
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4264 week night at 3:45am. You can even scan site-wide libraries with this
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4265 method, and the most recent information will be available to all users.
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4266 Since the scanning is very fast, there is very little impact.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4267
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4268 @item @strong{All the Greek-font characters in the HTML help are
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4269 displayed as Latin characters!}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4270
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4271 Unfortunately, the HTMLHelp files RSI provides attempt to switch to
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4272 @samp{Symbol} font to display Greek characters, which is not really an
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4273 permitted method for doing this in HTML. There is a "workaround" for
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4274 some browsers: @xref{HTML Help Browser Tips}.
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4275
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4276 @item @strong{In the shell, my long commands are truncated at 256 characters!}
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4277
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4278 This actually happens when running IDL in an XTerm as well. There are
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
4279 a couple of workarounds: @code{define_key,/control,'^d'} (e.g. in
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4280 your @file{$IDL_STARTUP} file) will disable the @samp{EOF} character
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4281 and give you a 512 character limit. You won't be able to use
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4282 @key{C-d} to quit the shell, however. Another possibility is
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4283 @code{!EDIT_INPUT=0}, which gives you an @emph{infinite} limit (OK, a
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4284 memory-bounded limit), but disables the processing of background
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4285 widget events (those with @code{/NO_BLOCK} passed to @code{XManager}).
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4286
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4287 @item @strong{When I invoke IDL HTML help on a routine, the page which
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4288 is loaded is one page off, e.g. for @code{CONVERT_COORD}, I get
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4289 @code{CONTOUR}.}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4290
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4291 You have a mismatch between your help index and the HTML help package
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4292 you downloaded. You need to ensure you download a ``downgrade kit'' if
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4293 you are using anything older than the latest HTML help package. A new
71224
b7261e09f8e4 * cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents: 69837
diff changeset
4294 help package appears with each IDL release (assuming the documentation
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4295 is updated).
69835
7b91d87287ef Delete the blocks "not suitable for inclusion with Emacs".
Richard M. Stallman <rms@gnu.org>
parents: 69826
diff changeset
4296 Starting with IDL 6.2, the HTML help and its catalog are
69826
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4297 distributed with IDL, and so should never be inconsistent.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4298
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4299 @item @strong{I get errors such as @samp{void-variable
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4300 browse-url-browser-function} or similar when attempting to load IDLWAVE
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4301 under XEmacs.}
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4302
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4303 You don't have the @samp{browse-url} (or other required) XEmacs package.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4304 Unlike GNU Emacs, XEmacs distributes many packages separately from the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4305 main program. IDLWAVE is actually among these, but is not always the
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4306 most up to date. When installing IDLWAVE as an XEmacs package, it
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4307 should prompt you for required additional packages. When installing it
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4308 from source, it won't and you'll get this error. The easiest solution
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4309 is to install all the packages when you install XEmacs (the so-called
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4310 @samp{sumo} bundle). The minimum set of XEmacs packages required by
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4311 IDLWAVE is @samp{fsf-compat, xemacs-base, mail-lib}.
84148ade703d Updated docs for IDLWAVE version 6.0; see idlwave.org. Factor out
J.D. Smith <jdsmith@as.arizona.edu>
parents: 69681
diff changeset
4312
58294
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4313 @end enumerate
4fb51757e5ea Updated to IDLWAVE version 5.5. See idlwave.org.
J.D. Smith <jdsmith@as.arizona.edu>
parents: 57912
diff changeset
4314
77235
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
4315 @node GNU Free Documentation License, Index, Troubleshooting, Top
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
4316 @appendix GNU Free Documentation License
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
4317 @include doclicense.texi
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
4318
88224dc74061 Include GFDL.
Chong Yidong <cyd@stupidchicken.com>
parents: 75348
diff changeset
4319 @node Index, , GNU Free Documentation License, Top
26960
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4320 @unnumbered Index
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4321 @printindex cp
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4322
733eba22afe2 TeXInfo documentation of the IDLWAVE mode and shell
Carsten Dominik <dominik@science.uva.nl>
parents:
diff changeset
4323 @bye
69837
15cb8a20aec0 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 69835
diff changeset
4324
15cb8a20aec0 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 69835
diff changeset
4325 @ignore
15cb8a20aec0 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 69835
diff changeset
4326 arch-tag: f1d73958-1423-4127-b8aa-f7b953d64492
15cb8a20aec0 Add arch tagline
Miles Bader <miles@gnu.org>
parents: 69835
diff changeset
4327 @end ignore