João Távora writes: > Hi Paul, > > After a lengthy git bisect, I discovered that this commit is responsible > for breaking a very big part of my SLY extension, a Common Lisp IDE for > Emacs. The reason is this change to make-text-button > > - (when (stringp beg) > - (setq object beg beg 0 end (length object))) > + (setq object (copy-sequence beg) beg 0 end (length object))) > > I don't pretend to understand the reason for the change, but I know it > hasn't worked like this for a long time (SLY came about for Emacs 24.3)., > > I didn't investigate much, but SLY has a lot of > > (insert (sly-make-action-button "[SOMEBUTTON]" ..)) > > and sly-make-action-button is > > (defun sly-make-action-button (label action &rest props) > (apply #'sly--make-text-button > label nil :type 'sly-action > 'action action > 'mouse-action action > props) > label) I think you want (defun sly-make-action-button (label action &rest props) (apply #'sly--make-text-button label nil :type 'sly-action 'action action 'mouse-action action props)) instead, since the new function returns a copy of label rather than the string passed in.