[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 0664fb9 037/215: trepanjs/init.el: handle newly added full
From: |
Rocky Bernstein |
Subject: |
[elpa] master 0664fb9 037/215: trepanjs/init.el: handle newly added fully-qualified paths |
Date: |
Sat, 30 Jul 2016 14:48:51 +0000 (UTC) |
branch: master
commit 0664fb95970d3570d5c34ba03f6fba0e2b9e261e
Author: rocky <address@hidden>
Commit: rocky <address@hidden>
trepanjs/init.el: handle newly added fully-qualified paths
common/regexp.el: start to DRY regexps
lang/js.el: term escape is common to nodejs and trepanjs
---
realgud/common/regexp.el | 2 ++
realgud/debugger/nodejs/init.el | 32 +++++++++++-------------
realgud/debugger/trepanjs/init.el | 50 ++++++++++++++++++++++++++-----------
realgud/lang/js.el | 4 +++
4 files changed, 57 insertions(+), 31 deletions(-)
diff --git a/realgud/common/regexp.el b/realgud/common/regexp.el
index bc78795..4e9fcec 100644
--- a/realgud/common/regexp.el
+++ b/realgud/common/regexp.el
@@ -35,6 +35,8 @@ output by a debugger inside a process shell"
;; call, return, exception, etc.
)
+(defconst realgud:regexp-captured-num "\\([0-9]+\\)")
+
(defvar realgud-pat-hash (make-hash-table :test 'equal)
"Hash key is the debugger name, a string. The values of a hash entry
is a realgud-loc-pat struct")
diff --git a/realgud/debugger/nodejs/init.el b/realgud/debugger/nodejs/init.el
index 979dfc1..204444f 100644
--- a/realgud/debugger/nodejs/init.el
+++ b/realgud/debugger/nodejs/init.el
@@ -33,25 +33,15 @@
backtrace, prompt, etc. The values of a hash entry is a
realgud-loc-pat struct")
-(defconst realgud:nodejs-term-escape "[[0-9]+[GKJ]"
- "Escape sequence regular expression pattern nodejs often puts in around
prompts")
-
-(defconst realgud:nodejs-frame-start-regexp "\\(?:^\\|\n\\)\\(?:#\\)")
-(defconst realgud:nodejs-frame-num-regexp "\\([0-9]+\\)")
-(defconst realgud:nodejs-frame-module-regexp "[^ \t\n]+")
-(defconst realgud:nodejs-frame-file-regexp "[^ \t\n]+")
-(defconst realgud:nodejs-frame-line-regexp realgud:nodejs-frame-num-regexp)
-(defconst realgud:nodejs-frame-column-regexp realgud:nodejs-frame-num-regexp)
-
-;; Regular expression that describes a nodejs location generally shown
;; before a command prompt.
;; For example:
;; break in /home/indutny/Code/git/indutny/myscript.js:1
(setf (gethash "loc" realgud:nodejs-pat-hash)
(make-realgud-loc-pat
:regexp (format
- "\\(?:%s\\)*break in \\([^:]+\\):\\([0-9]*\\)"
- realgud:nodejs-term-escape)
+ "\\(?:%s\\)*\\(?:break\\|exception\\) in %s:%s"
+ realgud:js-term-escape "\\([^:]+\\)"
+ realgud:regexp-captured-num)
:file-group 1
:line-group 2))
@@ -60,7 +50,7 @@ realgud-loc-pat struct")
;; debug>
(setf (gethash "prompt" realgud:nodejs-pat-hash)
(make-realgud-loc-pat
- :regexp (format "^\\(?:%s\\)*debug> " realgud:nodejs-term-escape)
+ :regexp (format "^\\(?:%s\\)*debug> " realgud:js-term-escape)
))
;; Regular expression that describes a "breakpoint set" line
@@ -84,9 +74,17 @@ realgud-loc-pat struct")
;; Removed 1 breakpoint(s).
(setf (gethash "brkpt-del" realgud:nodejs-pat-hash)
(make-realgud-loc-pat
- :regexp "^Removed \\([0-9]+\\) breakpoint(s).\n"
+ :regexp (format "^Removed %s breakpoint(s).\n"
+ realgud:regexp-captured-num)
:num 1))
+
+(defconst realgud:nodejs-frame-start-regexp "\\(?:^\\|\n\\)\\(?:#\\)")
+(defconst realgud:nodejs-frame-num-regexp realgud:regexp-captured-num)
+(defconst realgud:nodejs-frame-module-regexp "[^ \t\n]+")
+(defconst realgud:nodejs-frame-file-regexp "[^ \t\n]+")
+
+;; Regular expression that describes a nodejs location generally shown
;; Regular expression that describes a debugger "backtrace" command line.
;; For example:
;; #0 module.js:380:17
@@ -104,9 +102,9 @@ realgud-loc-pat struct")
"\\(?:" realgud:nodejs-frame-module-regexp " \\)?"
"\\(" realgud:nodejs-frame-file-regexp "\\)"
":"
- realgud:nodejs-frame-line-regexp
+ realgud:regexp-captured-num
":"
- realgud:nodejs-frame-column-regexp
+ realgud:regexp-captured-num
)
:num 1
:file-group 2
diff --git a/realgud/debugger/trepanjs/init.el
b/realgud/debugger/trepanjs/init.el
index 135fd71..72ce87c 100644
--- a/realgud/debugger/trepanjs/init.el
+++ b/realgud/debugger/trepanjs/init.el
@@ -32,26 +32,19 @@ realgud-loc-pat struct")
(declare-function make-realgud-loc-pat (realgud-loc))
-(defconst realgud:trepanjs-term-escape "[[0-9]+[GKJ]"
- "Escape sequence regular expression pattern trepanjs often puts
- in around prompts")
-
-(defconst realgud:nodejs-frame-start-regexp "\\(?:^\\|\n\\)\\(?:#\\)")
-(defconst realgud:nodejs-frame-num-regexp "\\([0-9]+\\)")
-(defconst realgud:nodejs-frame-module-regexp "[^ \t\n]+")
-(defconst realgud:nodejs-frame-file-regexp "[^ \t\n]+")
-(defconst realgud:nodejs-frame-line-regexp realgud:nodejs-frame-num-regexp)
-(defconst realgud:nodejs-frame-column-regexp realgud:nodejs-frame-num-regexp)
+(defconst realgud:trepanjs-file-regexp "\\([^ \t\n]+\\)\\(?: \\[.*\\]\\)")
;; Regular expression that describes a trepanjs location generally shown
;; before a command prompt.
;; For example:
;; break in /home/indutny/Code/git/indutny/myscript.js:1
+;; exception in /usr/lib/nodejs/module.js [module.js]:362
(setf (gethash "loc" realgud:trepanjs-pat-hash)
(make-realgud-loc-pat
:regexp (format
- "\\(?:%s\\)*\\(?:break\\|exception\\) in
\\([^:]+\\):\\([0-9]*\\)"
- realgud:trepanjs-term-escape)
+ "\\(?:%s\\)*\\(?:break\\|exception\\) in %s:%s"
+ realgud:js-term-escape realgud:trepanjs-file-regexp
+ realgud:regexp-captured-num)
:file-group 1
:line-group 2))
@@ -67,7 +60,8 @@ realgud-loc-pat struct")
;; * 4 var count = 0;
(setf (gethash "brkpt-set" realgud:trepanjs-pat-hash)
(make-realgud-loc-pat
- :regexp "^Breakpoint \\([0-9]+\\) set in file \\(.+\\), line
\\([0-9]+\\).\n"
+ :regexp (format "^Breakpoint %s set in file \\(.+\\), line %s.\n"
+ realgud:regexp-captured-num realgud:regexp-captured-num)
:num 1
:file-group 2
:line-group 3))
@@ -86,9 +80,37 @@ realgud-loc-pat struct")
;; Deleted breakpoint 1.
(setf (gethash "brkpt-del" realgud:trepanjs-pat-hash)
(make-realgud-loc-pat
- :regexp "^Deleted breakpoint \\([0-9]+\\).\n"
+ :regexp (format "^Deleted breakpoint %s.\n"
+ realgud:regexp-captured-num)
:num 1))
+
+(defconst realgud:trepanjs-frame-start-regexp "\\(?:^\\|\n\\)\\(?: #\\)")
+(defconst realgud:trepanjs-frame-num-regexp realgud:regexp-captured-num)
+(defconst realgud:trepanjs-frame-module-regexp "[^ \t\n]+")
+
+;; Regular expression that describes debugger "backtrace" command line.
+;; e.g.
+;; ## require called from file /usr/lib/nodejs/module.js [module.js] at line
380:17
+;; ## in file /src/external-vcs/github/trepanjs/example/gcd.js
[/src/external-vcs/github/trepanjs/example/gcd.js] at line 2:12
+(setf (gethash "debugger-backtrace" realgud:trepanjs-pat-hash)
+ (make-realgud-loc-pat
+ :regexp (concat realgud:trepanjs-frame-start-regexp " "
+ realgud:regexp-captured-num " "
+ "\\(?:" realgud:trepanjs-frame-module-regexp " called
from file"
+ realgud:trepanjs-file-regexp
+ "\\)\\| in file "
+ realgud:regexp-captured-num
+ "\\)"
+ "at line \\(" realgud:regexp-captured-num "\\):"
+ realgud:regexp-captured-num
+ )
+ :num 1
+ :file-group 2
+ :line-group 3
+ :char-offset-group 4
+ ))
+
(defconst realgud:trepanjs-debugger-name "trepanjs" "Name of debugger")
;; Top frame number
diff --git a/realgud/lang/js.el b/realgud/lang/js.el
index 6ab462f..7d33357 100644
--- a/realgud/lang/js.el
+++ b/realgud/lang/js.el
@@ -21,6 +21,10 @@
(require-relative-list '("../common/regexp" "../common/loc" "../common/track")
"realgud-")
+(defconst realgud:js-term-escape "[[0-9]+[GKJ]"
+ "Escape sequence regular expression pattern trepanjs often puts
+ in around prompts")
+
(declare-function realgud-goto-line-for-pt 'realgud-track)
;; Regular expression that describes a Perl Carp backtrace line.
- [elpa] master 03ecacd 049/215: trepanjs msg change: stop in -> call in, (continued)
- [elpa] master 03ecacd 049/215: trepanjs msg change: stop in -> call in, Rocky Bernstein, 2016/07/30
- [elpa] master 986585b 035/215: Revert "Squelch one of the many compiler warnings", Rocky Bernstein, 2016/07/30
- [elpa] master 78aba8b 044/215: DRY with respect to realgud:regexp-captured-num, Rocky Bernstein, 2016/07/30
- [elpa] master bfa52c5 046/215: caddr -> cl-caddr. Fill in %s on format., Rocky Bernstein, 2016/07/30
- [elpa] master 0a1dbc4 036/215: Remove node asci schmutz. put in lang/js.el, Rocky Bernstein, 2016/07/30
- [elpa] master 74eedc2 030/215: Start js lang. add js backtrace regexp, Rocky Bernstein, 2016/07/30
- [elpa] master 6df0f6a 051/215: trepanjs location format has changed, Rocky Bernstein, 2016/07/30
- [elpa] master bbab251 048/215: gdb: DRY captured number uses., Rocky Bernstein, 2016/07/30
- [elpa] master be999ea 054/215: trepanjs backtrace format changes next release, Rocky Bernstein, 2016/07/30
- [elpa] master 5078d4e 056/215: Doc gdb regexp more., Rocky Bernstein, 2016/07/30
- [elpa] master 0664fb9 037/215: trepanjs/init.el: handle newly added fully-qualified paths,
Rocky Bernstein <=
- [elpa] master e5d0f95 057/215: Fix typo poined out by dfelch., Rocky Bernstein, 2016/07/30
- [elpa] master 071b66c 052/215: DRY gub init captured numbered re's., Rocky Bernstein, 2016/07/30
- [elpa] master bd45ec9 023/215: backtrace.el: fix some bugs and remove some warnings, Rocky Bernstein, 2016/07/30
- [elpa] master 8e1ef01 047/215: core.el: correct trepanjs options, Rocky Bernstein, 2016/07/30
- [elpa] master 3a84860 040/215: DRY realgud:regexp-capture-num and add more FSF copyrights, Rocky Bernstein, 2016/07/30
- [elpa] master aa3125d 041/215: posix-shell.el: sometimes I can't use (format), Rocky Bernstein, 2016/07/30
- [elpa] master 2598619 039/215: init.el: bracketed short name is optional, Rocky Bernstein, 2016/07/30
- [elpa] master e554cad 027/215: Add trepanjs, Rocky Bernstein, 2016/07/30
- [elpa] master ba7a8b1 045/215: bang on trepanjs and nodejs., Rocky Bernstein, 2016/07/30
- [elpa] master 5f664e2 055/215: Python trepan debuggers include instruction offset in location, Rocky Bernstein, 2016/07/30