;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\302\303!\210\302\304!\210\302\305\306\307\310\206 !\"\"\210\302\311!\207" [load-file-name byte-compile-current-file require comint shell tuareg expand-file-name "tuareg" file-name-directory derived] 6) (defvar ocamldebug-filter-accumulator nil) (defvar ocamldebug-current-buffer nil) #@50 A regexp to recognize the prompt for ocamldebug. (defvar ocamldebug-prompt-pattern "^(\\(ocd\\|cdb\\)) *" (#$ . 387)) #@62 Overlay for displaying the first/last char of current event. (defvar ocamldebug-overlay-event (byte-code "\300``\"\301\302\303#\210\304!\210\207" [make-overlay overlay-put face ocamldebug-event delete-overlay] 5) (#$ . 511)) #@51 Overlay for displaying the rest of current event. (defvar ocamldebug-overlay-under (byte-code "\300``\"\301\302\303#\210\304!\210\207" [make-overlay overlay-put face ocamldebug-underline delete-overlay] 5) (#$ . 744)) #@42 Marker for displaying the current event. (defvar ocamldebug-event-marker (make-marker) (#$ . 970)) #@71 *If non-nil, always display current frame position in another window. (defvar ocamldebug-track-frame t (#$ . -1075)) (byte-code "\300\301\302\303\304\305%\210\300\306\307\310\304\305%\207" [custom-declare-face ocamldebug-event ((t :invert t)) "Face to highlight the first/last char of current event." :group tuareg ocamldebug-underline ((t :underline t)) "Face to highlight the rest of current event."] 6) #@69 Keymap bound to prefix keys in `ocamldebug-mode' and `tuareg-mode'. (defvar ocamldebug-prefix-map (make-sparse-keymap) (#$ . 1487)) (define-key tuareg-mode-map "" ocamldebug-prefix-map) (defvar ocamldebug-mode-map (byte-code "\301 \302\303#\210\302\304\305#\210\302\306\307#\210\207" [ocamldebug-prefix-map make-sparse-keymap define-key "" "\f" ocamldebug-refresh "\277" comint-dynamic-list-completions] 5)) (defvar ocamldebug-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [ocamldebug-mode-hook variable-documentation put "Hook run after entering OCaml-Debugger mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp ocamldebug-mode-map definition-name ocamldebug-mode] 4) (defvar ocamldebug-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [ocamldebug-mode-abbrev-table ocamldebug-mode-map variable-documentation put purecopy "Keymap for `ocamldebug-mode'." boundp ocamldebug-mode-syntax-table definition-name ocamldebug-mode (lambda (#1=#:def-tmp-var) (defvar ocamldebug-mode-syntax-table #1#)) make-syntax-table "Syntax table for `ocamldebug-mode'." (lambda (#1#) (defvar ocamldebug-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `ocamldebug-mode'." derived-mode-parent comint-mode] 5) #@937 Major mode for interacting with an ocamldebug process. The following commands are available: \{ocamldebug-mode-map} \[ocamldebug-display-frame] displays in the other window the last line referred to in the ocamldebug buffer. \[ocamldebug-step], \[ocamldebug-back] and \[ocamldebug-next], in the ocamldebug window, call ocamldebug to step, backstep or next and then update the other window with the current file and position. If you are in a source file, you may select a point to break at, by doing \[ocamldebug-break]. Commands: Many commands are inherited from comint mode. Additionally we have: \[ocamldebug-display-frame] display frames file in other window \[ocamldebug-step] advance one line in program C-x SPACE sets break point at current line. In addition to any hooks its parent mode `comint-mode' might have run, this mode runs the hook `ocamldebug-mode-hook', as the final or penultimate step during initialization. (defalias 'ocamldebug-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R .=\204R\326 \325.C#\210\327 !\210\330\f!\210 .\306\331!\210\332\306\333!\210\334 \306\335!\210\336\306\337!\210\340\306\341!\210/!\342\343\344\332\345$\210\306\346!\210\307&\306\347!\210!'\306\350!\210\307(\306\351!\210\307)\342\352\353\332\307$\210)\354\355!\207" [delay-mode-hooks major-mode mode-name ocamldebug-mode-map ocamldebug-mode-syntax-table ocamldebug-mode-abbrev-table make-local-variable t comint-mode ocamldebug-mode "OCaml-Debugger" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table ocamldebug-last-frame nil ocamldebug-delete-prompt-marker make-marker ocamldebug-filter-accumulator "" ocamldebug-filter-function ocamldebug-marker-filter comint-prompt-regexp add-hook comint-dynamic-complete-functions ocamldebug-capf local comint-prompt-read-only paragraph-start ocamldebug-last-frame-displayed-p shell-dirtrackp comint-input-filter-functions shell-directory-tracker run-mode-hooks ocamldebug-mode-hook local-abbrev-table ocamldebug-prompt-pattern] 5 (#$ . 3113) nil]) #@12 (fn ARG) (defalias 'ocamldebug-numeric-arg #[257 "\211\205\300!\207" [prefix-numeric-value] 3 (#$ . 5434)]) #@1016 Define ocamldebug-NAME to be a command sending NAME ARGS and bound to KEY, with optional doc string DOC. Certain %-escapes in ARGS are interpreted specially if present. These are: %m module name of current module. %d directory of current source file. %c number of current character position %e text of the OCaml variable surrounding point. The `current' source file is the file of the current buffer (if we're in an OCaml buffer) or the source file current at the last break or step (if we're in the ocamldebug buffer), and the `current' module name is the filename stripped of any *.ml* suffixes (this assumes the usual correspondence between module and file naming is observed). The `current' position is that of the current buffer (if we're in a source file) or the position of the last break or step (if we're in the ocamldebug buffer). If a numeric is present, it overrides any ARGS flags and its string representation is simply concatenated with the COMMAND. (fn NAME KEY &optional DOC ARGS) (defalias 'def-ocamldebug '(macro . #[1026 "\300\301\302\"!\303\205\304\305\306\307  \310BBB\257\311\312\313DFE\207" [intern format "ocamldebug-%s" progn defun (arg) (interactive "P") ocamldebug-call ((ocamldebug-numeric-arg arg)) define-key ocamldebug-prefix-map quote] 15 (#$ . 5555)])) #@46 Step one source line with display. (fn ARG) (defalias 'ocamldebug-step #[257 "\300\301\302\303!#\207" [ocamldebug-call "step" nil ocamldebug-numeric-arg] 6 (#$ . 6880) "P"]) (define-key ocamldebug-prefix-map "" 'ocamldebug-step) #@28 Run the program. (fn ARG) (defalias 'ocamldebug-run #[257 "\300\301\302\303!#\207" [ocamldebug-call "run" nil ocamldebug-numeric-arg] 6 (#$ . 7118) "P"]) (define-key ocamldebug-prefix-map "" 'ocamldebug-run) #@39 Run the program in reverse. (fn ARG) (defalias 'ocamldebug-reverse #[257 "\300\301\302\303!#\207" [ocamldebug-call "reverse" nil ocamldebug-numeric-arg] 6 (#$ . 7335) "P"]) (define-key ocamldebug-prefix-map "" 'ocamldebug-reverse) #@51 Go to latest time in execution history. (fn ARG) (defalias 'ocamldebug-last #[257 "\300\301\302\303!#\207" [ocamldebug-call "last" nil ocamldebug-numeric-arg] 6 (#$ . 7575) "P"]) (define-key ocamldebug-prefix-map "\f" 'ocamldebug-last) #@33 Print the call stack. (fn ARG) (defalias 'ocamldebug-backtrace #[257 "\300\301\302\303!#\207" [ocamldebug-call "backtrace" nil ocamldebug-numeric-arg] 6 (#$ . 7819) "P"]) (define-key ocamldebug-prefix-map "" 'ocamldebug-backtrace) #@36 Open the current module. (fn ARG) (defalias 'ocamldebug-open #[257 "\300\301\302\303!#\207" [ocamldebug-call "open" "%m" ocamldebug-numeric-arg] 6 (#$ . 8059) "P"]) (define-key ocamldebug-prefix-map "" 'ocamldebug-open) #@37 Close the current module. (fn ARG) (defalias 'ocamldebug-close #[257 "\300\301\302\303!#\207" [ocamldebug-call "close" "%m" ocamldebug-numeric-arg] 6 (#$ . 8288) "P"]) (define-key ocamldebug-prefix-map "" 'ocamldebug-close) #@46 Finish executing current function. (fn ARG) (defalias 'ocamldebug-finish #[257 "\300\301\302\303!#\207" [ocamldebug-call "finish" nil ocamldebug-numeric-arg] 6 (#$ . 8521) "P"]) (define-key ocamldebug-prefix-map "" 'ocamldebug-finish) #@43 Print value of symbol at point. (fn ARG) (defalias 'ocamldebug-print #[257 "\300\301\302\303!#\207" [ocamldebug-call "print" "%e" ocamldebug-numeric-arg] 6 (#$ . 8765) "P"]) (define-key ocamldebug-prefix-map "" 'ocamldebug-print) #@49 Step one source line (skip functions) (fn ARG) (defalias 'ocamldebug-next #[257 "\300\301\302\303!#\207" [ocamldebug-call "next" nil ocamldebug-numeric-arg] 6 (#$ . 9004) "P"]) (define-key ocamldebug-prefix-map "" 'ocamldebug-next) #@59 Go up N stack frames (numeric arg) with display (fn ARG) (defalias 'ocamldebug-up #[257 "\300\301\302\303!#\207" [ocamldebug-call "up" nil ocamldebug-numeric-arg] 6 (#$ . 9245) "P"]) (define-key ocamldebug-prefix-map "<" 'ocamldebug-up) #@61 Go down N stack frames (numeric arg) with display (fn ARG) (defalias 'ocamldebug-down #[257 "\300\301\302\303!#\207" [ocamldebug-call "down" nil ocamldebug-numeric-arg] 6 (#$ . 9490) "P"]) (define-key ocamldebug-prefix-map ">" 'ocamldebug-down) #@43 Set breakpoint at current line. (fn ARG) (defalias 'ocamldebug-break #[257 "\300\301\302\303!#\207" [ocamldebug-call "break" "@ \"%m\" # %c" ocamldebug-numeric-arg] 6 (#$ . 9743) "P"]) (define-key ocamldebug-prefix-map "" 'ocamldebug-break) #@15 (fn STRING) (defalias 'ocamldebug-kill-filter #[257 "P\303\304\"\203\305\306\307\"B\310\303\n\"\203,\311\224\312O\312\311\211\224SOB\310\207\310\207" [ocamldebug-filter-accumulator ocamldebug-kill-output comint-prompt-regexp string-match "\\(.* \\)(y or n) " t match-string 1 "" 0 nil] 6 (#$ . 9993)]) (define-key ocamldebug-prefix-map " " 'ocamldebug-kill) #@19 Kill the program. (defalias 'ocamldebug-kill #[0 "\304r q\210\305p!\306\307\310!\210\203 G\311U\204!\312!\210\202)\210)@\2040\313A!\202B\314\315!\210\316\317A!\203@\320\202A\321!)\207" [ocamldebug-kill-output ocamldebug-current-buffer ocamldebug-filter-function ocamldebug-filter-accumulator nil get-buffer-process ocamldebug-kill-filter ocamldebug-call "kill" 0 accept-process-output error sit-for 0.3 ocamldebug-call-1 y-or-n-p "y" "n"] 3 (#$ . 10374) nil]) #@15 (fn STRING) (defalias 'ocamldebug-goto-filter #[257 "P\304\305 \306Q\"\204\304\307 \310Q\"\203$\311\312\"\313\225S\314O\304 \"\2033\n\2060\315\316\304\317\"\203?\311\320\"\316\207" [ocamldebug-filter-accumulator ocamldebug-goto-position ocamldebug-goto-output comint-prompt-regexp string-match "\\(\n\\|\\`\\)[ ]*\\([0-9]+\\)[ ]+" "-[0-9]+[ ]*\\(before\\).*\n" "\\(\n\\|\\`\\)[ ]*\\([0-9]+\\)[ ]+[0-9]+-" "[ ]*\\(after\\).*\n" match-string 2 0 nil fail "" "\n\\(.*\\)\\'" 1] 5 (#$ . 10856)]) (define-key ocamldebug-prefix-map "" 'ocamldebug-goto) #@469 Go to the execution time TIME. Without TIME, the command behaves as follows: In the ocamldebug buffer, if the point at buffer end, goto time 0; otherwise, try to obtain the time from context around point. In an OCaml buffer, try to find the time associated in execution history with the current point location. With a negative TIME, move that many lines backward in the ocamldebug buffer, then try to obtain the time from context around point. (fn &optional TIME) (defalias 'ocamldebug-goto #[256 "\211\203<\305!\211\306Y\203\307\310\311#\207\312 r\313\314\"\216\315\316!!\210\212\317\320\311\321\322Z$\2034\323\311!\202:\324\325\322Z\"+\207p=\203im\203J\306\202c\212\326\322!\210\327\330!)\203^\331\332\322!!\202c\331\333\334!!\307\310\311#\207\335\336 !\337`S!\311\211rq\210\340p!\341\342\343P!\210 \203\222\fG\306U\204\231\344!\210\202\207 \345=?\205\260\317\346 \347\350\260\311\321#\210\332\322!\262)\210)\211\203\303\307\310\311\331!#\202\310\324\351\n#*\207" [ocamldebug-current-buffer ocamldebug-goto-output ocamldebug-goto-position ocamldebug-filter-function ocamldebug-filter-accumulator ocamldebug-numeric-arg 0 ocamldebug-call "goto" nil internal--before-save-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-save-selected-window] 2] select-window get-buffer-window re-search-backward "^Time : [0-9]+ - pc : [0-9]+ " t 1 ocamldebug-goto error "I don't have %d times in my history" beginning-of-line looking-at "^Time : \\([0-9]+\\) - pc : [0-9]+ " string-to-number match-string ocamldebug-format-command "%e" ocamldebug-module-name buffer-file-name int-to-string get-buffer-process ocamldebug-goto-filter ocamldebug-call-1 "info events " accept-process-output fail "^Time : \\([0-9]+\\) - pc : " " - module " "$" "No time at %s at %s"] 12 (#$ . 11440) "P"]) #@15 (fn STRING) (defalias 'ocamldebug-delete-filter #[257 "P\305\306\307 !\310\n\311\260\"\203\312\313\"\314\225S\315O\305\f\"\203. \206+\316\317\305\320\"\203:\312\321\"\317\207" [ocamldebug-filter-accumulator ocamldebug-delete-file ocamldebug-delete-position ocamldebug-delete-output comint-prompt-regexp string-match "\\(\n\\|\\`\\)[ ]*\\([0-9]+\\)[ ]+[0-9]+[ ]*in " regexp-quote ", character " "\n" match-string 2 0 nil fail "" "\n\\(.*\\)\\'" 1] 7 (#$ . 13280)]) (define-key ocamldebug-prefix-map "" 'ocamldebug-delete) #@424 Delete the breakpoint numbered ARG. Without ARG, the command behaves as follows: In the ocamldebug buffer, try to obtain the time from context around point. In an OCaml buffer, try to find the breakpoint associated with the current point location. With a negative ARG, look for the -ARGth breakpoint pattern in the ocamldebug buffer, then try to obtain the breakpoint info from context around point. (fn &optional ARG) (defalias 'ocamldebug-delete #[256 "\211\2030\306!\211\307V\203\310\311\312#\207rq\210\313\314\312\315\316Z$\203(\317\312!\202.\320\321\316Z\")\207p=\203im\203J\212\313\322\312\315#\210)\323\324\316!!\202c\212\325\316!\210\326\322!)\203^\323\324\316!!\202c\323\327\330!!\310\311\312#\207\327\331!\332P\327\333!rq\210\334p!\335\312\336\337!\210 \203\215 G\307U\204\224\340!\210\202\202 \341=\203\242\320\342\n #\202\251\310\311\312\323 !#*\262+\207" [ocamldebug-current-buffer ocamldebug-delete-position ocamldebug-delete-file ocamldebug-delete-output ocamldebug-filter-function ocamldebug-filter-accumulator ocamldebug-numeric-arg 0 ocamldebug-call "delete" nil re-search-backward "^Breakpoint [0-9]+ at [0-9]+ : file " t 1 ocamldebug-delete error "I don't have %d breakpoints in my history" "^Breakpoint \\([0-9]+\\) at [0-9]+ : file " string-to-number match-string beginning-of-line looking-at ocamldebug-format-command "%e" "%m" ".ml" "%c" get-buffer-process ocamldebug-delete-filter ocamldebug-call-1 "info break" accept-process-output fail "No breakpoint in %s at %s"] 8 (#$ . 13834) "P"]) #@15 (fn STRING) (defalias 'ocamldebug-complete-filter #[257 "P\303\304\"\203\305\306\" B\307\225S\310O\202\303\n\"\203+ \206(\311\312\303\313\"\2037\305\314\"\312\207" [ocamldebug-filter-accumulator ocamldebug-complete-list comint-prompt-regexp string-match "\\(\n\\|\\`\\)\\(.+\\)\n" match-string 2 0 nil fail "" "\n\\(.*\\)\\'" 1] 4 (#$ . 15387)]) #@63 Perform completion on the ocamldebug command preceding point. (defalias 'ocamldebug-complete #[0 "\300 \211@A@{\301@A@\302\303\3048\"\305\"#\207" [ocamldebug-capf completion-in-region sort all-completions 2 string-lessp] 10 (#$ . 15762) nil]) (make-obsolete 'ocamldebug-complete 'completion-at-point "24.1") (defalias 'ocamldebug-capf #[0 "`\212\301 \210\302!\203\303\225\202`)\212\304x\210`)\211\305\306\307{\"!E\207" [comint-prompt-regexp beginning-of-line looking-at 0 "^ \n" completion-table-dynamic apply-partially ocamldebug--get-completions] 10]) #@27 (fn COMMAND-PREFIX STR) (defalias 'ocamldebug--get-completions #[514 "\304\211G\305V\203\211\305GSO\262\306\307\310Q!\210\n\304\211\223\210\203* G\305U\2043\311\312p!!\210\202)\313=?\205<)\207" [ocamldebug-complete-list ocamldebug-filter-function ocamldebug-delete-prompt-marker ocamldebug-filter-accumulator nil 0 ocamldebug-complete-filter ocamldebug-call-1 "complete " accept-process-output get-buffer-process fail] 6 (#$ . 16339)]) (define-key tuareg-mode-map " " 'ocamldebug-break) #@44 Pathname for executing the OCaml debugger. (defvar ocamldebug-command-name "ocamldebug" (#$ . 16851)) #@132 Default arguments to the program being debugged (space separated and possibly quoted as they would be passed on the command line). (defvar ocamldebug-debuggee-args "" (#$ . 16960)) #@269 Run ocamldebug on program FILE in buffer *ocamldebug-FILE*. The directory containing FILE becomes the initial working directory and source-file directory for ocamldebug. If you wish to change this, use the ocamldebug commands `cd DIR' and `directory'. (fn PGM-PATH) (defalias 'ocamldebug #[257 "\303!\262\304!\305P\306\306Q\307!\210\310!\204b\311!\312\313\314\" \"\312\315\n\"\316\317\"\210\320 !\320\n!\321\322\"\323\324@\325\326\327\330 A B\"&\210\331\332p!\333\"\210\334\332p!\335\"\210\336 \266\337 \207" [default-directory ocamldebug-debuggee-args ocamldebug-command-name expand-file-name file-name-nondirectory "ocamldebug-" "*" pop-to-buffer comint-check-proc file-name-directory read-from-minibuffer format "Args for %s: " "OCaml debugger to run: " message "Current directory is %s" tuareg--split-args mapcar substitute-in-file-name apply make-comint nil "-emacs" "-cd" append set-process-filter get-buffer-process ocamldebug-filter set-process-sentinel ocamldebug-sentinel ocamldebug-mode ocamldebug-set-buffer] 19 (#$ . 17148) "fRun ocamldebug on file: "]) (defalias 'camldebug 'ocamldebug) (defalias 'ocamldebug-set-buffer #[0 "\302=\203\np\211\207\303 r\304\305\"\216\306 !*\207" [major-mode ocamldebug-current-buffer ocamldebug-mode internal--before-save-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-save-selected-window] 2] pop-to-buffer] 4]) #@15 (fn STRING) (defalias 'ocamldebug-marker-filter #[257 "P\303\304\305\306\"\211\262\203V\307\310TTH\"?\205B\311\312\"\313\230\314\311\315\"!\314\311\316\"!\311\317\"\203:\202;\257\266\203\320OP\262\320\225\304O\304\202\305\321\"\203o\320\211\224OP\262\320\224\304O\202vP\262\303\207" [ocamldebug-filter-accumulator ocamldebug-last-frame ocamldebug-last-frame-displayed-p "" nil string-match "\\(H\\|M\\(.+\\):\\(.+\\):\\(.+\\):\\(before\\|after\\)\\)\n" char-equal 72 match-string 5 "before" string-to-number 3 4 2 0 ".*\\'"] 11 (#$ . 18566)]) #@20 (fn PROC STRING) (defalias 'ocamldebug-filter #[514 "\304\305!!\205W\306r\305!q\210\307!\203 \310!|\210\306\211\223\210 !\n\2057 ?\2057`\310!Y\2057\311p!\262\312\"\266)\211\205U\313 r\314\315\"\216\316!\210\317 *\262\262\207" [ocamldebug-delete-prompt-marker ocamldebug-filter-function ocamldebug-track-frame ocamldebug-last-frame-displayed-p buffer-name process-buffer nil marker-buffer process-mark get-buffer-window comint-output-filter internal--before-save-selected-window make-closure #[0 "\301\300!\207" [V0 internal--after-save-selected-window] 2] select-window ocamldebug-display-frame] 7 (#$ . 19165)]) #@17 (fn PROC MSG) (defalias 'ocamldebug-sentinel #[514 "\302\303!!\204\304 \210\305\306\"\207\307!\310>\205S\304 \210\311\312\307!!Pp\313\314\"\216\303!q\210\315\316 !\210m\203A\317 \320\261\210\202M\212db\210\317 \320\261\210)\321!)\262\207" [mode-line-process mode-name buffer-name process-buffer ocamldebug-remove-current-event set-process-buffer nil process-status (signal exit) ": " symbol-name make-closure #[0 "\300q\207" [V0] 1] set-buffer-modified-p buffer-modified-p 10 " " delete-process] 7 (#$ . 19808)]) #@77 Fix up a possibly garbled display, and redraw the mark. (fn &optional ARG) (defalias 'ocamldebug-refresh #[256 "\300 \210\301!\207" [ocamldebug-display-frame recenter] 3 (#$ . 20347) "P"]) #@205 Find, obey and delete the last filename-and-line marker from OCaml debugger. The marker looks like \032\032FILENAME:CHARACTER\n. Obeying it means displaying in another window the specified file and line. (defalias 'ocamldebug-display-frame #[0 "\302 \210\204 \303 \210\202\304@\3058\3068\3078$\210\310\211\207" [ocamldebug-last-frame ocamldebug-last-frame-displayed-p ocamldebug-set-buffer ocamldebug-remove-current-event ocamldebug-display-line 3 4 2 t] 6 (#$ . 20545) nil]) #@35 (fn TRUE-FILE SCHAR ECHAR KIND) (defalias 'ocamldebug-display-line #[1028 "\301\302\303!\304\302\"\301\211\211rq\210\214~\210\305\306!\203\"\306 \307\"\202&e \\\262\305\306!\2036\306\307\"\202:e\\\262\203E\202F\262\310p %\210)\211eW\204^\211dV\203c~\210\211b\210)\311\")\207" [pop-up-windows nil t find-file-noselect display-buffer fboundp filepos-to-bufferpos approximate ocamldebug-set-current-event set-window-point] 16 (#$ . 21036)]) (defalias 'ocamldebug-remove-current-event #[0 "\203\f\304 !\210\304\n!\207\305\211\207" [window-system ocamldebug-overlay-event ocamldebug-overlay-under overlay-arrow-position delete-overlay nil] 2]) #@36 (fn SPOS EPOS POS BUFFER BEFORE) (defalias 'ocamldebug-set-current-event #[1285 "\203.\211\203\305 \211T$\210\305\nT$\207\305 S$\210\305\nS$\207rq\210b\210\306 \210 `\307\223\210 \211)\207" [window-system ocamldebug-overlay-event ocamldebug-overlay-under ocamldebug-event-marker overlay-arrow-position move-overlay beginning-of-line nil] 10 (#$ . 21717)]) #@17 (fn FILENAME) (defalias 'ocamldebug-module-name #[257 "\211\300\301\"\302\225O\207" [string-match "\\([^/]*\\)\\.ml$" 1] 5 (#$ . 22105)]) #@12 (fn STR) (defalias 'ocamldebug-format-command #[257 "p=?\211?\205\n \303\203z\304\305\"\203z\306\224H\307\310\"\311\225\312\267\202i\313\2031\n\2023@!\202j\314\203A\n\202C@!\202j\315\203R`S\202UA@!\202j\212\316\317x\210\320\321!\210\307\311!)\202j\317\317O\262Q\266\205\202 \211P\207" [ocamldebug-current-buffer ocamldebug-last-frame buffer-file-name "" string-match "\\([^%]*\\)%\\([mdcep]\\)" 2 match-string 1 0 #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (109 39 100 55 99 71 101 89)) ocamldebug-module-name file-name-directory int-to-string "_0-9A-Za-z\277-\377" nil looking-at "[_0-9A-Za-z\277-\377]*"] 11 (#$ . 22252)]) #@961 Invoke ocamldebug COMMAND displaying source in other window. Certain %-escapes in FMT are interpreted specially if present. These are: %m module name of current module. %d directory of current source file. %c number of current character position %e text of the OCaml variable surrounding point. The `current' source file is the file of the current buffer (if we're in an OCaml buffer) or the source file current at the last break or step (if we're in the ocamldebug buffer), and the `current' module name is the filename stripped of any *.ml* suffixes (this assumes the usual correspondence between module and file naming is observed). The `current' position is that of the current buffer (if we're in a source file) or the position of the last break or step (if we're in the ocamldebug buffer). If ARG is present, it overrides any FMT flags and its string representation is simply concatenated with the COMMAND. (fn COMMAND &optional FMT ARG) (defalias 'ocamldebug-call #[769 "\300 \210\301\302\303#\"\207" [ocamldebug-set-buffer message "Command: %s" ocamldebug-call-1] 9 (#$ . 22967)]) #@34 (fn COMMAND &optional FMT ARG) (defalias 'ocamldebug-call-1 #[769 "rq\210\212\303\304!!b\210\305 \210\306 !\203\n`\307\223\210*\211\203(\310\311!Q\2026\2035\312\310Q!\2026\313\304!\314P\"\210\207" [ocamldebug-current-buffer comint-prompt-regexp ocamldebug-delete-prompt-marker process-mark get-buffer-process beginning-of-line looking-at nil " " int-to-string ocamldebug-format-command process-send-string "\n"] 8 (#$ . 24081)]) (provide 'ocamldebug)