Subject: bug#8657: 24.0.50; Emacs code that seems to use `*-single-char-property-change' incorrectly

From: Eli Zaretskii <[email-masked]>
Date: Thu, 12 May 2011 00:44:33 -0400

> From: Stefan Monnier <[email-masked]>
> Date: Thu, 12 May 2011 00:05:46 -0300
> Cc: [email-masked]
> 
> > In particular, IIUC, the return value can never be nil.
> > Yet I see code such as this:
>  
> > gnus-summary-show-thread:
> > (or (next-single-char-property-change end 'invisible) (point-max))
>  
> > comint-next-prompt:
> > (setq pos (next-single-char-property-change pos 'field))
> > (cond (or (null pos)...
>  
> > Isn't this incorrect?
> 
> The behavior might have changed at some point in time, explaining the
> above code.

Or maybe the author was confusing next-single-char-property-change
with next-single-property-change.

In any case, those tests are redundant, because
next-single-char-property-change already returns point-max when it
finds no change in properties.