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

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

[elpa] externals/realgud ecc78f1 012/140: Fix up breakpoint display


From: Rocky Bernstein
Subject: [elpa] externals/realgud ecc78f1 012/140: Fix up breakpoint display
Date: Sat, 25 May 2019 19:35:21 -0400 (EDT)

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

    Fix up breakpoint display
---
 realgud/common/buffer/command.el | 52 +++++++++++++++++++++++-----------------
 realgud/common/loc.el            | 27 +++++++++++++++------
 realgud/common/track.el          |  2 +-
 3 files changed, 51 insertions(+), 30 deletions(-)

diff --git a/realgud/common/buffer/command.el b/realgud/common/buffer/command.el
index 7316c89..2ccdafd 100644
--- a/realgud/common/buffer/command.el
+++ b/realgud/common/buffer/command.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015-2016 Free Software Foundation, Inc
+;; Copyright (C) 2015-2017 Free Software Foundation, Inc
 ;; Author: Rocky Bernstein <address@hidden>
 
 ;; This program is free software; you can redistribute it and/or modify
@@ -156,19 +156,33 @@
       (insert "\n")
       )))
 
-;;; JSON encoder
+;; FIXME: this is a cheat. We are inserting
+;; and afterwards inserting ""
+(defun realgud:cmdbuf-bp-list-describe (info)
+  (let ((bp-list (realgud-cmdbuf-info-bp-list info)))
+    (cond (bp-list
+          (insert "** Breakpoint list (bp-list)\n")
+          (dolist (loc bp-list "")
+            (let ((bp-num (realgud-loc-num loc)))
+              (insert (format "*** Breakpoint %d\n" bp-num))
+              (realgud:org-mode-append-loc loc))))
+         ;; Since we are inserting, the below in fact
+         ;; inserts nothing. The string return is
+         ;; aspirational for when this is fixed
+         (t "\n")
+         )))
 
 (defun realgud:org-mode-encode (header object)
   "Return an org-mode representation of OBJECT as an org-mode string."
-  (format "%s\n%s" header
+  (format "%s%s" header
          (cond ((not object) "nil\n")
-               ;; ((stringp object)      (realgud:org-mode-encodestring 
object))
-               ;; ((keywordp object)     (realgud:org-mode-encodestring
-               ;;                         (substring (symbol-name object) 1)))
-               ;;((symbolp object)      (realgud:org-mode-encodestring
-               ;;                        (symbol-name object)))
-               ;; ((numberp object)      (realgud:org-mode-encodenumber 
object))
-               ;; ((arrayp object)       (realgud:org-mode-encodearray object))
+               ((stringp object)      (format "%s\n" object))
+               ((keywordp object)     (json-encode-string
+                                        (substring (symbol-name object) 1)))
+               ((symbolp object)      (json-encode-string
+                                        (symbol-name object)))
+               ((numberp object)      (json-encode-number object))
+               ((arrayp object)       (json-encode-array object))
                ((hash-table-p object) (realgud:org-mode-encode-htable object))
                ;; ((listp object)        (realgud:org-mode-encodelist object))
                (t                     (signal 'error (list object))))))
@@ -181,14 +195,11 @@
             (maphash
              (lambda (k v)
                (push (format
-                      "  - %s\t: %s" k v)
+                      "  - %s\t: %s" k (realgud:org-mode-encode v ""))
                      r))
              hash-table)
             r)
-          "\n")))
-
-
-
+          "")))
 
 (defun realgud:cmdbuf-info-describe (&optional buffer)
   "Display realgud-cmdcbuf-info fields of BUFFER.
@@ -235,24 +246,21 @@ This is based on an org-mode buffer. Hit tab to 
expand/contract sections.
                               (realgud-cmdbuf-info-last-input-end info))
                       (format "  - Source should go into short-key mode? :: 
%s\n"
                               (realgud-cmdbuf-info-src-shortkey? info))
-
                       (format "  - In debugger?      ::\t%s\n"
                               (realgud-cmdbuf-info-in-debugger? info))
 
-                      ;; FIXME populate bp-list!
-                      ;; (format "  - Breakpoint list   ::\t %s\n"
-                      ;;              (realgud-cmdbuf-info-bp-list info))
-                      (realgud:org-mode-encode "\n*** Remap table for debugger 
commands"
+                      (realgud:org-mode-encode "\n*** Remap table for debugger 
commands\n"
                                                      
(realgud-cmdbuf-info-cmd-hash info))
-                      ;; (format "  - Remap table for debugger commands 
::\n\t%s\n"
-                      ;;   (json-encode (realgud-cmdbuf-info-cmd-hash info)))
                       ;; (realgud:org-mode-encode "\n*** Backtrace buffer"
                       ;;                               
(realgud-cmdbuf-info-bt-buf info))
                       ;; (format "  - Backtrace buffer  ::\t%s\n"
                       ;;   (realgud-cmdbuf-info-bt-buf info))
                       ))
                (insert "\n")
+               (realgud:cmdbuf-bp-list-describe info)
+               (insert "\n")
                (realgud:cmdbuf-buffers-describe info)
+               (insert "\n")
                (realgud:loc-hist-describe (realgud-cmdbuf-info-loc-hist info))
                (insert "
 #+STARTUP: overview
diff --git a/realgud/common/loc.el b/realgud/common/loc.el
index 76584c0..f90436f 100644
--- a/realgud/common/loc.el
+++ b/realgud/common/loc.el
@@ -1,4 +1,4 @@
-;; Copyright (C) 2015-2016 Free Software Foundation, Inc
+;; Copyright (C) 2015-2017 Free Software Foundation, Inc
 
 ;; Author: Rocky Bernstein <address@hidden>
 
@@ -62,9 +62,16 @@ without buffer properties."
 Information is put in an internal buffer called *Describe*."
   (interactive "")
   (switch-to-buffer (get-buffer-create "*Describe*"))
-  (let ((link-start) (link-end) (map) (filename))
+  (realgud:org-mode-append-loc loc))
+
+(defun realgud:org-mode-append-loc (loc)
+  "Display realgud-cmdcbuf-info.
+Information is put in an internal buffer called *Describe*."
+  (let ((column-number (realgud-loc-column-number loc))
+       (bp-num (realgud-loc-num loc))
+       (source-text (realgud-loc-source-text loc))
+       (filename (realgud-loc-filename loc)))
     (insert "  - filename      :: ")
-    (setq filename (realgud-loc-filename loc))
     (put-text-property
      (insert-text-button filename
                         'action 'realgud:follow-event
@@ -75,10 +82,16 @@ Information is put in an internal buffer called *Describe*."
     (mapc 'insert
          (list
           (format "  - line number   :: %s\n" (realgud-loc-line-number loc))
-          (format "  - brkpt num     :: %s\n" (realgud-loc-num loc))
-          (format "  - column number :: %s\n"
-                  (realgud-loc-column-number loc))
-          (format "  - source text   :: %s\n" (realgud-loc-source-text loc))
+          (if bp-num
+              (format "  - brkpt num     :: %s\n" (realgud-loc-num loc))
+            "")
+          (if column-number
+              (format "  - column number :: %s\n"
+                      (realgud-loc-column-number loc))
+            "")
+          (if source-text
+              (format "  - source text   :: %s\n" (realgud-loc-source-text 
loc))
+            "")
           ))
     ;; Make locations clickable
     (insert "  - source marker :: ")
diff --git a/realgud/common/track.el b/realgud/common/track.el
index f26a0ed..174cb6a 100644
--- a/realgud/common/track.el
+++ b/realgud/common/track.el
@@ -510,7 +510,7 @@ Otherwise return nil. CMD-MARK is set in the realgud-loc 
object created.
                                             (realgud-bp-add-info loc))
 
                                           (realgud-cmdbuf-info-bp-list=
-                                           (cons loc (realgud-sget 
'cmdbuf-info 'bp-list)))
+                                           (add-to-list loc (realgud-sget 
'cmdbuf-info 'bp-list)))
                                           ;; Set to return location
                                           loc-or-error))))
                                 nil))))



reply via email to

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