Subject: Re: bug#52881: setting tab-line-separator to any value breaks clicking tabs with mouse

From: Juri Linkov <[email-masked]>
Date: Sun, 02 Jan 2022 20:04:15 +0200

>>> >> Eli, is it ok to push this patch to the release branch
>>> >> to support longer separators:
>>> >
>>> > Yes, but can you make it a bit cleaner?  Like having a single function
>>> > to do that, and also not calling next-single-property-change twice an
>>> > a row?
>>>
>>> I could optimize this, but I wonder why there is no simple function
>>> to find a text property and its first value in the string?
>>
>> I don't know.  We could add something like that, but that would not be
>> for the release branch.
>
> Now fixed in Emacs 28 with an internal function.

Oh no, 'get-text-property' can't replace 'get-pos-property'
because it fails after 'previous-single-property-change':

  (progn
    (insert (concat "(" (propertize "1" 'tab 1) ")"))
    (let ((pos (previous-single-property-change (point) 'tab)))
      (cons (get-text-property pos 'tab)
            (get-pos-property pos 'tab))))

in *scratch* it returns (nil . 1).  So now the recent fix was fixed on emacs-28.