aboutsummaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorJ.D. Smith2002-07-19 07:01:33 +0000
committerJ.D. Smith2002-07-19 07:01:33 +0000
commit32d4cddb555059a6cf3f18e8e1e4644dbfe251ae (patch)
tree7dbcf5b48c85a818840e056e081bb1a159f50f9a /man
parentb4591b37dc1397f7f759461d7b91774d4ddb8d79 (diff)
downloademacs-32d4cddb555059a6cf3f18e8e1e4644dbfe251ae.tar.gz
emacs-32d4cddb555059a6cf3f18e8e1e4644dbfe251ae.zip
Updated with patches from 2000-12-11T12:45:42Z!dominik@science.uva.nl to 2001-11-04T12:51:16Z!eliz@gnu.org
Diffstat (limited to 'man')
-rw-r--r--man/idlwave.texi133
1 files changed, 62 insertions, 71 deletions
diff --git a/man/idlwave.texi b/man/idlwave.texi
index b5005dd68e9..9e04d43b012 100644
--- a/man/idlwave.texi
+++ b/man/idlwave.texi
@@ -2,7 +2,7 @@
2@c %**start of header 2@c %**start of header
3@setfilename ../info/idlwave 3@setfilename ../info/idlwave
4@settitle IDLWAVE User Manual 4@settitle IDLWAVE User Manual
5@dircategory Editors 5@dircategory Emacs
6@direntry 6@direntry
7* IDLWAVE: (idlwave). Major mode and shell for IDL files. 7* IDLWAVE: (idlwave). Major mode and shell for IDL files.
8@end direntry 8@end direntry
@@ -33,28 +33,22 @@ This is edition @value{EDITION} of the IDLWAVE User Manual for IDLWAVE
33Copyright @copyright{} 1999, 2000, 2001, 2002 Free Software Foundation, 33Copyright @copyright{} 1999, 2000, 2001, 2002 Free Software Foundation,
34Inc. 34Inc.
35 35
36Permission is granted to make and distribute verbatim 36Permission is granted to copy, distribute and/or modify this document
37copies of this manual provided the copyright notice and 37under the terms of the GNU Free Documentation License, Version 1.1 or
38this permission notice are preserved on all copies. 38any later version published by the Free Software Foundation; with no
39 39Invariant Sections, with the Front-Cover texts being ``A GNU
40@ignore 40Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
41Permission is granted to process this file through TeX and print the 41license is included in the section entitled ``GNU Free Documentation
42results, provided the printed document carries a copying permission 42License'' in the Emacs manual.
43notice identical to this one except for the removal of this paragraph 43
44(this paragraph not being relevant to the printed manual). 44(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
45 45this GNU Manual, like GNU software. Copies published by the Free
46@end ignore 46Software Foundation raise funds for GNU development.''
47Permission is granted to copy and distribute modified 47
48versions of this manual under the conditions for 48This document is part of a collection distributed under the GNU Free
49verbatim copying, provided that the entire resulting 49Documentation License. If you want to distribute this document
50derived work is distributed under the terms of a permission 50separately from the collection, you can do so by adding a copy of the
51notice identical to this one. 51license to the document, as described in section 6 of the license.
52
53Permission is granted to copy and distribute
54translations of this manual into another language,
55under the above conditions for modified versions,
56except that this permission notice may be stated in a
57translation approved by the Free Software Foundation.
58@end ifinfo 52@end ifinfo
59 53
60@titlepage 54@titlepage
@@ -64,31 +58,28 @@ translation approved by the Free Software Foundation.
64 58
65@author by Carsten Dominik & J.D. Smith 59@author by Carsten Dominik & J.D. Smith
66@page 60@page
67Copyright @copyright{} 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
68
69@sp 2
70This is edition @value{EDITION} of the @cite{IDLWAVE User Manual} for 61This is edition @value{EDITION} of the @cite{IDLWAVE User Manual} for
71IDLWAVE version @value{VERSION}, @value{DATE}. 62IDLWAVE version @value{VERSION}, @value{DATE}.
72
73@sp 2 63@sp 2
74 64Copyright @copyright{} 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
65@sp 2
75@cindex Copyright, of IDLWAVE 66@cindex Copyright, of IDLWAVE
76Permission is granted to make and distribute verbatim 67Permission is granted to copy, distribute and/or modify this document
77copies of this manual provided the copyright notice and 68under the terms of the GNU Free Documentation License, Version 1.1 or
78this permission notice are preserved on all copies. 69any later version published by the Free Software Foundation; with no
79 70Invariant Sections, with the Front-Cover texts being ``A GNU
80Permission is granted to copy and distribute modified 71Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
81versions of this manual under the conditions for 72license is included in the section entitled ``GNU Free Documentation
82verbatim copying, provided that the entire resulting 73License'' in the Emacs manual.
83derive work is distributed under the terms of a permission 74
84notice identical to this one. 75(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
85 76this GNU Manual, like GNU software. Copies published by the Free
86Permission is granted to copy and distribute 77Software Foundation raise funds for GNU development.''
87translations of this manual into another language, 78
88under the above conditions for modified versions, 79This document is part of a collection distributed under the GNU Free
89except that this permission notice may be stated in a 80Documentation License. If you want to distribute this document
90translation approved by the Free Software Foundation. 81separately from the collection, you can do so by adding a copy of the
91 82license to the document, as described in section 6 of the license.
92@end titlepage 83@end titlepage
93@contents 84@contents
94 85
@@ -1258,7 +1249,7 @@ keywords). Otherwise the routine definition statement
1258@kindex M-? 1249@kindex M-?
1259In any IDL program (or, as with most IDLWAVE commands, in the IDL 1250In any IDL program (or, as with most IDLWAVE commands, in the IDL
1260Shell), press @kbd{M-?} (@code{idlwave-context-help}), or click with 1251Shell), press @kbd{M-?} (@code{idlwave-context-help}), or click with
1261@kbd{S-mouse-3} to access context sensitive online help. The following 1252@kbd{S-Mouse-3} to access context sensitive online help. The following
1262locations are recognized context for help: 1253locations are recognized context for help:
1263 1254
1264@cindex Context, for online help 1255@cindex Context, for online help
@@ -1296,11 +1287,11 @@ which online help can be accessed.
1296@itemize @bullet 1287@itemize @bullet
1297@item 1288@item
1298Online help for routines and keywords can be accessed through the 1289Online help for routines and keywords can be accessed through the
1299Routine Info display. Click with @kbd{mouse-3} on an item to see the 1290Routine Info display. Click with @kbd{Mouse-3} on an item to see the
1300corresponding help (@pxref{Routine Info}). 1291corresponding help (@pxref{Routine Info}).
1301@item 1292@item
1302When using completion and Emacs pops up a window with possible 1293When using completion and Emacs pops up a window with possible
1303completions, clicking with @kbd{mouse-3} on a completion item invokes 1294completions, clicking with @kbd{Mouse-3} on a completion item invokes
1304help on that item (@pxref{Completion}). 1295help on that item (@pxref{Completion}).
1305@end itemize 1296@end itemize
1306@noindent 1297@noindent
@@ -1308,8 +1299,8 @@ In both cases, a blue face indicates that the item is documented in the
1308IDL manual, but an attempt will be made to visit non-blue items directly 1299IDL manual, but an attempt will be made to visit non-blue items directly
1309in the originating source file. 1300in the originating source file.
1310 1301
1311@cindex Help application, keybindings 1302@cindex Help application, key bindings
1312@cindex Keybindings, in help application 1303@cindex Key bindings, in help application
1313The help window is normally displayed in a separate frame. The 1304The help window is normally displayed in a separate frame. The
1314following commands can be used to navigate inside the help system: 1305following commands can be used to navigate inside the help system:
1315 1306
@@ -1326,7 +1317,7 @@ following commands can be used to navigate inside the help system:
1326@tab Move back and forward through the help topic history. 1317@tab Move back and forward through the help topic history.
1327@item @kbd{c} 1318@item @kbd{c}
1328@tab Clear the history. 1319@tab Clear the history.
1329@item @kbd{mouse-2} 1320@item @kbd{Mouse-2}
1330@tab Follow a link. Active links are displayed in a different font. 1321@tab Follow a link. Active links are displayed in a different font.
1331Items under @i{See Also} are active, and classes have links to their 1322Items under @i{See Also} are active, and classes have links to their
1332methods and back. 1323methods and back.
@@ -1369,7 +1360,7 @@ The frame parameters for the special Online Help frame.
1369@end defopt 1360@end defopt
1370 1361
1371@defopt idlwave-max-popup-menu-items (@code{20}) 1362@defopt idlwave-max-popup-menu-items (@code{20})
1372Maximum number of items per pane in popup menus. 1363Maximum number of items per pane in pop-up menus.
1373@end defopt 1364@end defopt
1374 1365
1375@defopt idlwave-extra-help-function 1366@defopt idlwave-extra-help-function
@@ -1452,7 +1443,7 @@ M-@key{TAB}}.
1452If the list of completions is too long to fit in the 1443If the list of completions is too long to fit in the
1453@file{*Completions*} window, the window can be scrolled by pressing 1444@file{*Completions*} window, the window can be scrolled by pressing
1454@kbd{M-@key{TAB}} repeatedly. Online help (if installed) for each 1445@kbd{M-@key{TAB}} repeatedly. Online help (if installed) for each
1455possible completion is available by clicking with @kbd{mouse-3} on the 1446possible completion is available by clicking with @kbd{Mouse-3} on the
1456item. Items for which system online help (from the IDL manual) is 1447item. Items for which system online help (from the IDL manual) is
1457available will be displayed in a different font (e.g. colored blue). 1448available will be displayed in a different font (e.g. colored blue).
1458For other items, the corresponding source code or DocLib header will be 1449For other items, the corresponding source code or DocLib header will be
@@ -1699,7 +1690,7 @@ collects data about routines, and how to update this information.
1699@cindex Templates 1690@cindex Templates
1700 1691
1701IDLWAVE can insert IDL code templates into the buffer. For a few 1692IDLWAVE can insert IDL code templates into the buffer. For a few
1702templates, this is done with direct keybindings: 1693templates, this is done with direct key bindings:
1703 1694
1704@multitable @columnfractions .15 .85 1695@multitable @columnfractions .15 .85
1705@item @kbd{C-c C-c} 1696@item @kbd{C-c C-c}
@@ -1866,7 +1857,7 @@ String abbreviations:
1866@end multitable 1857@end multitable
1867 1858
1868@noindent You can easily add your own abbreviations or override existing 1859@noindent You can easily add your own abbreviations or override existing
1869abbrevs with @code{define-abbrev} in your mode hook using the 1860abbrevs with @code{define-abbrev} in your mode hook, using the
1870convenience function @code{idlwave-define-abbrev}: 1861convenience function @code{idlwave-define-abbrev}:
1871 1862
1872@lisp 1863@lisp
@@ -2181,7 +2172,6 @@ Normal hook. Executed when @file{idlwave.el} is loaded.
2181@cindex Comint, Emacs package 2172@cindex Comint, Emacs package
2182@cindex Windows 2173@cindex Windows
2183@cindex MacOS 2174@cindex MacOS
2184@cindex Unix
2185 2175
2186The IDLWAVE shell is an Emacs major mode which permits running the IDL 2176The IDLWAVE shell is an Emacs major mode which permits running the IDL
2187program as an inferior process of Emacs, and works closely with the 2177program as an inferior process of Emacs, and works closely with the
@@ -2193,7 +2183,7 @@ Unfortunately IDL for Windows and MacOS do not have command-prompt
2193versions and thus do not allow the interaction with 2183versions and thus do not allow the interaction with
2194Emacs@footnote{Please inform the maintainer if you come up with a way to 2184Emacs@footnote{Please inform the maintainer if you come up with a way to
2195make the IDLWAVE shell work on these systems.} --- so the IDLWAVE shell 2185make the IDLWAVE shell work on these systems.} --- so the IDLWAVE shell
2196currently only works under Unix. 2186currently only works under GNU and Unix.
2197 2187
2198@menu 2188@menu
2199* Starting the Shell:: How to launch IDL as a subprocess 2189* Starting the Shell:: How to launch IDL as a subprocess
@@ -2430,13 +2420,13 @@ modes.
2430 2420
2431@kindex C-c C-d 2421@kindex C-c C-d
2432Programs can be compiled, run, and debugged directly from the source 2422Programs can be compiled, run, and debugged directly from the source
2433buffer in Emacs. The IDLWAVE shell installs keybindings both in the 2423buffer in Emacs. The IDLWAVE shell installs key bindings both in the
2434shell buffer and in all IDL code buffers of the current Emacs session. 2424shell buffer and in all IDL code buffers of the current Emacs session.
2435On Emacs versions which support this, it also installs a debugging 2425On Emacs versions which support this, it also installs a debugging
2436toolbar. The display of the toolbar can be toggled with @kbd{C-c C-d 2426toolbar. The display of the toolbar can be toggled with @kbd{C-c C-d
2437C-t} (@code{idlwave-shell-toggle-toolbar}). 2427C-t} (@code{idlwave-shell-toggle-toolbar}).
2438 2428
2439The debugging keybindings are by default on the prefix key @kbd{C-c 2429The debugging key bindings are by default on the prefix key @kbd{C-c
2440C-d}, so for example setting a breakpoint is done with @kbd{C-c C-d 2430C-d}, so for example setting a breakpoint is done with @kbd{C-c C-d
2441C-b}, compiling a source file with @kbd{C-c C-d C-c}. If you find this 2431C-b}, compiling a source file with @kbd{C-c C-d C-c}. If you find this
2442too much work, you can add bindings for one or more modifier keys which 2432too much work, you can add bindings for one or more modifier keys which
@@ -2660,7 +2650,7 @@ current region as expression.
2660 2650
2661For added speed and convenience, there are mouse bindings which allow 2651For added speed and convenience, there are mouse bindings which allow
2662you to click on expressions and examine their values. Use 2652you to click on expressions and examine their values. Use
2663@kbd{S-mouse-2} to print an expression and @kbd{C-M-mouse-2} to invoke 2653@kbd{S-Mouse-2} to print an expression and @kbd{C-M-Mouse-2} to invoke
2664help (i.e. you need to hold down @key{META} and @key{CONTROL} while 2654help (i.e. you need to hold down @key{META} and @key{CONTROL} while
2665clicking with the middle mouse button). If you simply click, the 2655clicking with the middle mouse button). If you simply click, the
2666nearest expression will be selected in the same manner as described 2656nearest expression will be selected in the same manner as described
@@ -2722,7 +2712,7 @@ mouse examine command, and two macros for generating your own examine
2722bindings. 2712bindings.
2723 2713
2724The most powerful and flexible mouse examine command is available on 2714The most powerful and flexible mouse examine command is available on
2725@kbd{C-S-mouse-2}. Just as for all the other mouse examine commands, it 2715@kbd{C-S-Mouse-2}. Just as for all the other mouse examine commands, it
2726permits click or drag expression selection, but instead of sending 2716permits click or drag expression selection, but instead of sending
2727hard-coded commands to the shell, it pops-up a customizable selection 2717hard-coded commands to the shell, it pops-up a customizable selection
2728list of examine functions to choose among, configured with the 2718list of examine functions to choose among, configured with the
@@ -2732,8 +2722,10 @@ the command, and the values are the command strings, in which the text
2732@code{___} (three underscores) will be replaced by the selected 2722@code{___} (three underscores) will be replaced by the selected
2733expression before being sent to the shell. An example might be key 2723expression before being sent to the shell. An example might be key
2734@code{Structure Help} with value @code{help,___,/STRUCTURE}. 2724@code{Structure Help} with value @code{help,___,/STRUCTURE}.
2725@code{idlwave-shell-examine-alist} comes by default with a large list of
2726examine commands, but can be easily customized to add more.
2735 2727
2736In addition to the popup mouse command, you can easily create your own 2728In addition to the pop-up mouse command, you can easily create your own
2737customized bindings to inspect expressions using the two convenience 2729customized bindings to inspect expressions using the two convenience
2738macros @code{idlwave-shell-inspect} and 2730macros @code{idlwave-shell-inspect} and
2739@code{idlwave-shell-mouse-inspect}. These create keyboard or 2731@code{idlwave-shell-mouse-inspect}. These create keyboard or
@@ -2764,7 +2756,7 @@ see, the possibilities are only marginally finite.
2764 2756
2765@defopt idlwave-shell-examine-alist 2757@defopt idlwave-shell-examine-alist
2766An alist of examine commands in which the keys name the command and are 2758An alist of examine commands in which the keys name the command and are
2767displayed in the selection popup, and the values are custom IDL examine 2759displayed in the selection pop-up, and the values are custom IDL examine
2768command strings to send, after all instances of @code{___} are replaced 2760command strings to send, after all instances of @code{___} are replaced
2769by the indicated expression. 2761by the indicated expression.
2770@end defopt 2762@end defopt
@@ -2848,7 +2840,7 @@ to get a separate frame for the IDL shell, remove that command from your
2848@end lisp 2840@end lisp
2849@item 2841@item
2850The key sequence @kbd{M-@key{TAB}} no longer inserts a TAB character. 2842The key sequence @kbd{M-@key{TAB}} no longer inserts a TAB character.
2851Like in in many other Emacs modes, @kbd{M-@key{TAB}} now does 2843Like in many other Emacs modes, @kbd{M-@key{TAB}} now does
2852completion. Inserting a TAB has therefore been moved to 2844completion. Inserting a TAB has therefore been moved to
2853@kbd{C-@key{TAB}}. On a character based terminal you can also use 2845@kbd{C-@key{TAB}}. On a character based terminal you can also use
2854@kbd{C-c @key{SPC}}. 2846@kbd{C-c @key{SPC}}.
@@ -3054,7 +3046,6 @@ Controls under what circumstances routine info is updated automatically.
3054@cindex IDL library routine info 3046@cindex IDL library routine info
3055@cindex Windows 3047@cindex Windows
3056@cindex MacOS 3048@cindex MacOS
3057@cindex Unix
3058@cindex IDL variable @code{!DIR} 3049@cindex IDL variable @code{!DIR}
3059@cindex @code{!DIR}, IDL variable 3050@cindex @code{!DIR}, IDL variable
3060 3051
@@ -3077,7 +3068,7 @@ path, just like in IDL}:
3077(setq idlwave-system-directory "c:/RSI/IDL54/") 3068(setq idlwave-system-directory "c:/RSI/IDL54/")
3078@end lisp 3069@end lisp
3079 3070
3080@noindent Under UNIX, these values will be automatically inferred from 3071@noindent Under GNU and UNIX, these values will be automatically inferred from
3081an IDLWAVE shell. 3072an IDLWAVE shell.
3082 3073
3083The command @kbd{M-x idlwave-create-libinfo-file} can then be used to 3074The command @kbd{M-x idlwave-create-libinfo-file} can then be used to
@@ -3098,7 +3089,7 @@ from the same directories, call the command
3098selected directories, write an updated version of the libinfo file and 3089selected directories, write an updated version of the libinfo file and
3099rebuild IDLWAVE's internal lists. If you give three prefix arguments 3090rebuild IDLWAVE's internal lists. If you give three prefix arguments
3100@w{@kbd{C-u C-u C-u C-c C-i}}, updating will be done with a background 3091@w{@kbd{C-u C-u C-u C-c C-i}}, updating will be done with a background
3101job@footnote{Unix systems only, I think.}. You can continue to work, 3092job@footnote{GNU and Unix systems only, I think.}. You can continue to work,
3102and the library catalog will be re-read when it is ready. 3093and the library catalog will be re-read when it is ready.
3103 3094
3104A note of caution: Depending on your local installation, the IDL 3095A note of caution: Depending on your local installation, the IDL
@@ -3112,11 +3103,11 @@ File for routine information of the IDL library.
3112@end defopt 3103@end defopt
3113 3104
3114@defopt idlwave-library-path 3105@defopt idlwave-library-path
3115IDL library path for Windows and MacOS. Not needed under Unix. 3106IDL library path for Windows and MacOS. Not needed under GNU and Unix.
3116@end defopt 3107@end defopt
3117 3108
3118@defopt idlwave-system-directory 3109@defopt idlwave-system-directory
3119The IDL system directory for Windows and MacOS. Not needed under UNIX. 3110The IDL system directory for Windows and MacOS. Not needed under GNU and Unix.
3120@end defopt 3111@end defopt
3121 3112
3122@defopt idlwave-special-lib-alist 3113@defopt idlwave-special-lib-alist
@@ -3300,7 +3291,7 @@ user is King!
3300 (font-lock-mode 1) ; Turn on font-lock mode 3291 (font-lock-mode 1) ; Turn on font-lock mode
3301 (idlwave-auto-fill-mode 0) ; Turn off auto filling 3292 (idlwave-auto-fill-mode 0) ; Turn off auto filling
3302 3293
3303 ;; Pad with with 1 space (if -n is used then make the 3294 ;; Pad with 1 space (if -n is used then make the
3304 ;; padding a minimum of n spaces.) The defaults use -1 3295 ;; padding a minimum of n spaces.) The defaults use -1
3305 ;; instead of 1. 3296 ;; instead of 1.
3306 (idlwave-action-and-binding "=" '(idlwave-expand-equal 1 1)) 3297 (idlwave-action-and-binding "=" '(idlwave-expand-equal 1 1))
@@ -3379,8 +3370,8 @@ you have to rely on IDLDE to run and debug your programs. However,
3379editing IDL source files with Emacs/IDLWAVE works with all bells and 3370editing IDL source files with Emacs/IDLWAVE works with all bells and
3380whistles, including routine info, completion and fast online help. Only 3371whistles, including routine info, completion and fast online help. Only
3381a small amount of additional information must be specified in your 3372a small amount of additional information must be specified in your
3382.emacs file: You must specify path names which on a UNIX can be 3373.emacs file: you must specify path names which on a GNU or UNIX system
3383automatically gathered by talking to the IDL program. 3374are automatically gathered by talking to the IDL program.
3384 3375
3385Here is an example of the additional configuration needed for a Windows 3376Here is an example of the additional configuration needed for a Windows
3386system. I am assuming that IDLWAVE has been installed in 3377system. I am assuming that IDLWAVE has been installed in