[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/tuareg c33222d 6/6: Adapt to the new ocamldebug code point
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/tuareg c33222d 6/6: Adapt to the new ocamldebug code pointer format |
Date: |
Fri, 10 Sep 2021 15:57:49 -0400 (EDT) |
branch: elpa/tuareg
commit c33222d03f80a60818cfdeb0cbadcba7b35dfec2
Author: Christophe Troestler <Christophe.Troestler@umons.ac.be>
Commit: Christophe Troestler <Christophe.Troestler@umons.ac.be>
Adapt to the new ocamldebug code pointer format
Fixes https://github.com/ocaml/tuareg/issues/205
---
ocamldebug.el | 58 +++++++++++++++++++++++++++++++++++++---------------------
1 file changed, 37 insertions(+), 21 deletions(-)
diff --git a/ocamldebug.el b/ocamldebug.el
index 3bf9e27..0729cfd 100644
--- a/ocamldebug.el
+++ b/ocamldebug.el
@@ -242,18 +242,26 @@ representation is simply concatenated with the COMMAND."
;; Accumulate onto previous output
(setq ocamldebug-filter-accumulator
(concat ocamldebug-filter-accumulator string))
- (when (or (string-match (concat
- "\\(\n\\|\\`\\)[ \t]*\\([0-9]+\\)[ \t]+"
- ocamldebug-goto-position
- "-[0-9]+[ \t]*\\(before\\).*\n")
- ocamldebug-filter-accumulator)
- (string-match (concat
- "\\(\n\\|\\`\\)[ \t]*\\([0-9]+\\)[ \t]+[0-9]+-"
- ocamldebug-goto-position
- "[ \t]*\\(after\\).*\n")
- ocamldebug-filter-accumulator))
- (setq ocamldebug-goto-output
- (match-string 2 ocamldebug-filter-accumulator))
+ ;; Address Characters Kind Repr.
+ ;; 14452 64-82 before/fun
+ ;; 14584 182-217 after/ret
+ ;;0: 30248 -1--1 pseudo
+ ;;0: 30076 64-82 before/fun
+ (when (or (string-match
+ (concat "\\(?:\n\\|\\`\\)[ \t]*"
+ "\\([0-9]+\\)\\(?::[ \t]*\\([0-9]+\\)\\)?[ \t]+"
+ ocamldebug-goto-position
+ "-[0-9]+[ \t]*before.*\n")
+ ocamldebug-filter-accumulator)
+ (string-match
+ (concat "\\(?:\n\\|\\`\\)[ \t]*"
+ "\\([0-9]+\\)\\(?::[ \t]*\\([0-9]+\\)\\)?[ \t]+[0-9]+-"
+ ocamldebug-goto-position
+ "[ \t]*after.*\n")
+ ocamldebug-filter-accumulator))
+ (let ((id (match-string 1 ocamldebug-filter-accumulator))
+ (pos (match-string 2 ocamldebug-filter-accumulator)))
+ (setq ocamldebug-goto-output (if pos (concat id ":" pos) id)))
(setq ocamldebug-filter-accumulator
(substring ocamldebug-filter-accumulator (1- (match-end 0)))))
(when (string-match comint-prompt-regexp ocamldebug-filter-accumulator)
@@ -283,8 +291,9 @@ buffer, then try to obtain the time from context around
point."
(save-selected-window
(select-window (get-buffer-window ocamldebug-current-buffer))
(save-excursion
- (if (re-search-backward "^Time : [0-9]+ - pc : [0-9]+ "
- nil t (- 1 ntime))
+ (if (re-search-backward
+ "^Time *: [0-9]+ - pc *: [0-9]+\\(?::[0-9]+\\)? "
+ nil t (- 1 ntime))
(ocamldebug-goto nil)
(error "I don't have %d times in my history"
(- 1 ntime))))))))
@@ -293,7 +302,8 @@ buffer, then try to obtain the time from context around
point."
((eobp) 0)
((save-excursion
(beginning-of-line 1)
- (looking-at "^Time : \\([0-9]+\\) - pc : [0-9]+ "))
+ (looking-at
+ "^Time *: \\([0-9]+\\) - pc *: [0-9]+\\(?::[0-9]+\\)? "))
(string-to-number (match-string 1)))
((string-to-number (ocamldebug-format-command "%e"))))))
(ocamldebug-call "goto" nil time)))
@@ -311,7 +321,7 @@ buffer, then try to obtain the time from context around
point."
(accept-process-output proc))
(setq address (unless (eq ocamldebug-goto-output 'fail)
(re-search-backward
- (concat "^Time : \\([0-9]+\\) - pc : "
+ (concat "^Time *: \\([0-9]+\\) - pc *: "
ocamldebug-goto-output
" - module "
module "$")
@@ -325,13 +335,17 @@ buffer, then try to obtain the time from context around
point."
(setq ocamldebug-filter-accumulator
(concat ocamldebug-filter-accumulator string))
(when (string-match
- (concat "\\(\n\\|\\`\\)[ \t]*\\([0-9]+\\)[ \t]+[0-9]+[ \t]*in "
+ ;; Num Address Where
+ ;; 1 14552 file u.ml, line 5, characters 1-34
+ ;; 1 0: 30176 file u.ml, line 5, characters 1-34
+ (concat "\\(?:\n\\|\\`\\)[ \t]*\\([0-9]+\\)[ \t]+"
+ "[0-9]+\\(?::[ \t]*[0-9]+\\)?[ \t]+file +"
(regexp-quote ocamldebug-delete-file)
", character "
ocamldebug-delete-position "\n")
ocamldebug-filter-accumulator)
(setq ocamldebug-delete-output
- (match-string 2 ocamldebug-filter-accumulator))
+ (match-string 1 ocamldebug-filter-accumulator))
(setq ocamldebug-filter-accumulator
(substring ocamldebug-filter-accumulator (1- (match-end 0)))))
(when (string-match comint-prompt-regexp
@@ -362,13 +376,15 @@ around point."
(let ((narg (ocamldebug-numeric-arg arg)))
(if (> narg 0) (ocamldebug-call "delete" nil narg)
(with-current-buffer ocamldebug-current-buffer
- (if (re-search-backward "^Breakpoint [0-9]+ at [0-9]+ : file "
- nil t (- 1 narg))
+ (if (re-search-backward
+ "^Breakpoint [0-9]+ at [0-9]+\\(?::[0-9]+\\)? *: file "
+ nil t (- 1 narg))
(ocamldebug-delete nil)
(error "I don't have %d breakpoints in my history"
(- 1 narg)))))))
((eq (current-buffer) ocamldebug-current-buffer)
- (let* ((bpline "^Breakpoint \\([0-9]+\\) at [0-9]+ : file ")
+ (let* ((bpline
+ "^Breakpoint \\([0-9]+\\) at [0-9]+\\(?::[0-9]+\\)? *: file ")
(arg (cond
((eobp)
(save-excursion (re-search-backward bpline nil t))
- [nongnu] elpa/tuareg updated (85d626f -> c33222d), ELPA Syncer, 2021/09/10
- [nongnu] elpa/tuareg c33222d 6/6: Adapt to the new ocamldebug code pointer format,
ELPA Syncer <=
- [nongnu] elpa/tuareg 1d63ceb 5/6: Remove unnecessary point adjustment (already performed), ELPA Syncer, 2021/09/10
- [nongnu] elpa/tuareg 07cfa2b 4/6: Deactivate the region to avoid extending it when moving point, ELPA Syncer, 2021/09/10
- [nongnu] elpa/tuareg 8152aee 2/6: Repair `tuareg-eval-region`, ELPA Syncer, 2021/09/10
- [nongnu] elpa/tuareg bc06d27 3/6: Move `tuareg-eval-region` phrase intersection to `tuareg-eval-phrase`, ELPA Syncer, 2021/09/10
- [nongnu] elpa/tuareg 2e87104 1/6: Update `tuareg-interactive-error-range-regexp`, ELPA Syncer, 2021/09/10