From 66a9487020d84cb65db6de2705a9a25f55903405 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Fri, 5 Apr 2024 14:07:44 +0800 Subject: [PATCH] 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. (cherry picked from commit 7a13d012c8e17eb25fc8826cdd9ac3e96f912167) --- 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 "#" (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.") -- 2.39.5