emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/progmodes/gdb-ui.el


From: Nick Roberts
Subject: [Emacs-diffs] Changes to emacs/lisp/progmodes/gdb-ui.el
Date: Tue, 03 May 2005 02:48:47 -0400

Index: emacs/lisp/progmodes/gdb-ui.el
diff -c emacs/lisp/progmodes/gdb-ui.el:1.62 emacs/lisp/progmodes/gdb-ui.el:1.63
*** emacs/lisp/progmodes/gdb-ui.el:1.62 Wed Apr 27 22:00:22 2005
--- emacs/lisp/progmodes/gdb-ui.el      Tue May  3 06:48:47 2005
***************
*** 196,201 ****
--- 196,228 ----
    :group 'gud
    :version "22.1")
  
+ (defcustom gdb-cpp-define-alist-program "gcc -E -dM -"
+   "The program name for generating an alist of #define directives.
+ This list is used to display the #define directive associated
+ with an identifier as a tooltip. It works in a debug session with
+ GDB, when tooltip-gud-tips-p is t."
+   :type 'string
+   :group 'gud
+   :version "22.1")
+ 
+ (defvar gdb-define-alist nil "Alist of #define directives for GUD tooltips.")
+ 
+ (defun gdb-create-define-alist ()
+   (let* ((file (buffer-file-name))
+        (output
+         (with-output-to-string
+           (with-current-buffer standard-output
+             (call-process shell-file-name
+                           (if (file-exists-p file) file nil)
+                           (list t nil) nil "-c"
+                           gdb-cpp-define-alist-program))))
+       (define-list (split-string output "\n" t))
+       (name))
+     (setq gdb-define-alist nil)
+     (dolist (define define-list)
+       (setq name (nth 1 (split-string define "[( ]")))
+       (push (cons name define) gdb-define-alist))))
+ 
  (defun gdb-set-gud-minor-mode (buffer)
    "Set gud-minor-mode from find-file if appropriate."
    (goto-char (point-min))
***************
*** 208,220 ****
  
  (defun gdb-set-gud-minor-mode-1 (buffer)
    (goto-char (point-min))
!   (if (and (search-forward "Located in " nil t)
!          (looking-at "\\S-*")
!          (string-equal (buffer-file-name buffer)
!                        (match-string 0)))
!       (with-current-buffer buffer
!       (set (make-local-variable 'gud-minor-mode) 'gdba)
!       (set (make-local-variable 'tool-bar-map) gud-tool-bar-map))))
  
  (defun gdb-set-gud-minor-mode-existing-buffers ()
    (dolist (buffer (buffer-list))
--- 235,250 ----
  
  (defun gdb-set-gud-minor-mode-1 (buffer)
    (goto-char (point-min))
!   (when (and (search-forward "Located in " nil t)
!            (looking-at "\\S-*")
!            (string-equal (buffer-file-name buffer)
!                          (match-string 0)))
!     (with-current-buffer buffer
!       (set (make-local-variable 'gud-minor-mode) 'gdba)
!       (set (make-local-variable 'tool-bar-map) gud-tool-bar-map)
!       (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 ()
    (dolist (buffer (buffer-list))
***************
*** 805,811 ****
    (setq gud-last-frame
        (cons
         (match-string 1 args)
!        (string-to-int (match-string 2 args))))
    (setq gdb-current-address (match-string 3 args))
    ;; cover for auto-display output which comes *before*
    ;; stopped annotation
--- 835,841 ----
    (setq gud-last-frame
        (cons
         (match-string 1 args)
!        (string-to-number (match-string 2 args))))
    (setq gdb-current-address (match-string 3 args))
    ;; cover for auto-display output which comes *before*
    ;; stopped annotation
***************
*** 889,895 ****
    (setq gdb-active-process nil)
    (gdb-stopping ignored))
   
- 
  (defun gdb-frame-begin (ignored)
    (let ((sink gdb-output-sink))
      (cond
--- 919,924 ----
***************
*** 1690,1696 ****
    (save-selected-window
      (select-window (posn-window (event-start event)))
      (let* ((arg (read-from-minibuffer "Repeat count: "))
!         (count (string-to-int arg)))
        (if (< count 0)
          (error "Non-negative numbers only")
        (customize-set-variable 'gdb-memory-repeat-count count)
--- 1719,1725 ----
    (save-selected-window
      (select-window (posn-window (event-start event)))
      (let* ((arg (read-from-minibuffer "Repeat count: "))
!         (count (string-to-number arg)))
        (if (< count 0)
          (error "Non-negative numbers only")
        (customize-set-variable 'gdb-memory-repeat-count count)
***************
*** 1998,2004 ****
  
  (let ((menu (make-sparse-keymap "GDB-Windows")))
    (define-key gud-menu-map [displays]
!     `(menu-item "GDB-Windows" ,menu :visible (eq gud-minor-mode 'gdba)))
    (define-key menu [gdb] '("Gdb" . gdb-display-gdb-buffer))
    (define-key menu [threads] '("Threads" . gdb-display-threads-buffer))
    (define-key menu [memory] '("Memory" . gdb-display-memory-buffer))
--- 2027,2034 ----
  
  (let ((menu (make-sparse-keymap "GDB-Windows")))
    (define-key gud-menu-map [displays]
!     `(menu-item "GDB-Windows" ,menu
!               :visible (memq gud-minor-mode '(gdbmi gdba))))
    (define-key menu [gdb] '("Gdb" . gdb-display-gdb-buffer))
    (define-key menu [threads] '("Threads" . gdb-display-threads-buffer))
    (define-key menu [memory] '("Memory" . gdb-display-memory-buffer))
***************
*** 2014,2020 ****
  
  (let ((menu (make-sparse-keymap "GDB-Frames")))
    (define-key gud-menu-map [frames]
!     `(menu-item "GDB-Frames" ,menu :visible (eq gud-minor-mode 'gdba)))
    (define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer))
    (define-key menu [threads] '("Threads" . gdb-frame-threads-buffer))
    (define-key menu [memory] '("Memory" . gdb-frame-memory-buffer))
--- 2044,2051 ----
  
  (let ((menu (make-sparse-keymap "GDB-Frames")))
    (define-key gud-menu-map [frames]
!     `(menu-item "GDB-Frames" ,menu
!               :visible (memq gud-minor-mode '(gdbmi gdba))))
    (define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer))
    (define-key menu [threads] '("Threads" . gdb-frame-threads-buffer))
    (define-key menu [memory] '("Memory" . gdb-frame-memory-buffer))
***************
*** 2153,2165 ****
              (gdb-remove-breakpoint-icons (point-min) (point-max) t)
              (setq gud-minor-mode nil)
              (kill-local-variable 'tool-bar-map)
!             (setq gud-running nil)
!             (setq gdb-active-process nil))))))
    (when (markerp gdb-overlay-arrow-position)
      (move-marker gdb-overlay-arrow-position nil)
      (setq gdb-overlay-arrow-position nil))
    (setq overlay-arrow-variable-list
!       (delq 'gdb-overlay-arrow-position overlay-arrow-variable-list)))
  
  (defun gdb-source-info ()
    "Find the source file where the program starts and displays it with related
--- 2184,2198 ----
              (gdb-remove-breakpoint-icons (point-min) (point-max) t)
              (setq gud-minor-mode nil)
              (kill-local-variable 'tool-bar-map)
!             (kill-local-variable 'gdb-define-alist))))))
    (when (markerp gdb-overlay-arrow-position)
      (move-marker gdb-overlay-arrow-position nil)
      (setq gdb-overlay-arrow-position nil))
    (setq overlay-arrow-variable-list
!       (delq 'gdb-overlay-arrow-position overlay-arrow-variable-list))
!   (setq gud-running nil)
!   (setq gdb-active-process nil)
!   (remove-hook 'after-save-hook 'gdb-create-define-alist t))
  
  (defun gdb-source-info ()
    "Find the source file where the program starts and displays it with related




reply via email to

[Prev in Thread] Current Thread [Next in Thread]