[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#64536: 30.0.50; Make cl-print put buttons on ellipses
From: |
Stefan Monnier |
Subject: |
bug#64536: 30.0.50; Make cl-print put buttons on ellipses |
Date: |
Sat, 12 Aug 2023 01:23:03 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
>> -;; Define button type used for ...'s.
>> -;; Set skip property so you don't have to TAB through 100 of them to
>> -;; get to the next function name.
>> -(define-button-type 'backtrace-ellipsis
>> - 'skip t 'action #'backtrace-expand-ellipsis
>> - 'help-echo "mouse-2, RET: expand this ellipsis")
>
> Isn't this a breaking change?
> I just got inspector.el broken because it uses 'backtrace-ellipsis
> button type.
Apparently it's a breaking change, indeed.
Hmm... we could re-add it, but with the new `cl-print.el` your code
should simply not use `backtrace-ellipsis` at all because `cl-print.el`
did it for you already.
IOW, I think a patch like the one below my sig is the better option.
> At least, I'd expect to see the removal documented in NEWS.
How 'bout:
The code that allowed "..." to be expanded in the "*Backtrace*" buffer
should now work anywhere the data is generated by 'cl-print'.
+*** The 'backtrace-ellipsis' button is replaced by 'cl-print-ellipsis'.
+
*** hash-tables' contents can be expanded via the ellipsis.
+*** Modes can control the expansion via
'cl-print-expand-ellipsis-function'.
+
** Modeline elements can now be right-aligned.
Anything following the symbol 'mode-line-format-right-align' in
'mode-line-format' will be right-aligned. Exactly where it is
-- Stefan
diff --git a/inspector.el b/inspector.el
index fa9b1cc778..e00209f2be 100644
--- a/inspector.el
+++ b/inspector.el
@@ -1,6 +1,6 @@
;;; inspector.el --- Tool for inspection of Emacs Lisp objects -*-
lexical-binding: t -*-
-;; Copyright (C) 2021-2022 Free Software Foundation, Inc.
+;; Copyright (C) 2021-2023 Free Software Foundation, Inc.
;; Author: Mariano Montone <marianomontone@gmail.com>
;; URL: https://github.com/mmontone/emacs-inspector
@@ -243,13 +243,14 @@ LIMIT controls the truncation."
(put-text-property (point-min) (point) 'inspector-form (gensym))
;; Make buttons from all the "..."s. Since there might be many of
;; them, use text property buttons.
- (goto-char (point-min))
- (while (< (point) (point-max))
- (let ((end (next-single-property-change (point) 'cl-print-ellipsis
- nil (point-max))))
- (when (get-text-property (point) 'cl-print-ellipsis)
- (make-text-button (point) end :type 'backtrace-ellipsis))
- (goto-char end)))
+ (unless (boundp 'cl-print-expand-ellipsis-function) ;Emacs-30
+ (goto-char (point-min))
+ (while (< (point) (point-max))
+ (let ((end (next-single-property-change (point) 'cl-print-ellipsis
+ nil (point-max))))
+ (when (get-text-property (point) 'cl-print-ellipsis)
+ (make-text-button (point) end :type 'backtrace-ellipsis))
+ (goto-char end))))
(buffer-string)))
(cl-defgeneric inspector--face-for-object (object)
- bug#64536: 30.0.50; Make cl-print put buttons on ellipses, Ihor Radchenko, 2023/08/11
- bug#64536: 30.0.50; Make cl-print put buttons on ellipses,
Stefan Monnier <=
- bug#64536: 30.0.50; Make cl-print put buttons on ellipses, Ihor Radchenko, 2023/08/12
- bug#64536: 30.0.50; Make cl-print put buttons on ellipses, Stefan Monnier, 2023/08/12
- bug#64536: 30.0.50; Make cl-print put buttons on ellipses, Ihor Radchenko, 2023/08/13
- bug#64536: 30.0.50; Make cl-print put buttons on ellipses, Stefan Monnier, 2023/08/13
- bug#64536: 30.0.50; Make cl-print put buttons on ellipses, Ihor Radchenko, 2023/08/14
- bug#64536: 30.0.50; Make cl-print put buttons on ellipses, Stefan Monnier, 2023/08/14
- bug#64536: 30.0.50; Make cl-print put buttons on ellipses, Ihor Radchenko, 2023/08/14