1
0
Fork 0

[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:
Tom Willemse 2023-06-21 00:27:35 -07:00
parent c36f9ff2f7
commit 9fe6381afd

View file

@ -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