org: better error checking for attachments and :link

This commit is contained in:
Henrik Lissner 2016-03-11 19:28:24 -05:00
parent b580623530
commit 4e49b86f68
2 changed files with 7 additions and 1 deletions

View file

@ -50,6 +50,8 @@
;;;###autoload (autoload 'narf:org-attach "defuns-org-notebook" nil t) ;;;###autoload (autoload 'narf:org-attach "defuns-org-notebook" nil t)
(evil-define-command narf:org-attach (&optional uri) (evil-define-command narf:org-attach (&optional uri)
(interactive "<a>") (interactive "<a>")
(unless (eq major-mode 'org-mode)
(user-error "Not in an org-mode buffer"))
(if uri (if uri
(let* ((rel-path (org-download--fullname uri)) (let* ((rel-path (org-download--fullname uri))
(new-path (f-expand rel-path)) (new-path (f-expand rel-path))
@ -96,7 +98,8 @@
(let ((attachments '()) (let ((attachments '())
element element
file) file)
(when (> (length (f-glob (concat (f-slash org-attach-directory) "*"))) 0) (when (and (f-dir? org-attach-directory)
(> (length (f-glob (concat (f-slash org-attach-directory) "*"))) 0))
(save-excursion (save-excursion
(goto-char (point-min)) (goto-char (point-min))
(while (progn (org-next-link) (not org-link-search-failed)) (while (progn (org-next-link) (not org-link-search-failed))

View file

@ -342,7 +342,10 @@ re-align the table if necessary. (Necessary because org-mode has a
;;;###autoload (autoload 'narf:org-link "defuns-org" nil t) ;;;###autoload (autoload 'narf:org-link "defuns-org" nil t)
(evil-define-command narf:org-link (link) (evil-define-command narf:org-link (link)
"Add LINK to the org buffer. If a selection is active, link selection to LINK."
(interactive "<a>") (interactive "<a>")
(unless (eq major-mode 'org-mode)
(user-error "Not in an org-mode buffer"))
(let ((beg evil-visual-beginning) (let ((beg evil-visual-beginning)
(end evil-visual-end)) (end evil-visual-end))
(org-insert-link nil link (when (and beg end) (buffer-substring-no-properties beg end))))) (org-insert-link nil link (when (and beg end) (buffer-substring-no-properties beg end)))))