From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joe Schafer Subject: Re: Bug: Reading currently clocked headline interferes with org-capture-finalize [8.3.4 (8.3.4-93-g0d72c3-elpaplus @ /home/joe/.emacs.d/elpa/org-20160627/)] Date: Sun, 31 Jul 2016 17:51:38 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a114e30dc3d9b600538f223a8 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54504) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTuu1-00023Y-3v for emacs-orgmode@gnu.org; Sun, 31 Jul 2016 13:51:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bTutx-0002hV-BC for emacs-orgmode@gnu.org; Sun, 31 Jul 2016 13:51:52 -0400 Received: from mail-vk0-x235.google.com ([2607:f8b0:400c:c05::235]:36630) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTutx-0002hQ-2q for emacs-orgmode@gnu.org; Sun, 31 Jul 2016 13:51:49 -0400 Received: by mail-vk0-x235.google.com with SMTP id n129so85263505vke.3 for ; Sun, 31 Jul 2016 10:51:48 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org --001a114e30dc3d9b600538f223a8 Content-Type: text/plain; charset=UTF-8 Awesome, it works! Thank you for the quick reply and fix. On Fri, Jul 29, 2016 at 1:03 AM Joe Schafer wrote: > > I have a function to save the currently clocked item into a file so I > can display it in my terminal. The hook seems to interfere with > org-capture. If I capture something the following > happens: > > 1. org-capture dialog appears > 2. Fill-in capture. The capture is clocked-in. > 3. Finish capture with C-c C-c > 4. The capture is still clocked in. The clock should go back to the > previous clocked-in entry. > > Trying to bisect the issue was difficult. Sometimes the new capture would > clock-out, but the original entry would not clock back in. Other times > the clock would be left running in the new capture entry. > > The smallest example I could get is: > > (defun my:org-get-clocked-in-headline () > "Get the headline of the currently clocked in headline. > If no headline is clocked in, then return an empty string." > (interactive) > (with-current-buffer (marker-buffer org-clock-marker) > (goto-char org-clock-marker))) > > (defun my:org-save-clocked-in-entry-to-file () > "Save currently clocked-in task to a file." > (with-temp-buffer > (insert (my:org-get-clocked-in-headline)))) > > (add-hook 'org-clock-in-hook #'my:org-save-clocked-in-entry-to-file) > > For reference, here's the full code I'm using > > (defun my:org-get-clocked-in-headline () > "Get the headline of the currently clocked in headline. > If no headline is clocked in, then return an empty string." > (interactive) > (if (not (org-clocking-p)) > "" > (with-current-buffer (marker-buffer org-clock-marker) > (save-excursion > (save-restriction > (when (or (< org-clock-marker (point-min)) (> > org-clock-marker (point-max))) > (widen)) > (goto-char org-clock-marker) > (org-no-properties (org-get-heading 'no-tags 'no-todo))))))) > > (defvar my:org-clocked-in-file-path > "/tmp/org-currently-clocked-in-task" > "Where to save the currently clocked in task for all to see.") > > (defun my:org-save-clocked-in-entry-to-file () > "Save currently clocked-in task to a file." > (let ((last-message (current-message)) > ;; Suppress echo area to see clock out information. Doesn't > seem to > ;; work, so we'll just re-display last-message. > (inhibit-message nil)) > (with-temp-buffer > (insert (my:org-get-clocked-in-headline)) > (write-region (point-min) (point-max) > my:org-clocked-in-file-path)) > (message last-message))) > > (add-hook 'org-clock-in-hook #'my:org-save-clocked-in-entry-to-file) > (add-hook 'org-clock-out-hook #'my:org-save-clocked-in-entry-to-file) > (add-hook 'org-clock-cancel-hook > #'my:org-save-clocked-in-entry-to-file) > > > Emacs : GNU Emacs 25.1.50.2 (x86_64-pc-linux-gnu, GTK+ Version 3.18.9) > of 2016-07-14 > Package: Org-mode version 8.3.4 (8.3.4-93-g0d72c3-elpaplus @ > /home/joe/.emacs.d/elpa/org-20160627/) > > current state: > ============== > (setq > org-id-locations-file "/home/joe/.emacs.d/.cache/.org-id-locations" > org-tab-first-hook '(org-hide-block-toggle-maybe > org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) > org-drill-sm5-initial-interval 1.5 > org-clock-persist-file "/home/joe/.emacs.d/.cache/org-clock-save.el" > org-habit-preceding-days 10 > org-speed-command-hook '(org-speed-command-default-hook > org-babel-speed-command-hook) > org-reverse-note-order t > org-clock-history-length 23 > org-occur-hook '(org-first-headline-recenter) > org-metaup-hook '(org-babel-load-in-session-maybe) > org-html-format-drawer-function '(lambda (name contents) contents) > org-capture-after-finalize-hook '(org-save-all-org-buffers) > org-log-done t > org-latex-format-inlinetask-function > 'org-latex-format-inlinetask-default-function > org-confirm-shell-link-function 'yes-or-no-p > org-ascii-format-inlinetask-function 'org-ascii-format-inlinetask-default > org-link-translation-function 'toc-org-unhrefify > org-present-mode-hook '(spacemacs//org-present-start) > org-agenda-restore-windows-after-quit t > org-latex-format-headline-function > 'org-latex-format-headline-default-function > org-default-notes-file "~/gdrive/org/refile.org" > org-clock-in-resume t > org-clock-cancel-hook '(my:org-save-clocked-in-entry-to-file) > org-capture-templates '(("t" "todo" entry (file "~/gdrive/org/refile.org") > "* TODO %?\n%U\n%(my:org-pick-smart-context \"%x\")\n" > :clock-in t :clock-resume t) > ("r" "respond" entry (file "~/gdrive/org/ > refile.org") > "* NEXT Respond to %:from on > %:subject\nSCHEDULED: %t\n%U\n%a\n" :clock-in t :clock-resume t > :immediate-finish t) > ("n" "note" entry (file "~/gdrive/org/refile.org") > "* %? :NOTE:\n%U\n%a\n" :clock-in t :clock-resume t) > ("j" "Journal" entry (file+datetree "~/gdrive/org/ > journal.org") "* %?\n%U\n" :clock-in t :clock-resume t) > ("w" "org-protocol" entry (file "~/gdrive/org/ > refile.org") "* TODO Review %c\n%U\n" :immediate-finish t) > ("m" "Meeting" entry (file "~/gdrive/org/ > refile.org") "* MEETING with %? :MEETING:\n%U" :clock-in t :clock-resume > t) > ("p" "Phone call" entry (file "~/gdrive/org/ > refile.org") "* PHONE %? :PHONE:\n%U" :clock-in t :clock-resume t) > ("h" "Habit" entry (file "~/gdrive/org/refile.org > ") > "* NEXT %?\n%U\n%a\nSCHEDULED: > %(format-time-string \"%<<%Y-%m-%d %a .+1d/3d>>\")\n:PROPERTIES:\n:STYLE: > habit\n:REPEAT_TO_STATE: NEXT\n:END:\n") > ) > org-startup-indented t > org-after-todo-state-change-hook '(org-clock-out-if-current) > org-latex-format-drawer-function '(lambda (name contents) contents) > org-drill-learn-fraction 0.3 > org-from-is-user-regexp "\\" > org-src-mode-hook '(org-src-babel-configure-edit-buffer > org-src-mode-configure-edit-buffer) > org-agenda-before-write-hook '(org-agenda-add-entry-text) > org-babel-pre-tangle-hook '(save-buffer) > org-font-lock-set-keywords-hook '(org-drill-add-cloze-fontification) > org-mode-hook '(spacemacs/load-yasnippet toc-org-enable org-bullets-mode > org-autolist-mode org-clock-load > #[nil "\300\301\302\303\304$\207" [org-add-hook > change-major-mode-hook org-show-block-all append local] 5] > #[nil "\300\301\302\303\304$\207" [org-add-hook > change-major-mode-hook org-babel-show-result-all append local] 5] > org-babel-result-hide-spec org-babel-hide-all-hashes > spacemacs/add-org-surrounds evil-org-mode org-eldoc-load > spacemacs//init-company-org-mode company-mode) > org-refile-targets '((nil :maxlevel . 9) (org-agenda-files :maxlevel . 9)) > org-outline-path-complete-in-steps nil > org-todo-state-tags-triggers '(("CANCELLED" ("cancelled" . t)) ("WAITING" > ("waiting" . t)) ("HOLD" ("waiting") ("hold" . t)) > (done ("waiting") ("hold")) ("TODO" > ("waiting") ("cancelled") ("hold")) > ("NEXT" ("waiting") ("cancelled") > ("hold")) ("DONE" ("waiting") ("cancelled") ("hold"))) > org-stuck-projects '("" nil nil "") > org-archive-hook '(org-attach-archive-delete-maybe) > org-agenda-compact-blocks t > org-ascii-format-drawer-function '(lambda (name contents width) contents) > org-clock-persist t > org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point > org-babel-execute-safely-maybe) > org-refile-use-outline-path t > org-clock-in-switch-to-state 'bh/clock-in-to-next > org-directory "~/gdrive/org" > org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers > org-cycle-show-empty-lines > org-optimize-window-after-visibility-change) > org-present-mode-quit-hook '(spacemacs//org-present-end) > org-export-async-init-file > "/home/joe/.emacs.d/layers/org/org-async-init.el" > org-clock-persist-query-resume nil > org-todo-keywords '((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d)") > (sequence "WAITING(w@/!)" "HOLD(h@/!)" "|" "CANCELLED(c)")) > org-modules '(org-bbdb org-bibtex org-docview org-gnus org-habit org-info > org-irc org-mhe org-rmail org-w3m org-drill) > org-clock-report-include-clocking-task t > org-download-image-dir "~/gdrive/org/images" > org-confirm-elisp-link-function 'yes-or-no-p > org-startup-with-inline-images t > org-edit-src-content-indentation 0 > org-metadown-hook '(org-babel-pop-to-session-maybe) > org-treat-S-cursor-todo-selection-as-state-change nil > org-html-format-headline-function > 'org-html-format-headline-default-function > org-clock-in-hook '(my:org-save-clocked-in-entry-to-file) > org-html-format-inlinetask-function > 'org-html-format-inlinetask-default-function > org-agenda-mode-hook '(org-save-all-org-buffers) > org-fontify-whole-heading-line t > org-agenda-files '("~/gdrive/org/") > org-clock-out-hook '(org-clock-remove-empty-clock-drawer > bh/clock-out-maybe my:remove-empty-drawer-on-clock-out > my:org-save-clocked-in-entry-to-file) > org-drill-add-random-noise-to-intervals-p t > org-clock-out-remove-zero-time-clocks t > org-publish-project-alist '(("swift-plaques" :author "Joe Schafer" > :base-directory "~/prog/swift-plaques-business-plan" > :publishing-directory > "~/prog/swift-plaques-business-plan" :publishing-function > org-latex-publish-to-pdf > :base-extension "org") > ) > org-tag-alist '((:startgroup) ("work" . 119) ("home" . 104) ("comp" . 99) > ("errand" . 101) (:endgroup) (:startgroup) ("start" . 115) > ("mid" . 109) ("end" . 110) (:endgroup) (:startgroup) > ("daily" . 100) ("weekly" . 107) (:endgroup) (:startgroup) > ("waiting" . 116) ("hold" . 104) ("cancelled" . 99) > (:endgroup)) > ) > -- Joe Schafer --001a114e30dc3d9b600538f223a8 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Awesome, it works!=C2=A0 Thank you for the quick reply and= fix.

On Fri, Jul 29, 20= 16 at 1:03 AM Joe Schafer <joesmo= e10@gmail.com> wrote:

I have a function to save the currently clocked item into a = file so I
can display it in my terminal.=C2=A0 The hook seems to interfe= re with
org-capture.=C2=A0 If I capture something the following
happe= ns:

1. org-capture dialog appears
2. Fill-in capture.=C2=A0 The c= apture is clocked-in.
3. Finish capture with C-c C-c
4. The capture i= s still clocked in.=C2=A0 The clock should go back to the
previous clock= ed-in entry.

Trying to bisect the issue was difficult.=C2=A0 Sometim= es the new capture would
clock-out, but the original entry would not clo= ck back in.=C2=A0 Other times
the clock would be left running in the new= capture entry.

The smallest example I could get is:

=C2=A0 = =C2=A0 (defun my:org-get-clocked-in-headline ()
=C2=A0 =C2=A0 =C2=A0 &qu= ot;Get the headline of the currently clocked in headline.
=C2=A0 =C2=A0 = If no headline is clocked in, then return an empty string."
=C2=A0 = =C2=A0 =C2=A0 (interactive)
=C2=A0 =C2=A0 =C2=A0 (with-current-buffer (m= arker-buffer org-clock-marker)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (goto-char or= g-clock-marker)))

=C2=A0 =C2=A0 (defun my:org-save-clocked-in-entry-= to-file ()
=C2=A0 =C2=A0 =C2=A0 "Save currently clocked-in task to = a file."
=C2=A0 =C2=A0 =C2=A0 (with-temp-buffer
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 (insert (my:org-get-clocked-in-headline))))

=C2=A0 =C2= =A0 (add-hook 'org-clock-in-hook #'my:org-save-clocked-in-entry-to-= file)

For reference, here's the full code I'm using

= =C2=A0 =C2=A0 (defun my:org-get-clocked-in-headline ()
=C2=A0 =C2=A0 =C2= =A0 "Get the headline of the currently clocked in headline.
=C2=A0 = =C2=A0 If no headline is clocked in, then return an empty string."
= =C2=A0 =C2=A0 =C2=A0 (interactive)
=C2=A0 =C2=A0 =C2=A0 (if (not (org-cl= ocking-p))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ""
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 (with-current-buffer (marker-buffer org-clock-marker)
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (save-excursion
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 (save-restriction
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 (when (or (< org-clock-marker (point-min)) (> org-c= lock-marker (point-max)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 (widen))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (go= to-char org-clock-marker)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 (org-no-properties (org-get-heading 'no-tags 'no-todo)))))))
=C2=A0 =C2=A0 (defvar my:org-clocked-in-file-path "/tmp/org-curre= ntly-clocked-in-task"
=C2=A0 =C2=A0 =C2=A0 "Where to save the = currently clocked in task for all to see.")

=C2=A0 =C2=A0 (defu= n my:org-save-clocked-in-entry-to-file ()
=C2=A0 =C2=A0 =C2=A0 "Sav= e currently clocked-in task to a file."
=C2=A0 =C2=A0 =C2=A0 (let (= (last-message (current-message))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 ;; Suppress echo area to see clock out information.=C2=A0 Doesn't s= eem to
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; work, so we'll j= ust re-display last-message.
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (= inhibit-message nil))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (with-temp-buffer
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (insert (my:org-get-clocked-in-headline)= )
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (write-region (point-min) (point-ma= x) my:org-clocked-in-file-path))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (message la= st-message)))

=C2=A0 =C2=A0 (add-hook 'org-clock-in-hook #'m= y:org-save-clocked-in-entry-to-file)
=C2=A0 =C2=A0 (add-hook 'org-cl= ock-out-hook #'my:org-save-clocked-in-entry-to-file)
=C2=A0 =C2=A0 (= add-hook 'org-clock-cancel-hook #'my:org-save-clocked-in-entry-to-f= ile)


Emacs =C2=A0: GNU Emacs 25.1.50.2 (x86_64-pc-linux-gnu, GTK= + Version 3.18.9)
=C2=A0of 2016-07-14
Package: Org-mode version 8.3.4= (8.3.4-93-g0d72c3-elpaplus @ /home/joe/.emacs.d/elpa/org-20160627/)
current state:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
(setq
= =C2=A0org-id-locations-file "/home/joe/.emacs.d/.cache/.org-id-locatio= ns"
=C2=A0org-tab-first-hook '(org-hide-block-toggle-maybe org-= babel-hide-result-toggle-maybe org-babel-header-arg-expand)
=C2=A0org-dr= ill-sm5-initial-interval 1.5
=C2=A0org-clock-persist-file "/home/jo= e/.emacs.d/.cache/org-clock-save.el"
=C2=A0org-habit-preceding-days= 10
=C2=A0org-speed-command-hook '(org-speed-command-default-hook or= g-babel-speed-command-hook)
=C2=A0org-reverse-note-order t
=C2=A0org-= clock-history-length 23
=C2=A0org-occur-hook '(org-first-headline-re= center)
=C2=A0org-metaup-hook '(org-babel-load-in-session-maybe)
= =C2=A0org-html-format-drawer-function '(lambda (name contents) contents= )
=C2=A0org-capture-after-finalize-hook '(org-save-all-org-buffers)<= br>=C2=A0org-log-done t
=C2=A0org-latex-format-inlinetask-function '= org-latex-format-inlinetask-default-function
=C2=A0org-confirm-shell-lin= k-function 'yes-or-no-p
=C2=A0org-ascii-format-inlinetask-function &= #39;org-ascii-format-inlinetask-default
=C2=A0org-link-translation-funct= ion 'toc-org-unhrefify
=C2=A0org-present-mode-hook '(spacemacs//= org-present-start)
=C2=A0org-agenda-restore-windows-after-quit t
=C2= =A0org-latex-format-headline-function 'org-latex-format-headline-defaul= t-function
=C2=A0org-default-notes-file "~/gdrive/org/refile.org"
=C2=A0org-clock-= in-resume t
=C2=A0org-clock-cancel-hook '(my:org-save-clocked-in-ent= ry-to-file)
=C2=A0org-capture-templates '(("t" "todo&= quot; entry (file "~/gdrive/org/refile.org") "* TODO %?\n%U\n%(my:org-pick-smart-= context \"%x\")\n"
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 :clock-in t :clock-res= ume t)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0("r" "respond" entry (file &= quot;~/gdrive/org/refile.or= g")
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "* NEXT Respond to %:from on %:subject= \nSCHEDULED: %t\n%U\n%a\n" :clock-in t :clock-resume t :immediate-fini= sh t)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0("n" "note" entry (file "~= /gdrive/org/refile.org&= quot;) "* %? :NOTE:\n%U\n%a\n" :clock-in t :clock-resume t)
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0("j" "Journal" entry (file+datetree &q= uot;~/gdrive/org/journal.o= rg") "* %?\n%U\n" :clock-in t :clock-resume t)
=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0("w" "org-protocol" entry (file "~/gdriv= e/org/refile.org")= "* TODO Review %c\n%U\n" :immediate-finish t)
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0("m" "Meeting" entry (file "~/gdrive/org/refile.org") "* MEE= TING with %? :MEETING:\n%U" :clock-in t :clock-resume
=C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 t)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0("p" "Phone call" entry (fil= e "~/gdrive/org/refile= .org") "* PHONE %? :PHONE:\n%U" :clock-in t :clock-resum= e t)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0("h" "Habit" entry (file "= ~/gdrive/org/refile.org= ")
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 "* NEXT %?\n%U\n%a\nSCHEDULED: %(format-ti= me-string \"%<<%Y-%m-%d %a .+1d/3d>>\")\n:PROPERTIES:= \n:STYLE: habit\n:REPEAT_TO_STATE: NEXT\n:END:\n")
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0)
=C2=A0org-startup-indented t
=C2=A0org-after-todo-state-change-h= ook '(org-clock-out-if-current)
=C2=A0org-latex-format-drawer-functi= on '(lambda (name contents) contents)
=C2=A0org-drill-learn-fraction= 0.3
=C2=A0org-from-is-user-regexp "\\<joe\\>"
=C2=A0= org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-co= nfigure-edit-buffer)
=C2=A0org-agenda-before-write-hook '(org-agenda= -add-entry-text)
=C2=A0org-babel-pre-tangle-hook '(save-buffer)
= =C2=A0org-font-lock-set-keywords-hook '(org-drill-add-cloze-fontificati= on)
=C2=A0org-mode-hook '(spacemacs/load-yasnippet toc-org-enable or= g-bullets-mode org-autolist-mode org-clock-load
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0#[nil "\300\301\302\303\304$\207= " [org-add-hook change-major-mode-hook org-show-block-all append local= ] 5]
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0#[nil= "\300\301\302\303\304$\207" [org-add-hook change-major-mode-hook= org-babel-show-result-all append local] 5]
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0org-babel-result-hide-spec org-babel-hide= -all-hashes spacemacs/add-org-surrounds evil-org-mode org-eldoc-load
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0spacemacs//init-= company-org-mode company-mode)
=C2=A0org-refile-targets '((nil :maxl= evel . 9) (org-agenda-files :maxlevel . 9))
=C2=A0org-outline-path-compl= ete-in-steps nil
=C2=A0org-todo-state-tags-triggers '(("CANCELL= ED" ("cancelled" . t)) ("WAITING" ("waiting&q= uot; . t)) ("HOLD" ("waiting") ("hold" . t))<= br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (done ("waiting") (&quo= t;hold")) ("TODO" ("waiting") ("cancelled&quo= t;) ("hold"))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ("NEXT= " ("waiting") ("cancelled") ("hold")) (&= quot;DONE" ("waiting") ("cancelled") ("hold&q= uot;)))
=C2=A0org-stuck-projects '("" nil nil ""= )
=C2=A0org-archive-hook '(org-attach-archive-delete-maybe)
=C2= =A0org-agenda-compact-blocks t
=C2=A0org-ascii-format-drawer-function &#= 39;(lambda (name contents width) contents)
=C2=A0org-clock-persist t
= =C2=A0org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execut= e-safely-maybe)
=C2=A0org-refile-use-outline-path t
=C2=A0org-clock-i= n-switch-to-state 'bh/clock-in-to-next
=C2=A0org-directory "~/g= drive/org"
=C2=A0org-cycle-hook '(org-cycle-hide-archived-subtr= ees org-cycle-hide-drawers org-cycle-show-empty-lines
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 org-optimize-window-after-vis= ibility-change)
=C2=A0org-present-mode-quit-hook '(spacemacs//org-pr= esent-end)
=C2=A0org-export-async-init-file "/home/joe/.emacs.d/lay= ers/org/org-async-init.el"
=C2=A0org-clock-persist-query-resume nil=
=C2=A0org-todo-keywords '((sequence "TODO(t)" "NEXT(= n)" "|" "DONE(d)") (sequence "WAITING(w@/!)&q= uot; "HOLD(h@/!)" "|" "CANCELLED(c)"))
=C2= =A0org-modules '(org-bbdb org-bibtex org-docview org-gnus org-habit org= -info org-irc org-mhe org-rmail org-w3m org-drill)
=C2=A0org-clock-repor= t-include-clocking-task t
=C2=A0org-download-image-dir "~/gdrive/or= g/images"
=C2=A0org-confirm-elisp-link-function 'yes-or-no-p=C2=A0org-startup-with-inline-images t
=C2=A0org-edit-src-content-inden= tation 0
=C2=A0org-metadown-hook '(org-babel-pop-to-session-maybe)=C2=A0org-treat-S-cursor-todo-selection-as-state-change nil
=C2=A0org-= html-format-headline-function 'org-html-format-headline-default-functio= n
=C2=A0org-clock-in-hook '(my:org-save-clocked-in-entry-to-file)=C2=A0org-html-format-inlinetask-function 'org-html-format-inlinetask-= default-function
=C2=A0org-agenda-mode-hook '(org-save-all-org-buffe= rs)
=C2=A0org-fontify-whole-heading-line t
=C2=A0org-agenda-files = 9;("~/gdrive/org/")
=C2=A0org-clock-out-hook '(org-clock-r= emove-empty-clock-drawer bh/clock-out-maybe my:remove-empty-drawer-on-clock= -out
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 my:org-save-clocked-in-entry-to-file)
=C2=A0org-drill-add-ran= dom-noise-to-intervals-p t
=C2=A0org-clock-out-remove-zero-time-clocks t=
=C2=A0org-publish-project-alist '(("swift-plaques" :autho= r "Joe Schafer" :base-directory "~/prog/swift-plaques-busine= ss-plan"
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 :publishing-directory &quo= t;~/prog/swift-plaques-business-plan" :publishing-function org-latex-p= ublish-to-pdf
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 :base-extension "org&= quot;)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0)
=C2=A0org-tag-alist '((:s= tartgroup) ("work" . 119) ("home" . 104) ("comp&qu= ot; . 99) ("errand" . 101) (:endgroup) (:startgroup) ("start= " . 115)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0("mid" . 109) ("end" . 110) (:endgroup) (:startgr= oup) ("daily" . 100) ("weekly" . 107) (:endgroup) (:sta= rtgroup)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(= "waiting" . 116) ("hold" . 104) ("cancelled" = . 99) (:endgroup))
=C2=A0)
--
Joe Schafer
--001a114e30dc3d9b600538f223a8--