emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/org 782a661921 2/2: org-fold-show-set-visibility: Do no


From: ELPA Syncer
Subject: [elpa] externals/org 782a661921 2/2: org-fold-show-set-visibility: Do not reveal emphasis unless DETAIL is `local'
Date: Thu, 28 Apr 2022 02:57:44 -0400 (EDT)

branch: externals/org
commit 782a6619216c651846661d933ac27c03b8c8b075
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Ihor Radchenko <yantar92@gmail.com>

    org-fold-show-set-visibility: Do not reveal emphasis unless DETAIL is 
`local'
    
    * lisp/org-fold.el (org-fold-show-set-visibility--text-properties):
    Prevent revealing hidden emphasis unless requested DETAIL is `local'.
    * lisp/ol.el (org-next-link): Honour `org-fold-show-context-detail'.
    
    Reported in 
https://orgmode.org/list/626a0713.1c69fb81.a3583.1a07SMTPIN_ADDED_BROKEN@mx.google.com
---
 lisp/ol.el       |  2 +-
 lisp/org-fold.el | 35 +++++++++++++++++++++--------------
 2 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/lisp/ol.el b/lisp/ol.el
index 22eaae8fbf..d4bd0e40c2 100644
--- a/lisp/ol.el
+++ b/lisp/ol.el
@@ -1456,7 +1456,7 @@ is non-nil, move backward."
            (`nil nil)
            (link
             (goto-char (org-element-property :begin link))
-            (when (org-invisible-p) (org-fold-show-context))
+            (when (org-invisible-p) (org-fold-show-context 'link-search))
             (throw :found t)))))
       (goto-char pos)
       (setq org-link--search-failed t)
diff --git a/lisp/org-fold.el b/lisp/org-fold.el
index 67b8b582c0..9739bbed2d 100644
--- a/lisp/org-fold.el
+++ b/lisp/org-fold.el
@@ -830,21 +830,28 @@ DETAIL is either nil, `minimal', `local', `ancestors',
       (redisplay)
       (let ((region (org-fold-get-region-at-point)))
         ;; Reveal emphasis markers.
-        (let (org-hide-emphasis-markers
-              org-link-descriptive
-              org-pretty-entities
-              org-hide-macro-markers
-              (region (or (org-find-text-property-region (point) 'org-emphasis)
-                          (org-find-text-property-region (point) 'org-macro)
-                          (org-find-text-property-region (point) 'invisible)
-                          region)))
-          (when region
-            (org-with-point-at (car region)
-              (beginning-of-line)
-              (let (font-lock-extend-region-functions)
-                (font-lock-fontify-region (max (point-min) (1- (car region))) 
(cdr region))))))
+        (when (eq detail 'local)
+          (let (org-hide-emphasis-markers
+                org-link-descriptive
+                org-pretty-entities
+                org-hide-macro-markers
+                (region (or (org-find-text-property-region (point) 
'org-emphasis)
+                            (org-find-text-property-region (point) 'org-macro)
+                            (org-find-text-property-region (point) 'invisible)
+                            region)))
+            (when region
+              (org-with-point-at (car region)
+                (beginning-of-line)
+                (let (font-lock-extend-region-functions)
+                  (font-lock-fontify-region (max (point-min) (1- (car 
region))) (cdr region))))))
+          ;; Unfold links.
+          (dolist (spec '(org-link org-link-description))
+            (org-fold-region (car region) (cdr region) nil spec)))
         (when region
-          (org-fold-region (car region) (cdr region) nil))))
+          (dolist (spec (org-fold-core-folding-spec-list))
+            ;; Links are taken care by above.
+            (unless (memq spec '(org-link org-link-description))
+              (org-fold-region (car region) (cdr region) nil spec))))))
     (unless (org-before-first-heading-p)
       (org-with-limited-levels
        (cl-case detail



reply via email to

[Prev in Thread] Current Thread [Next in Thread]