[oni-org] Get rid of any ‘(setf (map-elt ...) ...)’ occurrences
Right now this doesn't seem to work at all... It works fine when I evaluate this using ‘eval-defun’ or ‘eval-last-sexp’, but when I try to byte-compile it doesn't work. I've added my own custom macro that expands to the same thing that ‘(setf (map-elt ...) ...)’ should. I have forgotten how to write macros properly so I may have made some mistakes. This should only be temporary until I figure out why this is happening... it might just be that I'm using a version of Emacs built from a faulty commit.
This commit is contained in:
parent
c36f9ff2f7
commit
9fe6381afd
1 changed files with 90 additions and 72 deletions
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
;; Author: Tom Willemse <tom@ryuslash.org>
|
;; Author: Tom Willemse <tom@ryuslash.org>
|
||||||
;; Keywords: local
|
;; Keywords: local
|
||||||
;; Version: 2023.0613.234632
|
;; Version: 2023.0621.002708
|
||||||
;; Package-Requires: (oni-yasnippet oni-alert oni-hydra org org-bullets org-edna diminish all-the-icons olivetti form-feed org-pretty-table)
|
;; Package-Requires: (oni-yasnippet oni-alert oni-hydra org org-bullets org-edna diminish all-the-icons olivetti form-feed org-pretty-table)
|
||||||
|
|
||||||
;; This program is free software; you can redistribute it and/or modify
|
;; This program is free software; you can redistribute it and/or modify
|
||||||
|
@ -1162,100 +1162,118 @@ This is done by adding a ‘:hidden t’ header argument to the code block."
|
||||||
,(/ (length text) 2)))))
|
,(/ (length text) 2)))))
|
||||||
text))
|
text))
|
||||||
|
|
||||||
(setf (map-elt org-agenda-custom-commands "o")
|
(defmacro oni-org--map-put (collection key value)
|
||||||
'("Overview" ((tags-todo "TODO=\"WAITING\""
|
"The result of ‘(setf (map-elt ...) ...)’ on a list.
|
||||||
((org-agenda-overriding-header (oni-org--center-align "Waiting"))))
|
Trying to byte-compile the above form doesn't work at the moment.
|
||||||
(tags-todo "TODO=\"WIP\""
|
This is a temporary hack to make sure I don't have to repeat this
|
||||||
((org-agenda-overriding-header (oni-org--center-align "In Progress"))))
|
same code all the time."
|
||||||
(agenda "" ((org-agenda-span 'day)))
|
(declare (indent 2))
|
||||||
(tags-todo "TODO=\"TODO\"+#todo"
|
(let ((key-name (gensym))
|
||||||
((org-agenda-max-todos 10)
|
(value-name (gensym)))
|
||||||
(org-agenda-overriding-header (oni-org--center-align "To Do"))))
|
`(let ((,key-name ,key)
|
||||||
(tags-todo "TODO=\"TODO\"+#reading"
|
(,value-name ,value))
|
||||||
((org-agenda-max-todos 5)
|
(condition-case nil
|
||||||
(org-agenda-overriding-header (oni-org--center-align "Read"))))
|
(with-no-warnings
|
||||||
(tags-todo "TODO=\"TODO\"+#watching"
|
(map-put! ,collection ,key-name ,value-name nil))
|
||||||
((org-agenda-max-todos 5)
|
(map-not-inplace
|
||||||
(org-agenda-overriding-header (oni-org--center-align "Watch"))))
|
(setq ,collection
|
||||||
(tags-todo "TODO=\"TODO\"+#listening"
|
(map-insert ,collection ,key-name ,value-name))
|
||||||
((org-agenda-max-todos 5)
|
,value-name)))))
|
||||||
(org-agenda-overriding-header (oni-org--center-align "Listen")))))))
|
|
||||||
|
|
||||||
(setf (map-elt org-agenda-custom-commands "t")
|
(oni-org--map-put org-agenda-custom-commands "o"
|
||||||
'("To Do" ((tags-todo "TODO=\"WAITING\"+#todo"
|
'("Overview" ((tags-todo "TODO=\"WAITING\""
|
||||||
((org-agenda-overriding-header (oni-org--center-align "Waiting To Do"))))
|
((org-agenda-overriding-header (oni-org--center-align "Waiting"))))
|
||||||
(tags-todo "TODO=\"WIP\"+#todo"
|
(tags-todo "TODO=\"WIP\""
|
||||||
((org-agenda-overriding-header (oni-org--center-align "Doing"))))
|
((org-agenda-overriding-header (oni-org--center-align "In Progress"))))
|
||||||
(tags-todo "TODO=\"TODO\"+#todo"
|
(agenda "" ((org-agenda-span 'day)))
|
||||||
((org-agenda-overriding-header (oni-org--center-align "To Do")))))))
|
(tags-todo "TODO=\"TODO\"+#todo"
|
||||||
|
((org-agenda-max-todos 10)
|
||||||
|
(org-agenda-overriding-header (oni-org--center-align "To Do"))))
|
||||||
|
(tags-todo "TODO=\"TODO\"+#reading"
|
||||||
|
((org-agenda-max-todos 5)
|
||||||
|
(org-agenda-overriding-header (oni-org--center-align "Read"))))
|
||||||
|
(tags-todo "TODO=\"TODO\"+#watching"
|
||||||
|
((org-agenda-max-todos 5)
|
||||||
|
(org-agenda-overriding-header (oni-org--center-align "Watch"))))
|
||||||
|
(tags-todo "TODO=\"TODO\"+#listening"
|
||||||
|
((org-agenda-max-todos 5)
|
||||||
|
(org-agenda-overriding-header (oni-org--center-align "Listen")))))))
|
||||||
|
|
||||||
(setf (map-elt org-agenda-custom-commands "r")
|
(oni-org--map-put org-agenda-custom-commands "t"
|
||||||
'("Reading" ((tags-todo "TODO=\"WAITING\"+#reading"
|
'("To Do" ((tags-todo "TODO=\"WAITING\"+#todo"
|
||||||
((org-agenda-overriding-header (oni-org--center-align "Waiting To Read"))))
|
((org-agenda-overriding-header (oni-org--center-align "Waiting To Do"))))
|
||||||
(tags-todo "TODO=\"WIP\"+#reading"
|
(tags-todo "TODO=\"WIP\"+#todo"
|
||||||
((org-agenda-overriding-header (oni-org--center-align "Reading"))))
|
((org-agenda-overriding-header (oni-org--center-align "Doing"))))
|
||||||
(tags-todo "TODO=\"TODO\"+#reading"
|
(tags-todo "TODO=\"TODO\"+#todo"
|
||||||
((org-agenda-overriding-header (oni-org--center-align "To Read")))))))
|
((org-agenda-overriding-header (oni-org--center-align "To Do")))))))
|
||||||
|
|
||||||
(setf (map-elt org-agenda-custom-commands "w")
|
(oni-org--map-put org-agenda-custom-commands "r"
|
||||||
'("Watching" ((tags-todo "TODO=\"WAITING\"+#watching"
|
'("Reading" ((tags-todo "TODO=\"WAITING\"+#reading"
|
||||||
((org-agenda-overriding-header (oni-org--center-align "Waiting To Watch"))))
|
((org-agenda-overriding-header (oni-org--center-align "Waiting To Read"))))
|
||||||
(tags-todo "TODO=\"WIP\"+#watching"
|
(tags-todo "TODO=\"WIP\"+#reading"
|
||||||
((org-agenda-overriding-header (oni-org--center-align "Watching"))))
|
((org-agenda-overriding-header (oni-org--center-align "Reading"))))
|
||||||
(tags-todo "TODO=\"TODO\"+#watching"
|
(tags-todo "TODO=\"TODO\"+#reading"
|
||||||
((org-agenda-overriding-header (oni-org--center-align "To Watch")))))))
|
((org-agenda-overriding-header (oni-org--center-align "To Read")))))))
|
||||||
|
|
||||||
(setf (map-elt org-agenda-custom-commands "l")
|
(oni-org--map-put org-agenda-custom-commands "w"
|
||||||
'("Listening" ((tags-todo "TODO=\"WAITING\"+#listening"
|
'("Watching" ((tags-todo "TODO=\"WAITING\"+#watching"
|
||||||
((org-agenda-overriding-header (oni-org--center-align "Waiting To Listen To"))))
|
((org-agenda-overriding-header (oni-org--center-align "Waiting To Watch"))))
|
||||||
(tags-todo "TODO=\"WIP\"+#listening"
|
(tags-todo "TODO=\"WIP\"+#watching"
|
||||||
((org-agenda-overriding-header (oni-org--center-align "Listening"))))
|
((org-agenda-overriding-header (oni-org--center-align "Watching"))))
|
||||||
(tags-todo "TODO=\"TODO\"+#listening"
|
(tags-todo "TODO=\"TODO\"+#watching"
|
||||||
((org-agenda-overriding-header (oni-org--center-align "To Listen To")))))))
|
((org-agenda-overriding-header (oni-org--center-align "To Watch")))))))
|
||||||
|
|
||||||
(setf (map-elt org-capture-templates "sE")
|
(oni-org--map-put org-agenda-custom-commands "l"
|
||||||
'("Questions for Emacs packages" plain (function ignore)
|
'("Listening" ((tags-todo "TODO=\"WAITING\"+#listening"
|
||||||
"- Do I want to integrate this in my configuration?
|
((org-agenda-overriding-header (oni-org--center-align "Waiting To Listen To"))))
|
||||||
|
(tags-todo "TODO=\"WIP\"+#listening"
|
||||||
|
((org-agenda-overriding-header (oni-org--center-align "Listening"))))
|
||||||
|
(tags-todo "TODO=\"TODO\"+#listening"
|
||||||
|
((org-agenda-overriding-header (oni-org--center-align "To Listen To")))))))
|
||||||
|
|
||||||
|
(oni-org--map-put org-capture-templates "sE"
|
||||||
|
'("Questions for Emacs packages" plain (function ignore)
|
||||||
|
"- Do I want to integrate this in my configuration?
|
||||||
- %?
|
- %?
|
||||||
- What will it add / What advantage will it bring?
|
- What will it add / What advantage will it bring?
|
||||||
-
|
-
|
||||||
- How would I integrate it with my config?
|
- How would I integrate it with my config?
|
||||||
- "
|
- "
|
||||||
:empty-lines 1
|
:empty-lines 1
|
||||||
:immediate-finish t
|
:immediate-finish t
|
||||||
:jump-to-captured t))
|
:jump-to-captured t))
|
||||||
(setf (map-elt org-capture-templates-contexts "sE")
|
(oni-org--map-put org-capture-templates-contexts "sE"
|
||||||
'(((in-mode . "org-mode"))))
|
'(((in-mode . "org-mode"))))
|
||||||
|
|
||||||
(setf (map-elt org-capture-templates "se")
|
(oni-org--map-put org-capture-templates "se"
|
||||||
'("Questions for Emacs articles" plain (function ignore)
|
'("Questions for Emacs articles" plain (function ignore)
|
||||||
"- What can I add to my config from this?
|
"- What can I add to my config from this?
|
||||||
- %?"
|
- %?"
|
||||||
:empty-lines 1
|
:empty-lines 1
|
||||||
:immediate-finish t
|
:immediate-finish t
|
||||||
:jump-to-captured t))
|
:jump-to-captured t))
|
||||||
(setf (map-elt org-capture-templates-contexts "se")
|
(oni-org--map-put org-capture-templates-contexts "se"
|
||||||
'(((in-mode . "org-mode"))))
|
'(((in-mode . "org-mode"))))
|
||||||
|
|
||||||
(setf (map-elt org-capture-templates "s")
|
(oni-org--map-put org-capture-templates "s"
|
||||||
'("Snippets"))
|
'("Snippets"))
|
||||||
(setf (map-elt org-capture-templates-contexts "s")
|
(oni-org--map-put org-capture-templates-contexts "s"
|
||||||
'(((in-mode . "org-mode"))))
|
'(((in-mode . "org-mode"))))
|
||||||
|
|
||||||
(setf (map-elt org-capture-templates "t")
|
(oni-org--map-put org-capture-templates "t"
|
||||||
'("A simple TODO item." entry (file "") "* TODO %?
|
'("A simple TODO item." entry (file "") "* TODO %?
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CREATED: %U
|
:CREATED: %U
|
||||||
:END:"))
|
:END:"))
|
||||||
|
|
||||||
(setf (map-elt org-capture-templates "U")
|
(oni-org--map-put org-capture-templates "U"
|
||||||
'("A TODO capture from the browser." entry (file "") "* TODO %:description
|
'("A TODO capture from the browser." entry (file "") "* TODO %:description
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:CREATED: %U
|
:CREATED: %U
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
%:link"
|
%:link"
|
||||||
:immediate-finish t))
|
:immediate-finish t))
|
||||||
|
|
||||||
(provide 'oni-org)
|
(provide 'oni-org)
|
||||||
;;; oni-org.el ends here
|
;;; oni-org.el ends here
|
||||||
|
|
Loading…
Reference in a new issue