From 008b080b4502a86fb24eb7553a031776922b4eff Mon Sep 17 00:00:00 2001 From: Siddharth Shekar Date: Thu, 3 Feb 2022 23:26:27 -0800 Subject: [PATCH] fix(org): toggle image when point before first heading --- modules/lang/org/autoload/org.el | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/modules/lang/org/autoload/org.el b/modules/lang/org/autoload/org.el index 2125b3fbd..8b63c4769 100644 --- a/modules/lang/org/autoload/org.el +++ b/modules/lang/org/autoload/org.el @@ -5,16 +5,16 @@ (defun +org--toggle-inline-images-in-subtree (&optional beg end refresh) "Refresh inline image previews in the current heading/tree." - (let ((beg (or beg - (if (org-before-first-heading-p) - (line-beginning-position) - (save-excursion (org-back-to-heading) (point))))) - (end (or end - (if (org-before-first-heading-p) - (line-end-position) - (save-excursion (org-end-of-subtree) (point))))) - (overlays (cl-remove-if-not (lambda (ov) (overlay-get ov 'org-image-overlay)) - (ignore-errors (overlays-in beg end))))) + (let* ((beg (or beg + (if (org-before-first-heading-p) + (save-excursion (point-min)) + (save-excursion (org-back-to-heading) (point))))) + (end (or end + (if (org-before-first-heading-p) + (save-excursion (org-next-visible-heading 1) (point)) + (save-excursion (org-end-of-subtree) (point))))) + (overlays (cl-remove-if-not (lambda (ov) (overlay-get ov 'org-image-overlay)) + (ignore-errors (overlays-in beg end))))) (dolist (ov overlays nil) (delete-overlay ov) (setq org-inline-image-overlays (delete ov org-inline-image-overlays))) @@ -243,6 +243,9 @@ If on a: (org-element-property :end lineage)) (org-open-at-point arg)))) + (`paragraph + (+org--toggle-inline-images-in-subtree)) + ((guard (org-element-property :checkbox (org-element-lineage context '(item) t))) (let ((match (and (org-at-item-checkbox-p) (match-string 1)))) (org-toggle-checkbox (if (equal match "[ ]") '(16)))))