Server IP : 111.118.215.189 / Your IP : 18.117.158.174 Web Server : Apache System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : a1673wkz ( 2475) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /usr/share/emacs/24.3/lisp/progmodes/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
;ELC ;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:26 2024 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/progmodes/idlw-shell.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\207" [require comint idlwave] 2) (defvar idlwave-shell-have-new-custom nil) (byte-code "\301\302\303\304\305\306\307\310&\210\311\312\313\314\307\302\315\316&\210\311\317\320\321\307\302\315\322&\210\311\323\303\324\307\302\315\325&\210\311\326\303\327\307\302\315\325&\210\311\330\331\332\307\302\315\333&\210\311\334\335\336\307\302\315\325&\210\311\337\335\340\307\302\315\341&\210\311\342\335\343\307\302\315\325&\210\311\344\345\346\307\302\315\322&\210\311\347\350\351\307\302\315\322&\210\311\352\335\353\307\302\315\325&\210\311\354\355\356\307\302\315\357&\210\311\360\335\361\307\302\315\325&\210\311\362\303\363\307\302\315\325&\210\311\364\365\366\307\302\315\322&\210\311\367\370\371\307\302\315\372&\210\311\373\374\375\307\302\315\376&\210\301\377\303\201@ \305\306\307\310&\210\311\201A \201B \201C \307\377\315\322&\210\311\201D \335\201E \307\377\315\325&\210\311\201F \201G \201H \307\377\315\201I &\210\311\201J \201K \201L \307\377\315\201M &\210\311\201N \201O \201P \307\377\315\201Q &\210\311\201R \201S \201T \307\377\315\201U &\210\311\201V \335\201W \307\377\315\325&\210\311\201X \201Y \201Z \307\377\315\201[ &\210\311\201\\ \335\201] \307\377\315\325&\210\311\201^ \303\201_ \307\377\315\325&\210\311\201` \201a \201b \307\377\315\201c &\210\311\201d \335\201e \307\377\315\325&\210\311\201f \303\201g \307\377\315\325&\210\301\201h \303\201i \305\306\307\310&\210\311\201j \335\201k \307\201h \315\201l &\210\311\201m \201n \201o \307\201h \315\322&\210\311\201p \201q \201r \307\201h \315\201s &\210\311\201t \201u \201v \307\201h \315\322&\210\311\201w \201x \201y \307\201h \315\201s &\210\311\201z \335\201{ \307\201h \315\201| &\210\311\201} \201~ \201 \307\201h \315\201s &\210\204\\\201\200 \201\201 \201\202 \"\210\202n\201\203 \201\202 \201\204 \201\205 \307\201h %\210\311\201\206 \201\207 \201\210 \307\201h \315\201s &\210\204\225\201\200 \201\201 \201\211 \"\210\202\247\201\203 \201\211 \201\212 \201\205 \307\201h %\210\311\201\213 \201\214 \201\215 \307\201h \315\201s &\210\311\201\216 \201\217 \201\220 \307\201h \315\201s &\207" [idlwave-shell-have-new-custom custom-declare-group idlwave-shell-general-setup nil "General setup of the Shell interaction for IDLWAVE/Shell." :prefix "idlwave-shell" :group idlwave custom-declare-variable idlwave-shell-prompt-pattern "^ ? ?IDL> " "Regexp to match IDL prompt at beginning of a line.\nFor example, \"^ ?IDL> \" or \"^ ?WAVE> \".\nThe \"^ ?\" is needed, to indicate the beginning of the line, with\noptional return character (which IDL seems to output randomly).\nThis variable is used to initialize `comint-prompt-regexp' in the\nprocess buffer." :type regexp idlwave-shell-process-name "idl" "Name to be associated with the IDL process. The buffer for the\nprocess output is made by surrounding this name with `*'s." string idlwave-shell-use-dedicated-window "Non-nil means, never replace the shell frame with another buffer." boolean idlwave-shell-use-dedicated-frame "Non-nil means, IDLWAVE should use a special frame to display shell buffer." idlwave-shell-frame-parameters '((height . 30) (unsplittable)) "The frame parameters for a dedicated idlwave-shell frame.\nSee also `idlwave-shell-use-dedicated-frame'.\nThe default makes the frame splittable, so that completion works correctly." (repeat (cons symbol sexp)) idlwave-shell-raise-frame t "Non-nil means, `idlwave-shell' raises the frame showing the shell window." idlwave-shell-arrows-do-history "Non-nil means UP and DOWN arrows move through command history.\nThis variable can have 3 values:\nnil Arrows just move the cursor\nt Arrows force the cursor back to the current command line and\n walk the history\n'cmdline When the cursor is in the current command line, arrows walk the\n history. Everywhere else in the buffer, arrows move the cursor." (choice (const :tag "never" nil) (const :tag "everywhere" t) (const :tag "in command line only" cmdline)) idlwave-shell-use-toolbar "Non-nil means, use the debugging toolbar in all IDL related buffers.\nStarting the shell will then add the toolbar to all idlwave-mode buffers.\nExiting the shell will removed everywhere.\nAvailable on XEmacs and on Emacs 21.x or later.\nAt any time you can toggle the display of the toolbar with\n`C-c C-d C-t' (`idlwave-shell-toggle-toolbar')." idlwave-shell-temp-pro-prefix "/tmp/idltemp" "The prefix for temporary IDL files used when compiling regions.\nIt should be an absolute pathname.\nThe full temporary file name is obtained by using `make-temp-file'\nso that the name will be unique among multiple Emacs processes." idlwave-shell-prefix-key "" "The prefix key for the debugging map `idlwave-shell-mode-prefix-map'.\nThis variable must already be set when idlwave-shell.el is loaded.\nSetting it in the mode-hook is too late." idlwave-shell-activate-prefix-keybindings "Non-nil means, the debug commands will be bound to the prefix key.\nThe prefix key itself is given in the option `idlwave-shell-prefix-key'.\nSo by default setting a breakpoint will be on C-c C-d C-b." idlwave-shell-automatic-electric-debug 'breakpoint "Enter the electric-debug minor mode automatically.\nThis occurs at a breakpoint or any other halt. The mode is exited\nupon return to the main level. Can be set to 'breakpoint to enter\nelectric debug mode only when breakpoints are tripped." (choice (const :tag "never" nil) (const :tag "always" t) (const :tag "for breakpoints only" breakpoint)) idlwave-shell-electric-zap-to-file "When entering electric debug mode, select the window displaying the\nfile at which point is stopped. This takes point away from the shell\nwindow, but is useful for stepping, etc." idlwave-shell-use-truename "Non-nil means, use `file-truename' when looking for buffers.\nIf this variable is non-nil, Emacs will use the function `file-truename' to\nresolve symbolic links in the file paths printed by e.g., STOP commands.\nThis means, unvisited files will be loaded under their truename.\nHowever, when a file is already visited under a different name, IDLWAVE will\nreuse that buffer.\nThis option was once introduced in order to avoid multiple buffers visiting\nthe same file. However, IDLWAVE no longer makes this mistake, so it is safe\nto set this option to nil." idlwave-shell-file-name-chars "~/A-Za-z0-9+:_.$#%={}\\- " "The characters allowed in file names, as a string.\nUsed for file name completion. Must not contain `'', `,' and `\"'\nbecause these are used as separators by IDL." idlwave-shell-mode-hook 'nil "Hook for customizing `idlwave-shell-mode'." hook idlwave-shell-graphics-window-size '(500 400) "Size of IDL graphics windows popped up by special IDLWAVE command.\nThe command is `C-c C-d C-f' and accepts as a prefix the window nr.\nA command like `WINDOW,N,xsize=XX,ysize=YY' is sent to IDL." (list (integer :tag "x size") (integer :tag "y size")) idlwave-shell-command-setup "Setup for command parameters of the Shell interaction for IDLWAVE." idlwave-shell-initial-commands "!more=0 & defsysv,'!ERROR_STATE',EXISTS=__e & if __e then begin & !ERROR_STATE.MSG_PREFIX=\"% \" & delvar,__e & endif" "Initial commands, separated by newlines, to send to IDL.\nThis string is sent to the IDL process by `idlwave-shell-mode' which is\ninvoked by `idlwave-shell'." idlwave-shell-save-command-history "Non-nil means preserve command history between sessions.\nThe file `idlwave-shell-command-history-file' is used to save and restore\nthe history." idlwave-shell-command-history-file "idlwhist" "The file in which the command history of the idlwave shell is saved.\nIn order to change the size of the history, see the variable\n`comint-input-ring-size'.\nThe history is only saved if the variable `idlwave-shell-save-command-history'\nis non-nil." file idlwave-shell-show-commands '(run misc breakpoint) "A list of command types to show output from in the shell.\nPossibilities are 'run, 'debug, 'breakpoint, and 'misc. Unselected\ntypes are not displayed in the shell. The type 'everything causes all\nthe copious shell traffic to be displayed." (choice (const everything) (set :tag "Checklist" :greedy t (const :tag "All .run and .compile commands" run) (const :tag "All breakpoint commands" breakpoint) (const :tag "All debug and stepping commands" debug) (const :tag "Close, window, retall, etc. commands" misc))) idlwave-shell-max-print-length 200 "Maximum number of array elements to print when examining." integer idlwave-shell-examine-alist `(("Print" \, (concat "idlwave_print_safe,___," (number-to-string idlwave-shell-max-print-length))) ("Help" . "help,___") ("Structure Help" . "help,___,/STRUCTURE") ("Dimensions" . "print,size(___,/DIMENSIONS)") ("Type" . "print,size(___,/TNAME)") ("N_Elements" . "print,n_elements(___)") ("All Size Info" . "help,(__IWsz__=size(___,/STRUCTURE)),/STRUCTURE & print,__IWsz__.DIMENSIONS") ("Ptr Valid" . "print,ptr_valid(___)") ("Arg Present" . "print,arg_present(___)") ("Widget Valid" . "print,widget_info(___,/VALID)") ("Widget Geometry" . "help,widget_info(___,/GEOMETRY)")) "Alist of special examine commands for popup selection.\nThe keys are used in the selection popup created by\n`idlwave-shell-examine-select', and the corresponding value is sent as\na command to the shell, with special sequence `___' replaced by the\nexpression being examined." (repeat (cons (string :tag "Label ") (string :tag "Command"))) idlwave-shell-separate-examine-output "Non-nil means, put output of examine commands in their own buffer." idlwave-shell-comint-settings '((comint-scroll-to-bottom-on-input . t) (comint-scroll-to-bottom-on-output . t) (comint-scroll-show-maximum-output) (comint-prompt-read-only . t)) "Alist of special settings for the comint variables in the IDLWAVE Shell.\nEach entry is a cons cell with the name of a variable and a value.\nThe function `idlwave-shell-mode' will make local variables out of each entry.\nChanges to this variable will only be active when the shell buffer is\nnewly created." (repeat (cons variable sexp)) idlwave-shell-query-for-class "Non-nil means query the shell for object class on object completions." idlwave-shell-use-input-mode-magic "Non-nil means, IDLWAVE should check for input mode spells in output.\nThe spells are strings printed by your IDL program and matched\nby the regular expressions in `idlwave-shell-input-mode-spells'.\nWhen these expressions match, IDLWAVE switches to character input mode and\nback, respectively. See `idlwave-shell-input-mode-spells' for details." idlwave-shell-input-mode-spells '("^<onechar>$" "^<chars>$" "^</chars>$") "The three regular expressions which match the magic spells for input modes.\n\nWhen the first regexp matches in the output stream of IDL, IDLWAVE\nprompts for a single character and sends it immediately to IDL, similar\nto the command \\[idlwave-shell-send-char].\n\nWhen the second regexp matches, IDLWAVE switches to a blocking\nsingle-character input mode. This is the same mode which can be entered\nmanually with \\[idlwave-shell-char-mode-loop].\nThis input mode exits when the third regexp matches in the output,\nor when the IDL prompt is encountered.\n\nThe variable `idlwave-shell-use-input-mode-magic' must be non-nil to enable\nscanning for these expressions. If the IDL program produces lots of\noutput, shell operation may be slowed down.\n\nThis mechanism is useful for correct interaction with the IDL function\nGET_KBRD, because in normal operation IDLWAVE only sends \\n terminated\nstrings. Here is some example code which makes use of the default spells.\n\n print,'<chars>' ; Make IDLWAVE switch to character mode\n REPEAT BEGIN\n A = GET_KBRD(1)\n PRINT, BYTE(A)\n ENDREP UNTIL A EQ 'q'\n print,'</chars>' ; Make IDLWAVE switch back to line mode\n\n print,'Quit the program, y or n?'\n print,'<onechar>' ; Ask IDLWAVE to send one character\n answer = GET_KBRD(1)\n\nSince the IDLWAVE shell defines the system variable `!IDLWAVE_VERSION',\nyou could actually check if you are running under Emacs before printing\nthe magic strings. Here is a procedure which uses this.\n\nUsage:\n======\nidlwave_char_input ; Make IDLWAVE send one character\nidlwave_char_input,/on ; Start the loop to send characters\nidlwave_char_input,/off ; End the loop to send characters\n\n\npro idlwave_char_input,on=on,off=off\n ;; Test if we are running under Emacs\n defsysv,'!idlwave_version',exists=running_emacs\n if running_emacs then begin\n if keyword_set(on) then print,'<chars>' $\n else if keyword_set(off) then print,'</chars>' $\n else print,'<onechar>'\n endif\nend" (list (regexp :tag "One-char regexp") (regexp :tag "Char-mode regexp") (regexp :tag "Line-mode regexp")) idlwave-shell-breakpoint-popup-menu "If non-nil, provide a menu on mouse-3 on breakpoint lines, and\npopup help text on the line." idlwave-shell-reset-no-prompt "If non-nil, skip the yes/no prompt when resetting the IDL session." idlwave-shell-highlighting-and-faces "Highlighting and faces used by the IDLWAVE Shell mode." idlwave-shell-mark-stop-line "Non-nil means, mark the source code line where IDL is currently stopped.\nValue decides about the method which is used to mark the line. Valid values\nare:\n\nnil Do not mark the line\n'arrow Use the overlay arrow\n'face Use `idlwave-shell-stop-line-face' to highlight the line.\nt Use what IDLWAVE thinks is best. Will be a face where possible,\n otherwise the overlay arrow.\nThe overlay-arrow has the disadvantage to hide the first chars of a line.\nSince many people do not have the main block of IDL programs indented,\na face highlighting may be better.\nIn Emacs 21, the overlay arrow is displayed in a special area and never\nhides any code, so setting this to 'arrow on Emacs 21 sounds like a good idea." (choice (const :tag "No marking" nil) (const :tag "Use overlay arrow" arrow) (const :tag "Highlight with face" face) (const :tag "Face or arrow." t)) idlwave-shell-overlay-arrow ">" "The overlay arrow to display at source lines where execution halts.\nWe use a single character by default, since the main block of IDL procedures\noften has no indentation. Where possible, IDLWAVE will use overlays to\ndisplay the stop-lines. The arrow is only used on character-based terminals.\nSee also `idlwave-shell-use-overlay-arrow'." idlwave-shell-stop-line-face 'highlight "The face for `idlwave-shell-stop-line-overlay'.\nAllows you to choose the font, color and other properties for\nline where IDL is stopped. See also `idlwave-shell-mark-stop-line'." symbol idlwave-shell-electric-stop-color "Violet" "The color for the default face or overlay arrow when stopped." idlwave-shell-electric-stop-line-face (prog1 (copy-face 'mode-line 'idlwave-shell-electric-stop-line) (set-face-background 'idlwave-shell-electric-stop-line idlwave-shell-electric-stop-color) (condition-case nil (set-face-foreground 'idlwave-shell-electric-stop-line nil) (error nil))) "The face for `idlwave-shell-stop-line-overlay' when in electric debug mode.\nAllows you to choose the font, color and other properties for the line\nwhere IDL is stopped, when in Electric Debug Mode." idlwave-shell-mark-breakpoints "Non-nil means, mark breakpoints in the source files.\nValid values are:\nnil Do not mark breakpoints.\n'face Highlight line with `idlwave-shell-breakpoint-face'.\n'glyph Red dot at the beginning of line. If the display does not\n support glyphs, will use 'face instead.\nt Glyph when possible, otherwise face (same effect as 'glyph)." (choice (const :tag "No marking" nil) (const :tag "Highlight with face" face) (const :tag "Display glyph (red dot)" glyph) (const :tag "Glyph or face." t)) idlwave-shell-breakpoint-face 'idlwave-shell-bp "The face for breakpoint lines in the source code.\nAllows you to choose the font, color and other properties for\nlines which have a breakpoint. See also `idlwave-shell-mark-breakpoints'." copy-face underline idlwave-shell-bp custom-declare-face ((((class color)) (:foreground "Black" :background "Pink")) (t (:underline t))) "Face for highlighting lines with breakpoints." idlwave-shell-disabled-breakpoint-face 'idlwave-shell-disabled-bp "The face for disabled breakpoint lines in the source code.\nAllows you to choose the font, color and other properties for\nlines which have a breakpoint. See also `idlwave-shell-mark-breakpoints'." idlwave-shell-disabled-bp ((((class color)) (:foreground "Black" :background "gray")) (t (:underline t))) idlwave-shell-expression-face 'secondary-selection "The face for `idlwave-shell-expression-overlay'.\nAllows you to choose the font, color and other properties for\nthe expression printed by IDL." idlwave-shell-output-face 'secondary-selection "The face for `idlwave-shell-output-overlay'.\nAllows you to choose the font, color and other properties for\nthe expression output by IDL."] 8) #@64 Absolute pathname for temporary IDL file for compiling regions (defvar idlwave-shell-temp-pro-file nil (#$ . 17654)) #@164 Absolute pathname for temporary IDL file save file for routine_info. This is used to speed up the reloading of the routine info procedure before use by the shell. (defvar idlwave-shell-temp-rinfo-save-file nil (#$ . 17778)) #@178 Return a temp file, creating it if necessary. TYPE is either 'pro' or 'rinfo', and `idlwave-shell-temp-pro-file' or `idlwave-shell-temp-rinfo-save-file' is set (respectively). (defalias 'idlwave-shell-temp-file #[(type) "\304=\203 \206&