From 6aaa4a2193f3be9732b593c752ac21bfc0d9f03c Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Sun, 13 Apr 2014 22:57:29 -0400 Subject: Add function to set buffer for Org refiling --- lisp/init-org.el | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'lisp/init-org.el') diff --git a/lisp/init-org.el b/lisp/init-org.el index 1e9ab6b..4785590 100644 --- a/lisp/init-org.el +++ b/lisp/init-org.el @@ -214,6 +214,20 @@ A numeric prefix can be given to set MAXLEVEL (defaults to 2)." (org-icompleting-read "Buffer: " (mapcar 'buffer-name (org-buffer-list 'files))))) +(defun km/org-set-refiling-buffer (maxlevel) + "Choose buffer to set as sole target in `org-refile-targets'. +If `org-refile-targets' is already a local variable, restore the +global value. A numeric prefix can be given to set +MAXLEVEL (defaults to 2)." + (interactive "P") + (if (local-variable-p 'org-refile-targets) + (kill-local-variable 'org-refile-targets) + (let* ((buffer-file (substring-no-properties + (buffer-file-name (km/get-org-file-buffer)))) + (maxlevel (prefix-numeric-value (or maxlevel 2)))) + (set (make-local-variable 'org-refile-targets) + `((,buffer-file :maxlevel . ,maxlevel)))))) + (eval-after-load 'org '(add-to-list 'org-mode-hook '(lambda () -- cgit v1.2.3