/[emacs]/emacs/man/idlwave.texi
ViewVC logotype

Diff of /emacs/man/idlwave.texi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.24 by karl, Wed Oct 2 23:24:31 2002 UTC revision 1.25 by lektu, Tue Feb 4 14:53:28 2003 UTC
# Line 87  shell. Line 87  shell.
87  * Getting Started::             Tutorial  * Getting Started::             Tutorial
88  * The IDLWAVE Major Mode::      The mode to edit IDL programs  * The IDLWAVE Major Mode::      The mode to edit IDL programs
89  * The IDLWAVE Shell::           The mode to run IDL as an inferior program  * The IDLWAVE Shell::           The mode to run IDL as an inferior program
90  * Installation::                How to Install or Upgrade                * Installation::                How to Install or Upgrade
91  * Acknowledgements::            Who did what  * Acknowledgements::            Who did what
92  * Sources of Routine Info::     How does IDLWAVE know about routine XYZ      * Sources of Routine Info::     How does IDLWAVE know about routine XYZ
93  * Configuration Examples::      The user is king...  * Configuration Examples::      The user is king...
94  * Windows and MacOS::           What still works, and how  * Windows and MacOS::           What still works, and how
95  * Index::                       Fast access  * Index::                       Fast access
# Line 99  shell. Line 99  shell.
99    
100  Getting Started (Tutorial)  Getting Started (Tutorial)
101    
102  * Lesson I -- Development Cycle::    * Lesson I -- Development Cycle::
103  * Lesson II -- Customization::    * Lesson II -- Customization::
104  * Lesson III -- Library Catalog::    * Lesson III -- Library Catalog::
105    
106  The IDLWAVE Major Mode  The IDLWAVE Major Mode
107    
# Line 121  The IDLWAVE Major Mode Line 121  The IDLWAVE Major Mode
121  Code Formatting  Code Formatting
122    
123  * Code Indentation::            Reflecting the logical structure  * Code Indentation::            Reflecting the logical structure
124  * Continued Statement Indentation::    * Continued Statement Indentation::
125  * Comment Indentation::         Special indentation for comment lines  * Comment Indentation::         Special indentation for comment lines
126  * Continuation Lines::          Splitting statements over lines  * Continuation Lines::          Splitting statements over lines
127  * Syntax Highlighting::         Font-lock support  * Syntax Highlighting::         Font-lock support
# Line 131  Completion Line 131  Completion
131    
132  * Case of Completed Words::     CaseOFcomPletedWords  * Case of Completed Words::     CaseOFcomPletedWords
133  * Object Method Completion and Class Ambiguity::  obj->Method, what?  * Object Method Completion and Class Ambiguity::  obj->Method, what?
134  * Object Method Completion in the Shell::    * Object Method Completion in the Shell::
135  * Class and Keyword Inheritance::  obj->Method, _EXTRA=e  * Class and Keyword Inheritance::  obj->Method, _EXTRA=e
136  * Structure Tag Completion::    Completing state.Tag  * Structure Tag Completion::    Completing state.Tag
137    
# Line 145  The IDLWAVE Shell Line 145  The IDLWAVE Shell
145    
146  * Starting the Shell::          How to launch IDL as a subprocess  * Starting the Shell::          How to launch IDL as a subprocess
147  * Using the Shell::             Interactively working with the Shell  * Using the Shell::             Interactively working with the Shell
148  * Commands Sent to the Shell::    * Commands Sent to the Shell::
149  * Debugging IDL Programs::        * Debugging IDL Programs::
150  * Examining Variables::          * Examining Variables::
151  * Custom Expression Examination::    * Custom Expression Examination::
152    
153  Debugging IDL Programs  Debugging IDL Programs
154    
155  * Debug Key Bindings::            * Debug Key Bindings::
156  * Compiling Programs::            * Compiling Programs::
157  * Breakpoints and Stepping::      * Breakpoints and Stepping::
158  * Walking the Calling Stack::    * Walking the Calling Stack::
159    
160  Installation  Installation
161    
# Line 192  inferior shell@footnote{Note that this p Line 192  inferior shell@footnote{Note that this p
192  the Interface Definition Language, part of the Common Object Request  the Interface Definition Language, part of the Common Object Request
193  Broker Architecture (CORBA)}.  It can also be used for editing source  Broker Architecture (CORBA)}.  It can also be used for editing source
194  files for the related WAVE/CL language, but with only limited  files for the related WAVE/CL language, but with only limited
195  support.  support.
196    
197  IDLWAVE consists of two main parts: a major mode for editing IDL source  IDLWAVE consists of two main parts: a major mode for editing IDL source
198  files files (@code{idlwave-mode}) and a mode for running the IDL program  files files (@code{idlwave-mode}) and a mode for running the IDL program
# Line 201  be used without the other, both work tog Line 201  be used without the other, both work tog
201  development environment. Here is a brief summary of what IDLWAVE does:  development environment. Here is a brief summary of what IDLWAVE does:
202    
203  @itemize @bullet  @itemize @bullet
204  @item  @item
205  Code indentation and formatting.  Code indentation and formatting.
206  @item  @item
207  Three level syntax highlighting support.  Three level syntax highlighting support.
208  @item  @item
209  Context-sensitive display of calling sequences and keywords for more  Context-sensitive display of calling sequences and keywords for more
210  than 1000 native IDL routines, extendible to any number of additional  than 1000 native IDL routines, extendible to any number of additional
211  routines in your local IDL libraries.  routines in your local IDL libraries.
# Line 367  at point. Line 367  at point.
367  @cindex Getting Started  @cindex Getting Started
368    
369  @menu  @menu
370  * Lesson I -- Development Cycle::    * Lesson I -- Development Cycle::
371  * Lesson II -- Customization::    * Lesson II -- Customization::
372  * Lesson III -- Library Catalog::    * Lesson III -- Library Catalog::
373  @end menu  @end menu
374    
375  @node  Lesson I -- Development Cycle, Lesson II -- Customization, Getting Started, Getting Started  @node  Lesson I -- Development Cycle, Lesson II -- Customization, Getting Started, Getting Started
# Line 412  function daynr,d,m,y Line 412  function daynr,d,m,y
412    y1 = y * delta    y1 = y * delta
413    return, d + floor(m1*30.6)+floor(y1*365.25)+5    return, d + floor(m1*30.6)+floor(y1*365.25)+5
414  end  end
415        
416  function weekday,day,month,year  function weekday,day,month,year
417    ;; compute weekday number for date    ;; compute weekday number for date
418    nr = daynr(day,month,year)    nr = daynr(day,month,year)
419    return, nr mod 7    return, nr mod 7
420  end  end
421        
422  pro plot_wday,day,month  pro plot_wday,day,month
423    ;; Plot the weekday of a date in the first 10 years of this century.    ;; Plot the weekday of a date in the first 10 years of this century.
424    years = 2000,+indgen(10)    years = 2000,+indgen(10)
# Line 649  keys f5-f8 to common debugging commands. Line 649  keys f5-f8 to common debugging commands.
649  @section Lesson III: Library Catalog  @section Lesson III: Library Catalog
650    
651  We have already used the routine info display in the first part of this  We have already used the routine info display in the first part of this
652  tutorial.  This was the key @kbd{C-c ?} which displays information about  tutorial.  This was the key @kbd{C-c ?} which displays information about
653  the IDL routine near the cursor position.  Wouldn't it be nice  the IDL routine near the cursor position.  Wouldn't it be nice
654  to have the same available for your own library routines and for the  to have the same available for your own library routines and for the
655  huge amount of code in major extension libraries like JHUPL or the  huge amount of code in major extension libraries like JHUPL or the
# Line 727  them. Line 727  them.
727    
728  @menu  @menu
729  * Code Indentation::            Reflecting the logical structure  * Code Indentation::            Reflecting the logical structure
730  * Continued Statement Indentation::    * Continued Statement Indentation::
731  * Comment Indentation::         Special indentation for comment lines  * Comment Indentation::         Special indentation for comment lines
732  * Continuation Lines::          Splitting statements over lines  * Continuation Lines::          Splitting statements over lines
733  * Syntax Highlighting::         Font-lock support  * Syntax Highlighting::         Font-lock support
# Line 769  governed by a number of variables.  IDLW Line 769  governed by a number of variables.  IDLW
769  @code{PRO}/@code{FUNCTION}/@code{BEGIN} and @code{END}), and  @code{PRO}/@code{FUNCTION}/@code{BEGIN} and @code{END}), and
770  continuation lines.  continuation lines.
771    
772  @defopt idlwave-main-block-indent (@code{0})  @defopt idlwave-main-block-indent (@code{0})
773  Extra indentation for the main block of code.  That is the block between  Extra indentation for the main block of code.  That is the block between
774  the FUNCTION/PRO statement and the END statement for that program  the FUNCTION/PRO statement and the END statement for that program
775  unit.  unit.
# Line 966  in the first line of a comment paragraph Line 966  in the first line of a comment paragraph
966    
967  @defopt idlwave-use-last-hang-indent (@code{nil})  @defopt idlwave-use-last-hang-indent (@code{nil})
968  Non-@code{nil} means use last match on line for  Non-@code{nil} means use last match on line for
969  @code{idlwave-indent-regexp}.  @code{idlwave-indent-regexp}.
970  @end defopt  @end defopt
971    
972  @node Syntax Highlighting, Octals and Highlighting, Continuation Lines, Code Formatting  @node Syntax Highlighting, Octals and Highlighting, Continuation Lines, Code Formatting
# Line 994  for highlighting using the variable Line 994  for highlighting using the variable
994    
995  @defopt idlwave-default-font-lock-items  @defopt idlwave-default-font-lock-items
996  Items which should be fontified on the default fontification level  Items which should be fontified on the default fontification level
997  2.  2.
998  @end defopt  @end defopt
999    
1000  @node Octals and Highlighting,  , Syntax Highlighting, Code Formatting  @node Octals and Highlighting,  , Syntax Highlighting, Code Formatting
# Line 1071  plot,x,alog(x+5*sin(x) + 2), Line 1071  plot,x,alog(x+5*sin(x) + 2),
1071  On positions 1,2 and 8, information about the @samp{plot} procedure will  On positions 1,2 and 8, information about the @samp{plot} procedure will
1072  be shown.  On positions 3,4, and 7, the @samp{alog} function will be  be shown.  On positions 3,4, and 7, the @samp{alog} function will be
1073  described, while positions 5 and 6 will investigate the @samp{sin}  described, while positions 5 and 6 will investigate the @samp{sin}
1074  function.    function.
1075    
1076  When you ask for routine information about an object method, and the  When you ask for routine information about an object method, and the
1077  method exists in several classes, IDLWAVE queries for the class of the  method exists in several classes, IDLWAVE queries for the class of the
# Line 1127  split into the next two. Line 1127  split into the next two.
1127  @item @i{Other}  @item @i{Other}
1128  @tab Any other routine with a file not known to be on the search path.  @tab Any other routine with a file not known to be on the search path.
1129  @item @i{Unresolved}  @item @i{Unresolved}
1130  @tab An otherwise unkown routine the shell lists as unresolved  @tab An otherwise unkown routine the shell lists as unresolved
1131  (referenced, but not compiled).  (referenced, but not compiled).
1132  @end multitable  @end multitable
1133    
# Line 1162  with the middle mouse button inserts key Line 1162  with the middle mouse button inserts key
1162  @item @i{Usage}  @item @i{Usage}
1163  @tab If online help is installed, a click with the @emph{right} mouse  @tab If online help is installed, a click with the @emph{right} mouse
1164  button on the @i{Usage:} line will access the help for the  button on the @i{Usage:} line will access the help for the
1165  routine (@pxref{Online Help}).    routine (@pxref{Online Help}).
1166  @item @i{Keyword}  @item @i{Keyword}
1167  @tab Online help about keywords is also available with the  @tab Online help about keywords is also available with the
1168  @emph{right} mouse button.  Clicking on a keyword with the @emph{middle}  @emph{right} mouse button.  Clicking on a keyword with the @emph{middle}
# Line 1489  available. Line 1489  available.
1489  @menu  @menu
1490  * Case of Completed Words::     CaseOFcomPletedWords  * Case of Completed Words::     CaseOFcomPletedWords
1491  * Object Method Completion and Class Ambiguity::  obj->Method, what?  * Object Method Completion and Class Ambiguity::  obj->Method, what?
1492  * Object Method Completion in the Shell::    * Object Method Completion in the Shell::
1493  * Class and Keyword Inheritance::  obj->Method, _EXTRA=e  * Class and Keyword Inheritance::  obj->Method, _EXTRA=e
1494  * Structure Tag Completion::    Completing state.Tag  * Structure Tag Completion::    Completing state.Tag
1495  @end menu  @end menu
# Line 1554  narrow down the number of possible compl Line 1554  narrow down the number of possible compl
1554  @code{idlwave-query-class} can be configured to make such prompting the  @code{idlwave-query-class} can be configured to make such prompting the
1555  default for all methods (not recommended), or selectively for very  default for all methods (not recommended), or selectively for very
1556  common methods for which the number of completing keywords would be too  common methods for which the number of completing keywords would be too
1557  large (e.g. @code{Init}).    large (e.g. @code{Init}).
1558    
1559  @cindex Saving object class on @code{->}  @cindex Saving object class on @code{->}
1560  @cindex @code{->}  @cindex @code{->}
# Line 1646  class. Line 1646  class.
1646  Non-@code{nil} means consider inheritance during completion, online help etc.  Non-@code{nil} means consider inheritance during completion, online help etc.
1647  @end defopt  @end defopt
1648    
1649  @defopt idlwave-keyword-class-inheritance  @defopt idlwave-keyword-class-inheritance
1650  A list of regular expressions to match methods for which simple  A list of regular expressions to match methods for which simple
1651  class-driven keyword inheritance will be used for Completion.  class-driven keyword inheritance will be used for Completion.
1652  @end defopt  @end defopt
# Line 1676  Structure tag completion is not enabled Line 1676  Structure tag completion is not enabled
1676  simply add the following to your @file{.emacs}:  simply add the following to your @file{.emacs}:
1677    
1678  @lisp  @lisp
1679     (add-hook 'idlwave-load-hook     (add-hook 'idlwave-load-hook
1680               (lambda () (require 'idlw-complete-structtag)))               (lambda () (require 'idlw-complete-structtag)))
1681  @end lisp  @end lisp
1682    
# Line 2069  your @file{.emacs} file: Line 2069  your @file{.emacs} file:
2069       (idlwave-action-and-binding "\\<\\(pro\\|function\\)\\>[ \t]*\\<"       (idlwave-action-and-binding "\\<\\(pro\\|function\\)\\>[ \t]*\\<"
2070                                   '(capitalize-word 1) t)                                   '(capitalize-word 1) t)
2071       ;;  Capitalize common block name       ;;  Capitalize common block name
2072       (idlwave-action-and-binding "\\<common\\>[ \t]+\\<"       (idlwave-action-and-binding "\\<common\\>[ \t]+\\<"
2073                                   '(capitalize-word 1) t)))                                   '(capitalize-word 1) t)))
2074  @end lisp  @end lisp
2075    
# Line 2231  currently only works under Unix. Line 2231  currently only works under Unix.
2231  @menu  @menu
2232  * Starting the Shell::          How to launch IDL as a subprocess  * Starting the Shell::          How to launch IDL as a subprocess
2233  * Using the Shell::             Interactively working with the Shell  * Using the Shell::             Interactively working with the Shell
2234  * Commands Sent to the Shell::    * Commands Sent to the Shell::
2235  * Debugging IDL Programs::        * Debugging IDL Programs::
2236  * Examining Variables::          * Examining Variables::
2237  * Custom Expression Examination::    * Custom Expression Examination::
2238  @end menu  @end menu
2239    
2240  @node Starting the Shell, Using the Shell, The IDLWAVE Shell, The IDLWAVE Shell  @node Starting the Shell, Using the Shell, The IDLWAVE Shell, The IDLWAVE Shell
# Line 2260  In order to create a separate frame for Line 2260  In order to create a separate frame for
2260  @code{idlwave-shell} with a prefix argument: @kbd{C-u C-c C-s} or  @code{idlwave-shell} with a prefix argument: @kbd{C-u C-c C-s} or
2261  @kbd{C-u C-c C-l}.  If you always want a dedicated frame for the shell  @kbd{C-u C-c C-l}.  If you always want a dedicated frame for the shell
2262  window, configure the variable  window, configure the variable
2263  @code{idlwave-shell-use-dedicated-frame}.  @code{idlwave-shell-use-dedicated-frame}.
2264    
2265  To launch a quick IDLWAVE shell directly from a shell prompt without an  To launch a quick IDLWAVE shell directly from a shell prompt without an
2266  IDLWAVE buffer (e.g., as a replacement for running inside an xterm),  IDLWAVE buffer (e.g., as a replacement for running inside an xterm),
# Line 2305  Non-@code{nil} means preserve command hi Line 2305  Non-@code{nil} means preserve command hi
2305  @defopt idlwave-shell-command-history-file (@file{~/.idlwhist})  @defopt idlwave-shell-command-history-file (@file{~/.idlwhist})
2306  The file in which the command history of the idlwave shell is saved.  The file in which the command history of the idlwave shell is saved.
2307  @end defopt  @end defopt
2308      
2309  @defopt idlwave-shell-use-dedicated-frame (@code{nil})  @defopt idlwave-shell-use-dedicated-frame (@code{nil})
2310  Non-@code{nil} means IDLWAVE should use a special frame to display  Non-@code{nil} means IDLWAVE should use a special frame to display
2311  shell buffer.  shell buffer.
2312  @end defopt  @end defopt
2313    
2314  @defopt idlwave-shell-frame-parameters  @defopt idlwave-shell-frame-parameters
# Line 2515  buffers. Line 2515  buffers.
2515  @end defopt  @end defopt
2516    
2517  @menu  @menu
2518  * Debug Key Bindings::            * Debug Key Bindings::
2519  * Compiling Programs::            * Compiling Programs::
2520  * Breakpoints and Stepping::      * Breakpoints and Stepping::
2521  * Walking the Calling Stack::    * Walking the Calling Stack::
2522  @end menu  @end menu
2523    
2524  @node Debug Key Bindings, Compiling Programs, Debugging IDL Programs, Debugging IDL Programs  @node Debug Key Bindings, Compiling Programs, Debugging IDL Programs, Debugging IDL Programs
# Line 2575  commands in the shell and source buffers Line 2575  commands in the shell and source buffers
2575  @kindex C-c C-d C-c  @kindex C-c C-d C-c
2576  In order to compile the current buffer under the IDLWAVE shell, press  In order to compile the current buffer under the IDLWAVE shell, press
2577  @kbd{C-c C-d C-c} (@code{idlwave-save-and-run}).  This first saves the  @kbd{C-c C-d C-c} (@code{idlwave-save-and-run}).  This first saves the
2578  current buffer and then sends the command @samp{.run path/to/file} to the  current buffer and then sends the command @samp{.run path/to/file} to the
2579  shell.  You can also execute @kbd{C-c C-d C-c} from the shell buffer, in  shell.  You can also execute @kbd{C-c C-d C-c} from the shell buffer, in
2580  which case the most recently compiled buffer will be saved and  which case the most recently compiled buffer will be saved and
2581  re-compiled.  re-compiled.
2582    
2583  When developing or debugging a program, it is often necessary to execute  When developing or debugging a program, it is often necessary to execute
2584  the same command line many times.  A convenient way to do this is  the same command line many times.  A convenient way to do this is
2585  @kbd{C-c C-d C-y} (@code{idlwave-shell-execute-default-command-line}).  @kbd{C-c C-d C-y} (@code{idlwave-shell-execute-default-command-line}).
2586  This command first resets IDL from a state of interrupted execution by  This command first resets IDL from a state of interrupted execution by
# Line 2792  the expression printed by IDL. Line 2792  the expression printed by IDL.
2792  @end defopt  @end defopt
2793    
2794  @defopt idlwave-shell-output-face  @defopt idlwave-shell-output-face
2795  The face for @code{idlwave-shell-output-overlay}.    The face for @code{idlwave-shell-output-overlay}.
2796  Allows to choose the font, color and other properties for the most  Allows to choose the font, color and other properties for the most
2797  recent output of IDL when examining an expression."  recent output of IDL when examining an expression."
2798  @end defopt  @end defopt
2799    
2800  @defopt idlwave-shell-separate-examine-output (@code{t})  @defopt idlwave-shell-separate-examine-output (@code{t})
2801  If non-@code{nil}, re-direct the output of examine commands to a special  If non-@code{nil}, re-direct the output of examine commands to a special
2802  @file{*Examine*} buffer, instead of in the shell itself.  @file{*Examine*} buffer, instead of in the shell itself.
2803  @end defopt  @end defopt
2804    
2805  @node Custom Expression Examination,  , Examining Variables, The IDLWAVE Shell  @node Custom Expression Examination,  , Examining Variables, The IDLWAVE Shell
# Line 2840  single string argument sharing the synta Line 2840  single string argument sharing the synta
2840  @lisp  @lisp
2841  (add-hook 'idlwave-shell-mode-hook  (add-hook 'idlwave-shell-mode-hook
2842            (lambda ()            (lambda ()
2843              (idlwave-shell-define-key-both [s-down-mouse-2]              (idlwave-shell-define-key-both [s-down-mouse-2]
2844                                   (idlwave-shell-mouse-examine                                   (idlwave-shell-mouse-examine
2845                                    "print, size(___,/DIMENSIONS)"))                                    "print, size(___,/DIMENSIONS)"))
2846              (idlwave-shell-define-key-both [f9] (idlwave-shell-examine              (idlwave-shell-define-key-both [f9] (idlwave-shell-examine
2847                                         "print, size(___,/DIMENSIONS)"))                                         "print, size(___,/DIMENSIONS)"))
2848              (idlwave-shell-define-key-both [f10] (idlwave-shell-examine              (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
2849                                          "print,size(___,/TNAME)"))                                          "print,size(___,/TNAME)"))
2850              (idlwave-shell-define-key-both [f11] (idlwave-shell-examine              (idlwave-shell-define-key-both [f11] (idlwave-shell-examine
2851                                          "help,___,/STRUCTURE"))))                                          "help,___,/STRUCTURE"))))
2852  @end lisp                                          @end lisp
2853                
2854  @noindent Now pressing @key{f9}, or middle-mouse dragging with the  @noindent Now pressing @key{f9}, or middle-mouse dragging with the
2855  @key{SUPER} key depressed, will print the dimensions of the nearby or  @key{SUPER} key depressed, will print the dimensions of the nearby or
2856  highlighted expression.  Pressing @key{f10} will give the type string,  highlighted expression.  Pressing @key{f10} will give the type string,
# Line 2941  to get a separate frame for the IDL shel Line 2941  to get a separate frame for the IDL shel
2941  @lisp  @lisp
2942  (setq idlwave-shell-use-dedicated-frame t)  (setq idlwave-shell-use-dedicated-frame t)
2943  @end lisp  @end lisp
2944  @item  @item
2945  The key sequence @kbd{M-@key{TAB}} no longer inserts a TAB character.  The key sequence @kbd{M-@key{TAB}} no longer inserts a TAB character.
2946  Like in many other Emacs modes, @kbd{M-@key{TAB}} now does  Like in many other Emacs modes, @kbd{M-@key{TAB}} now does
2947  completion.  Inserting a TAB has therefore been moved to  completion.  Inserting a TAB has therefore been moved to
# Line 2973  of the package from version 3.0, during Line 2973  of the package from version 3.0, during
2973  everything, modernized IDLWAVE with many new features, and developed the  everything, modernized IDLWAVE with many new features, and developed the
2974  manual.  manual.
2975    
2976  @item  @item
2977  @uref{mailto:jdsmith@@as.arizona.edu, @b{J.D. Smith}}, the current  @uref{mailto:jdsmith@@as.arizona.edu, @b{J.D. Smith}}, the current
2978  maintainer, as of version 4.10, helped shape object method completion  maintainer, as of version 4.10, helped shape object method completion
2979  and most new features introduced in versions 4.x.  and most new features introduced in versions 4.x.
# Line 3051  know about the accessible routines. Line 3051  know about the accessible routines.
3051  several places:  several places:
3052    
3053  @enumerate  @enumerate
3054  @item  @item
3055  @emph{Builtin routines} are defined inside IDL itself.  The source  @emph{Builtin routines} are defined inside IDL itself.  The source
3056  code of such routines is not available.  code of such routines is not available.
3057  @item  @item
3058  Routines which are @emph{part of the current program}, are defined in a  Routines which are @emph{part of the current program}, are defined in a
3059  file explicitly compiled by the user.  This file may or may not be  file explicitly compiled by the user.  This file may or may not be
3060  located on the IDL search path.  located on the IDL search path.
3061  @item  @item
3062  @emph{Library routines} are defined in files located on IDL's search  @emph{Library routines} are defined in files located on IDL's search
3063  path, and will not need to be manually compiled.  When a library routine  path, and will not need to be manually compiled.  When a library routine
3064  is called for the first time, IDL will find the source file and compile  is called for the first time, IDL will find the source file and compile
# Line 3095  by scanning the IDL manuals and is store Line 3095  by scanning the IDL manuals and is store
3095  @file{idlw-rinfo.el}.  @xref{Documentation Scan}, for information on how  @file{idlw-rinfo.el}.  @xref{Documentation Scan}, for information on how
3096  to regenerate this file for new versions of IDL.  to regenerate this file for new versions of IDL.
3097    
3098  @item  @item
3099  It @emph{scans} all @emph{buffers} of the current Emacs session for  It @emph{scans} all @emph{buffers} of the current Emacs session for
3100  routine definitions.  This is done automatically when routine  routine definitions.  This is done automatically when routine
3101  information or completion is first requested by the user.  Each new  information or completion is first requested by the user.  Each new
# Line 3182  or all directories on the search path. Line 3182  or all directories on the search path.
3182  and completion info of some libraries, it is sufficient to scan those  and completion info of some libraries, it is sufficient to scan those
3183  directories.  However, if you want IDLWAVE to detect possible name  directories.  However, if you want IDLWAVE to detect possible name
3184  conflicts with routines defined in other libraries, the whole pass  conflicts with routines defined in other libraries, the whole pass
3185  should be scanned.  should be scanned.
3186    
3187  After selecting directories, click on the @w{@samp{[Scan & Save]}}  After selecting directories, click on the @w{@samp{[Scan & Save]}}
3188  button in the widget to scan all files in the selected directories and  button in the widget to scan all files in the selected directories and
# Line 3279  Another way to find out if a specific ro Line 3279  Another way to find out if a specific ro
3279  on the load path is routine info display (@pxref{Routine Info}).  on the load path is routine info display (@pxref{Routine Info}).
3280    
3281  @node Documentation Scan,  , Load-Path Shadows, Sources of Routine Info  @node Documentation Scan,  , Load-Path Shadows, Sources of Routine Info
3282  @appendixsec Documentation Scan  @appendixsec Documentation Scan
3283  @cindex @file{get_rinfo}  @cindex @file{get_rinfo}
3284  @cindex @file{idlw-rinfo.el}  @cindex @file{idlw-rinfo.el}
3285  @cindex @file{idlw-help.txt}  @cindex @file{idlw-help.txt}
# Line 3370  user is King! Line 3370  user is King!
3370  (setq idlwave-main-block-indent 3)  (setq idlwave-main-block-indent 3)
3371  (setq idlwave-end-offset -3)  (setq idlwave-end-offset -3)
3372  (setq idlwave-continuation-indent 1)  (setq idlwave-continuation-indent 1)
3373  (setq idlwave-begin-line-comment "^;[^;]")  ; Leave ";" but not ";;"  (setq idlwave-begin-line-comment "^;[^;]")  ; Leave ";" but not ";;"
3374                                              ; anchored at start of line.                                              ; anchored at start of line.
3375  (setq idlwave-surround-by-blank t)      ; Turn on padding ops =,<,>  (setq idlwave-surround-by-blank t)      ; Turn on padding ops =,<,>
3376  (setq idlwave-pad-keyword nil)          ; Remove spaces for keyword '='  (setq idlwave-pad-keyword nil)          ; Remove spaces for keyword '='
# Line 3424  user is King! Line 3424  user is King!
3424      ;; (local-set-key "\C-j" 'idlwave-newline) ; My preference.      ;; (local-set-key "\C-j" 'idlwave-newline) ; My preference.
3425    
3426      ;; Some personal abbreviations      ;; Some personal abbreviations
3427      (define-abbrev idlwave-mode-abbrev-table        (define-abbrev idlwave-mode-abbrev-table
3428        (concat idlwave-abbrev-start-char "wb") "widget_base()"        (concat idlwave-abbrev-start-char "wb") "widget_base()"
3429        (idlwave-keyword-abbrev 1))        (idlwave-keyword-abbrev 1))
3430      (define-abbrev idlwave-mode-abbrev-table        (define-abbrev idlwave-mode-abbrev-table
3431        (concat idlwave-abbrev-start-char "on") "obj_new()"        (concat idlwave-abbrev-start-char "on") "obj_new()"
3432        (idlwave-keyword-abbrev 1))        (idlwave-keyword-abbrev 1))
3433      ))      ))
# Line 3445  user is King! Line 3445  user is King!
3445  (add-hook 'idlwave-shell-mode-hook  (add-hook 'idlwave-shell-mode-hook
3446            (lambda ()            (lambda ()
3447              ;; Set up some custom key and mouse examine commands              ;; Set up some custom key and mouse examine commands
3448              (idlwave-shell-define-key-both [s-down-mouse-2]              (idlwave-shell-define-key-both [s-down-mouse-2]
3449                                   (idlwave-shell-mouse-examine                                   (idlwave-shell-mouse-examine
3450                                    "print, size(___,/DIMENSIONS)"))                                    "print, size(___,/DIMENSIONS)"))
3451              (idlwave-shell-define-key-both [f9] (idlwave-shell-examine              (idlwave-shell-define-key-both [f9] (idlwave-shell-examine
3452                                         "print, size(___,/DIMENSIONS)"))                                         "print, size(___,/DIMENSIONS)"))
3453              (idlwave-shell-define-key-both [f10] (idlwave-shell-examine              (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
3454                                          "print,size(___,/TNAME)"))                                          "print,size(___,/TNAME)"))
3455              (idlwave-shell-define-key-both [f11] (idlwave-shell-examine              (idlwave-shell-define-key-both [f11] (idlwave-shell-examine
3456                                          "help,___,/STRUCTURE"))))                                          "help,___,/STRUCTURE"))))
# Line 3487  system.  I am assuming that IDLWAVE has Line 3487  system.  I am assuming that IDLWAVE has
3487  @w{@samp{C:\RSI\IDL55}}.  @w{@samp{C:\RSI\IDL55}}.
3488    
3489  @lisp  @lisp
3490  ;; location of the lisp files (needed if IDLWAVE is not part of  ;; location of the lisp files (needed if IDLWAVE is not part of
3491  ;; the X/Emacs installation)  ;; the X/Emacs installation)
3492  (setq load-path (cons "c:/program files/IDLWAVE" load-path))  (setq load-path (cons "c:/program files/IDLWAVE" load-path))
3493    
# Line 3510  system.  I am assuming that IDLWAVE has Line 3510  system.  I am assuming that IDLWAVE has
3510  sure you check the following things:  sure you check the following things:
3511    
3512  @itemize @bullet  @itemize @bullet
3513  @item When you download the IDLWAVE distribution, make sure you save the  @item When you download the IDLWAVE distribution, make sure you save the
3514  files under the names @file{idlwave.tar.gz} and  files under the names @file{idlwave.tar.gz} and
3515  @file{idlwave-help-tar.gz}.  @file{idlwave-help-tar.gz}.
3516  @item Be sure that your software for untarring/ungzipping is @emph{NOT}  @item Be sure that your software for untarring/ungzipping is @emph{NOT}

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.25

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26