(gdb-init-buffer): New function.

(gdb-set-gud-minor-mode-existing-buffers)
(gdb-info-breakpoints-custom, gdb-get-location)
(gdb-set-gud-minor-mode-existing-buffers-1): Use it.
Previously gdb-create-define-alist wasn't always run and added to
after-save-hook.
This commit is contained in:
Nick Roberts 2008-04-12 13:13:32 +00:00
parent 8d36ea1b23
commit 6c6273c6a5

View file

@ -483,6 +483,15 @@ otherwise do not."
(defconst gdb-source-file-regexp "\\(.+?\\), \\|\\([^, \n].*$\\)")
(defun gdb-init-buffer ()
(set (make-local-variable 'gud-minor-mode)
(buffer-local-value 'gud-minor-mode gud-comint-buffer))
(set (make-local-variable 'tool-bar-map) gud-tool-bar-map)
(when gud-tooltip-mode
(make-local-variable 'gdb-define-alist)
(gdb-create-define-alist)
(add-hook 'after-save-hook 'gdb-create-define-alist nil t)))
(defun gdb-set-gud-minor-mode-existing-buffers ()
"Create list of source files for current GDB session."
(goto-char (point-min))
@ -495,12 +504,7 @@ otherwise do not."
(when (and buffer-file-name
(member (file-name-nondirectory buffer-file-name)
gdb-source-file-list))
(set (make-local-variable 'gud-minor-mode) 'gdba)
(set (make-local-variable 'tool-bar-map) gud-tool-bar-map)
(when gud-tooltip-mode
(make-local-variable 'gdb-define-alist)
(gdb-create-define-alist)
(add-hook 'after-save-hook 'gdb-create-define-alist nil t))))))
(gdb-init-buffer)))))
(gdb-force-mode-line-update
(propertize "ready" 'face font-lock-variable-name-face)))
@ -1940,10 +1944,7 @@ static char *magick[] = {
(not (string-equal file "File not found")))
(with-current-buffer
(find-file-noselect file 'nowarn)
(set (make-local-variable 'gud-minor-mode)
'gdba)
(set (make-local-variable 'tool-bar-map)
gud-tool-bar-map)
(gdb-init-buffer)
;; Only want one breakpoint icon at each
;; location.
(save-excursion
@ -3142,9 +3143,7 @@ Add directory to search path for source files using the GDB command, dir."))
(throw 'file-not-found nil))
(with-current-buffer
(find-file-noselect (match-string 0))
(save-current-buffer
(set (make-local-variable 'gud-minor-mode) 'gdba)
(set (make-local-variable 'tool-bar-map) gud-tool-bar-map))
(gdb-init-buffer)
;; only want one breakpoint icon at each location
(save-excursion
(goto-line (string-to-number line))
@ -3166,9 +3165,7 @@ of the current session."
buffer-file-name)
gdb-source-file-list)
(with-current-buffer (find-buffer-visiting buffer-file-name)
(set (make-local-variable 'gud-minor-mode)
(buffer-local-value 'gud-minor-mode gud-comint-buffer))
(set (make-local-variable 'tool-bar-map) gud-tool-bar-map)))))
(gdb-init-buffer)))))
;;from put-image
(defun gdb-put-string (putstring pos &optional dprop &rest sprops)
@ -3493,13 +3490,7 @@ is set in them."
(dolist (buffer (buffer-list))
(with-current-buffer buffer
(when (member buffer-file-name gdb-source-file-list)
(set (make-local-variable 'gud-minor-mode)
(buffer-local-value 'gud-minor-mode gud-comint-buffer))
(set (make-local-variable 'tool-bar-map) gud-tool-bar-map)
(when gud-tooltip-mode
(make-local-variable 'gdb-define-alist)
(gdb-create-define-alist)
(add-hook 'after-save-hook 'gdb-create-define-alist nil t)))))
(gdb-init-buffer))))
(gdb-force-mode-line-update
(propertize "ready" 'face font-lock-variable-name-face)))