[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/lisp/progmodes gdb-mi.el
From: |
Nick Roberts |
Subject: |
[Emacs-diffs] emacs/lisp/progmodes gdb-mi.el |
Date: |
Sat, 12 Sep 2009 00:03:29 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Nick Roberts <nickrob> 09/09/12 00:03:29
Modified files:
lisp/progmodes : gdb-mi.el
Log message:
(gdb-var-list-children-regexp): Delete.
(gdb-var-list-children): Use json parsing.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/progmodes/gdb-mi.el?cvsroot=emacs&r1=1.46&r2=1.47
Patches:
Index: gdb-mi.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/progmodes/gdb-mi.el,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -b -r1.46 -r1.47
--- gdb-mi.el 11 Sep 2009 11:55:11 -0000 1.46
+++ gdb-mi.el 12 Sep 2009 00:03:29 -0000 1.47
@@ -1054,25 +1054,20 @@
varnum)
`(lambda () (gdb-var-list-children-handler ,varnum)))))
-(defconst gdb-var-list-children-regexp
- "child={.*?name=\"\\(.+?\\)\".*?,exp=\"\\(.+?\\)\".*?,\
-numchild=\"\\(.+?\\)\".*?,value=\\(\"\"\\|\".*?[^\\]\"\\)\
-\\(}\\|.*?,\\(type=\"\\(.+?\\)\"\\)?.*?}\\)")
-
(defun gdb-var-list-children-handler (varnum)
- (goto-char (point-min))
- (let ((var-list nil))
+ (let ((var-list nil)
+ (children (gdb-get-field (gdb-json-partial-output "child") 'children)))
(catch 'child-already-watched
(dolist (var gdb-var-list)
(if (string-equal varnum (car var))
(progn
(push var var-list)
- (while (re-search-forward gdb-var-list-children-regexp nil t)
- (let ((varchild (list (match-string 1)
- (match-string 2)
- (match-string 3)
- (match-string 7)
- (read (match-string 4))
+ (dolist (child children)
+ (let ((varchild (list (gdb-get-field child 'name)
+ (gdb-get-field child 'exp)
+ (gdb-get-field child 'numchild)
+ (gdb-get-field child 'type)
+ (gdb-get-field child 'value)
nil)))
(if (assoc (car varchild) gdb-var-list)
(throw 'child-already-watched nil))
- [Emacs-diffs] emacs/lisp/progmodes gdb-mi.el, Nick Roberts, 2009/09/01
- [Emacs-diffs] emacs/lisp/progmodes gdb-mi.el, Nick Roberts, 2009/09/01
- [Emacs-diffs] emacs/lisp/progmodes gdb-mi.el, Nick Roberts, 2009/09/09
- [Emacs-diffs] emacs/lisp/progmodes gdb-mi.el, Nick Roberts, 2009/09/09
- [Emacs-diffs] emacs/lisp/progmodes gdb-mi.el, Nick Roberts, 2009/09/11
- [Emacs-diffs] emacs/lisp/progmodes gdb-mi.el,
Nick Roberts <=
- [Emacs-diffs] emacs/lisp/progmodes gdb-mi.el, Nick Roberts, 2009/09/17
- [Emacs-diffs] emacs/lisp/progmodes gdb-mi.el, Nick Roberts, 2009/09/19
- [Emacs-diffs] emacs/lisp/progmodes gdb-mi.el, Nick Roberts, 2009/09/23
- [Emacs-diffs] emacs/lisp/progmodes gdb-mi.el, Nick Roberts, 2009/09/24