GNU bug report logs -
#22957
C-u C-x = prints garbage for a text property with value '(string . ?")
Previous Next
Reported by: Alan Mackenzie <acm <at> muc.de>
Date: Wed, 9 Mar 2016 05:53:02 UTC
Severity: normal
Tags: fixed, patch
Fixed in version 27.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Alan Mackenzie <acm <at> muc.de> writes:
> Hello, Emacs.
>
> In the master branch:
> emacs -Q
> .
> In the *scratch* buffer, with point at any character, do:
>
> M-: (put-text-property (point) (1+ (point)) 'asdf '(string . ?\"))
>
> . Without moving point,
>
> C-u C-x =
>
> . There appears in the *Help* buffer the following:
>
> There are text properties here:
> asdf string (widget)Top
> face font-lock-comment-face
> fontified t
>
> . The entry for "asdf" is garbage. It should show the actual value of
> the text property just set, not "string (widget)Top". The same thing
> happens in Emacs 24.5 (and presumably the emacs-25 branch).
Indeed.
> Initial investigation:
>
> The symbol 'string has a 'widget-type property. Without validating the
> structure (or lack thereof) of the assumed widget value,
> `describe-property-list' attempts to enter the "widget browser" rather
> than printing the full value of the 'asdf text property.
`describe-property-list' is a very general-sounding function, and
doesn't mention anything about widgets, so having it do widget stuff is
rather surprising.
The only callers to this function are from descr-text and as far as I
can tell, none of them are widget-ey. Looking at the commit log, it
looks like there was a bunch of widget stuff in here before, but it's
been removed. Perhaps this was just forgotten?
The following trivial patch fixes the problem. Any opinions?
diff --git a/lisp/descr-text.el b/lisp/descr-text.el
index 8be2b94458..ba53aeb385 100644
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -88,8 +88,6 @@ describe-property-list
(insert-text-button
(format "%S" value)
'type 'help-face 'help-args (list value)))
- ((widgetp value)
- (describe-text-widget value))
(t
(describe-text-sexp value))))
(insert "\n")))
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
This bug report was last modified 5 years and 298 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.