Subject: Re: bug#13648: 24.3.50; remove-overlays bugs

From: Lars Ingebrigtsen <[email-masked]>
Date: Tue, 25 Aug 2020 16:23:26 +0200

Stefan Monnier <[email-masked]> writes:

>> The case here is (remove-overlay beg end 'foo), which will remove all
>> overlays that don't have foo (as well as the ones that have foo, but
>> it's set to nil)?  
>
> I think the case you describe is indeed never useful, but it *is*
> implemented, AFAIK.
>
> The more useful interpretation I think would be for
> (remove-overlay beg end 'foo) to remove all overlays that have a non-nil
> value of `foo`.  But I haven't implemented it because (despite my
> impression that it would be more useful) I haven't actually found any
> need for it.

Yeah, and perhaps that'll break something...   In any case, it's
probably not worth mentioning in the doc string.  :/

>>  (defun remove-overlays (&optional beg end name val)
>>    "Clear BEG and END of overlays whose property NAME has value VAL.
>
> As Eli points out, I wasn't very inspired when I wrote this first line.
> We should at very least replace "BEG and END" with "BEG...END" or
> something like that.

Yup.  I've added more text there.

>> +BEG and END default respectively to the beginning and end of buffer.
>> +Values are compared with `eq'.
>> +If either NAME or VAL are specified, both should be specified."
>
> LGTM,

Pushed to the trunk.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no