emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/realgud 06d73e1 130/140: remake and gdb breakpoint buff


From: Rocky Bernstein
Subject: [elpa] externals/realgud 06d73e1 130/140: remake and gdb breakpoint buffers + add to menu
Date: Sat, 25 May 2019 19:35:49 -0400 (EDT)

branch: externals/realgud
commit 06d73e1dc95b23b5aead9cb617329dae01a94172
Author: rocky <address@hidden>
Commit: rocky <address@hidden>

    remake and gdb breakpoint buffers + add to menu
---
 realgud.el                         |  2 ++
 realgud/common/backtrack-mode.el   |  2 --
 realgud/common/buffer/backtrace.el |  3 +--
 realgud/common/file.el             |  5 +++--
 realgud/common/init.el             |  3 +++
 realgud/common/menu.el             |  6 ++++++
 realgud/debugger/gdb/init.el       | 17 +++++++++++++++++
 realgud/debugger/remake/init.el    | 39 +++++++++++++++++++++++++++++++++++++-
 realgud/lang/posix-shell.el        |  4 ++--
 realgud/lang/python.el             |  4 ++--
 10 files changed, 74 insertions(+), 11 deletions(-)

diff --git a/realgud.el b/realgud.el
index eb597bc..53bd589 100644
--- a/realgud.el
+++ b/realgud.el
@@ -93,6 +93,8 @@
      '(
        "./realgud/common/attach"
        "./realgud/common/track-mode"
+       "./realgud/common/backtrack-mode"
+       "./realgud/common/breakpoint-mode"
        "./realgud/common/utils"
        "./realgud/debugger/bashdb/bashdb"
        "./realgud/debugger/gdb/gdb"
diff --git a/realgud/common/backtrack-mode.el b/realgud/common/backtrack-mode.el
index a4bbfc5..00407cb 100644
--- a/realgud/common/backtrack-mode.el
+++ b/realgud/common/backtrack-mode.el
@@ -28,8 +28,6 @@
    "fringe" "window" "regexp" "menu"
    "send"   "shortkey") "realgud-")
 
-(require-relative-list  '("buffer/command") "realgud-buffer-")
-
 (declare-function realgud:debugger-name-transform 'realgud-helper)
 (declare-function realgud-populate-debugger-menu  'realgud-menu)
 (declare-function realgud:track-set-debugger      'realgud-track)
diff --git a/realgud/common/buffer/backtrace.el 
b/realgud/common/buffer/backtrace.el
index ef05b1d..fe597d4 100644
--- a/realgud/common/buffer/backtrace.el
+++ b/realgud/common/buffer/backtrace.el
@@ -25,8 +25,7 @@
 (require-relative-list
  '("../key" "helper" "../follow" "../loc") "realgud-")
 
-(require-relative-list
- '("command") "realgud-buffer-")
+(require-relative-list '("command") "realgud-buffer-")
 
 (declare-function realgud-cmdbuf-debugger-name        'realgud-buffer-command)
 (declare-function realgud-cmdbuf?                     'realgud-buffer-command)
diff --git a/realgud/common/file.el b/realgud/common/file.el
index 51746e6..ca63482 100644
--- a/realgud/common/file.el
+++ b/realgud/common/file.el
@@ -86,7 +86,7 @@ blanks, or deliberately ignoring 'pseudo-file patterns like 
(eval
 If we're unable find the source code we return a string describing the
 problem as best as we can determine."
 
-  (let* ((cmdbuf (realgud-get-cmdbuf))
+  (let* ((cmdbuf (or (realgud-get-cmdbuf) cmd-marker))
         (ignore-re-file-list (realgud-cmdbuf-ignore-re-file-list cmdbuf))
         (filename-remap-alist (realgud-cmdbuf-filename-remap-alist cmdbuf))
         (remapped-filename
@@ -133,7 +133,8 @@ problem as best as we can determine."
                   (realgud-cmdbuf-filename-remap-alist=
                    (cons
                     (cons filename remapped-filename)
-                    filename-remap-alist))
+                    filename-remap-alist)
+                   cmdbuf)
                   (setq filename remapped-filename)
                   ))
             ;; else
diff --git a/realgud/common/init.el b/realgud/common/init.el
index 920faf6..ffa5ee8 100644
--- a/realgud/common/init.el
+++ b/realgud/common/init.el
@@ -20,6 +20,9 @@
   :group 'realgud
   :version "23.4")
 
+(defvar realgud-address-face 'realgud-line-number
+  "Face name to use for addresses.")
+
 (defvar realgud-line-number-face 'realgud-line-number
   "Face name to use for line numbers.")
 
diff --git a/realgud/common/menu.el b/realgud/common/menu.el
index 2d3209c..332a666 100644
--- a/realgud/common/menu.el
+++ b/realgud/common/menu.el
@@ -82,6 +82,12 @@ menu. (The common map typically contains function key 
bindings.)"
                         :help (documentation 'realgud:window-bt)
                         ))
 
+    (define-key debugger-map [breakpoints]
+      (realgud-menu-item debugger-map "Breakpoints" 'realgud:window-brkpt
+                        :enable '(realgud-get-process)
+                        :help (documentation 'realgud:window-brkpt)
+                        ))
+
     (define-key debugger-map [arrow3]
       (realgud-menu-item debugger-map "Arrow 3" 'realgud-goto-arrow3
                         :enable '(realgud-get-process)
diff --git a/realgud/debugger/gdb/init.el b/realgud/debugger/gdb/init.el
index 5efa69e..3b0b148 100644
--- a/realgud/debugger/gdb/init.el
+++ b/realgud/debugger/gdb/init.el
@@ -146,6 +146,23 @@ realgud-loc-pat struct")
         (1 realgud-backtrace-number-face))
        ))
 
+(setf (gethash "font-lock-breakpoint-keywords" realgud:gdb-pat-hash)
+  '(
+    ;; The breakpoint number, type and disposition
+    ;; 1       breakpoint     keep y   0x0000000000401471 in 
vcdnav_get_entries at ctest.c:67
+    ;; ^       ^^^^^^^^^^     ^^^^
+    ("^\\([0-9]+\\)[ \t]+\\(breakpoint\\)[ \t]+\\(keep\\|del\\)"
+     (1 realgud-breakpoint-number-face)
+     (2 font-lock-function-name-face nil t)     ; t means optional.
+     (3 font-lock-function-name-face nil t))     ; t means optional.
+
+    ;; 1       breakpoint     keep y   0x0000000000401471 in 
vcdnav_get_entries at ctest.c:67
+    ;;                                                       
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^
+    (" in[ \t]+\\(.+*\\):\\([0-9]+\\)"
+     (1 realgud-file-name-face)
+     (2 realgud-line-number-face))
+    ))
+
 (setf (gethash "gdb" realgud-pat-hash) realgud:gdb-pat-hash)
 
 ;;  Prefix used in variable names (e.g. short-key-mode-map) for
diff --git a/realgud/debugger/remake/init.el b/realgud/debugger/remake/init.el
index 0c650cf..1122d08 100644
--- a/realgud/debugger/remake/init.el
+++ b/realgud/debugger/remake/init.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2011, 2014, 2016 Free Software Foundation, Inc
+;; Copyright (C) 2011, 2014, 2016, 2019 Free Software Foundation, Inc
 ;; Author: Rocky Bernstein <address@hidden>
 
 ;; This program is free software; you can redistribute it and/or modify
@@ -113,6 +113,43 @@ backtrace listing.")
        :line-group 5)
       )
 
+;; FIXME breakpoints aren't locations. It should be a different structure
+;; Regular expression that describes a gdb "info breakpoint" line
+;; For example:
+;;  1 breakpoint     keep   y 0x07 ../../../config.status at 
/src/realgud/realgud/debugger/remake/Makefile:282
+;;  2 breakpoint     keep   y 0x07 ../../../configure at 
/src/realgud/realgud/debugger/remake/Makefile:285
+;;  3 breakpoint     keep   y 0x07 ../../../configure.ac at 
/src/realgud/realgud/debugger/remake/Makefile:289
+
+(setf (gethash "debugger-breakpoint" realgud:remake-pat-hash)
+  (make-realgud-loc-pat
+   :regexp (format "^%s[ \t]+\\(breakpoint\\)[ \t]+\\(keep\\|del\\)[ 
\t]+\\([yn]\\)[ \t]+.\\(0x??\\) \\(.+\\):%s"
+                  realgud:regexp-captured-num realgud:regexp-captured-num)
+   :num 1
+   :text-group 2  ;; misnamed Is "breakpoint" or "watchpoint"
+   :string 3      ;; misnamed. Is "keep" or "del"
+   ;; Enable is missing
+   ;; Skipped mask
+   :file-group 5
+   :line-group 6)
+  )
+
+
+(setf (gethash "font-lock-breakpoint-keywords" realgud:remake-pat-hash)
+  '(
+    ;;  1 breakpoint     keep   y 0x07 ../../../config.status at 
/src/external-vcs/github/rocky/realgud/realgud/debugger/remake/Makefile:282
+    ;;  ^ ^^^^^^^^^^     ^^^^   ^
+    ("^[ \t]+\\([0-9]+\\)[ \t]+\\(breakpoint\\)[ \t]+\\(keep\\|del\\)[ 
\t]+\\([yn]\\)"
+     (1 realgud-breakpoint-number-face)
+     (2 font-lock-function-name-face nil t)     ; t means optional.
+     (3 font-lock-function-name-face nil t))    ; t means optional.
+
+    ;;  1 breakpoint     keep   y 0x07 ../../../config.status at 
/src/realgud/realgud/debugger/remake/Makefile:282
+    ;;                                                           
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^
+    (" \\(0x??\\) \\(.+\\) at \\(.+\\):\\([0-9]+\\)"
+     (3 realgud-file-name-face)
+     (4 realgud-line-number-face))
+    ))
+
 ;; realgud-loc-pat that describes which frame is selected in
 ;; a debugger backtrace listing.
 (setf (gethash "selected-frame-indicator" realgud:remake-pat-hash)
diff --git a/realgud/lang/posix-shell.el b/realgud/lang/posix-shell.el
index a1787cc..15c9fcc 100644
--- a/realgud/lang/posix-shell.el
+++ b/realgud/lang/posix-shell.el
@@ -174,10 +174,10 @@ traceback) line."  )
      (3 font-lock-function-name-face nil t))     ; t means optional.
 
     ;; 1   breakpoint    keep y   /Users/rocky/.bashrc:6
-    ;;                            ^^^^^^^^^^^^^^^^^^^^^^
+    ;;                            ^^^^^^^^^^^^^^^^^^^^ ^
     ("[ \t]+\\(.+*\\):\\([0-9]+\\)"
      (1 realgud-file-name-face)
-     (1 realgud-line-number-face))
+     (2 realgud-line-number-face))
     ))
 
 (provide-me "realgud-lang-")
diff --git a/realgud/lang/python.el b/realgud/lang/python.el
index f7ff77e..c47518f 100644
--- a/realgud/lang/python.el
+++ b/realgud/lang/python.el
@@ -183,10 +183,10 @@ traceback) line."  )
      (3 font-lock-function-name-face nil t))     ; t means optional.
 
     ;; 1   breakpoint    keep y   at 
/home/rocky/.pyenv/versions/3.7.2/bin/trepan3k:6
-    ;;                            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+    ;;                            
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^
     ("[ \t]+at \\(.+*\\):\\([0-9]+\\)"
      (1 realgud-file-name-face)
-     (1 realgud-line-number-face))
+     (2 realgud-line-number-face))
     ))
 
 (defconst realgud-pytest-error-loc-pat



reply via email to

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