Lines Matching +refs:idlwave +refs:load +refs:all +refs:rinfo

3 @setfilename ../../info/idlwave.info
43 * IDLWAVE: (idlwave). Major mode and shell for IDL files.
189 source files (@code{idlwave-mode}) and a mode for running the IDL
190 program as an inferior shell (@code{idlwave-shell-mode}). Although
225 editing and all the completion and routine info capabilities present in
250 @uref{http://github.com/jdtsmith/idlwave/screenshots/emacs_21_nav.gif,An IDLWAVE buffer}
252 @uref{http://github.com/jdtsmith/idlwave/screenshots/emacs_21_keys.gif,A keyword being completed}
254 @uref{http://github.com/jdtsmith/idlwave/screenshots/emacs_21_help.gif,Online help text.}
256 @uref{http://github.com/jdtsmith/idlwave/screenshots/emacs_21_ri.gif,Routine information displayed}
258 @uref{http://github.com/jdtsmith/idlwave/screenshots/emacs_21_bp.gif,Debugging code
290 @tab Re-indent all lines in the current region.
292 @tab Re-indent all lines in the current routine.
294 @tab Re-indent all lines in the current statement.
356 (setq idlwave-init-rinfo-when-idle-after 2)
358 (setq idlwave-do-actions t
359 idlwave-surround-by-blank t)
361 (add-hook 'idlwave-mode-hook 'turn-on-font-lock)
363 (setq idlwave-shell-automatic-start t)
365 (setq idlwave-shell-debug-modifiers '(control shift))
454 automatically (as long as the variable @code{idlwave-expand-generic-end}
458 and indentation all taken care of. Use @kbd{C-/} to undo the last
487 if necessary), the window will split to show all procedures it knows
511 This time we get a plot, but it is pretty ugly: the points are all
553 Now remove all breakpoints: @kbd{C-c C-d C-a}. Recompile and rerun the
574 (setq idlwave-reserved-word-upcase t)
590 (setq idlwave-main-block-indent 1)
591 (setq idlwave-block-indent 3)
592 (setq idlwave-end-offset -3)
599 e.g., @kbd{C-h v idlwave-main-block-indent @key{RET}}. To find which
604 there is another, more user-friendly way to customize all the IDLWAVE
607 Group}. Here you'll be presented with all the various variables grouped
620 easily enable them. First, there is a way to assign all debugging
626 for compiling the current source file, @kbd{C-S-a} for deleting all
630 (setq idlwave-shell-debug-modifiers '(shift control))
637 (setq idlwave-shell-debug-modifiers '(super))
651 (add-hook 'idlwave-mode-hook
653 (local-set-key [f4] 'idlwave-shell-retall)
654 (local-set-key [f5] 'idlwave-shell-break-here)
655 (local-set-key [f6] 'idlwave-shell-clear-current-bp)
656 (local-set-key [f7] 'idlwave-shell-cont)
657 (local-set-key [f8] 'idlwave-shell-clear-all-bp)))
659 (add-hook 'idlwave-shell-mode-hook
661 (local-set-key [f4] 'idlwave-shell-retall)
662 (local-set-key [f5] 'idlwave-shell-break-here)
663 (local-set-key [f6] 'idlwave-shell-clear-current-bp)
664 (local-set-key [f7] 'idlwave-shell-cont)
665 (local-set-key [f8] 'idlwave-shell-clear-all-bp)))
690 list of directories on the path. Simply select them all (or whichever
695 written to the file @file{~/.emacs.d/idlwave/idlusercat.el}
696 and will from now on automatically load whenever you use
725 (with @kbd{C-h v idlwave<-variable-name> @key{RET}}) and ask the
731 @cindex Major mode, @code{idlwave-mode}
775 IDL code very well, and takes care of almost all formatting issues for
785 Like all Emacs programming modes, IDLWAVE performs code indentation.
803 @defopt idlwave-main-block-indent (@code{2})
809 @defopt idlwave-block-indent (@code{3})
811 probably also want to change @code{idlwave-end-offset}.
814 @defopt idlwave-end-offset (@code{-3})
816 @code{idlwave-block-indent} will make END lines line up with the block
857 @code{idlwave-max-extra-continuation-indent}, which specifies the
861 @code{idlwave-continuation-indent}). As a special case, continuations
868 @code{idlwave-max-extra-continuation-indent} is small, the key
869 @kbd{C-u @key{TAB}} will re-indent all lines in the current statement.
870 Note that @code{idlwave-indent-to-open-paren}, if non-@code{nil},
871 overrides the @code{idlwave-max-extra-continuation-indent} limit, for
875 @defopt idlwave-continuation-indent (@code{2})
879 @defopt idlwave-max-extra-continuation-indent (@code{20})
888 @defopt idlwave-indent-to-open-paren (@code{t})
891 @code{idlwave-max-extra-continuation-indent} limit is satisfied.
917 @defopt idlwave-no-change-comment
922 @defopt idlwave-begin-line-comment
926 @defopt idlwave-code-comment
941 @kbd{M-@key{RET}}, which calls the command @code{idlwave-split-line}.
955 @code{idlwave-hang-indent-regexp} (a dash-space by default), subsequent
977 @defopt idlwave-fill-comment-line-only (@code{t})
981 @defopt idlwave-auto-fill-split-string (@code{t})
986 @defopt idlwave-split-line-string (@code{t})
987 Non-@code{nil} means @code{idlwave-split-line} will split strings with
991 @defopt idlwave-hanging-indent (@code{t})
993 indent given by @code{idlwave-hang-indent-regexp} match in the first
997 @defopt idlwave-hang-indent-regexp (@code{"- "})
1002 @defopt idlwave-use-last-hang-indent (@code{nil})
1004 @code{idlwave-indent-regexp}.
1018 @code{idlwave-mode} with the following line in your @file{.emacs}:
1021 (add-hook 'idlwave-mode-hook 'turn-on-font-lock)
1028 @code{idlwave-default-font-lock-items}.
1030 @defopt idlwave-default-font-lock-items
1082 list of all built-in routines, with calling sequences and
1091 (@code{idlwave-update-routine-info}).
1095 calls the command @code{idlwave-routine-info}. When the current cursor
1134 @cindex Shadows, load-path
1176 variable @code{idlwave-special-lib-alist}.
1209 @code{idlwave-routine-info} was called. Holding down @key{SHIFT} while
1226 @defopt idlwave-resize-routine-help-window (@code{t})
1231 @defopt idlwave-special-lib-alist
1235 @defopt idlwave-rinfo-max-source-lines (@code{5})
1268 (@file{~/.emacs.d/idlwave/}, by default). It also re-scans the XML catalog if
1274 separately. This is no longer necessary: all help and routine
1283 Shell), press @kbd{M-?} (@code{idlwave-context-help}), or click with
1361 displaying online help on all supported platforms. This browser
1364 @code{idlwave-help-use-assistant} controls whether this browser is
1371 @code{idlwave-help-browser-function} controls which browser help is sent
1372 to (as long as @code{idlwave-help-use-assistant} is not set). This
1384 the variable @code{idlwave-help-browser-is-local}.
1387 @code{idlwave-system-directory} is set (@pxref{Catalogs}). One easy way
1395 @defopt idlwave-html-system-help-location @file{help/online_help}
1397 considered with respect to @code{idlwave-system-directory}. Relevant
1401 @defopt idlwave-html-help-location @file{/usr/local/etc/}
1404 (@code{idlwave-html-system-help-location} is used instead).
1407 @defopt idlwave-help-use-assistant @code{t}
1410 @code{idlwave-help-browser-function}.
1413 @defopt idlwave-help-browser-function
1419 @defopt idlwave-help-browser-is-local
1420 Is the browser selected in @code{idlwave-help-browser-function} run in a
1425 @defopt idlwave-help-link-face
1442 support can be added by customizing the @code{idlwave-help-doclib-name}
1443 and @code{idlwave-help-doclib-keyword} variables.
1474 @tab Fontify the buffer like source code. See the variable @code{idlwave-help-fontify-source-code}.
1480 @defopt idlwave-help-use-dedicated-frame (@code{nil})
1484 @defopt idlwave-help-frame-parameters
1488 @defopt idlwave-max-popup-menu-items (@code{20})
1492 @defopt idlwave-extra-help-function
1496 @defopt idlwave-help-fontify-source-code (@code{nil})
1500 @defopt idlwave-help-source-try-header (@code{t})
1505 @defopt idlwave-help-doclib-name (@code{"name"})
1510 @defopt idlwave-help-doclib-keyword (@code{"KEYWORD"})
1534 be updated with @kbd{C-c C-i} (@code{idlwave-update-routine-info}).
1595 @defopt idlwave-keyword-completion-adds-equal (@code{t})
1600 @defopt idlwave-function-completion-adds-paren (@code{t})
1606 @defopt idlwave-completion-restore-window-configuration (@code{t})
1611 @defopt idlwave-highlight-help-links-in-completion (@code{t})
1632 completed is all lower case, the completion will be lower case as
1635 variable @code{idlwave-completion-case}. The default is to use upper
1642 @code{idlwave-completion-force-default-case} to non-@code{nil}.
1644 @defopt idlwave-completion-case
1649 @defopt idlwave-completion-force-default-case (@code{nil})
1651 @code{idlwave-completion-case}. When @code{nil} (the default), entirely lower
1653 settings in @code{idlwave-completion-case}.
1656 @defopt idlwave-complete-empty-string-as-lower-case (@code{nil})
1669 IDLWAVE considers all available methods in all classes as possible
1671 method in @emph{all} known classes which contain that method will be
1674 @code{idlwave-completion-show-classes}). As a special case, the class
1681 You can also call @code{idlwave-complete} with a prefix arg: @kbd{C-u
1684 @code{idlwave-query-class} can be configured to make such prompting the
1685 default for all methods (not recommended), or selectively for very
1697 default). The variable @code{idlwave-store-inquired-class} can be used
1700 @defopt idlwave-completion-show-classes (@code{1})
1706 @defopt idlwave-completion-fontify-classes (@code{t})
1710 @defopt idlwave-query-class (@code{nil})
1714 @defopt idlwave-store-inquired-class (@code{t})
1719 @defopt idlwave-class-arrow-face
1734 info, or help. If unsuccessful, information from all known classes will
1749 information display, and records all inheritance information it finds.
1752 @code{idlwave-support-inheritance} is non-@code{nil}.
1764 method's keyword parameters, all keywords of superclass versions of
1768 variable @code{idlwave-keyword-class-inheritance} can be used to
1774 @defopt idlwave-support-inheritance (@code{t})
1778 @defopt idlwave-keyword-class-inheritance
1798 the structure in all parts of the program. This is entirely unenforced
1808 (add-hook 'idlwave-load-hook
1822 @noindent will complete with all structure fields of the structure
1833 routine. The command @kbd{C-c C-v} (@code{idlwave-find-module}) asks
1835 @code{idlwave-routine-info} would have used, taken from nearby buffer
1848 (@code{idlwave-kill-autoloaded-buffers}) can be used to easily remove
1857 The key sequence @kbd{C-c =} calls the command @code{idlwave-resolve}
1863 @code{idlwave-resolve} is one way to get a library module within reach
1901 used to insert code templates all start with a @samp{\} (the backslash),
1903 @code{idlwave-abbrev-start-char}. IDLWAVE ensures that abbreviations are
1910 idlwave-list-abbrevs}.
2048 convenience function @code{idlwave-define-abbrev}:
2051 (add-hook 'idlwave-mode-hook
2053 (idlwave-define-abbrev "wb" "widget_base()"
2054 (idlwave-keyword-abbrev 1))
2055 (idlwave-define-abbrev "ine" "IF N_Elements() EQ 0 THEN"
2056 (idlwave-keyword-abbrev 11))))
2061 @code{idlwave-keyword-abbrev} (here @emph{1}) specifies how far back to
2066 the variables @code{idlwave-abbrev-change-case} and, for reserved word
2067 templates, @code{idlwave-reserved-word-upcase} (@pxref{Case Changes}).
2069 @defopt idlwave-abbrev-start-char (@code{"\"})
2075 @defopt idlwave-abbrev-move (@code{t})
2104 entire line. To enable this, the variable @code{idlwave-do-actions}
2117 @defopt idlwave-do-actions (@code{nil})
2143 Set the variable @code{idlwave-expand-generic-end} in order to have all
2148 @defopt idlwave-show-block (@code{t})
2150 @code{idlwave-show-begin}.
2153 @defopt idlwave-expand-generic-end (@code{t})
2157 @defopt idlwave-reindent-end (@code{t})
2173 @code{idlwave-surround-by-blank} and @code{idlwave-do-actions} and turn
2175 using the function @code{idlwave-action-and-binding} in the mode hook.
2181 (add-hook 'idlwave-mode-hook
2183 (setq idlwave-surround-by-blank t) ; Turn this type of actions on
2184 (idlwave-action-and-binding "*" '(idlwave-surround 1 1))
2185 (idlwave-action-and-binding "+" '(idlwave-surround 1 1))))
2197 repad everything if @code{idlwave-do-actions} is on).
2199 @defopt idlwave-surround-by-blank (@code{nil})
2200 Non-@code{nil} means enable @code{idlwave-surround}. If non-@code{nil},
2203 surrounded with spaces by @code{idlwave-surround}.
2206 @defopt idlwave-pad-keyword (@code{t})
2218 @code{idlwave-abbrev-change-case} and
2219 @code{idlwave-reserved-word-upcase}. If you want to change the case of
2224 (add-hook 'idlwave-mode-hook
2227 (idlwave-action-and-binding idlwave-sysvar '(capitalize-word 1) t)
2229 (idlwave-action-and-binding "\\<\\(pro\\|function\\)\\>[ \t]*\\<"
2232 (idlwave-action-and-binding "\\<common\\>[ \t]+\\<"
2237 @code{idlwave-action-and-binding}. For information on controlling the
2241 @defopt idlwave-abbrev-change-case (@code{nil})
2242 Non-@code{nil} means all abbrevs will be forced to either upper or lower
2246 @defopt idlwave-reserved-word-upcase (@code{nil})
2265 be specified with @code{idlwave-file-header}). One of the keywords is
2271 @defopt idlwave-file-header
2275 @defopt idlwave-header-to-beginning-of-file (@code{nil})
2280 @defopt idlwave-timestamp-hook
2284 @defopt idlwave-doc-modifications-keyword
2288 @defopt idlwave-doclib-start
2292 @defopt idlwave-doclib-end
2350 @defopt idlwave-help-application
2354 @defopt idlwave-startup-message (@code{t})
2355 Non-@code{nil} means display a startup message when @code{idlwave-mode}'
2359 @defopt idlwave-mode-hook
2360 Normal hook. Executed when a buffer is put into @code{idlwave-mode}.
2363 @defopt idlwave-load-hook
2364 Normal hook. Executed when @file{idlwave.el} is loaded.
2370 @cindex Major mode, @code{idlwave-shell-mode}
2406 idlwave-shell}. In @code{idlwave-mode} the function is bound to
2410 C-l} (@code{idlwave-shell-recenter-shell-window}) displays the shell
2414 @code{idlwave-shell-automatic-start} to @code{t}.
2417 @code{idlwave-shell} with a prefix argument: @kbd{C-u C-c C-s} or
2420 @code{idlwave-shell-use-dedicated-frame}.
2427 emacs -geometry 80x32 -eval "(idlwave-shell 'quick)"
2438 @code{idlwave-shell-prompt-pattern}, which defaults to @samp{"^ ?IDL>
2443 @defopt idlwave-shell-explicit-file-name (@file{idl})
2447 @defopt idlwave-shell-command-line-options
2451 @defopt idlwave-shell-prompt-pattern
2455 @defopt idlwave-shell-process-name
2459 @defopt idlwave-shell-automatic-start (@code{nil})
2460 Non-@code{nil} means attempt to invoke idlwave-shell if not already
2464 @defopt idlwave-shell-initial-commands
2468 @defopt idlwave-shell-save-command-history (@code{t})
2472 @defopt idlwave-shell-command-history-file (@file{~/.emacs.d/idlwave/.idlwhist})
2473 The file in which the command history of the idlwave shell is saved.
2475 @code{idlwave-config-directory}.
2478 @defopt idlwave-shell-use-dedicated-frame (@code{nil})
2483 @defopt idlwave-shell-use-dedicated-window (@code{nil})
2488 @defopt idlwave-shell-frame-parameters
2489 The frame parameters for a dedicated idlwave-shell frame.
2492 @defopt idlwave-shell-raise-frame (@code{t})
2493 Non-@code{nil} means @code{idlwave-shell} raises the frame showing the shell
2497 @defopt idlwave-shell-temp-pro-prefix
2502 @defopt idlwave-shell-mode-hook
2503 Hook for customizing @code{idlwave-shell-mode}.
2517 @code{idlwave-shell-arrows-do-history}.}. The history is preserved
2553 @code{idlwave-shell-mode} provides many of the same commands which
2567 (@code{idlwave-shell-complete}).
2571 @tab Routine Info display (@code{idlwave-routine-info})
2573 @tab IDL online help on routine (@code{idlwave-routine-info-from-idlhelp})
2576 (@code{idlwave-update-routine-info})
2578 @tab Find the source file of a routine (@code{idlwave-find-module})
2581 (@code{idlwave-find-module-this-file}).
2583 @tab Compile a library routine (@code{idlwave-resolve})
2586 @defopt idlwave-shell-arrows-do-history (@code{t})
2591 @defopt idlwave-shell-comint-settings
2595 @defopt idlwave-shell-file-name-chars
2600 @defopt idlwave-shell-graphics-window-size
2610 all the power Emacs gives you to do this. When you press @key{RET}, the
2615 (@code{idlwave-shell-send-char}). When you press @kbd{C-c C-y}
2616 (@code{idlwave-shell-char-mode-loop}), IDLWAVE runs a blocking loop
2623 @defopt idlwave-shell-use-input-mode-magic (@code{nil})
2628 @defopt idlwave-shell-input-mode-spells
2654 @code{idlwave-abbrev-show-commands} allows you to configure which
2659 @defopt idlwave-shell-show-commands (@code{'(run misc breakpoint)})
2666 the single symbol @code{'everything}, all the copious shell input is
2690 in all IDL code buffers of the current Emacs session, so debug
2694 @kbd{C-c C-d C-t} (@code{idlwave-shell-toggle-toolbar}).
2697 @defopt idlwave-shell-use-toolbar (@code{t})
2698 Non-@code{nil} means use the debugging toolbar in all IDL related
2730 @code{idlwave-shell-automatic-electric-debug}.
2743 see @code{idlwave-shell-activate-prefix-keybindings}). For
2747 (setq idlwave-shell-debug-modifiers '(control shift))
2756 @code{idlwave-shell-debug-modifiers} variable (@pxref{Lesson
2761 @defopt idlwave-shell-prefix-key (@kbd{C-c C-d})
2763 @code{idlwave-shell-mode-prefix-map}.
2766 @defopt idlwave-shell-activate-prefix-keybindings (@code{t})
2771 @defopt idlwave-shell-debug-modifiers (@code{nil})
2788 with @kbd{C-c C-d C-b} (@code{idlwave-shell-break-here}). With a
2796 use @kbd{C-c C-d C-d} (@code{idlwave-clear-current-bp}). When
2798 stopped will be deleted. To clear all breakpoints, use @kbd{C-c C-d
2799 C-a} (@code{idlwave-clear-all-bp}). Breakpoints can also be disabled
2801 (@code{idlwave-shell-toggle-enable-current-bp}).
2830 @tab Set breakpoint (@code{idlwave-shell-break-here})
2832 @tab Set breakpoint in module named here (@code{idlwave-shell-break-in})
2834 @tab Clear current breakpoint (@code{idlwave-shell-clear-current-bp})
2836 @tab Clear all breakpoints (@code{idlwave-shell-clear-all-bp})
2838 @tab Go to the previous breakpoint (@code{idlwave-shell-goto-previous-bp})
2840 @tab Go to the next breakpoint (@code{idlwave-shell-goto-next-bp})
2842 @tab Disable/Enable current breakpoint (@code{idlwave-shell-toggle-enable-current-bp})
2846 @tab Step, into function calls (@code{idlwave-shell-step})
2848 @tab Step, over function calls (@code{idlwave-shell-stepover})
2850 @tab Skip one statement (@code{idlwave-shell-skip})
2852 @tab Continue to end of block (@code{idlwave-shell-up})
2854 @tab Continue to end of function (@code{idlwave-shell-return})
2856 @tab Continue past end of function (@code{idlwave-shell-out})
2858 @tab Continue to line at cursor position (@code{idlwave-shell-to-here})
2860 @tab Continue execution to next breakpoint, if any (@code{idlwave-shell-cont})
2862 @tab Show higher level in calling stack (@code{idlwave-shell-stack-up})
2864 @tab Show lower level in calling stack (@code{idlwave-shell-stack-down})
2872 setting in @code{idlwave-shell-mark-stop-line}. If an overlay face is
2877 @defopt idlwave-shell-mark-breakpoints (@code{t})
2883 @defopt idlwave-shell-breakpoint-face
2885 @code{idlwave-shell-mark-breakpoints} has the value @code{face}.
2888 @defopt idlwave-shell-breakpoint-popup-menu (@code{t})
2893 @defopt idlwave-shell-mark-stop-line (@code{t})
2899 @defopt idlwave-shell-overlay-arrow (@code{">"})
2901 configured in @code{idlwave-shell-mark-stop-line}.
2904 @defopt idlwave-shell-stop-line-face
2906 configured in @code{idlwave-shell-mark-stop-line}.
2919 @kbd{C-c C-d C-c} (@code{idlwave-save-and-run}). This first saves the
2927 @kbd{C-c C-d C-y} (@code{idlwave-shell-execute-default-command-line}).
2929 closing all files and returning to the main interpreter level. Then a
2931 line, call @code{idlwave-shell-execute-default-command-line} with a
2939 level program @kbd{C-c C-d C-e} (@code{idlwave-shell-run-region}) is
2952 (@code{idlwave-shell-stack-up}) and @kbd{C-c C-d C-@key{DOWN}}
2953 (@code{idlwave-shell-stack-down}), or the corresponding toolbar buttons,
2986 @tab Clear all breakpoints (@code{idlwave-shell-clear-all-bp})
2988 @tab Set breakpoint, @kbd{C-u b} for a conditional break, @kbd{C-n b} for nth hit (@code{idlwave-sh…
2990 @tab Clear current breakpoint (@code{idlwave-shell-clear-current-bp})
2992 @tab Prompt for expression to print (@code{idlwave-shell-clear-current-bp}).
2994 @tab Continue to the line at cursor position (@code{idlwave-shell-to-here})
2996 @tab Set breakpoint in module named here (@code{idlwave-shell-break-in})
2998 @tab Go to the previous breakpoint in the file (@code{idlwave-shell-goto-previous-bp})
3001 (@code{idlwave-shell-goto-next-bp})
3003 @tab Disable/Enable current breakpoint (@code{idlwave-shell-toggle-enable-current-bp})
3005 @tab Set breakpoint at beginning of enclosing routine (@code{idlwave-shell-break-this-module})
3007 @tab Skip one statement (@code{idlwave-shell-skip})
3009 @tab Continue to end of function (@code{idlwave-shell-return})
3011 @tab Step, over function calls (@code{idlwave-shell-stepover})
3013 @tab Continue past end of function (@code{idlwave-shell-out})
3015 @tab Print expression near point or in region with @kbd{C-u p} (@code{idlwave-shell-print})
3018 (@code{idlwave-shell-retall})
3020 @tab Continue execution to next breakpoint, if any (@code{idlwave-shell-cont})
3022 @tab Step, into function calls (@code{idlwave-shell-step})
3026 @tab Continue to end of block (@code{idlwave-shell-up})
3029 (@code{idlwave-shell-electric-debug-mode})
3034 @tab Reset IDL (@code{idlwave-shell-reset})
3036 @tab Show higher level in calling stack (@code{idlwave-shell-stack-up})
3038 @tab Show lower level in calling stack (@code{idlwave-shell-stack-down})
3041 (@code{idlwave-shell-help-expression})
3063 the Shell's main level, use @kbd{q} (@code{idlwave-shell-retall}).
3064 This disables electric debug mode in all IDLWAVE buffers@footnote{Note
3066 @code{idlwave-shell-quit}, which quits your IDL session.}. Help is
3069 by setting the variable @code{idlwave-shell-automatic-electric-debug}
3074 @defopt idlwave-shell-automatic-electric-debug (@code{'breakpoint})
3076 or run-time error is encountered, and then disable it in all buffers
3084 @defopt idlwave-shell-electric-stop-color (Violet)
3088 @defopt idlwave-shell-electric-stop-line-face
3090 modeline, with color @code{idlwave-shell-electric-stop-color}.
3093 @defopt idlwave-shell-electric-zap-to-file (@code{t})
3131 If the variable @code{idlwave-shell-separate-examine-output} is
3132 non-@code{nil} (the default), all examine output will be sent to a
3150 @code{idlwave-shell-max-print-length}.
3169 calling routine, and so on, all the way up through the calling stack.
3172 through the calling stack). The following restrictions apply for all
3187 @defopt idlwave-shell-expression-face
3188 The face for @code{idlwave-shell-expression-overlay}.
3193 @defopt idlwave-shell-output-face
3194 The face for @code{idlwave-shell-output-overlay}.
3199 @defopt idlwave-shell-separate-examine-output (@code{t})
3204 @defopt idlwave-shell-max-print-length (200)
3216 @code{widget_info()}). Rather than attempt to include them all, IDLWAVE
3221 The most powerful and flexible mouse examine command of all is
3222 available on @kbd{C-S-mouse-2}. Just as for all the other mouse
3226 configured with the @code{idlwave-shell-examine-alist}
3239 @code{idlwave-shell-examine-alist} comes configured by default with a
3246 @code{idlwave-shell-examine} and @code{idlwave-shell-mouse-examine}.
3248 sharing all the same properties of the built-in examine commands.
3250 @code{idlwave-shell-examine-alist} values, e.g.:
3253 (add-hook 'idlwave-shell-mode-hook
3255 (idlwave-shell-define-key-both [s-down-mouse-2]
3256 (idlwave-shell-mouse-examine
3258 (idlwave-shell-define-key-both [f9] (idlwave-shell-examine
3260 (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
3262 (idlwave-shell-define-key-both [f11] (idlwave-shell-examine
3272 @defopt idlwave-shell-examine-alist
3275 examine command strings to send, after all instances of @code{___}
3420 @noindent To maintain the most comprehensive information about all IDL
3432 the file @file{idlw-rinfo.el}.
3435 IDLWAVE @emph{scans} all its @emph{buffers} in the current Emacs session
3439 command @kbd{C-c C-i} (@code{idlwave-update-routine-info}) can be used
3440 at any time to rescan all buffers.
3449 (@code{idlwave-update-routine-info}) can be used to explicitly update
3462 automatically loaded just like @file{idlw-rinfo.el}. @xref{User
3466 Loading all the routine and catalog information can be a time consuming
3473 set the variable @code{idlwave-init-rinfo-when-idle-after} to 0 (zero).
3476 load times.
3478 @defopt idlwave-init-rinfo-when-idle-after (@code{10})
3482 @defopt idlwave-scan-all-buffers-for-routine-info (@code{t})
3483 Non-@code{nil} means scan all buffers for IDL programs when updating
3487 @defopt idlwave-query-shell-for-routine-info (@code{t})
3491 @defopt idlwave-auto-routine-info-updates
3520 @code{idlwave-library-path} to allow library catalogs to be located, and
3524 to by @code{idlwave-path-file} (@file{~/.emacs.d/idlwave/idlpath.el}, by
3525 default). If @code{idlwave-auto-write-path} is enabled (which is the
3529 @defopt idlwave-auto-write-path (@code{t})
3535 @defopt idlwave-library-path
3540 @defopt idlwave-system-directory
3546 @defopt idlwave-config-directory (@file{~/.emacs.d/idlwave})
3582 scanned catalog). Since all catalogs are independent, they can be
3595 @noindent This will scan all directories recursively beneath the current and
3605 catalog all directories at or beneath this one.
3607 -d - Instead of scanning, delete all .idlwave_catalog files
3615 To re-load the library catalogs on the IDL path, force a system routine
3616 info update using a single prefix to @code{idlwave-update-routine-info}:
3619 @defopt idlwave-use-library-catalogs (@code{t})
3620 Whether to search for and load library catalogs. Disable if load
3635 (@file{.emacs.d/idlwave/idlusercat.el} by default). Although library catalogs
3649 catalog is all or nothing: if a single routine changes, the entire
3655 the variable @code{idlwave-library-path}, and the location of the IDL
3657 @code{idlwave-system-directory}, like this@footnote{The initial @samp{+}
3661 (setq idlwave-library-path
3663 (setq idlwave-system-directory "c:/RSI/IDL56/")
3669 The command @kbd{M-x idlwave-create-user-catalog-file} (or the menu item
3672 select some or all directories on the search path. Directories which
3678 button in the widget to scan all files in the selected directories and
3681 @code{idlwave-update-routine-info} with a double prefix argument:
3692 @defopt idlwave-special-lib-alist
3700 @cindex Shadows, load-path
3710 called "load-path shadows". IDLWAVE has several routines to scan for
3711 load path shadows. The output is placed into the special buffer
3722 @item @kbd{M-x idlwave-list-buffer-load-path-shadows}
3723 This command checks the names of all routines defined in the current
3726 @item @kbd{M-x idlwave-list-shell-load-path-shadows}.
3727 Checks all routines compiled under the shell for shadowing. This is
3732 @item @kbd{M-x idlwave-list-all-load-path-shadows}
3733 This command checks all routines accessible to IDLWAVE for conflicts.
3736 For these commands to work fully you need to scan the entire load path
3748 @code{idlwave-system-directory} to the value of the @code{!DIR} system
3750 variable and assumes that all files found on that path are system
3754 on the load path is routine info display (@pxref{Routine Info}).
3759 @cindex @file{idlw-rinfo.el}
3761 @cindex Perl program, to create @file{idlw-rinfo.el}
3766 @file{idlw-rinfo.el} file it produced, as described here, entirely
3772 manuals. The file @file{idlw-rinfo.el} contains the routine information
3784 @file{get_html_rinfo} which constructs the @file{idlw-rinfo.el} file by
3798 @code{idlwave-help-use-assistant}, enabled by default, controls
3804 @code{idlwave-help-browser-function} inherits the browser configured
3832 (setq idlwave-help-browser-function 'w3m-browse-url)
3849 (defadvice w3m-close-window (after idlwave-close activate)
3850 (if (boundp 'idlwave-help-frame)
3851 (idlwave-help-quit)))
3868 @b{Question:} You have all these complicated configuration options in
3883 will not work properly on all Emacs installations.
3897 (setq idlwave-shell-debug-modifiers '(control shift)
3898 idlwave-store-inquired-class t
3899 idlwave-shell-automatic-start t
3900 idlwave-main-block-indent 2
3901 idlwave-init-rinfo-when-idle-after 2
3902 idlwave-help-dir "~/lib/emacs/idlwave"
3903 idlwave-special-lib-alist '(("/idl-astro/" . "AstroLib")
3916 (setq idlwave-block-indent 3) ; Indentation settings
3917 (setq idlwave-main-block-indent 3)
3918 (setq idlwave-end-offset -3)
3919 (setq idlwave-continuation-indent 1)
3920 (setq idlwave-begin-line-comment "^;[^;]") ; Leave ";" but not ";;"
3922 (setq idlwave-surround-by-blank t) ; Turn on padding ops =,<,>
3923 (setq idlwave-pad-keyword nil) ; Remove spaces for keyword '='
3924 (setq idlwave-expand-generic-end t) ; convert END to ENDIF etc...
3925 (setq idlwave-reserved-word-upcase t) ; Make reserved words upper case
3927 (setq idlwave-abbrev-change-case nil) ; Don't force case of expansions
3928 (setq idlwave-hang-indent-regexp ": ") ; Change from "- " for auto-fill
3929 (setq idlwave-show-block nil) ; Turn off blinking to begin
3930 (setq idlwave-abbrev-move t) ; Allow abbrevs to move point
3931 (setq idlwave-query-class '((method-default . nil) ; No query for method
3940 (setq idlwave-help-browser-function 'w3m-browse-url
3946 (defadvice w3m-close-window (after idlwave-close activate)
3947 (if (boundp 'idlwave-help-frame)
3948 (idlwave-help-quit)))
3951 (add-hook 'idlwave-mode-hook
3956 (idlwave-auto-fill-mode 0) ; Turn off auto filling
3957 (setq idlwave-help-browser-function 'browse-url-w3)
3962 (idlwave-action-and-binding "=" '(idlwave-expand-equal 1 1))
3963 (idlwave-action-and-binding "<" '(idlwave-surround 1 1))
3964 (idlwave-action-and-binding ">" '(idlwave-surround 1 1 '(?-)))
3965 (idlwave-action-and-binding "&" '(idlwave-surround 1 1))
3968 (idlwave-action-and-binding "," '(idlwave-surround nil 1))
3969 (idlwave-action-and-binding "&" '(idlwave-surround 1 1))
3972 (idlwave-action-and-binding "->" '(idlwave-surround 0 -1 nil 2))
3977 (local-set-key [f5] 'idlwave-shell-break-here)
3978 (local-set-key [f6] 'idlwave-shell-clear-current-bp)
3983 (local-set-key "\n" 'idlwave-newline)
3984 ;; (local-set-key "\C-j" 'idlwave-newline) ; My preference.
3987 (define-abbrev idlwave-mode-abbrev-table
3988 (concat idlwave-abbrev-start-char "wb") "widget_base()"
3989 (idlwave-keyword-abbrev 1))
3990 (define-abbrev idlwave-mode-abbrev-table
3991 (concat idlwave-abbrev-start-char "on") "obj_new()"
3992 (idlwave-keyword-abbrev 1))
3997 (setq idlwave-shell-overlay-arrow "=>") ; default is ">"
3998 (setq idlwave-shell-use-dedicated-frame t) ; Make a dedicated frame
3999 (setq idlwave-shell-prompt-pattern "^WAVE> ") ; default is "^IDL> "
4000 (setq idlwave-shell-explicit-file-name "wave")
4001 (setq idlwave-shell-process-name "wave")
4002 (setq idlwave-shell-use-toolbar nil) ; No toolbar
4005 (add-hook 'idlwave-shell-mode-hook
4008 (idlwave-shell-define-key-both [s-down-mouse-2]
4009 (idlwave-shell-mouse-examine
4011 (idlwave-shell-define-key-both [f9] (idlwave-shell-examine
4013 (idlwave-shell-define-key-both [f10] (idlwave-shell-examine
4015 (idlwave-shell-define-key-both [f11] (idlwave-shell-examine
4035 with Emacs/IDLWAVE works with all bells and whistles, including
4049 (setq load-path (cons "c:/program files/IDLWAVE" load-path))
4053 (setq idlwave-library-path
4057 (setq idlwave-system-directory "c:/RSI/IDL63/")
4066 file under the names @file{idlwave.tar.gz}.
4094 @code{*Debugging*} in the mode-line. The buffer is read-only and all
4097 customize the variable @code{idlwave-shell-automatic-electric-debug}
4111 @code{idlwave-shell-explicit-file-name}. Note that you may need to
4164 @code{idlwave-shell-prompt-pattern} (@pxref{Starting the Shell}), e.g.,
4168 (setq idlwave-shell-prompt-pattern "^\r? ?\\(ENVI\\|IDL\\)> ")
4178 Emacs load-path (see the next entry). You can list the version being
4179 used with @kbd{C-h v idlwave-mode-version @key{RET}}.
4185 load file}}.
4190 You need to make sure your Emacs @emph{load-path} contains the directory
4196 (setq load-path (cons "/usr/local/share/emacs/site-lisp" load-path))
4199 @noindent You can check on your load-path value using @kbd{C-h v
4200 load-path @key{RET}}, and @kbd{C-h m} in an IDLWAVE buffer should show
4205 Actually, this isn't IDLWAVE at all, but @samp{idl-mode}, an unrelated
4209 Another solution: make sure @file{.idl} files load IDLWAVE instead of
4213 (setcdr (rassoc 'idl-mode auto-mode-alist) 'idlwave-mode)
4233 rescan all @file{.pro} files at or below @file{/path/to/myidllib} every
4235 method, and the most recent information will be available to all users.
4270 browse-url-browser-function} or similar when attempting to load IDLWAVE
4279 is to install all the packages when you install XEmacs (the so-called