emacs-diffs
[Top][All Lists]
Advanced

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

master 7a13d012c8e 2/4: Print records inside data-debug


From: Po Lu
Subject: master 7a13d012c8e 2/4: Print records inside data-debug
Date: Fri, 5 Apr 2024 03:04:35 -0400 (EDT)

branch: master
commit 7a13d012c8e17eb25fc8826cdd9ac3e96f912167
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Print records inside data-debug
    
    * lisp/cedet/data-debug.el
    (data-debug-insert-stuff-record-button): New function.
    (data-debug-thing-alist): Register new function.
---
 lisp/cedet/data-debug.el | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/lisp/cedet/data-debug.el b/lisp/cedet/data-debug.el
index 83ff451fa99..fda3edd602c 100644
--- a/lisp/cedet/data-debug.el
+++ b/lisp/cedet/data-debug.el
@@ -598,6 +598,29 @@ PREBUTTONTEXT is some text between prefix and the stuff 
vector button."
     )
   )
 
+(defun data-debug-insert-stuff-record-button (stuffvector
+                                             prefix
+                                             prebuttontext)
+  "Insert a button representing STUFFVECTOR.
+PREFIX is the text that precedes the button.
+PREBUTTONTEXT is some text between prefix and the stuff vector button."
+  (let* ((start (point))
+        (end nil)
+        (str (format "#<record o' stuff: %d entries>" (length stuffvector)))
+        (tip str))
+    (insert prefix prebuttontext str)
+    (setq end (point))
+    (put-text-property (- end (length str)) end 'face 
'font-lock-variable-name-face)
+    (put-text-property start end 'ddebug stuffvector)
+    (put-text-property start end 'ddebug-indent (length prefix))
+    (put-text-property start end 'ddebug-prefix prefix)
+    (put-text-property start end 'help-echo tip)
+    (put-text-property start end 'ddebug-function
+                      'data-debug-insert-stuff-vector-from-point)
+    (insert "\n")
+    )
+  )
+
 ;;; Symbol
 ;;
 
@@ -781,6 +804,9 @@ FACE is the face to use."
 
     ;; Vector of stuff
     (vectorp . data-debug-insert-stuff-vector-button)
+
+    ;; Record of stuff
+    (recordp . data-debug-insert-stuff-record-button)
     )
   "Alist of methods used to insert things into an Ddebug buffer.")
 



reply via email to

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