On Thu, Jun 8, 2017 at 5:10 PM Nicolas Goaziou wrote: > > Test test-org/custom-properties condition: > > (ert-test-failed > > ((should > > (let > > (...) > > (org-test-with-temp-text "* H > > :PROPERTIES: > > :FOO: val > > :END: > > " ... ...))) > > :form > > (let > > ((org-custom-properties ...)) > > (org-test-with-temp-text "* H > > :PROPERTIES: > > :FOO: val > > :END: > > " > > (org-toggle-custom-properties-visibility) > > (org-invisible-p2))) > > :value nil)) > > FAILED 646/734 test-org/custom-properties > > > > (ert-test-failed > > ((should > > (org-test-with-temp-text "#+BEGIN_CENTER > > P1 > > > > P2 > > #+END_CENTER > > P3" > > (org-hide-block-toggle) > > (org-forward-paragraph) > > (looking-at "P3"))) > > :form > > (let > > ((inside-text ...) > > (org-mode-hook nil)) > > (with-temp-buffer > > (org-mode) > > (let ... ...) > > (org-hide-block-toggle) > > (org-forward-paragraph) > > (looking-at "P3"))) > > :value nil)) > > FAILED 668/734 test-org/forward-paragraph > > These one are related to invisible text. I don't what is going to change > in this area in next Emacs release. > This commit in emacs master is causing this failure: http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=9cc59ffbbb2f20fbbf1c72d2e0c9dc47c7906a99 Earlier outline-invisible-p simply returned the value of (get-char-property (or pos (point)) 'invisible). But now (in emacs master), it does a check if that value is equal to 'outline. That test fails as (get-char-property (or pos (point)) 'invisible) returns 'org-hide-block, not 'outline. Now outline-invisible-p is used at many places! lisp/org-archive.el 227: cl (if (outline-invisible-p) (org-end-of-subtree nil t)))) 425: cl (if (outline-invisible-p) (org-end-of-subtree nil t)))) 573: cl (if (outline-invisible-p) (org-end-of-subtree nil t)))) 594: cl (if (outline-invisible-p) (org-end-of-subtree nil t)))) lisp/org-clock.el 2965: (when (outline-invisible-p) (org-show-context)))))) lisp/org.el 6926: (when (outline-invisible-p) (org-flag-heading nil)))) 6960: (when (outline-invisible-p) (org-flag-heading nil))) 7134: (when (and (not (outline-invisible-p)) 7136: (goto-char (point-at-eol)) (outline-invisible-p))) 7489: (when (or (outline-invisible-p) (org-invisible-p2)) 7530: (when (outline-invisible-p) 8387: (setq folded (outline-invisible-p))) 8483: (setq folded (outline-invisible-p))) 8536: (let* ((visp (not (outline-invisible-p))) 8593: (when (and (outline-invisible-p) visp) 10441: (when (outline-invisible-p) (org-show-context))) 11144: (when (or (outline-invisible-p) (org-invisible-p2)) (org-show-context 'mark-goto)))) 12395: cl (when (outline-invisible-p) (org-end-of-subtree nil t)))) 13323: (lambda () (when (outline-invisible-p) (org-end-of-subtree nil t)))) 13340: (lambda () (when (outline-invisible-p) (org-end-of-subtree nil t)))) 14887: '(when (outline-invisible-p) (org-end-of-subtree nil t)))) 23850: ;; Early versions of noutline don't have `outline-invisible-p'. 23852: (outline-invisible-p))) 23858: ;; Early versions of noutline don't have `outline-invisible-p'. 23859: (outline-invisible-p))) 24129: (not (outline-invisible-p 24265: ((outline-invisible-p (line-end-position)) 24352: (when (outline-invisible-p (point)) (beginning-of-visual-line)))) 24429: (when (outline-invisible-p (line-end-position)) (org-cycle)) 24910: (or (outline-invisible-p) 24912: (outline-invisible-p))) 24918: (outline-invisible-p)) lisp/org-list.el 158:(declare-function outline-invisible-p "outline" (&optional pos)) 2260: (outline-invisible-p))) lisp/org-crypt.el 179: (let ((folded (outline-invisible-p)) 207: (outline-invisible-p)))) contrib/lisp/org-drill.el 1458:;; (when (and (not (outline-invisible-p)) 1483: (when (and (not (outline-invisible-p)) One solution would be to have a new function "org-invisible-p" that restores the old definition of outline-invisible-p. Interestingly I find that an "org-invisible-p" did exist back then, but it was replaced with outline-invisible-p in 2011 ( http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=84d7165d74a5061413168af435d61453be217933 ). Looks like that might need reverting. I also find an org-invisible-p2 function, but it's not clear why it does a (backward-char 1) before doing invisibility check.. and that too eventually relies on outline-visible-p. (Turns out this function has a long history: http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=93a4128a6fe47b4e05c0a7cb3ec14878b41d6000 ) I am copying Bastien and Paul as they would know the history behind the above referenced emacs master commit. -- Kaushal Modi