Function: gdb-var-list-children-handler

gdb-var-list-children-handler is a byte-compiled function defined in gdb-mi.el.gz.

Signature

(gdb-var-list-children-handler VARNUM)

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/gdb-mi.el.gz
(defun gdb-var-list-children-handler (varnum)
  (let* ((var-list nil)
	 (output (gdb-mi--partial-output 'child))
	 (children (gdb-mi--field output 'children)))
    (catch 'child-already-watched
      (dolist (var gdb-var-list)
	(if (string-equal varnum (car var))
	    (progn
	      ;; With dynamic varobjs numchild may have increased.
	      (setcar (nthcdr 2 var) (gdb-mi--field output 'numchild))
	      (push var var-list)
	      (dolist (child children)
		(let ((varchild (list (gdb-mi--field child 'name)
				      (gdb-mi--field child 'exp)
				      (gdb-mi--field child 'numchild)
				      (gdb-mi--field child 'type)
				      (gdb-mi--field child 'value)
				      nil
				      (gdb-mi--field child 'has_more))))
		  (if (assoc (car varchild) gdb-var-list)
		      (throw 'child-already-watched nil))
		  (push varchild var-list))))
	  (push var var-list)))
      (setq gdb-var-list (nreverse var-list))))
  (gdb-speedbar-update))