I receive an error whenever I call org-roam-dailies-find-today
and friends.
save-excursion: Wrong type argument: integer-or-marker-p, nil
Fresh install of Doom. Details:
- Emacs: GNU Emacs 27.2 (build 1, arm-apple-darwin20.3.0, Carbon Version 164 AppKit 2022.3)
of 2021-03-28 - Framework: Doom
- Org: Org mode version 9.5 (nil @ /Users/jbaty/.emacs.d/.local/straight/build-27.2/org-mode/)
- Org-roam: 2.0.0
I’m afraid I’m not sure where to look, so I’m posting the debug output below hoping maybe someone can point me in the right direction.
My org-roam directory is ~/org/roam and I’ve left the org-roam-dailies-directory as the default (daily/).
If this should be an issue in Github instead, let me know.
Debugger entered--Lisp error: (wrong-type-argument integer-or-marker-p nil)
goto-char(nil)
(save-excursion (goto-char p) (run-hooks 'org-roam-capture-new-node-hook) (org-id-get-create))
(let (p) (let* ((val (or (org-roam-capture--get :if-new) (user-error "Template needs to specify `:if-new'")))) (if (consp val) (let* ((x9 (car val))) (cond ((eq x9 'file) (let* (...) (if ... ... nil))) ((eq x9 'file+olp) (let* (...) (if ... ... nil))) ((eq x9 'file+head) (let* (...) (if ... ... nil))) ((eq x9 'file+head+olp) (let* (...) (if ... ... nil))) ((eq x9 'node) (let* (...) (if ... ... nil))) (t nil))) nil)) (save-excursion (goto-char p) (run-hooks 'org-roam-capture-new-node-hook) (org-id-get-create)))
org-roam-capture--goto-location()
(cond ((plist-get org-roam-capture--info :ref) (let* ((node (and t (org-roam-capture--get-node-from-ref (plist-get org-roam-capture--info :ref))))) (if node (progn (set-buffer (org-capture-target-buffer (org-roam-node-file node))) (goto-char (org-roam-node-point node)) (widen) (org-end-of-subtree t t)) (org-roam-capture--goto-location)))) ((and (org-roam-node-file org-roam-capture--node) (org-roam-node-point org-roam-capture--node)) (set-buffer (org-capture-target-buffer (org-roam-node-file org-roam-capture--node))) (goto-char (org-roam-node-point org-roam-capture--node)) (widen) (org-end-of-subtree t t) (org-roam-node-id org-roam-capture--node)) (t (org-roam-capture--goto-location)))
(let ((id (cond ((plist-get org-roam-capture--info :ref) (let* ((node ...)) (if node (progn ... ... ... ...) (org-roam-capture--goto-location)))) ((and (org-roam-node-file org-roam-capture--node) (org-roam-node-point org-roam-capture--node)) (set-buffer (org-capture-target-buffer (org-roam-node-file org-roam-capture--node))) (goto-char (org-roam-node-point org-roam-capture--node)) (widen) (org-end-of-subtree t t) (org-roam-node-id org-roam-capture--node)) (t (org-roam-capture--goto-location))))) (org-capture-put :template (org-roam-capture--fill-template (org-capture-get :template))) (org-roam-capture--put :id id) (org-roam-capture--put :finalize (or (org-capture-get :finalize) (org-roam-capture--get :finalize))))
org-roam-capture--get-point()
org-capture-set-target-location()
org-capture-goto-target("d")
#f(compiled-function (&optional goto keys) "Capture something.\n\\<org-capture-mode-map>\nThis will let you select a template from `org-capture-templates', and\nthen file the newly captured information. The text is immediately\ninserted at the target location, and an indirect buffer is shown where\nyou can edit it. Pressing `\\[org-capture-finalize]' brings you back to the previous\nstate of Emacs, so that you can continue your work.\n\nWhen called interactively with a `\\[universal-argument]' prefix argument GOTO, don't\ncapture anything, just go to the file/headline where the selected\ntemplate stores its notes.\n\nWith a `\\[universal-argument] \\[universal-argument]' prefix argument, go to the last note stored.\n\nWhen called with a `C-0' (zero) prefix, insert a template at point.\n\nWhen called with a `C-1' (one) prefix, force prompting for a date when\na datetree entry is made.\n\nELisp programs can set KEYS to a string associated with a template\nin `org-capture-templates'. In this case, interactive selection\nwill be bypassed.\n\nIf `org-capture-use-agenda-date' is non-nil, capturing from the\nagenda will use the date at point as the default date. Then, a\n`C-1' prefix will tell the capture process to use the HH:MM time\nof the day at point (if any) or the current HH:MM time." (interactive "P") #<bytecode 0x4391a41b>)((4) "d")
apply(#f(compiled-function (&optional goto keys) "Capture something.\n\\<org-capture-mode-map>\nThis will let you select a template from `org-capture-templates', and\nthen file the newly captured information. The text is immediately\ninserted at the target location, and an indirect buffer is shown where\nyou can edit it. Pressing `\\[org-capture-finalize]' brings you back to the previous\nstate of Emacs, so that you can continue your work.\n\nWhen called interactively with a `\\[universal-argument]' prefix argument GOTO, don't\ncapture anything, just go to the file/headline where the selected\ntemplate stores its notes.\n\nWith a `\\[universal-argument] \\[universal-argument]' prefix argument, go to the last note stored.\n\nWhen called with a `C-0' (zero) prefix, insert a template at point.\n\nWhen called with a `C-1' (one) prefix, force prompting for a date when\na datetree entry is made.\n\nELisp programs can set KEYS to a string associated with a template\nin `org-capture-templates'. In this case, interactive selection\nwill be bypassed.\n\nIf `org-capture-use-agenda-date' is non-nil, capturing from the\nagenda will use the date at point as the default date. Then, a\n`C-1' prefix will tell the capture process to use the HH:MM time\nof the day at point (if any) or the current HH:MM time." (interactive "P") #<bytecode 0x4391a41b>) ((4) "d"))
(let ((+file-templates-inhibit t)) (apply orig-fn args))
+file-templates-inhibit-in-org-capture-a(#f(compiled-function (&optional goto keys) "Capture something.\n\\<org-capture-mode-map>\nThis will let you select a template from `org-capture-templates', and\nthen file the newly captured information. The text is immediately\ninserted at the target location, and an indirect buffer is shown where\nyou can edit it. Pressing `\\[org-capture-finalize]' brings you back to the previous\nstate of Emacs, so that you can continue your work.\n\nWhen called interactively with a `\\[universal-argument]' prefix argument GOTO, don't\ncapture anything, just go to the file/headline where the selected\ntemplate stores its notes.\n\nWith a `\\[universal-argument] \\[universal-argument]' prefix argument, go to the last note stored.\n\nWhen called with a `C-0' (zero) prefix, insert a template at point.\n\nWhen called with a `C-1' (one) prefix, force prompting for a date when\na datetree entry is made.\n\nELisp programs can set KEYS to a string associated with a template\nin `org-capture-templates'. In this case, interactive selection\nwill be bypassed.\n\nIf `org-capture-use-agenda-date' is non-nil, capturing from the\nagenda will use the date at point as the default date. Then, a\n`C-1' prefix will tell the capture process to use the HH:MM time\nof the day at point (if any) or the current HH:MM time." (interactive "P") #<bytecode 0x4391a41b>) (4) "d")
apply(+file-templates-inhibit-in-org-capture-a #f(compiled-function (&optional goto keys) "Capture something.\n\\<org-capture-mode-map>\nThis will let you select a template from `org-capture-templates', and\nthen file the newly captured information. The text is immediately\ninserted at the target location, and an indirect buffer is shown where\nyou can edit it. Pressing `\\[org-capture-finalize]' brings you back to the previous\nstate of Emacs, so that you can continue your work.\n\nWhen called interactively with a `\\[universal-argument]' prefix argument GOTO, don't\ncapture anything, just go to the file/headline where the selected\ntemplate stores its notes.\n\nWith a `\\[universal-argument] \\[universal-argument]' prefix argument, go to the last note stored.\n\nWhen called with a `C-0' (zero) prefix, insert a template at point.\n\nWhen called with a `C-1' (one) prefix, force prompting for a date when\na datetree entry is made.\n\nELisp programs can set KEYS to a string associated with a template\nin `org-capture-templates'. In this case, interactive selection\nwill be bypassed.\n\nIf `org-capture-use-agenda-date' is non-nil, capturing from the\nagenda will use the date at point as the default date. Then, a\n`C-1' prefix will tell the capture process to use the HH:MM time\nof the day at point (if any) or the current HH:MM time." (interactive "P") #<bytecode 0x4391a41b>) ((4) "d"))
org-capture((4) "d")
(let* ((props (plist-put props :call-location (point-marker))) (org-capture-templates (mapcar #'(lambda (template) (org-roam-capture--convert-template template props)) (or templates org-roam-capture-templates))) (org-roam-capture--node node) (org-roam-capture--info info)) (if (and (not keys) (= (length org-capture-templates) 1)) (progn (setq keys (car (car org-capture-templates))))) (org-capture goto keys))
(progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ((memq (car --cl-keys--) '(:goto :keys :node :info :props :templates :allow-other-keys)) (setq --cl-keys-- (cdr (cdr --cl-keys--)))) ((car (cdr (memq ... --cl-rest--))) (setq --cl-keys-- nil)) (t (error "Keyword argument %s not one of (:goto :keys :node ..." (car --cl-keys--)))))) (let* ((props (plist-put props :call-location (point-marker))) (org-capture-templates (mapcar #'(lambda (template) (org-roam-capture--convert-template template props)) (or templates org-roam-capture-templates))) (org-roam-capture--node node) (org-roam-capture--info info)) (if (and (not keys) (= (length org-capture-templates) 1)) (progn (setq keys (car (car org-capture-templates))))) (org-capture goto keys)))
(let* ((goto (car (cdr (plist-member --cl-rest-- ':goto)))) (keys (car (cdr (plist-member --cl-rest-- ':keys)))) (node (car (cdr (plist-member --cl-rest-- ':node)))) (info (car (cdr (plist-member --cl-rest-- ':info)))) (props (car (cdr (plist-member --cl-rest-- ':props)))) (templates (car (cdr (plist-member --cl-rest-- ':templates))))) (progn (let ((--cl-keys-- --cl-rest--)) (while --cl-keys-- (cond ((memq (car --cl-keys--) '...) (setq --cl-keys-- (cdr ...))) ((car (cdr ...)) (setq --cl-keys-- nil)) (t (error "Keyword argument %s not one of (:goto :keys :node ..." (car --cl-keys--)))))) (let* ((props (plist-put props :call-location (point-marker))) (org-capture-templates (mapcar #'(lambda ... ...) (or templates org-roam-capture-templates))) (org-roam-capture--node node) (org-roam-capture--info info)) (if (and (not keys) (= (length org-capture-templates) 1)) (progn (setq keys (car (car org-capture-templates))))) (org-capture goto keys))))
org-roam-capture-(:goto (4) :node #s(org-roam-node :id nil :file nil :level nil :point nil :todo nil :priority nil :scheduled nil :deadline nil :title nil :tags nil :aliases nil :refs nil) :templates (("d" "default" entry "* %?" :if-new `(file+head ,(concat org-roam-dailies-directory "%<%Y-%m-%d>.org") "#+title: %<%Y-%m-%d>\n"))) :props (:default-time (24709 25874 545082 0) :call-location #<marker at 636 in 20210422092410-home_assistant.org>))
org-roam-dailies--capture((24709 25874 545082 0) t)
org-roam-dailies-capture-today(t)
org-roam-dailies-find-today()
funcall-interactively(org-roam-dailies-find-today)
call-interactively(org-roam-dailies-find-today nil nil)
command-execute(org-roam-dailies-find-today)