mirror of
https://github.com/org-roam/org-roam
synced 2025-08-01 12:17:21 -05:00
(fix): fix headline completions erroring (#1374)
updates org-roam-with-file to accept nil FILE arg, to operate on current buffer. Fixes org-roam-link--get-headlines to kill buffer if not obtaining markers.
This commit is contained in:
@ -16,6 +16,7 @@
|
|||||||
- [#1346](https://github.com/org-roam/org-roam/pull/1346) prevent malformed path to `org-roam-index-file`
|
- [#1346](https://github.com/org-roam/org-roam/pull/1346) prevent malformed path to `org-roam-index-file`
|
||||||
- [#1347](https://github.com/org-roam/org-roam/pull/1347) allow use of `%a` element in regular Org-roam captures
|
- [#1347](https://github.com/org-roam/org-roam/pull/1347) allow use of `%a` element in regular Org-roam captures
|
||||||
- [#1352](https://github.com/org-roam/org-roam/pull/1352) fixed org-roam-{tag/alias}-{add/delete} altering the original case of the Org property
|
- [#1352](https://github.com/org-roam/org-roam/pull/1352) fixed org-roam-{tag/alias}-{add/delete} altering the original case of the Org property
|
||||||
|
- [#1374](https://github.com/org-roam/org-roam/pull/1374) fix headline completions erroring out
|
||||||
|
|
||||||
## 1.2.3 (13-11-2020)
|
## 1.2.3 (13-11-2020)
|
||||||
|
|
||||||
|
@ -97,7 +97,7 @@ the link."
|
|||||||
If FILE, return outline headings for passed FILE instead.
|
If FILE, return outline headings for passed FILE instead.
|
||||||
If WITH-MARKER, return a cons cell of (headline . marker).
|
If WITH-MARKER, return a cons cell of (headline . marker).
|
||||||
If USE-STACK, include the parent paths as well."
|
If USE-STACK, include the parent paths as well."
|
||||||
(org-roam-with-file file 'keep
|
(org-roam-with-file file (when with-marker 'keep)
|
||||||
(let* ((outline-level-fn outline-level)
|
(let* ((outline-level-fn outline-level)
|
||||||
(path-separator "/")
|
(path-separator "/")
|
||||||
(stack-level 0)
|
(stack-level 0)
|
||||||
@ -128,6 +128,7 @@ If USE-STACK, include the parent paths as well."
|
|||||||
name) cands))))
|
name) cands))))
|
||||||
(nreverse cands))))
|
(nreverse cands))))
|
||||||
|
|
||||||
|
|
||||||
(defun org-roam-link--get-file-from-title (title &optional no-interactive)
|
(defun org-roam-link--get-file-from-title (title &optional no-interactive)
|
||||||
"Return the file path corresponding to TITLE.
|
"Return the file path corresponding to TITLE.
|
||||||
When NO-INTERACTIVE, return nil if there are multiple options."
|
When NO-INTERACTIVE, return nil if there are multiple options."
|
||||||
@ -142,8 +143,8 @@ When NO-INTERACTIVE, return nil if there are multiple options."
|
|||||||
(completing-read "Select file: " files))))))
|
(completing-read "Select file: " files))))))
|
||||||
|
|
||||||
(defun org-roam-link--get-id-from-headline (headline &optional file)
|
(defun org-roam-link--get-id-from-headline (headline &optional file)
|
||||||
"Return (marker . id) correspondng to HEADLINE.
|
"Return (marker . id) correspondng to HEADLINE in FILE.
|
||||||
If FILE, get headline from FILE instead.
|
If FILE is nil, get ID from current buffer.
|
||||||
If there is no corresponding headline, return nil."
|
If there is no corresponding headline, return nil."
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(org-roam-with-file file 'keep
|
(org-roam-with-file file 'keep
|
||||||
|
@ -52,21 +52,26 @@
|
|||||||
(nconc new-lst (list separator it)))
|
(nconc new-lst (list separator it)))
|
||||||
new-lst)))
|
new-lst)))
|
||||||
|
|
||||||
(defmacro org-roam-with-file (file keep-file-p &rest body)
|
(defmacro org-roam-with-file (file keep-buf-p &rest body)
|
||||||
"Execute BODY within FILE.
|
"Execute BODY within FILE.
|
||||||
If KEEP-FILE-P or FILE is already visited, do not kill the
|
If FILE is nil, execute BODY in the current buffer.
|
||||||
buffer."
|
Kills the buffer if KEEP-BUF-P is nil, and FILE is not yet visited."
|
||||||
(declare (indent 2) (debug t))
|
(declare (indent 2) (debug t))
|
||||||
`(let* ((existing-buf (find-buffer-visiting ,file))
|
`(let* (new-buf
|
||||||
(buf (or existing-buf (find-file-noselect ,file)))
|
(buf (or (and (not ,file)
|
||||||
(keep-buf-p (or existing-buf ,keep-file-p))
|
(current-buffer)) ;If FILE is nil, use current buffer
|
||||||
|
(find-buffer-visiting ,file) ; If FILE is already visited, find buffer
|
||||||
|
(progn
|
||||||
|
(setq new-buf t)
|
||||||
|
(find-file-noselect ,file)))) ; Else, visit FILE and return buffer
|
||||||
res)
|
res)
|
||||||
(with-current-buffer buf
|
(with-current-buffer buf
|
||||||
(setq res (progn ,@body))
|
(setq res (progn ,@body))
|
||||||
(unless keep-buf-p
|
(unless (and new-buf (not ,keep-buf-p))
|
||||||
(save-buffer)))
|
(save-buffer)))
|
||||||
(unless (and keep-buf-p (find-buffer-visiting ,file))
|
(if (and new-buf (not ,keep-buf-p))
|
||||||
(kill-buffer (find-buffer-visiting ,file)))
|
(when (find-buffer-visiting ,file)
|
||||||
|
(kill-buffer (find-buffer-visiting ,file))))
|
||||||
res))
|
res))
|
||||||
|
|
||||||
(defmacro org-roam--with-temp-buffer (file &rest body)
|
(defmacro org-roam--with-temp-buffer (file &rest body)
|
||||||
|
Reference in New Issue
Block a user