From 6c6273c6a54a6b7482636e995b1dec27ce385aad Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Sat, 12 Apr 2008 13:13:32 +0000 Subject: [PATCH] (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. --- lisp/progmodes/gdb-ui.el | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index c53d1092e00..eee8f00d770 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el @@ -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))) -- 2.39.2