From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id GB7UNvhF7mMd7wAAbAwnHQ (envelope-from ) for ; Thu, 16 Feb 2023 16:04:25 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id +Jj3NfhF7mNHoQAAG6o9tA (envelope-from ) for ; Thu, 16 Feb 2023 16:04:24 +0100 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 3503ED54B for ; Thu, 16 Feb 2023 16:04:24 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pSfnR-0008K8-8p; Thu, 16 Feb 2023 10:03:41 -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 1pSOGo-0007Vb-QH for emacs-orgmode@gnu.org; Wed, 15 Feb 2023 15:20:50 -0500 Received: from mail-qv1-xf35.google.com ([2607:f8b0:4864:20::f35]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pSOGk-0005pC-0U for emacs-orgmode@gnu.org; Wed, 15 Feb 2023 15:20:49 -0500 Received: by mail-qv1-xf35.google.com with SMTP id mg2so6773446qvb.9 for ; Wed, 15 Feb 2023 12:20:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-language:content-transfer-encoding:mime-version:user-agent :date:message-id:from:subject:to:from:to:cc:subject:date:message-id :reply-to; bh=yzC2tYXLZWD2UpZpzMreTZWsm0XKzLynAYuYh4Xz4xk=; b=Ew3dsa/N3DuPEhCbDKvGh/RyVRH7/1MgCI1yKsCc6ONhJ8RInz3rgA2IXzXutA8bq4 X9+vKmUR95TLV4/UZRkuJe3/cNtGi0Zw9bYOV1ylXeZVeGeS2WBbGgO+7hNVx6es8RR3 1a82swmVYR0DcYn5ZqEFV8VYl8X1ylDNHS+Y9ph7MybsK/6wdZ8SCmssFZ/EWdkYJvyC EzCmBZ+3DItfI/61qk1EhmoN8Vuoa1ZceLdj8RhnVz6I9/1BjIR+6fjmyK68DMFAvwaC X0ulDHjeHMQoH/zvjc+Y7TKFv50hevzVs4cPi8SucEI1/lSq/uYigExWjPKUbsHcsbDy lV4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-language:content-transfer-encoding:mime-version:user-agent :date:message-id:from:subject:to:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yzC2tYXLZWD2UpZpzMreTZWsm0XKzLynAYuYh4Xz4xk=; b=eEPAX2Pig1+yCnrGaSY7k6ycP1qYY92li0HVhwidd/kbkrdJAx9SjRKOUGrJIMh4E8 kaRA6+02xcBFmLNsIZquqSd2lp1+KcYtWu2ENR0r28DBirr1DF/MVTaPqfoV49Rp734Q cUB3LsUghRsOplbcwPB5k3TP8we54muJkJ/kMcYdFviFsxG4Uf2YDzFCrgxJZE+wQoNx c5PUdgiw+9XPRf/nrRD/hbJWRQia5/oFjhQRZBw34W99BrbyWX6E/LkIcx5U6NLziCQb 8GnxRCGTFyaIJB/hKmsiYON6AfY1G4JmydYTBeJ6rQpsKuYLBGHkM0yGFDdDUkIDt/Sa VHfA== X-Gm-Message-State: AO0yUKUMP2vshRwlSvjsjF8YrwXc93xbcLbPd/RMetxDFNQtRiS7lBoS Y6EqZDxfXwcXsmRBRvDzJv5DHXEG4oM= X-Google-Smtp-Source: AK7set9KGSZqf5LJGAWsSFvuMXmtWYK9lHxGXvzxr6p/4u1/V3uykSU/ykgl862TmqF5uUMVaA1bxA== X-Received: by 2002:a05:6214:500a:b0:56e:a07b:f4d4 with SMTP id jo10-20020a056214500a00b0056ea07bf4d4mr7481849qvb.3.1676492443311; Wed, 15 Feb 2023 12:20:43 -0800 (PST) Received: from [192.168.2.218] (mtprnf0117w-47-55-131-13.dhcp-dynamic.fibreop.nl.bellaliant.net. [47.55.131.13]) by smtp.gmail.com with ESMTPSA id r142-20020a37a894000000b00729a26e836esm14695147qke.84.2023.02.15.12.20.41 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 15 Feb 2023 12:20:42 -0800 (PST) To: emacs-orgmode@gnu.org Subject: [BUG] Recurrent error about timer running Pomodoro extension. [9.6 (9.6-??-bed47b4 @ /home/bill/.emacs.d/.local/straight/build-28.1/org/)] From: Bill McKelvie Message-ID: <811a8868-10e5-faa7-ad4a-9f24061db2ca@gmail.com> Date: Wed, 15 Feb 2023 16:50:40 -0330 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Received-SPF: pass client-ip=2607:f8b0:4864:20::f35; envelope-from=bill.mckelvie@gmail.com; helo=mail-qv1-xf35.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 16 Feb 2023 10:03:37 -0500 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-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1676559864; a=rsa-sha256; cv=none; b=IHEcqy45Me3q0Gqy8Ks53cQ+D74bFd7IldsRg4NX6eLEFkEGDSEG5M0lZt2kEm6XSx7lBj kIrNujN1sx9Sphk3Muz6lICHr+iEmEvhwfgLBxpdM1cXQfa3kEj0AeJqe+/rGsiXFVm+jo 7gDt8SW6SG9e9nZGSOU7fA32nunDHoJHYatoyneMtgOM7vXW8Uc5g7boEdnR3G9xEqhOp1 L2AXUlOFlRyFwwpxDd0TiY7T9Q+PgbdlAME5a+V3DuGcVS/6I6or8dQqTh5VniPrUM/VAn i2CbWOAlBV11rspzcwbPc+4/0Rku8FfgfZHLJUImZNJZKA1+0vAJvjmiLi60IQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="Ew3dsa/N"; 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=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1676559864; 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=yzC2tYXLZWD2UpZpzMreTZWsm0XKzLynAYuYh4Xz4xk=; b=B6Noaxy1N6htfvl/OD86wy46BpBSxBszqOdRpT/uiBJ0yKFmIGSsUIdsJYfaT2aXRR+0fb FmxCdv67dT6q0AlP4ZT2HuhxbF0/uVlK3K3PUoPWbsw7DjJ1cTd3nJ9XOLO3yxgPjKE8Id +joDpjCJqI/KVl0S067ajZpsH1WY2fMm9dbRgXU2BDlCPJXQZ7UuRa3y37mL3e0fzxv2uh lleEtwWNdo/L56M3URGreNxSUApKqFYp09twoAxAh/U2DLWgRiZmVJy06EjxxgYsQvZltY 09VfLskqdPcZFK8Shcdfy9Tbh8yGrU2jTGWG9IKC9WpTFvcK96j979aCMa8XqQ== Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="Ew3dsa/N"; 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=gmail.com X-Migadu-Spam-Score: -4.83 X-Spam-Score: -4.83 X-Migadu-Queue-Id: 3503ED54B X-Migadu-Scanner: scn1.migadu.com X-TUID: 9WKxFnVyCPnt I was running a Pomodoro timer from my professional development log and kept getting an error. Emacs would slow down so that there would be a delay between pressing a key and the character appearing on screen. Shutting down and restarting helps for a while but the error then recurs. The error message suggested submitting a bug report if it recurred. Hence this post. I run emacs 28.1 with Doom on MXLinux 21.3, KDE edition. I hope this is helpful to the development team. Bill Remember to cover the basics, that is, what you expected to happen and what in fact did happen. You don't know how to make a good report? See https://orgmode.org/manual/Feedback.html#Feedback Your bug report will be posted to the Org mailing list. ------------------------------------------------------------------------ Emacs : GNU Emacs 28.1 (build 4, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars) of 2022-09-03 Package: Org mode version 9.6 (9.6-??-bed47b4 @ /home/bill/.emacs.d/.local/straight/build-28.1/org/) current state: ============== (setq org-link-elisp-confirm-function nil org-directory "~/Documents/org/" org-cite-insert-processor 'citar org-after-refile-insert-hook '(save-buffer) org-indirect-buffer-display 'current-window org-crypt-key nil org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn ENTRY)"] org-pomodoro-long-break-sound "/home/bill/.emacs.d/.local/straight/build-28.1/org-pomodoro/resources/bell_multiple.wav" 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-startup-folded nil org-babel-after-execute-hook '(+org-redisplay-inline-images-in-babel-result-h) org-link-abbrev-alist '(("doomdir" . "/home/bill/.doom.d/%s") ("emacsdir" . "/home/bill/.emacs.d/%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") ("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-agenda-files '("~/Documents/org/") 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) ) org-persist-after-read-hook '(org-element--cache-persist-after-read) org-refile-targets '((nil :maxlevel . 3) (org-agenda-files :maxlevel . 3)) org-export-before-parsing-hook '(org-attach-expand-links) 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-clear-babel-results-h +org-cycle-only-current-subtree-h) org-default-notes-file "/home/bill/Documents/org/notes.org" org-refile-use-outline-path 'file org-pomodoro-short-break-sound "/home/bill/.emacs.d/.local/straight/build-28.1/org-pomodoro/resources/bell.wav" org-archive-hook '(org-attach-archive-delete-maybe) org-cite-follow-processor 'citar org-file-apps '((remote . emacs) (auto-mode . emacs) (directory . emacs) ("\\.mm\\'" . default) ("\\.x?html?\\'" . default) ("\\.pdf\\'" . default)) org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines org-cycle-optimize-window-after-visibility-change) org-persist-before-read-hook '(org-element--cache-persist-before-read) org-font-lock-set-keywords-hook '(doom-themes-enable-org-fontification) org-modules '(ol-bibtex) org-image-actual-width nil org-attach-use-inheritance t org-mode-local-vars-hook '(+org-init-gifs-h) org-mode-hook '(er/add-org-mode-expansions #[0 "\301\211\207" [imenu-create-index-function org-imenu-get-tree] 2] (closure ((hook . org-mode-hook) (--dolist-tail--) t) (&rest _) (add-hook 'before-save-hook 'org-encrypt-entries nil t)) +lookup--init-org-mode-handlers-h (closure ((hook . org-mode-hook) (--dolist-tail--) 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 doom-disable-show-paren-mode-h doom-disable-show-trailing-whitespace-h +org-enable-auto-reformat-tables-h +org-enable-auto-update-cookies-h +org-make-last-point-visible-h evil-org-mode toc-org-enable flyspell-mode embrace-org-mode-hook org-eldoc-load) org-src-window-setup 'other-window org-id-locations-file "/home/bill/Documents/org/.orgids" org-agenda-span 10 org-priority-faces '((65 . error) (66 . warning) (67 . success)) org-pomodoro-overtime-sound "/home/bill/.emacs.d/.local/straight/build-28.1/org-pomodoro/resources/bell.wav" org-confirm-shell-link-function 'yes-or-no-p org-reveal-start-hook '(org-decrypt-entry) org-agenda-skip-unavailable-files t outline-isearch-open-invisible-function 'outline-isearch-open-invisible org-use-sub-superscripts '{} org-startup-indented t org-agenda-mode-hook '(+org-habit-resize-graph-h evil-org-agenda-mode) org-link-translation-function 'toc-org-unhrefify org-agenda-before-write-hook '(org-agenda-add-entry-text) org-src-preserve-indentation t org-entities-user '(("flat" "\\flat" nil "" "" "266D" "♭") ("sharp" "\\sharp" nil "" "" "266F" "♯")) org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-agenda-window-setup 'current-window org-tags-exclude-from-inheritance '("crypt") org-clock-out-remove-zero-time-clocks t org-cite-activate-processor 'citar org-pomodoro-ticking-sound "/home/bill/.emacs.d/.local/straight/build-28.1/org-pomodoro/resources/tick.wav" org-hide-leading-stars t 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-inhibit-startup t org-support-shift-select t org-blocker-hook '(org-block-todo-from-children-or-siblings-or-parent) org-preview-latex-image-directory "/home/bill/.emacs.d/.local/cache/org/latex/" org-fontify-whole-heading-line t org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate) org-clock-persist-file "/home/bill/.emacs.d/.local/etc/org-clock-save.el" org-eldoc-breadcrumb-separator " → " org-persist-directory "/home/bill/.emacs.d/.local/cache/org/persist/" org-export-backends '(md ascii html icalendar latex odt) org-enforce-todo-dependencies t org-confirm-babel-evaluate nil org-pomodoro-finished-sound "/home/bill/.emacs.d/.local/straight/build-28.1/org-pomodoro/resources/bell.wav" org-fold-core-isearch-open-function 'org-fold--isearch-reveal org-clock-in-resume t org-cite-export-processors '((latex biblatex) (t csl)) org-insert-heading-respect-content t org-M-RET-may-split-line nil org-clock-persist 'history org-persist-before-write-hook '(org-element--cache-persist-before-write) 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-clear-babel-results-h +org-cycle-only-current-subtree-h) org-link-shell-confirm-function 'yes-or-no-p org-agenda-finalize-hook '(+org-exclude-agenda-buffers-from-workspace-h +org-defer-mode-in-agenda-buffers-h) org-babel-pre-tangle-hook '(save-buffer) org-agenda-loop-over-headlines-in-active-region nil org-fontify-quote-and-verse-blocks t org-agenda-start-on-weekday nil org-attach-id-dir "/home/bill/Documents/org/.attach/" 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-capture-mode-hook '(+org-show-target-in-capture-header-h evil-insert-state) org-agenda-deadline-faces '((1.001 . error) (1.0 . org-warning) (0.5 . org-upcoming-deadline) (0.0 . org-upcoming-distant-deadline)) org-fold-reveal-start-hook '(org-decrypt-entry) org-occur-hook '(org-first-headline-recenter) org-capture-after-finalize-hook '(+org-capture-cleanup-frame-h) org-pomodoro-audio-player "/usr/bin/paplay" org-metadown-hook '(org-babel-pop-to-session-maybe) org-link-parameters '(("bibtex" :follow org-bibtex-open :store org-bibtex-store-link) ("elfeed" :follow elfeed-link-open :store elfeed-link-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) ("yt" :follow org-yt-follow :image-data-fun org-yt-image-data-fun) ("id" :follow org-id-open) ("img" :image-data-fun +org-inline-image-data-fn) ("doom-changelog" :follow (closure ((old) (vnew closure ((-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (label face) #'(lambda (context) (format "%s %s" (propertize (format "%s:" label) 'face 'bold) (propertize (+org-link-read-desc-at-point (org-element-property :path context) context) 'face face) ) ) ) (-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (link) (find-file (doom-path doom-docs-dir "changelog.org")) (org-match-sparse-tree nil link)) ) ("doom-source" :follow (closure ((old) (vnew closure ((-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (label face) #'(lambda (context) (format "%s %s" (propertize (format "%s:" label) 'face 'bold) (propertize (+org-link-read-desc-at-point (org-element-property :path context) context) 'face face) ) ) ) (-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (link) (user-error "-- %S %S %S" source url link) (let* ((url (let ((save-match-data-internal (match-data))) (unwind-protect (progn (and (string-match "^\\([^:]+\\):\\(.+\\)$" link) (cons (match-string 1) (match-string 2))) ) (set-match-data save-match-data-internal 'evaporate)) ) ) (source (if url (car-safe (prog1 url (setq url (cdr url)))) (signal 'wrong-number-of-arguments (list '(source . url) (length url)))) ) ) (cond ((equal source '"doom") (let nil (org-link-open (expand-file-name url doom-modules-dir)))) ((equal source '"contrib") (let nil (browse-url (format "https://docs.doomemacs.org/modules/" (replace-regexp-in-string "::\\(.+\\)$" "#\\1" url)) ) ) ) (t (let nil (user-error "%s is not a valid module source" source)))) ) ) ) ("doom-user" :follow (closure ((old) (vnew closure ((-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (label face) #'(lambda (context) (format "%s %s" (propertize (format "%s:" label) 'face 'bold) (propertize (+org-link-read-desc-at-point (org-element-property :path context) context) 'face face) ) ) ) (-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (link) (browse-url (format "https://github.com/%s" (string-remove-prefix "@" (+org-link-read-desc-at-point link))) ) ) :face (closure ((old) (vnew closure ((-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (label face) #'(lambda (context) (format "%s %s" (propertize (format "%s:" label) 'face 'bold) (propertize (+org-link-read-desc-at-point (org-element-property :path context) context) 'face face) ) ) ) (-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (_) 'org-priority) ) ("doom-ref" :follow (closure ((old) (vnew closure ((-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (label face) #'(lambda (context) (format "%s %s" (propertize (format "%s:" label) 'face 'bold) (propertize (+org-link-read-desc-at-point (org-element-property :path context) context) 'face face) ) ) ) (-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (link) (let ((link (+org-link-read-desc-at-point link)) (url "https://github.com") (doom-repo "doomemacs/doomemacs")) (let ((save-match-data-internal (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 save-match-data-internal 'evaporate)) ) ) ) :face (closure ((old) (vnew closure ((-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (label face) #'(lambda (context) (format "%s %s" (propertize (format "%s:" label) 'face 'bold) (propertize (+org-link-read-desc-at-point (org-element-property :path context) context) 'face face) ) ) ) (-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) 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-module" :follow +org-link-follow-doom-module-fn :face +org-link--doom-module-link-face-fn :eldoc (closure ((face . org-priority) (label . "Doom module") (-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (context) (format "%s %s" (propertize (format "%s:" label) 'face 'bold) (propertize (+org-link-read-desc-at-point (org-element-property :path context) context) 'face face) ) ) ) ("doom-package" :follow +org-link-follow-doom-package-fn :face (closure ((old) (vnew closure ((-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (label face) #'(lambda (context) (format "%s %s" (propertize (format "%s:" label) 'face 'bold) (propertize (+org-link-read-desc-at-point (org-element-property :path context) context) 'face face) ) ) ) (-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (_) '(:inherit org-priority :slant italic)) :eldoc (closure ((face . org-priority) (label . "Doom package") (-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (context) (format "%s %s" (propertize (format "%s:" label) 'face 'bold) (propertize (+org-link-read-desc-at-point (org-element-property :path context) context) 'face face) ) ) ) ("face" :follow (closure ((fn . describe-face) (-call-interactively) t) (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path))) ) :face (font-lock-type-face underline)) ("fn" :follow (closure ((fn . helpful-callable) (-call-interactively) t) (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path))) ) :face (font-lock-function-name-face underline)) ("var" :follow (closure ((fn . helpful-variable) (-call-interactively) t) (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path))) ) :face (font-lock-variable-name-face underline)) ("kbd" :follow (closure ((old) (vnew closure ((-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (label face) #'(lambda (context) (format "%s %s" (propertize (format "%s:" label) 'face 'bold) (propertize (+org-link-read-desc-at-point (org-element-property :path context) context) 'face face) ) ) ) (-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (_) (minibuffer-message "%s" (+org-display-link-in-eldoc-a))) :help-echo +org-link-read-kbd-at-point :face help-key-binding :eldoc (closure ((face . help-key-binding) (label . "Key sequence") (-eldoc-fn) (old) (vnew closure ((-call-interactively) t) (fn) #'(lambda (path _prefixarg) (funcall fn (or (intern-soft path) (user-error "Can't find documentation for %S" path)) ) ) ) (-call-interactively) t) (context) (format "%s %s" (propertize (format "%s:" label) 'face 'bold) (propertize (+org-link-read-desc-at-point (org-element-property :path context) context) 'face face) ) ) ) ("doom-modules" :complete (closure ((dir-fn closure ((plist) (dir-var . doom-modules-dir) (key . "doom-modules") t) nil (symbol-value dir-var)) (requires) (plist) (dir-var . doom-modules-dir) (key . "doom-modules") t) 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 ((plist) (dir-var . doom-modules-dir) (key . "doom-modules") t) nil (symbol-value dir-var)) (requires) (plist) (dir-var . doom-modules-dir) (key . "doom-modules") t) (link) (org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil)) :face (closure ((dir-fn closure ((plist) (dir-var . doom-modules-dir) (key . "doom-modules") t) nil (symbol-value dir-var)) (requires) (plist) (dir-var . doom-modules-dir) (key . "doom-modules") t) (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 ((plist) (dir-var . doom-docs-dir) (key . "doom-docs") t) nil (symbol-value dir-var)) (requires) (plist) (dir-var . doom-docs-dir) (key . "doom-docs") t) 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 ((plist) (dir-var . doom-docs-dir) (key . "doom-docs") t) nil (symbol-value dir-var)) (requires) (plist) (dir-var . doom-docs-dir) (key . "doom-docs") t) (link) (org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil)) :face (closure ((dir-fn closure ((plist) (dir-var . doom-docs-dir) (key . "doom-docs") t) nil (symbol-value dir-var)) (requires) (plist) (dir-var . doom-docs-dir) (key . "doom-docs") t) (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 ((plist) (dir-var . doom-emacs-dir) (key . "doom") t) nil (symbol-value dir-var)) (requires) (plist) (dir-var . doom-emacs-dir) (key . "doom") t) 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 ((plist) (dir-var . doom-emacs-dir) (key . "doom") t) nil (symbol-value dir-var)) (requires) (plist) (dir-var . doom-emacs-dir) (key . "doom") t) (link) (org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil)) :face (closure ((dir-fn closure ((plist) (dir-var . doom-emacs-dir) (key . "doom") t) nil (symbol-value dir-var)) (requires) (plist) (dir-var . doom-emacs-dir) (key . "doom") t) (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 ((plist) (dir-var . org-directory) (key . "org") t) nil (symbol-value dir-var)) (requires) (plist) (dir-var . org-directory) (key . "org") t) 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 ((plist) (dir-var . org-directory) (key . "org") t) nil (symbol-value dir-var)) (requires) (plist) (dir-var . org-directory) (key . "org") t) (link) (org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil)) :face (closure ((dir-fn closure ((plist) (dir-var . org-directory) (key . "org") t) nil (symbol-value dir-var)) (requires) (plist) (dir-var . org-directory) (key . "org") t) (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 org-link--open-help :store org-link--store-help) ("file" :complete org-link-complete-file :face (closure (t) (path) (if (or (file-remote-p path) (if IS-WINDOWS (string-prefix-p "\\\\" path)) (file-exists-p path)) 'org-link '(warning org-link)) ) ) ("elisp" :follow org-link--open-elisp)) org-metaup-hook '(org-babel-load-in-session-maybe) org-imenu-depth 6 org-display-remote-inline-images 'download org-outline-path-complete-in-steps nil org-special-ctrl-a/e t org-pomodoro-start-sound "/home/bill/.emacs.d/.local/straight/build-28.1/org-pomodoro/resources/bell.wav" org-tags-column 0 org-src-lang-modes '(("md" . markdown) ("C" . c) ("C++" . c++) ("asymptote" . asy) ("bash" . sh) ("beamer" . latex) ("calc" . fundamental) ("cpp" . c++) ("ditaa" . artist) ("desktop" . conf-desktop) ("dot" . fundamental) ("elisp" . emacs-lisp) ("ocaml" . tuareg) ("screen" . shell-script) ("shell" . sh) ("sqlite" . sql) ("toml" . conf-toml)) org-clock-history-length 20 org-attach-store-link-p t org-id-locations-file-relative t org-archive-subtree-save-file-p t org-list-allow-alphabetical t )