Subject: Re: bug#24073: 24.5; outline-on-heading-p sees any invisible text property as outline invisible

From: Noam Postavsky <[email-masked]>
Date: Tue, 2 Aug 2016 10:27:58 -0400

On Tue, Aug 2, 2016 at 12:22 AM, Paul Rankin <[email-masked]> wrote:
> It appears that
> (find-function-noselect 'missingfunction) will just hang Emacs anyway.

That's a bug, but it seems to be fixed in Emacs-25, it signals void-function.

>
>> >> By the way, shouldn't that be
>> >>
>> >>                   (lambda (return) (or (eq return 'outline) return))
>> >
>> > I think this will fail when outline-invisible-p returns foo in the
>> > initial example. We want to only return t when outline-invisible-p
>> > returns outline, not foo or otherwise.
>>
>> Oh, then your original was okay, it just had a bit of dead code.
>> Simply (lambda (return) (eq return 'outline)) should suffice.
>
> Then this will fail if/when outline-invisible-p is fixed to return t
> when I wanna future-proof this, so users don't notice the transition.
> Sorry my previous reply neglected to mention returning t.

Oh, then you need (lambda (return) (or (eq return 'outline) (eq return t)))
Alternatively maybe I can tempt you into learning pcase ;)
 (lambda (return) (pcase return ((or `outline `t) t)))