Subject: bug#22957: C-u C-x = prints garbage for a text property with value '(string . ?")

From: Alan Mackenzie <[email-masked]>
Date: Wed, 9 Mar 2016 05:54:41 +0000

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).

#########################################################################

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.

-- 
Alan Mackenzie (Nuremberg, Germany).