GNU bug report logs -
#24073
24.5; outline-on-heading-p sees any invisible text property as outline inviisble
Previous Next
Reported by: Paul Rankin <hello <at> paulwrankin.com>
Date: Tue, 26 Jul 2016 08:13:02 UTC
Severity: normal
Merged with 28080
Found in versions 24.5, 25.2
Fixed in version 26.1
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
npostavs <at> users.sourceforge.net on Mon, 01 Aug 2016 10:16 -0400:
> I don't think it's necessarily a misuse of defsubst, that just happens
> to be one of the limitations.
Jks ;)
> Well, as you saw, re`eval'uating outline-on-heading-p (so that it
> becomes uncompiled) seems to work, you could try doing that from lisp:
>
> (pcase (find-function-noselect 'outline-on-heading-p)
> (`(,buffer . ,position)
> (with-current-buffer buffer
> (goto-char position)
> (eval (read (current-buffer)))))
> (_ (error "Couldn't find `outline-on-heading-p'")))
Whoa this is terrifying...
Would something like the following work? Maybe with a
(condition-case ...) ?
(let ((source (find-function-noselect 'outline-on-heading-p)))
(with-current-buffer (car source)
(goto-char (cdr source))
(eval-defun nil)))
> Or advise :override outline-on-heading-p instead of outline-invisible-p.
But I want to act with a light touch...
> 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.
This bug report was last modified 4 years and 202 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.