diff --git a/org-roam-db.el b/org-roam-db.el index ab5f308..a518ec7 100644 --- a/org-roam-db.el +++ b/org-roam-db.el @@ -108,7 +108,7 @@ ROAM_REFS." :type '(alist)) ;;; Variables -(defconst org-roam-db-version 18) +(defconst org-roam-db-version 19) (defvar org-roam-db--connection (make-hash-table :test #'equal) "Database connection to Org-roam database.") @@ -214,7 +214,7 @@ The query is expected to be able to fail, in this situation, run HANDLER." (source :not-null) (dest :not-null) (type :not-null) - (properties :not-null)] + properties] (:foreign-key [source] :references nodes [id] :on-delete :cascade))))) (defconst org-roam-db--table-indices @@ -507,11 +507,8 @@ INFO is the org-element parsed buffer." (path (if (not option) path (substring path 0 (match-beginning 0)))) (source (org-roam-id-at-point)) - (properties (list :outline (ignore-errors - ;; This can error if link is not under any headline - (org-get-outline-path 'with-self 'use-cache)))) - (properties (if option (plist-put properties :search-option option) - properties))) + (properties (when option + (list :search-option option)))) ;; For Org-ref links, we need to split the path into the cite keys (when (and source path) (if (and (boundp 'org-ref-cite-types) @@ -533,9 +530,7 @@ INFO is the org-element parsed buffer." (goto-char (org-element-property :begin citation)) (let ((key (org-element-property :key citation)) (source (org-roam-id-at-point)) - (properties (list :outline (ignore-errors - ;; This can error if link is not under any headline - (org-get-outline-path 'with-self 'use-cache))))) + (properties nil)) (when (and source key) (org-roam-db-query [:insert :into citations diff --git a/org-roam-mode.el b/org-roam-mode.el index 8b3b660..a0af684 100644 --- a/org-roam-mode.el +++ b/org-roam-mode.el @@ -369,7 +369,7 @@ run at `post-command-hook'." (node :initform nil)) "A `magit-section' used by `org-roam-mode' to outline NODE in its own heading.") -(cl-defun org-roam-node-insert-section (&key source-node point properties) +(cl-defun org-roam-node-insert-section (&key source-node point _properties) "Insert section for a link from SOURCE-NODE to some other node. The other node is normally `org-roam-buffer-current-node'. @@ -393,7 +393,9 @@ the same time: other node) at POINT. Acts a child section of the previous one." (magit-insert-section section (org-roam-node-section) - (let ((outline (if-let ((outline (plist-get properties :outline))) + (let ((outline (if-let ((outline (append + (org-roam-node-olp source-node) + (list (org-roam-node-title source-node))))) (mapconcat #'org-link-display-format outline " > ") "Top"))) (insert (concat (propertize (org-roam-node-title source-node) @@ -534,8 +536,7 @@ SECTION-HEADING is the string used as a heading for the backlink section." (funcall show-backlink-p backlink))) (org-roam-node-insert-section :source-node (org-roam-backlink-source-node backlink) - :point (org-roam-backlink-point backlink) - :properties (org-roam-backlink-properties backlink)))) + :point (org-roam-backlink-point backlink)))) (insert ?\n)))) ;;;; Reflinks @@ -590,8 +591,7 @@ Sorts by title." (dolist (reflink reflinks) (org-roam-node-insert-section :source-node (org-roam-reflink-source-node reflink) - :point (org-roam-reflink-point reflink) - :properties (org-roam-reflink-properties reflink))) + :point (org-roam-reflink-point reflink))) (insert ?\n)))) ;;;; Grep