(fix): fix org-roam-file-p crashing (#1651)

org-roam-file-p throws `wrong-type-argument stringp nil` on buffers that
do not have a corresponding file. This fix changes org-roam-file-p to
return nil instead of crashing in this scenario.

Addresses #1645
This commit is contained in:
Jethro Kuan
2021-07-21 20:57:59 +08:00
committed by GitHub
parent 7d5b7e6185
commit d9015cb931

View File

@ -167,12 +167,13 @@ Like `file-name-extension', but does not strip version number."
"Return t if FILE is part of Org-roam system, nil otherwise. "Return t if FILE is part of Org-roam system, nil otherwise.
If FILE is not specified, use the current buffer's file-path." If FILE is not specified, use the current buffer's file-path."
(let* ((path (or file (buffer-file-name (buffer-base-buffer)))) (let* ((path (or file (buffer-file-name (buffer-base-buffer))))
(ext (org-roam--file-name-extension path)) (ext (when path (org-roam--file-name-extension path)))
(ext (if (string= ext "gpg") (ext (if (string= ext "gpg")
(org-roam--file-name-extension (file-name-sans-extension path)) (org-roam--file-name-extension (file-name-sans-extension path))
ext))) ext)))
(save-match-data (save-match-data
(and (and
path
(member ext org-roam-file-extensions) (member ext org-roam-file-extensions)
(not (and org-roam-file-exclude-regexp (not (and org-roam-file-exclude-regexp
(string-match-p org-roam-file-exclude-regexp path))) (string-match-p org-roam-file-exclude-regexp path)))