[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/realgud 0b5ebbf 104/140: Merge pull request #223 from r
From: |
Rocky Bernstein |
Subject: |
[elpa] externals/realgud 0b5ebbf 104/140: Merge pull request #223 from realgud/better-bp-track |
Date: |
Sat, 25 May 2019 19:35:42 -0400 (EDT) |
branch: externals/realgud
commit 0b5ebbfb35e4a17b88865594f4a7828c3fcfda43
Merge: da2a74b ba85207
Author: R. Bernstein <address@hidden>
Commit: GitHub <address@hidden>
Merge pull request #223 from realgud/better-bp-track
Better bp track and misc tweaks
---
configure.ac | 6 +++---
realgud/common/buffer/command.el | 6 +++++-
realgud/common/file.el | 3 +++
realgud/common/track.el | 10 +++++++---
realgud/lang/Makefile.am | 1 +
realgud/lang/js.el | 19 ++++++++++++++++++-
test/test-lang-js.el | 19 +++++++++++++++++++
7 files changed, 56 insertions(+), 8 deletions(-)
diff --git a/configure.ac b/configure.ac
index 8914c39..de0d932 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,7 +10,7 @@ AC_ARG_WITH(emacs, AC_HELP_STRING([--with-emacs],
AC_MSG_NOTICE("Checking emacs version")
$EMACS -batch -q --no-site-file -eval \
- '(if (<= emacs-major-version 23)
+ '(if (< emacs-major-version 24)
(progn
(error "You need GNU Emacs 24 or better.")
(kill-emacs 1)
@@ -33,8 +33,8 @@ if test $? -ne 0 ; then
fi
##################################################################
-# See if --with-lispdir was set. If not, set it to a reasonable default
-# based on where bash thinks bashdb is supposed to be installed.
+# See if --with-lispdir was set. If not, set it to a reasonable
+#default.
##################################################################
AM_MISSING_PROG(GIT2CL, git2cl, $missing_dir)
diff --git a/realgud/common/buffer/command.el b/realgud/common/buffer/command.el
index bfb870a..31d3767 100644
--- a/realgud/common/buffer/command.el
+++ b/realgud/common/buffer/command.el
@@ -81,6 +81,8 @@
;; this debugger. Eventually loc-regexp, file-group
;; and line-group below will removed and stored here.
srcbuf-list ;; list of source buffers we have stopped at
+ source-path ;; last source-code path we've seen
+
bt-buf ;; backtrace buffer if it exists
bp-list ;; list of breakpoints
divert-output? ;; Output is part of a conversation between front-end
@@ -95,7 +97,6 @@
;; when evaluating an expression. For example,
;; some trepan debuggers expression values prefaced
with:
;; $DB::D[0] =
-
;; FIXME: REMOVE THIS and use regexp-hash
loc-regexp ;; Location regular expression string
file-group
@@ -155,6 +156,7 @@
(realgud-struct-field-setter "realgud-cmdbuf-info" "no-record?")
(realgud-struct-field-setter "realgud-cmdbuf-info" "prior-prompt-regexp")
(realgud-struct-field-setter "realgud-cmdbuf-info" "src-shortkey?")
+(realgud-struct-field-setter "realgud-cmdbuf-info" "source-path")
(realgud-struct-field-setter "realgud-cmdbuf-info" "in-debugger?")
(realgud-struct-field-setter "realgud-cmdbuf-info" "callback-loc-fn")
(realgud-struct-field-setter "realgud-cmdbuf-info" "callback-eval-filter")
@@ -280,6 +282,8 @@ This is based on an org-mode buffer. Hit tab to
expand/contract sections.
(json-encode (realgud-cmdbuf-info-cmd-args
info)))
(format " - Starting directory ::\t%s\n"
(realgud-cmdbuf-info-starting-directory info))
+ (format " - Current source-code path ::\t[[%s]]\n"
+ (realgud-cmdbuf-info-source-path info))
(format " - Selected window should contain source? ::
%s\n"
(realgud-cmdbuf-info-in-srcbuf? info))
(format " - Last input end ::\t%s\n"
diff --git a/realgud/common/file.el b/realgud/common/file.el
index 06ef03f..51746e6 100644
--- a/realgud/common/file.el
+++ b/realgud/common/file.el
@@ -156,6 +156,9 @@ problem as best as we can determine."
(source-buffer (find-file-noselect filename))
(source-mark))
+ ;; Set this filename as the last one seen in
cmdbuf
+ (realgud-cmdbuf-info-source-path= filename)
+
;; And you thought we'd never get around to
;; doing something other than validation?
(with-current-buffer source-buffer
diff --git a/realgud/common/track.el b/realgud/common/track.el
index db808ff..0250700 100644
--- a/realgud/common/track.el
+++ b/realgud/common/track.el
@@ -492,7 +492,7 @@ Otherwise return nil."
)
(defun realgud-track-bp-loc(text &optional cmd-mark cmdbuf
opt-ignore-re-file-list)
- "Do regular-expression matching to find a file name and line number inside
+ "Do regular-expression matching to find a file name and line number inside
string TEXT. If we match, we will turn the result into a realgud-loc struct.
Otherwise return nil. CMD-MARK is set in the realgud-loc object created.
"
@@ -526,8 +526,12 @@ Otherwise return nil. CMD-MARK is set in the realgud-loc
object created.
)
(if loc-regexp
(if (string-match loc-regexp text)
- (let* ((bp-num (match-string bp-num-group text))
- (filename (match-string file-group text))
+ (let* ((bp-num (and bp-num-group (match-string
bp-num-group text)))
+ (filename
+ (if file-group
+ (match-string file-group text)
+ (realgud-sget 'cmdbuf-info 'source-path)
+ ))
(line-str (match-string line-group text))
(source-str (and text-group (match-string
text-group text)))
(lineno (string-to-number (or line-str "1")))
diff --git a/realgud/lang/Makefile.am b/realgud/lang/Makefile.am
index a6f5e4c..58c16cf 100644
--- a/realgud/lang/Makefile.am
+++ b/realgud/lang/Makefile.am
@@ -1,3 +1,4 @@
+include $(top_srcdir)/common.mk
lispdir = @lispdir_realgud@/$(notdir $(subdir))
lisp_files := $(wildcard *.el)
lisp_LISP = $(lisp_files)
diff --git a/realgud/lang/js.el b/realgud/lang/js.el
index 8d19847..6ef388b 100644
--- a/realgud/lang/js.el
+++ b/realgud/lang/js.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015-2016 Free Software Foundation, Inc
+;; Copyright (C) 2015-2016, 2018 Free Software Foundation, Inc
;; Author: Rocky Bernstein <address@hidden>
@@ -19,6 +19,8 @@
(require-relative-list '("../common/regexp" "../common/loc" "../common/track")
"realgud-")
+(declare-function realgud-goto-line-for-pt 'realgud-track)
+
(defconst realgud:js-term-escape "[[0-9]+[GKJ]"
"Escape sequence regular expression pattern trepanjs often puts
in around prompts")
@@ -38,4 +40,19 @@
:char-offset-group 4)
"A realgud-loc-pat struct that describes a V8 backtrace location")
+(defconst realgud:js-file-line-loc-pat
+ (make-realgud-loc-pat
+ :regexp (format "^\\([^:]+\\):%s" realgud:regexp-captured-num)
+ :file-group 1
+ :line-group 2)
+ "A realgud-loc-pat struct that describes a V8 file/line location")
+
+;; FIXME: there is probably a less redundant way to do the following
+;; FNS.
+(defun realgud:js-goto-file-line (pt)
+ "Display the location mentioned by the js file/line warning or error."
+ (interactive "d")
+ (realgud-goto-line-for-pt pt "file-line"))
+
+
(provide-me "realgud-lang-")
diff --git a/test/test-lang-js.el b/test/test-lang-js.el
new file mode 100644
index 0000000..19ec308
--- /dev/null
+++ b/test/test-lang-js.el
@@ -0,0 +1,19 @@
+;; Press C-x C-e at the end of the next line to run this file test
non-interactively
+;; (test-simple-run "emacs -batch -L %s -l %s" (file-name-directory
(locate-library "test-simple.elc")) buffer-file-name)
+
+(require 'test-simple)
+(require 'load-relative)
+
+(load-file "../realgud/lang/js.el")
+(test-simple-start)
+
+(setq test-text
"/src/external-vcs/github/rocky/trepan-ni/lib/internal/inspect_repl.js:637")
+(assert-t (string-match (realgud-loc-pat-regexp realgud:js-file-line-loc-pat)
+ test-text) "basic location")
+(assert-equal
"/src/external-vcs/github/rocky/trepan-ni/lib/internal/inspect_repl.js"
+ (match-string 1 test-text) "extract file name")
+(assert-equal "637"
+ (match-string 2 test-text) "extract line number")
+
+
+(end-tests)
- [elpa] externals/realgud 51979d2 099/140: Merge pull request #221 from MaskRay/ex, (continued)
- [elpa] externals/realgud 51979d2 099/140: Merge pull request #221 from MaskRay/ex, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud 4bcbb89 095/140: Last commit introduced a couple of bugs, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud ba85207 103/140: Add realgud:js-file-line-loc-pat, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud 9f9c772 087/140: Remove debug message, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud 6706358 073/140: Add format specifier %q a la ksh..., Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud aa76fb0 085/140: Tidy a bit, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud 1a69faf 083/140: CircleCI 2nd try, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud cbcacd8 098/140: gdb: parse -ex --eval-command, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud 3904510 074/140: Large change to allow blacklisted files, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud b8b587b 109/140: ipdb need ANSI schmutz removed..., Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud 0b5ebbf 104/140: Merge pull request #223 from realgud/better-bp-track,
Rocky Bernstein <=
- [elpa] externals/realgud 446c26b 102/140: Adds ource-path to cmdbuf..., Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud f4c4ccd 118/140: Fix improper breakpoint file-callback function parameters, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud 1da5f2b 113/140: Merge branch 'master' of github.com:realgud/realgud, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud 131ad58 122/140: Disable breakpoint file finding callback function for noww, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud 4cb19e3 127/140: Remove some emacs compile warnings, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud bab9fb9 105/140: DRY a js regexp by hoisting it to lang/js.el, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud a293690 107/140: configure.ac: Fix NO_CHECK_EMACS_PACKAGES elisp., Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud 814aebb 117/140: Make sure to autoload attach functions, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud 21e5a58 116/140: Merge pull request #242 from alyssais/patch-1, Rocky Bernstein, 2019/05/25
- [elpa] externals/realgud 917a46f 138/140: Add realgud:file-remove-ignore to remove a previously ignored entry., Rocky Bernstein, 2019/05/25