From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id 8BI1O6Iu7WVV8wAAe85BDQ:P1 (envelope-from ) for ; Sun, 10 Mar 2024 04:53:07 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id 8BI1O6Iu7WVV8wAAe85BDQ (envelope-from ) for ; Sun, 10 Mar 2024 04:53:07 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=strawberrytea.xyz header.s=fm2 header.b=LQIbgoU0; dkim=pass header.d=messagingengine.com header.s=fm1 header.b=jXLrnTZw; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=strawberrytea.xyz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1710042786; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=sh9lE5HO9ADkyfabN0s78D5RNzKSpqhzOvWoC1jGYF0=; b=XBgvl8ChYNPTZaTiFezfixLBi34J2EiEEeDWLrWZ7LgyHUZcmIVZiQzu2Ahdsd7NFMvsQV QjP4wZKoXqmIERWvP9dIU6fscHSPVLffRA/PMEX0qmBhHot9V2AoMgptshd4R1ZhYCS2It IQT+xa4PdCLAjA3+d1ujF55rGT9z7lnp6dieOMuWGRjGv3DPGd6uGeK9D0qJJlCj4QAOFR MQcQ5e3Tp03Gu1u930rvDV+gs6vVeH/iO0PYCyQTrJG7xzj2PvfNLXrWNL4l9jGF4Axpv7 /wR47Hz8OccprqzB3VAIG7QdKo9jiU/A9ve9KR+NVK0dqax8XXXsqtbxPZNILw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1710042786; a=rsa-sha256; cv=none; b=Lmj9xi6neZpGj5izVPhjGCm+0CHGQSPi4PtxRk5n2q2+bdGNL1a3J0l2q77dIAoiy3K2wY /3ENZ4NTBCp+OX6PYqfxYtkPpfQXxClntTx3ho4MuyF14wyey2Ja6LY5SJem9oqpwFyxM9 Gsay3hPtvvaPtDG5aDx2/dqTGqI2CMTja3oxDqTMyjhGxcxjnGTOyQBW0cWEckw6bP42Oe 42Dxn//RTa5VCeeyCPVuM/MEsyXZYiUrGWE1+ShmWnMO3ptd0jiJq4hHa2V3HuHaBVGbpg bO9Hd9o3ZWkLbsIMRmbmrtBEydZD2fAERpFhWFnV7DmJOu8N72MbcSG9cb9w4w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=strawberrytea.xyz header.s=fm2 header.b=LQIbgoU0; dkim=pass header.d=messagingengine.com header.s=fm1 header.b=jXLrnTZw; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=strawberrytea.xyz Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 71EEF6A1DE for ; Sun, 10 Mar 2024 04:53:05 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rjAEG-0002Bt-Uh; Sat, 09 Mar 2024 22:52:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rjAEE-0002Bk-Pe for emacs-orgmode@gnu.org; Sat, 09 Mar 2024 22:52:02 -0500 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rjAEB-00089b-8f for emacs-orgmode@gnu.org; Sat, 09 Mar 2024 22:52:02 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id CDBA45C0040; Sat, 9 Mar 2024 22:51:57 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Sat, 09 Mar 2024 22:51:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= strawberrytea.xyz; h=cc:content-transfer-encoding:content-type :content-type:date:date:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to; s=fm2; t= 1710042717; x=1710129117; bh=sh9lE5HO9ADkyfabN0s78D5RNzKSpqhzOvW oC1jGYF0=; b=LQIbgoU0ptUFJRABgSpp6spbeqZ29V3onw0e8yoD1lzOJ9YQ3he 2k4U6xkBRxxr6PoiroT/m0o1U92SFwx7HjNeougOqUFSERH6dEkzCdp/kKMR6Hc6 /nruinv8qThK1e0EGazi8DynTCwfQKspLmYQSN85Hu3ly+kd3TwksN33WBu7/Fxq 9JkV6iBmBHKM8pXhI4L/PkJBeYrVTjv7XVPy8pdJV45WbbjrPPoM6xhmSVp5ytiu +3Vns3xWNFyof7Lu2WoJSp6v0ZzEf3YJENuZXiJY3aFe8OZjx77iwIfanv5YU+pL 5YXwDyGNH7Hshm6OfMpVQnIkzChAe70G1Pw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:message-id:mime-version:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1710042717; x=1710129117; bh=sh9lE5HO9ADkyfabN0s78D5RNzKS pqhzOvWoC1jGYF0=; b=jXLrnTZwY62SdlkxuedHEZe0nRDP3pRCaqYFCLdN1RqZ JZ9+fIkgV2wXWhpnsYfaTq2iGxRnqM9gc0ulEqQiqN5kSF72RTnOpeW+UjV1xufT 5TJoE4h3mpeHIlr5PM/NRFkIKycTThga1loRbQy7cYf2zyAdjoKWcBTWSOL7Htj7 jG6cCibZReuALqt92E64DE8CfOfZ8Gm1g4OR2aPPn7F3YsHZfhJwaylE8D5bIYGn m29jj0gmbndyx/Gz7j4AvoPq6mf7iW+8+wAzt4ndJd/PwJGH2EJxaK4mjS1fEK2o NLQlYPQ512eXJg7Af5GaxM1zNqvLx97wYpswTFX6kw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrieekgdeifecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecufghrlhcuvffnffculddvfedmnecujfgurhephffvuf gffffkgggtgfesthhqredttderjeenucfhrhhomhepufhtrhgrfigsvghrrhihvfgvrgcu oehlohhokhesshhtrhgrfigsvghrrhihthgvrgdrgiihiieqnecuggftrfgrthhtvghrnh ephfelgfeiheevjeehvdejhfehveffleejkeevffegtddvtdefledvgeehgeevuddtnecu ffhomhgrihhnpehorhhgqdgvgihtvghnugdqfhgrtggvshdqsghughdqgedrohhrghdpvg hmrggtshdrlhhotggrlhdpnhhothgvshdrohhrghdpghhithhhuhgsrdgtohhmpdifohhl fhhrrghmrghlphhhrgdrtghomhdpfihikhhiphgvughirgdrohhrghdpughutghkughutg hkghhordgtohhmpdhkrghgihdrtghomhdpghhoohhglhgvrdgtohhmpdihohhuthhusggv rdgtohhmpdhrvghquhhirhgvshdrohhrghdpfhhnrdhorhhgpdgthhgrnhhgvghlohhgrd horhhgpdguihhrqdhvrghrrdhorhhgpdhkvgihrdhorhhgpdhsthhrthdrohhrghdpfigr ihhtrdhorhhgpdhhohhlugdrohhrghdpphhrohhjrdhorhhgpdhkihhllhdrohhrghenuc evlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlohhokhes shhtrhgrfigsvghrrhihthgvrgdrgiihii X-ME-Proxy: Feedback-ID: id85149b6:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 9 Mar 2024 22:51:57 -0500 (EST) From: StrawberryTea To: emacs-orgmode@gnu.org Subject: [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/)] User-Agent: mu4e 1.12.0; emacs 30.0.50 Date: Sat, 09 Mar 2024 21:51:56 -0600 Message-ID: <877ciaiw0z.fsf@strawberrytea.xyz> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=66.111.4.26; envelope-from=look@strawberrytea.xyz; helo=out2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -10.47 X-Spam-Score: -10.47 X-Migadu-Queue-Id: 71EEF6A1DE X-Migadu-Scanner: mx11.migadu.com X-TUID: QSJLAkyRwIDS 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: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (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-comman= d-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 +o= rg-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-or= g-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-mod= e-hook org-fold-show-all append local] 5] #[0 "\300\301\302\303\304$\207" [add-hook change-major-mod= e-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-o= rg-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-ele= ment-parent) er/mark-org-code-block er/mark-sentence er/mark-paragraph) eri/try-expand-list make-local-variable append seq-diff= erence] 4] iscroll-mode org-ai-mode locally-defer-font-lock org-appea= r-mode cae-unpackaged-org-fix-blank-lines-before-save org-cdlatex-mode doom-disable-show-paren-mode-h doom-disab= le-show-trailing-whitespace-h +org-make-last-point-visible-h evil-org-mode org-eldoc-load toc-org-enable embrace-org-mo= de-hook +corfu-add-cape-elisp-block-h (closure (t) (&rest _) (set (make-local-variable 'tab-widt= h) 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 +or= g-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-de= fault org-capture-templates '(("t" "Personal todo" entry (file+headline +org-cap= ture-todo-file "Inbox") "* [ ] %?\n%i\n%a" :prepend t) ("n" "Personal notes" entry (file+headline +org-ca= pture-notes-file "Inbox") "* %u %?\n%i\n%a" :prepend t) ("j" "Journal" entry (file+olp+datetree +org-captu= re-journal-file) "* %U %?\n%i\n%a" :prepend t) ("p" "Templates for projects") ("pt" "Project-local todo" entry (file+headline +o= rg-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+headli= ne +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-cen= tral-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" "=E2=99=AD") ("sharp= " "\\sharp" nil "" "" "266F" "=E2=99=AF")) 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") ("emacsdi= r" . "/home/st/.config/emacs/%s") ("doom-repo" . "https://github.com/doomemacs/doome= macs/%s") ("wolfram" . "https://wolframalpha.com/input/?i=3D%s") ("wikipedia" . "https://en.wikipedia.org/wiki/%s")= ("duckduckgo" . "https://duckduckgo.com/?q=3D%s") ("kagi" . "https://kagi.com/search?q=3D%s") ("gmap= " . "https://maps.google.com/maps?q=3D%s") ("gimages" . "https://google.com/images?q=3D%s") (= "google" . "https://google.com/search?q=3D") ("youtube" . "https://youtube.com/watch?v=3D%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-re= v-open :export orgit-rev-export :complete orgit-rev-complete-link) ("orgit-log" :store orgit-log-store :follow orgit-lo= g-open :export orgit-log-export :complete orgit-log-complete-link) ("orgit" :store orgit-status-store :follow orgit-sta= tus-open :export orgit-status-export :complete orgit-status-complete-link) ("treemacs" :store treemacs-store-org-link) ("helpfu= l" :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-di= r org-attach-id-dir ".")) (requires . org-download) (key . "download")) nil (if requires (mapc #'require (ensure-list requ= ires))) (+org--relative-path (+org--read-link-path key (fu= ncall 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 (fun= call 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 n= il) ("pdf" :follow (closure ((fn . org-pdftools-open)) (&rest args) (and (condition-case nil (progn (require 'org-pdft= ools nil t)) (error nil)) (file-executable-p pdf-info-epdfinfo-program) (ap= ply fn args)) ) :complete (closure ((fn . org-pdftools-complete-link)) (&rest= args) (and (condition-case nil (progn (require 'org-pdft= ools nil t)) (error nil)) (file-executable-p pdf-info-epdfinfo-program) (ap= ply fn args)) ) :store (closure ((fn . org-pdftools-store-link)) (&rest ar= gs) (and (condition-case nil (progn (require 'org-pdft= ools nil t)) (error nil)) (file-executable-p pdf-info-epdfinfo-program) (ap= ply fn args)) ) :export (closure ((fn . org-pdftools-export)) (&rest args) (and (condition-case nil (progn (require 'org-pdft= ools nil t)) (error nil)) (file-executable-p pdf-info-epdfinfo-program) (ap= ply fn args)) ) ) ("elfeed" :follow elfeed-link-open :store elfeed-lin= k-store-link) ("orgit-topic" :store orgit-topic-store :follow orgi= t-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-i= mage-data-fun :export org-yt-export) ("id" :follow org-roam-id-open :store org-id-store-l= ink-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" (strin= g-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-st= ring 1 link) doom-repo) (match-string 2 link))) ((string-match "^\\([^/]+\\(?:/[^/]+\\)?@\\)= ?\\([a-z0-9]\\{7,\\}\\(?:#.*\\)?\\)" link) (format "%s/%s/commit/%s" url (or (match-st= ring 1 link) doom-repo) (match-string 2 link))) ((user-error "Invalid doom-ref link: %S" lin= k))) ) ) (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-ex= ecutable-link-activate-fn :help-echo +org-link-doom--help-echo-from-textprop :face org-v= erbatim) ("doom-module" :follow +org-link--doom-module-link-f= ollow-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 "Ca= n'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 "Ca= n't find documentation for %S" path)))) :activate-func +org-link--face-link-activate-fn :fa= ce (font-lock-type-face underline)) ("fn" :follow (closure ((fn . helpful-callable)) (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Ca= n'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 "Ca= n't find documentation for %S" path)))) :activate-func +org-link--var-link-activate-fn :fac= e (font-lock-variable-name-face underline)) ("kbd" :follow (closure (t) (ev) (interactive "e") (minibuffer-message "%s" (+org-link-doom--help-echo-from-textprop nil (cur= rent-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)) ni= l (symbol-value dir-var)) (requires) (key . "doom-modules")) nil (if requires (mapc #'require (ensure-list requ= ires))) (+org--relative-path (+org--read-link-path key (fu= ncall 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 (fun= call 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 requ= ires))) (+org--relative-path (+org--read-link-path key (fu= ncall 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 (fun= call 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-di= r)) nil (symbol-value dir-var)) (requires) (key . "doom")) nil (if requires (mapc #'require (ensure-list requires= ))) (+org--relative-path (+org--read-link-path key (fu= ncall dir-fn)) (funcall dir-fn))) :follow (closure ((dir-fn closure ((dir-var . doom-emacs-di= r)) nil (symbol-value dir-var))) (link) (org-link-open-as-file (expand-file-name link (fun= call dir-fn)) nil)) :face (closure ((dir-fn closure ((dir-var . doom-emacs-di= r)) 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 (fu= ncall 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 (fun= call 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-lin= k--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" ["mail= to" 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" br= owse-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-ac= tive) ("[?]" . +org-todo-onhold) ("WAIT" . +org-todo-onhold) ("HOLD" . +org-todo-onhold) ("PROJ" . +org-todo-p= roject) ("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 "sk-xUTrYh38IHLfTP4s7u8CT3BlbkFJmKKLsYcXYcEAIGlgSo= Dn" 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} ${do= om-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)" "WAI= T(w)" "HOLD(h)" "IDEA(i)" "|" "DONE(d)" "KILL(k)") (sequence "[ ](T)" "[-](S)" "[?](W)" "|" "[X](D)") (se= quence "|" "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-resul= t-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-confi= gure-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-roa= m-find-file-h org-roam-buffer--setup-redisplay-h org-roam--register-completion-functions-h org-ro= am--replace-roam-links-on-save-h org-roam-db-autosync--setup-update-on-save-h +or= g-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-traili= ng-whitespace make-local-variable nil] 2]) org-startup-indented t org-roam-mode-hook '(+org-roam-detach-magit-section-mode-map-h turn-on-vis= ual-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.e= l" org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lin= es 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))) )