* [BUG] org-fold :extend face backgrounds break with trailing newlines [9.7-pre (release_9.6.20-1267-gb0c3c9 @ /home/st/.config/emacs/.local/straight/build-30.0.50/org/)]
@ 2024-03-10 3:51 StrawberryTea
2024-03-12 12:47 ` Ihor Radchenko
0 siblings, 1 reply; 2+ messages in thread
From: StrawberryTea @ 2024-03-10 3:51 UTC (permalink / raw)
To: emacs-orgmode
Hello Org mode developer,
I've noticed that when using the :extend face property with org-fold,
the background color of the headline face will sometimes be left behind
after unfolding a heading. I have finally determined that this is
happening when the heading has a trailing newline and the heading is
after the last non-whitespace character in the heading's body.
Here is a minimal example to reproduce this issue from emacs -Q:
(let ((default-directory (file-name-directory load-file-name)))
(when (file-exists-p (expand-file-name "default.el" default-directory))
(load-file (expand-file-name "default.el" default-directory))))
(straight-use-package 'org)
(require 'org)
(load-theme 'leuven t)
(dolist (face '(org-level-1 org-level-2 org-level-3 org-level-4 org-level-5
org-level-6 org-level-7 org-level-8))
(set-face-attribute face nil :extend t))
(setq org-fontify-whole-heading-line t)
(setq org-startup-folded t)
(defvar org-extend-faces-bug-4-file "/tmp/org-extend-faces-bug-4.org"
"The file to be used for the bug demo.")
(with-temp-buffer
(insert
(string-join
'("* First heading"
"Body text of the first heading"
""
"* Second heading"
"Body text of the second heading"
"* Last heading"
"Body text of the last heading")
"\n"))
(write-file org-extend-faces-bug-4-file))
(find-file org-extend-faces-bug-4-file)
Sincerely,
StrawberryTea
Emacs : GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.18.0)
of 2024-03-09
Package: Org mode version 9.7-pre (release_9.6.20-1267-gb0c3c9 @ /home/st/.config/emacs/.local/straight/build-30.0.50/org/)
current state:
==============
(setq
org-special-ctrl-a/e t
org-yank-image-file-name-function 'org-yank-image-autogen-filename
org-persist-before-write-hook '(org-element--cache-persist-before-write)
org-clock-persist 'history
org-indirect-buffer-display 'current-window
org-preview-latex-image-directory "/home/st/.config/emacs/.local/cache/org/latex/"
org-after-todo-state-change-hook '(parrot--todo-party)
org-default-notes-file "/home/st/org/notes.org"
org-directory "~/org/"
org-list-demote-modify-bullet '(("+" . "-") ("-" . "+") ("*" . "+") ("1." . "a."))
org-M-RET-may-split-line nil
org-clock-in-resume t
org-clock-out-remove-zero-time-clocks t
org-roam-list-files-commands '(fd fdfind rg find)
org-display-remote-inline-images 'download
org-roam-db-node-include-function #[0 "\300\207" [t] 1]
org-roam-log-setup-hook '(org-roam--register-completion-functions-h)
org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate)
org-persist-after-read-hook '(org-element--cache-persist-after-read)
org-archive-subtree-save-file-p t
org-id-locations-file "/home/st/org/.orgids"
org-ai-talk-say-words-per-minute 210
org-agenda-finalize-hook '(+org-exclude-agenda-buffers-from-workspace-h +org-defer-mode-in-agenda-buffers-h)
org-roam-preview-function 'org-roam-preview-default-function
org-log-done 'time
org-agenda-window-setup 'current-window
org-file-apps '((remote . emacs) (auto-mode . emacs) (directory . emacs) ("\\.mm\\'" . default) ("\\.x?html?\\'" . default)
("\\.pdf\\'" . default))
org-mode-hook '(doom--setq-yas-triggers-in-field-for-org-mode-h turn-on-org-cdlatex er/add-org-mode-expansions
+lookup--init-org-mode-handlers-h (closure (t) (&rest _) (add-hook 'before-save-hook 'org-encrypt-entries nil t))
#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-fold-show-all append local] 5]
#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5]
org-babel-result-hide-spec org-babel-hide-all-hashes
#[0 "\301\211\207" [imenu-create-index-function org-imenu-get-tree] 2] beginend-org-mode
#[0 "\303\302!\210\304\305\n\300\"\301\"\211\207"
[nil ((eri/mark-inside-org-table-cell eri/mark-outside-org-table-cell)) eri/try-expand-list make-local-variable append
seq-difference]
4]
#[0 "\303\302!\210\304\305\n\300\"\301\"\211\207"
[nil
(org-mark-subtree '(er/mark-org-element er/mark-org-element-parent) er/mark-org-code-block er/mark-sentence
er/mark-paragraph)
eri/try-expand-list make-local-variable append seq-difference]
4]
iscroll-mode org-ai-mode locally-defer-font-lock org-appear-mode cae-unpackaged-org-fix-blank-lines-before-save
org-cdlatex-mode doom-disable-show-paren-mode-h doom-disable-show-trailing-whitespace-h +org-make-last-point-visible-h
evil-org-mode org-eldoc-load toc-org-enable embrace-org-mode-hook +corfu-add-cape-elisp-block-h
(closure (t) (&rest _) (set (make-local-variable 'tab-width) 8)))
org-hide-emphasis-markers t
org-load-hook '(+org-init-org-directory-h +org-init-appearance-h +org-init-agenda-h +org-init-attachments-h +org-init-babel-h
+org-init-babel-lazy-loader-h +org-init-capture-defaults-h +org-init-capture-frame-h +org-init-custom-links-h
+org-init-export-h +org-init-habit-h +org-init-hacks-h +org-init-keybinds-h +org-init-popup-rules-h
+org-init-smartparens-h +org-init-roam-h)
org-ai-global-mode t
org-hide-leading-stars t
org-ai-oobabooga-create-prompt-function 'org-ai-oobabooga-create-prompt-default
org-capture-templates '(("t" "Personal todo" entry (file+headline +org-capture-todo-file "Inbox") "* [ ] %?\n%i\n%a" :prepend t)
("n" "Personal notes" entry (file+headline +org-capture-notes-file "Inbox") "* %u %?\n%i\n%a" :prepend t)
("j" "Journal" entry (file+olp+datetree +org-capture-journal-file) "* %U %?\n%i\n%a" :prepend t)
("p" "Templates for projects")
("pt" "Project-local todo" entry (file+headline +org-capture-project-todo-file "Inbox") "* TODO %?\n%i\n%a"
:prepend t)
("pn" "Project-local notes" entry (file+headline +org-capture-project-notes-file "Inbox") "* %U %?\n%i\n%a"
:prepend t)
("pc" "Project-local changelog" entry (file+headline +org-capture-project-changelog-file "Unreleased")
"* %U %?\n%i\n%a" :prepend t)
("o" "Centralized templates for projects")
("ot" "Project todo" entry #'+org-capture-central-project-todo-file "* TODO %?\n %i\n %a" :heading "Tasks"
:prepend nil)
("on" "Project notes" entry #'+org-capture-central-project-notes-file "* %U %?\n %i\n %a" :heading "Notes"
:prepend t)
("oc" "Project changelog" entry #'+org-capture-central-project-changelog-file "* %U %?\n %i\n %a" :heading
"Changelog" :prepend t)
)
outline-mode-hook '(beginend-outline-mode)
org-refile-targets '((nil :maxlevel . 3) (org-agenda-files :maxlevel . 3))
org-agenda-deadline-faces '((1.001 . error) (1.0 . org-warning) (0.5 . org-upcoming-deadline) (0.0 . org-upcoming-distant-deadline))
org-confirm-shell-link-function 'yes-or-no-p
org-agenda-inhibit-startup t
org-attach-use-inheritance t
org-archive-hook '(cae-multi-org-archive-push-changes-h org-attach-archive-delete-maybe)
org-src-window-setup 'other-window
org-mode-local-vars-hook '(+org-init-gifs-h)
org-insert-heading-respect-content t
org-roam-node-template-prefixes '(("doom-type" . "@") ("doom-tags" . "#") ("tags" . "#") ("todo" . "t:"))
org-special-ctrl-k t
org-metaup-hook '(org-babel-load-in-session-maybe)
org-ai-use-auth-source nil
org-fontify-whole-heading-line t
org-occur-hook '(org-first-headline-recenter)
org-ellipsis " ..."
org-enforce-todo-dependencies t
org-entities-user '(("flat" "\\flat" nil "" "" "266D" "♭") ("sharp" "\\sharp" nil "" "" "266F" "♯"))
org-extend-today-until 3
org-roam-node-annotation-function 'org-roam-node-read--annotation
org-confirm-babel-evaluate nil
org-roam-directory "/home/st/org/roam/"
org-ai-on-project-modify-with-diffs t
org-ai-talk-say-voice "Karen"
org-roam-db-autosync-mode t
org-roam-indirect-buffer-hook '(org-roam--register-completion-functions-h)
org-priority-faces '((65 . nerd-icons-red) (66 . nerd-icons-orange) (67 . nerd-icons-yellow) (68 . nerd-icons-green)
(69 . nerd-icons-blue))
org-link-abbrev-alist '(("doomdir" . "/home/st/.config/doom/%s") ("emacsdir" . "/home/st/.config/emacs/%s")
("doom-repo" . "https://github.com/doomemacs/doomemacs/%s") ("wolfram" . "https://wolframalpha.com/input/?i=%s")
("wikipedia" . "https://en.wikipedia.org/wiki/%s") ("duckduckgo" . "https://duckduckgo.com/?q=%s")
("kagi" . "https://kagi.com/search?q=%s") ("gmap" . "https://maps.google.com/maps?q=%s")
("gimages" . "https://google.com/images?q=%s") ("google" . "https://google.com/search?q=")
("youtube" . "https://youtube.com/watch?v=%s") ("github" . "https://github.com/%s"))
org-bibtex-headline-format-function 'org-bibtex-headline-format-default
org-capture-prepare-finalize-hook '(org-roam-capture--install-finalize-h)
org-link-parameters '(("bibtex" :follow org-bibtex-open :store org-bibtex-store-link)
("orgit-rev" :store orgit-rev-store :follow orgit-rev-open :export orgit-rev-export :complete
orgit-rev-complete-link)
("orgit-log" :store orgit-log-store :follow orgit-log-open :export orgit-log-export :complete
orgit-log-complete-link)
("orgit" :store orgit-status-store :follow orgit-status-open :export orgit-status-export :complete
orgit-status-complete-link)
("treemacs" :store treemacs-store-org-link) ("helpful" :store helpful--org-link-store)
("mu4e" :follow mu4e-org-open :store mu4e-org-store-link)
("download" :complete
(closure
((dir-fn closure (t) nil (or org-download-image-dir org-attach-id-dir ".")) (requires . org-download)
(key . "download"))
nil (if requires (mapc #'require (ensure-list requires)))
(+org--relative-path (+org--read-link-path key (funcall dir-fn)) (funcall dir-fn)))
:follow
(closure ((dir-fn closure (t) nil (or org-download-image-dir org-attach-id-dir "."))) (link)
(org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil))
:face
(closure ((dir-fn closure (t) nil (or org-download-image-dir org-attach-id-dir "."))) (link)
(let*
((path (expand-file-name link (funcall dir-fn))) (option-index (string-match-p "::\\(.*\\)\\'" path))
(file-name (substring path 0 option-index)))
(if (file-exists-p file-name) 'org-link 'error))
)
:image-data-fun +org-image-file-data-fn :requires nil)
("pdf" :follow
(closure ((fn . org-pdftools-open)) (&rest args)
(and (condition-case nil (progn (require 'org-pdftools nil t)) (error nil))
(file-executable-p pdf-info-epdfinfo-program) (apply fn args))
)
:complete
(closure ((fn . org-pdftools-complete-link)) (&rest args)
(and (condition-case nil (progn (require 'org-pdftools nil t)) (error nil))
(file-executable-p pdf-info-epdfinfo-program) (apply fn args))
)
:store
(closure ((fn . org-pdftools-store-link)) (&rest args)
(and (condition-case nil (progn (require 'org-pdftools nil t)) (error nil))
(file-executable-p pdf-info-epdfinfo-program) (apply fn args))
)
:export
(closure ((fn . org-pdftools-export)) (&rest args)
(and (condition-case nil (progn (require 'org-pdftools nil t)) (error nil))
(file-executable-p pdf-info-epdfinfo-program) (apply fn args))
)
)
("elfeed" :follow elfeed-link-open :store elfeed-link-store-link)
("orgit-topic" :store orgit-topic-store :follow orgit-topic-open :export orgit-topic-export :complete
orgit-topic-complete-link :insert-description orgit-topic-describe-link)
("roam" :follow org-roam-link-follow-link)
("yt" :follow org-yt-follow :image-data-fun org-yt-image-data-fun :export org-yt-export)
("id" :follow org-roam-id-open :store org-id-store-link-maybe) ("img" :image-data-fun +org-inline-image-data-fn)
("doom-changelog" :follow
(closure (t) (link) (find-file (doom-path doom-docs-dir "changelog.org")) (org-match-sparse-tree nil link)))
("doom-user" :follow
(closure (t) (link)
(browse-url (format "https://github.com/%s" (string-remove-prefix "@" (+org-link-read-desc-at-point link)))))
:face (closure (t) (_) 'org-priority))
("doom-ref" :follow
(closure (t) (link)
(let ((link (+org-link-read-desc-at-point link)) (url "https://github.com") (doom-repo "doomemacs/doomemacs"))
(let ((saved-match-data (match-data)))
(unwind-protect
(progn
(browse-url
(cond
((string-match "^\\([^/]+\\(?:/[^/]+\\)?\\)?#\\([0-9]+\\(?:#.*\\)?\\)" link)
(format "%s/%s/issues/%s" url (or (match-string 1 link) doom-repo) (match-string 2 link)))
((string-match "^\\([^/]+\\(?:/[^/]+\\)?@\\)?\\([a-z0-9]\\{7,\\}\\(?:#.*\\)?\\)" link)
(format "%s/%s/commit/%s" url (or (match-string 1 link) doom-repo) (match-string 2 link)))
((user-error "Invalid doom-ref link: %S" link)))
)
)
(set-match-data saved-match-data t))
)
)
)
:face
(closure (t) (link)
(let ((link (+org-link-read-desc-at-point link)))
(if
(or (string-match "^\\([^/]+\\(?:/[^/]+\\)?\\)?#\\([0-9]+\\(?:#.*\\)?\\)" link)
(string-match "^\\([^/]+\\(?:/[^/]+\\)?@\\)?\\([a-z0-9]\\{7,\\}\\(?:#.*\\)?\\)" link))
'org-link 'error)
)
)
)
("doom-executable" :activate-func +org-link--doom-executable-link-activate-fn :help-echo
+org-link-doom--help-echo-from-textprop :face org-verbatim)
("doom-module" :follow +org-link--doom-module-link-follow-fn :activate-func +org-link--doom-module-link-activate-fn
:help-echo +org-link-doom--help-echo-from-textprop)
("doom-package" :follow +org-link--doom-package-link-follow-fn :activate-func
+org-link--doom-package-link-activate-fn :help-echo +org-link-doom--help-echo-from-textprop)
("cmd" :follow
(closure ((fn . describe-command)) (path _prefixarg)
(funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path))))
:activate-func +org-link--command-link-activate-fn :face help-key-binding :help-echo
+org-link-doom--help-echo-from-textprop)
("face" :follow
(closure ((fn . describe-face)) (path _prefixarg)
(funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path))))
:activate-func +org-link--face-link-activate-fn :face (font-lock-type-face underline))
("fn" :follow
(closure ((fn . helpful-callable)) (path _prefixarg)
(funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path))))
:activate-func +org-link--fn-link-activate-fn :face (font-lock-function-name-face underline))
("var" :follow
(closure ((fn . helpful-variable)) (path _prefixarg)
(funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path))))
:activate-func +org-link--var-link-activate-fn :face (font-lock-variable-name-face underline))
("kbd" :follow
(closure (t) (ev) (interactive "e")
(minibuffer-message "%s"
(+org-link-doom--help-echo-from-textprop nil (current-buffer) (posn-point (event-start ev))))
)
:help-echo +org-link-doom--help-echo-from-textprop :face help-key-binding)
("doom-modules" :complete
(closure
((dir-fn closure ((dir-var . doom-modules-dir)) nil (symbol-value dir-var)) (requires) (key . "doom-modules"))
nil (if requires (mapc #'require (ensure-list requires)))
(+org--relative-path (+org--read-link-path key (funcall dir-fn)) (funcall dir-fn)))
:follow
(closure ((dir-fn closure ((dir-var . doom-modules-dir)) nil (symbol-value dir-var))) (link)
(org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil))
:face
(closure ((dir-fn closure ((dir-var . doom-modules-dir)) nil (symbol-value dir-var))) (link)
(let*
((path (expand-file-name link (funcall dir-fn))) (option-index (string-match-p "::\\(.*\\)\\'" path))
(file-name (substring path 0 option-index)))
(if (file-exists-p file-name) 'org-link 'error))
)
:requires nil)
("doom-docs" :complete
(closure ((dir-fn closure ((dir-var . doom-docs-dir)) nil (symbol-value dir-var)) (requires) (key . "doom-docs"))
nil (if requires (mapc #'require (ensure-list requires)))
(+org--relative-path (+org--read-link-path key (funcall dir-fn)) (funcall dir-fn)))
:follow
(closure ((dir-fn closure ((dir-var . doom-docs-dir)) nil (symbol-value dir-var))) (link)
(org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil))
:face
(closure ((dir-fn closure ((dir-var . doom-docs-dir)) nil (symbol-value dir-var))) (link)
(let*
((path (expand-file-name link (funcall dir-fn))) (option-index (string-match-p "::\\(.*\\)\\'" path))
(file-name (substring path 0 option-index)))
(if (file-exists-p file-name) 'org-link 'error))
)
:requires nil)
("doom" :complete
(closure ((dir-fn closure ((dir-var . doom-emacs-dir)) nil (symbol-value dir-var)) (requires) (key . "doom")) nil
(if requires (mapc #'require (ensure-list requires)))
(+org--relative-path (+org--read-link-path key (funcall dir-fn)) (funcall dir-fn)))
:follow
(closure ((dir-fn closure ((dir-var . doom-emacs-dir)) nil (symbol-value dir-var))) (link)
(org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil))
:face
(closure ((dir-fn closure ((dir-var . doom-emacs-dir)) nil (symbol-value dir-var))) (link)
(let*
((path (expand-file-name link (funcall dir-fn))) (option-index (string-match-p "::\\(.*\\)\\'" path))
(file-name (substring path 0 option-index)))
(if (file-exists-p file-name) 'org-link 'error))
)
:requires nil)
("org" :complete
(closure ((dir-fn closure ((dir-var . org-directory)) nil (symbol-value dir-var)) (requires) (key . "org")) nil
(if requires (mapc #'require (ensure-list requires)))
(+org--relative-path (+org--read-link-path key (funcall dir-fn)) (funcall dir-fn)))
:follow
(closure ((dir-fn closure ((dir-var . org-directory)) nil (symbol-value dir-var))) (link)
(org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil))
:face
(closure ((dir-fn closure ((dir-var . org-directory)) nil (symbol-value dir-var))) (link)
(let*
((path (expand-file-name link (funcall dir-fn))) (option-index (string-match-p "::\\(.*\\)\\'" path))
(file-name (substring path 0 option-index)))
(if (file-exists-p file-name) 'org-link 'error))
)
:requires nil)
("attachment" :image-data-fun +org-inline-image-data-fn :follow org-attach-follow :complete
org-attach-complete-link)
("file+sys") ("file+emacs") ("shell" :follow org-link--open-shell)
("news" :follow #[514 "\301\300\302Q\"\207" ["news" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("mailto" :follow #[514 "\301\300\302Q\"\207" ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("https" :follow #[514 "\301\300\302Q\"\207" ["https" browse-url ":"] 6 "\n\n(fn URL ARG)"] :image-data-fun
+org-http-image-data-fn)
("http" :follow #[514 "\301\300\302Q\"\207" ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"] :image-data-fun
+org-http-image-data-fn)
("ftp" :follow #[514 "\301\300\302Q\"\207" ["ftp" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("help" :follow helpful--org-link-follow :store org-link--store-help)
("file" :complete org-link-complete-file :face
(closure (t) (path)
(if (or (file-remote-p path) (if (featurep :system 'windows) (string-prefix-p "\\\\" path)) (file-exists-p path))
'org-link '(warning org-link))
)
)
("elisp" :follow org-link--open-elisp))
org-todo-keyword-faces '(("[-]" . +org-todo-active) ("STRT" . +org-todo-active) ("[?]" . +org-todo-onhold) ("WAIT" . +org-todo-onhold)
("HOLD" . +org-todo-onhold) ("PROJ" . +org-todo-project) ("NO" . +org-todo-cancel) ("KILL" . +org-todo-cancel))
org-persist-directory "/home/st/.config/emacs/.local/cache/org/persist/"
org-log-buffer-setup-hook '(org-roam-log--setup)
org-roam-completion-everywhere t
org-ai-openai-api-token "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"
org-refile-use-outline-path 'file
org-cycle-tab-first-hook '(+org-yas-expand-maybe-h +org-indent-maybe-h org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)
org-roam-node-display-template #("${doom-hierarchy:*} ${doom-type:12} ${doom-tags:42}" 20 35 (face font-lock-keyword-face) 36 51 (face (:inherit org-tag :box nil)))
org-imenu-depth 6
org-todo-keywords '((sequence "TODO(t)" "PROJ(p)" "LOOP(r)" "STRT(s)" "WAIT(w)" "HOLD(h)" "IDEA(i)" "|" "DONE(d)" "KILL(k)")
(sequence "[ ](T)" "[-](S)" "[?](W)" "|" "[X](D)") (sequence "|" "OKAY(o)" "YES(y)" "NO(n)"))
org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-clock-history-length 20
org-ai-default-chat-model "gpt-4-1106-preview"
org-tab-first-hook '(+org-yas-expand-maybe-h +org-indent-maybe-h org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)
org-after-refile-insert-hook '(save-buffer)
org-startup-folded nil
org-babel-pre-tangle-hook '(save-buffer)
org-src-preserve-indentation t
org-roam-capture-new-node-hook '(org-roam-capture--insert-captured-ref-h)
org-tags-column 0
org-roam-db-gc-threshold 2305843009213693951
org-babel-after-execute-hook '(+org-redisplay-inline-images-in-babel-result-h)
org-export-before-parsing-hook '(org-attach-expand-links)
org-link-shell-confirm-function 'yes-or-no-p
org-fold-core-isearch-open-function 'org-fold-core--isearch-reveal
org-agenda-skip-unavailable-files t
org-roam-capture-preface-hook '(org-roam-capture--try-capture-to-ref-h)
org-tags-exclude-from-inheritance '("crypt")
outline-isearch-open-invisible-function 'outline-isearch-open-invisible
org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer)
org-agenda-span 10
org-agenda-mode-hook '(+org-habit-resize-graph-h beginend-org-agenda-mode evil-org-agenda-mode)
org-roam-find-file-hook '(doom--setq-org-id-link-to-org-use-id-for-org-roam-find-file-h org-roam-buffer--setup-redisplay-h
org-roam--register-completion-functions-h org-roam--replace-roam-links-on-save-h
org-roam-db-autosync--setup-update-on-save-h +org-roam-enable-auto-backlinks-buffer-h)
org-fontify-quote-and-verse-blocks t
org-capture-after-finalize-hook '(+org-capture-cleanup-frame-h)
org-startup-with-inline-images t
outline-minor-mode-hook '(outline-minor-faces-mode)
org-modules '(ol-bibtex)
org-roam-ref-annotation-function 'org-roam-ref-read--annotation
org-agenda-loop-over-headlines-in-active-region nil
org-priority-lowest 69
org-agenda-start-on-weekday nil
org-agenda-files '("~/org/")
org-list-allow-alphabetical t
org-attach-id-dir "/home/st/org/.attach/"
org-capture-mode-hook '(+org-show-target-in-capture-header-h org-capture--insert-timestamp evil-insert-state)
org-id-locations-file-relative t
org-link-elisp-confirm-function nil
org-outline-path-complete-in-steps nil
org-ai-on-project-mode-hook '(#[0 "\301\300!\210\302\211\207" [show-trailing-whitespace make-local-variable nil] 2])
org-startup-indented t
org-roam-mode-hook '(+org-roam-detach-magit-section-mode-map-h turn-on-visual-line-mode)
org-archive-location "~/org/.archive/%s::"
org-read-date-force-compatible-dates nil
org-clock-persist-file "/home/st/.config/emacs/.local/etc/org-clock-save.el"
org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines org-cycle-optimize-window-after-visibility-change
org-cycle-display-inline-images)
org-persist-before-read-hook '(org-element--cache-persist-before-read)
org-use-sub-superscripts '{}
org-src-block-faces '(("latex" (:inherit default :extend t)))
)
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [BUG] org-fold :extend face backgrounds break with trailing newlines [9.7-pre (release_9.6.20-1267-gb0c3c9 @ /home/st/.config/emacs/.local/straight/build-30.0.50/org/)]
2024-03-10 3:51 [BUG] org-fold :extend face backgrounds break with trailing newlines [9.7-pre (release_9.6.20-1267-gb0c3c9 @ /home/st/.config/emacs/.local/straight/build-30.0.50/org/)] StrawberryTea
@ 2024-03-12 12:47 ` Ihor Radchenko
0 siblings, 0 replies; 2+ messages in thread
From: Ihor Radchenko @ 2024-03-12 12:47 UTC (permalink / raw)
To: StrawberryTea; +Cc: emacs-orgmode
StrawberryTea <look@strawberrytea.xyz> writes:
> I've noticed that when using the :extend face property with org-fold,
> the background color of the headline face will sometimes be left behind
> after unfolding a heading. I have finally determined that this is
> happening when the heading has a trailing newline and the heading is
> after the last non-whitespace character in the heading's body.
>
> Here is a minimal example to reproduce this issue from emacs -Q:
Thanks for reporting, but I am unable to reproduce the problem on my
side using the latest main. May you please provide more detailed
instruction about what exactly do I need fold/unfold to see the problem?
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-03-12 12:53 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-10 3:51 [BUG] org-fold :extend face backgrounds break with trailing newlines [9.7-pre (release_9.6.20-1267-gb0c3c9 @ /home/st/.config/emacs/.local/straight/build-30.0.50/org/)] StrawberryTea
2024-03-12 12:47 ` Ihor Radchenko
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.