30 lines
1022 B
EmacsLisp
30 lines
1022 B
EmacsLisp
;;; +org-attach.el --- Fixes for org-attach -*- lexical-binding: t; -*-
|
|
|
|
;;; Commentary:
|
|
|
|
;; `org-attach-attach' doesn't fix the path name. Before I submit a bug, I'm
|
|
;; just fixing it by advising `org-attach-attach'.
|
|
|
|
;;; Code:
|
|
|
|
(defun +org-attach-attach-fix-args (args)
|
|
"ADVICE for `org-attach-attach' to normalize FILE first.
|
|
VISIT-DIR and METHOD are passed through unchanged.
|
|
|
|
This should be applied as `:filter-args' advice."
|
|
(cons (expand-file-name (car args)) (cdr args)))
|
|
|
|
(define-minor-mode +org-attach-fix-args-mode
|
|
"Fix the arguments passed to `org-attach-attach'.
|
|
This mode normalizes the filename passed to `org-attach-attach'
|
|
so that links can be properly made."
|
|
:lighter ""
|
|
:keymap nil
|
|
:global t ; I figure, what does this hurt?
|
|
(if +org-attach-fix-args-mode
|
|
(advice-add 'org-attach-attach :filter-args #'+org-attach-attach-fix-args)
|
|
(advice-remove 'org-attach-attach #'+org-attach-attach-fix-args)))
|
|
|
|
(provide '+org-attach)
|
|
;;; +org-attach.el ends here
|