branch: externals/idlwave
commit 7befb52142b9e325adff5f68e1b8718a6ba9e6ea
Author: jdsmith <jdsmith>
Commit: jdsmith <jdsmith>
Speedbar, etc.
---
idlwave.texi | 64 ++++++++++++++++++++++++++++++++++++++++++------------------
1 file changed, 45 insertions(+), 19 deletions(-)
diff --git a/idlwave.texi b/idlwave.texi
index 1add729ea4..447ad2db1b 100644
--- a/idlwave.texi
+++ b/idlwave.texi
@@ -9,12 +9,12 @@
@synindex ky cp
@syncodeindex vr cp
@syncodeindex fn cp
-@set VERSION 4.11
-@set EDITION 4.11
+@set VERSION 4.12
+@set EDITION 4.12
@set IDLVERSION 5.5
@set NSYSROUTINES 1322
@set NSYSKEYWORDS 5952
-@set DATE December 2001
+@set DATE January 2002
@set AUTHOR J.D. Smith & Carsten Dominik
@set AUTHOR-EMAIL dominik@@astro.uva.nl
@set MAINTAINER J.D. Smith
@@ -119,6 +119,12 @@ shell.
@detailmenu
--- The Detailed Node Listing ---
+Getting Started (Tutorial)
+
+* Lesson I -- Development Cycle::
+* Lesson II -- Customization::
+* Lesson III -- Library Catalog::
+
The IDLWAVE Major Mode
* Code Formatting:: Making code look nice
@@ -371,6 +377,13 @@ at point.
@cindex Tutorial
@cindex Getting Started
+@menu
+* Lesson I -- Development Cycle::
+* Lesson II -- Customization::
+* Lesson III -- Library Catalog::
+@end menu
+
+@node Lesson I -- Development Cycle, Lesson II -- Customization, Getting
Started, Getting Started
@section Lesson I: Development Cycle
The purpose of this tutorial is to guide you through a very basic
@@ -536,6 +549,7 @@ command. Everything should now work fine. How about those
leap years?
Change the code to plot 100 years and see that every 28 years, the
sequence of weekdays repeats.
+@node Lesson II -- Customization, Lesson III -- Library Catalog, Lesson I --
Development Cycle, Getting Started
@section Lesson II: Customization
Emacs is probably the most customizable piece of software available, and
@@ -583,9 +597,9 @@ throughout this manual.
If you cannot seem to master this Lisp customization in @file{.emacs},
there is another, more user-friendly way to customize all the IDLWAVE
variables. You can access it through the IDLWAVE menu in one of the
-@file{.pro} buffers, option @code{Customize->Browse IDLWAVE Group}. Here
-you'll be presented with all the various variables grouped into
-categories. You can navigate the hierarchy (e.g. Idlwave Code
+@file{.pro} buffers, menu item @code{Customize->Browse IDLWAVE
+Group}. Here you'll be presented with all the various variables grouped
+into categories. You can navigate the hierarchy (e.g. Idlwave Code
Formatting->Idlwave Main Block Indent), read about the variables, change
them, and `Save for Future Sessions'. Few of these variables need
customization, but you can exercise considerable control over IDLWAVE's
@@ -616,7 +630,8 @@ breakpoints. You can enable this with:
@end lisp
@noindent to get compilation on @kbd{H-c}. Often, a modifier key like
-@key{HYPER} can be bound to an otherwise unused key.
+@key{HYPER} can be bound to an otherwise unused key -- consult your
+system documentation.
You can also assign specific commands to keys. This you must do in the
@emph{mode-hook}, a special function which is run when a new buffer gets
@@ -641,6 +656,7 @@ keys f5-f8 to common debugging commands.
(local-set-key [f8] 'idlwave-shell-clear-all-bp)))
@end lisp
+@node Lesson III -- Library Catalog, , Lesson II -- Customization, Getting
Started
@section Lesson III: Library Catalog
We have already used the routine info display in the first part of this
@@ -1979,11 +1995,12 @@ expansion.
@kindex C-c C-h
@kindex C-c C-m
The command @kbd{C-c C-h} inserts a standard routine header into the
-buffer, with the usual fields for documentation. One of the keywords is
+buffer, with the usual fields for documentation (a different header can
+be specified with @code{idlwave-file-header}). One of the keywords is
@samp{MODIFICATION HISTORY} under which the changes to a routine can be
recorded. The command @kbd{C-c C-m} jumps to the @samp{MODIFICATION
-HISTORY} of the current routine or file and inserts the user
-name with a timestamp.
+HISTORY} of the current routine or file and inserts the user name with a
+timestamp.
@defopt idlwave-file-header
The doc-header template or a path to a file containing it.
@@ -2022,15 +2039,21 @@ Regexp matching the start of a document library header.
IDLWAVE supports both @file{Imenu} and @file{Func-menu}, two packages
which make it easy to jump to the definitions of functions and
-procedures in the current file. To bind @file{Imenu} to a mouse-press,
-use in your @file{.emacs}:
+procedures in the current file with a pop-up selection. To bind
+@file{Imenu} to a mouse-press, use in your @file{.emacs}:
@lisp
(define-key global-map [S-down-mouse-3] 'imenu)
@end lisp
-Several commands allow to move quickly through the structure of an IDL
-program. These are:
+@cindex @file{Speedbar}, Emacs package
+
+In addition, @file{Speedbar} support allows convenient navigation of a
+source tree of IDL routine files, quickly stepping to routine
+definitions. See @code{Tools->Display Speedbar}.
+
+Several commands allow you to move quickly through the structure of an
+IDL program:
@multitable @columnfractions .15 .85
@item @kbd{C-M-a}
@@ -2131,8 +2154,9 @@ In order to create a separate frame for the IDLWAVE shell
buffer, call
window, configure the variable
@code{idlwave-shell-use-dedicated-frame}.
-To launch a quick IDLWAVE shell directly from a shell prompt, define an
-alias with the following content
+To launch a quick IDLWAVE shell directly from a shell prompt without an
+IDLWAVE buffer (e.g., as a replacement for running inside an xterm),
+define an alias with the following content:
@example
emacs -geometry 80x32 -eval "(idlwave-shell 'quick)"
@@ -2209,7 +2233,8 @@ history just like in an X terminal@footnote{This is
different from
normal Emacs/Comint behavior, but more like an xterm. If you prefer the
default comint functionality, check the variable
@code{idlwave-shell-arrows-do-history}.}. The history is preserved
-between emacs sessions. Here is a list of commonly used commands:
+between emacs and IDL sessions. Here is a list of commonly used
+commands:
@multitable @columnfractions .12 .88
@item @key{UP}
@@ -2348,11 +2373,12 @@ used by other commands. For example, if you write in
@file{.emacs}:
a breakpoint can be set by pressing @kbd{b} while holding down
@kbd{shift} and @kbd{control} keys, i.e. @kbd{C-S-b}. Compiling a
-source file will be on @kbd{C-S-c}, deleting a breakpoint @kbd{C-S-d}
+source file will be on @kbd{C-S-c}, deleting a breakpoint @kbd{C-S-d},
etc. In the remainder of this chapter we will assume that the @kbd{C-c
C-d} bindings are active, but each of these bindings will have an
equivalent single-keypress shortcut with the modifiers given in the
-@code{idlwave-shell-debug-modifiers} variable.
+@code{idlwave-shell-debug-modifiers} variable (see @pxref{Lesson II --
+Customization}).
@defopt idlwave-shell-prefix-key (@kbd{C-c C-d})
The prefix key for the debugging map