]> code.delx.au - gnu-emacs-elpa/commitdiff
Use macro to create defstruct setters. Add describe routine for defstruct.
authorrocky <rocky@gnu.org>
Wed, 13 Apr 2011 19:17:30 +0000 (15:17 -0400)
committerrocky <rocky@gnu.org>
Wed, 13 Apr 2011 19:17:30 +0000 (15:17 -0400)
dbgr/common/buffer/command.el
dbgr/common/buffer/source.el

index 51bbe24006ab656f1110b00ddb221f2145b5e042..009396011685ac091c6b98ebeb62ebed04b8cb27 100644 (file)
 
 (defalias 'dbgr-cmdbuf-info? 'dbgr-cmdbuf-info-p)
 
+;; FIXME: figure out how to put in a loop.
+(dbgr-struct-field-setter "dbgr-cmdbuf-info" "bp-list")
+(dbgr-struct-field-setter "dbgr-cmdbuf-info" "bt-buf")
+(dbgr-struct-field-setter "dbgr-cmdbuf-info" "cmd-args")
+(dbgr-struct-field-setter "dbgr-cmdbuf-info" "divert-output?")
+(dbgr-struct-field-setter "dbgr-cmdbuf-info" "frame-switch?")
+(dbgr-struct-field-setter "dbgr-cmdbuf-info" "in-srcbuf?")
+(dbgr-struct-field-setter "dbgr-cmdbuf-info" "no-record?")
+(dbgr-struct-field-setter "dbgr-cmdbuf-info" "prior-prompt-regexp")
+(dbgr-struct-field-setter "dbgr-cmdbuf-info" "src-shortkey?")
+
 (defun dbgr-cmdbuf-info-describe ()
   (interactive "")
-  (message "debugger-name: %s" 
-          (dbgr-cmdbuf-info-debugger-name dbgr-cmdbuf-info))
-  (message "in source or command buffer: %s" 
-          (dbgr-cmdbuf-info-in-srcbuf? dbgr-cmdbuf-info))
-  (message "command-line args: %s" 
-          (dbgr-cmdbuf-info-cmd-args dbgr-cmdbuf-info))
-  (message "source should go into shortkey?: %s"
-          (dbgr-cmdbuf-info-src-shortkey? dbgr-cmdbuf-info))
-  (message "command hash: %s"
-          (dbgr-cmdbuf-info-cmd-hash dbgr-cmdbuf-info))
-  (message "backtrace-buffer: %s"
-          (dbgr-cmdbuf-info-bt-buf dbgr-cmdbuf-info))
+  (let ((info dbgr-cmdbuf-info)
+       (cmdbuf-name (buffer-name)))
+    (switch-to-buffer (get-buffer-create "*Describe*"))
+    (delete-region (point-min) (point-max))
+    (insert (format "cmdbuf-info for %s\n" cmdbuf-name))
+    (insert (format "Debugger-name: %s\n" 
+                   (dbgr-cmdbuf-info-debugger-name info)))
+    (insert (format "In source or command buffer?: %s\n" 
+                   (dbgr-cmdbuf-info-in-srcbuf? info)))
+    (insert (format "Command-line args: %s\n" 
+                   (dbgr-cmdbuf-info-cmd-args info)))
+    (insert (format "Source should go into shortkey?: %s\n"
+                   (dbgr-cmdbuf-info-src-shortkey? info)))
+    (insert (format "Breakpoint list: %s\n"
+                   (dbgr-cmdbuf-info-bp-list info)))
+    (insert (format "Remap table for debugger commands: %s\n"
+                   (dbgr-cmdbuf-info-cmd-hash info)))
+    (insert (format "Source buffers seen: %s\n"
+                   (dbgr-cmdbuf-info-srcbuf-list info)))
+    (insert (format "Backtrace buffer: %s\n"
+                   (dbgr-cmdbuf-info-bt-buf info)))
+    )
   )
 
 (defun dbgr-cmdbuf? (&optional buffer)
        ))
   )
 
-;; FIXME: DRY = access via a macro. See also analogous
-;; code in dbgr-srcbuf
-(defun dbgr-cmdbuf-info-bp-list=(value)
-  (if (dbgr-cmdbuf-info? dbgr-cmdbuf-info)
-      (setf (dbgr-cmdbuf-info-bp-list dbgr-cmdbuf-info) value)))
-
-(defun dbgr-cmdbuf-info-cmd-args=(value)
-  (setf (dbgr-cmdbuf-info-cmd-args dbgr-cmdbuf-info) value))
-
-(defun dbgr-cmdbuf-info-divert-output?=(value)
-  (setf (dbgr-cmdbuf-info-divert-output? dbgr-cmdbuf-info) value))
-
-(defun dbgr-cmdbuf-info-frame-switch?=(value)
-  (setf (dbgr-cmdbuf-info-frame-switch? dbgr-cmdbuf-info) value))
-
-(defun dbgr-cmdbuf-info-in-srcbuf?=(value)
-  (setf (dbgr-cmdbuf-info-in-srcbuf? dbgr-cmdbuf-info) value))
-
-(defun dbgr-cmdbuf-info-no-record?=(value)
-  (setf (dbgr-cmdbuf-info-no-record? dbgr-cmdbuf-info) value))
-
-(defun dbgr-cmdbuf-info-bt-buf=(value)
-  (setf (dbgr-cmdbuf-info-bt-buf dbgr-cmdbuf-info) value))
-
-(defun dbgr-cmdbuf-info-prior-prompt-regexp=(value)
-  (if (dbgr-cmdbuf-info? dbgr-cmdbuf-info)
-      (setf (dbgr-cmdbuf-info-prior-prompt-regexp dbgr-cmdbuf-info) value)))
-
-(defun dbgr-cmdbuf-info-src-shortkey?=(value)
-  (setf (dbgr-cmdbuf-info-src-shortkey? dbgr-cmdbuf-info) value))
-
 (defun dbgr-cmdbuf-command-string(cmd-buffer)
   "Get the command string invocation for this command buffer"
     (cond
index b7406a862ba6bd0c6c740949e70dd34dd47bd8a4..6bdfb01bde30b4e22d0a0b7df9b67847d20ec5cf 100644 (file)
@@ -10,7 +10,7 @@
 (require-relative-list '("../helper" "../key") "dbgr-")
 
 (defstruct dbgr-srcbuf-info
-  "debugger object/structure specific to a (top-level) Ruby file
+  "debugger object/structure specific to a (top-level) source program
 to be debugged."
   debugger-name  ;; Name of debugger. We could get this from the
                  ;; process command buffer, but we want to store it
@@ -50,6 +50,26 @@ to be debugged."
 (dbgr-struct-field-setter "dbgr-srcbuf-info" "short-key?")
 (dbgr-struct-field-setter "dbgr-srcbuf-info" "was-read-only?")
 
+(defun dbgr-srcbuf-info-describe ()
+  (interactive "")
+  (let ((info dbgr-srcbuf-info)
+       (srcbuf-name (buffer-name)))
+    (switch-to-buffer (get-buffer-create "*Describe*"))
+    (delete-region (point-min) (point-max))
+    (insert (format "srcbuf-info for %s\n" srcbuf-name))
+    (insert (format "Debugger-name: %s\n" 
+                   (dbgr-srcbuf-info-debugger-name info)))
+    (insert (format "Command-line args: %s\n" 
+                   (dbgr-srcbuf-info-cmd-args info)))
+    (insert (format "Was previously read only?: %s\n"
+                   (dbgr-srcbuf-info-was-read-only? info)))
+    (insert (format "Command Process buffer: %s\n"
+                   (dbgr-srcbuf-info-cmdproc info)))
+    (insert (format "Location history: %s\n"
+                   (dbgr-srcbuf-info-loc-hist info)))
+    )
+  )
+
 (defun dbgr-srcbuf-info-set? ()
   "Return true if `dbgr-srcbuf-info' is set."
   (and (boundp 'dbgr-srcbuf-info)