comparison lisp/progmodes/gdb-ui.el @ 79965:c88c86182e91 EMACS_PRETEST_22_1_90

(gdb-var-set-format-regexp): New constant. (gdb-var-set-format-handler): New function. (gdb-var-set-format): Use it.
author Nick Roberts <nickrob@snap.net.nz>
date Wed, 30 Jan 2008 22:07:41 +0000
parents d1a91cfdb94c
children 6b627ca66379 fa454b3c5b7b
comparison
equal deleted inserted replaced
79964:6640123ea58e 79965:c88c86182e91
884 (defun gdb-var-set-format (format) 884 (defun gdb-var-set-format (format)
885 "Set the output format for a variable displayed in the speedbar." 885 "Set the output format for a variable displayed in the speedbar."
886 (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list)) 886 (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list))
887 (varnum (car var))) 887 (varnum (car var)))
888 (gdb-enqueue-input 888 (gdb-enqueue-input
889 (list 889 (list
890 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) 890 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)
891 (concat "server interpreter mi \"-var-set-format " 891 (concat "server interpreter mi \"-var-set-format "
892 varnum " " format "\"\n") 892 varnum " " format "\"\n")
893 (concat "-var-set-format " varnum " " format "\n")) 893 (concat "-var-set-format " varnum " " format "\n"))
894 'ignore)) 894 `(lambda () (gdb-var-set-format-handler ,varnum))))))
895 (gdb-var-update-1))) 895
896 (defconst gdb-var-set-format-regexp
897 "format=\"\\(.*?\\)\",.*value=\"\\(.*?\\)\"")
898
899 (defun gdb-var-set-format-handler (varnum)
900 (goto-char (point-min))
901 (if (re-search-forward gdb-var-set-format-regexp nil t)
902 (let ((var (assoc varnum gdb-var-list)))
903 (setcar (nthcdr 4 var) (match-string 2))
904 (gdb-var-update-1))))
896 905
897 (defun gdb-var-delete-1 (varnum) 906 (defun gdb-var-delete-1 (varnum)
898 (gdb-enqueue-input 907 (gdb-enqueue-input
899 (list 908 (list
900 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) 909 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba)