summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Day <zygomega@gmail.com>2012-10-12 14:39:53 +1100
committerNicolas Goaziou <n.goaziou@gmail.com>2012-10-13 12:27:02 +0200
commit7f096ad379b1322311ee38101638fcf970422254 (patch)
tree3b339ac20a7e967b80e8bdbb761f84b07ac47a12
parent56470de26df3fd6813df3246287ef7f6c5581b7b (diff)
downloadorg-mode-7f096ad379b1322311ee38101638fcf970422254.tar.gz
org-insert-link: Use ido when inserting links
org.el (org-insert-link): Remove a list within the list of link creation that causes a bug when using ido. Remove the hard coded iswitch and ido switches. (org-iread-file-name): Create a function that can use ido-read-file-name if flagged as ok. (org-file-complete-link): Reference org-iread-file-name.
-rw-r--r--lisp/org.el36
1 files changed, 23 insertions, 13 deletions
diff --git a/lisp/org.el b/lisp/org.el
index 7f295c1..66b0e09 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -9317,18 +9317,15 @@ Use TAB to complete link prefixes, then RET for type-specific completion support
(unwind-protect
(progn
(setq link
- (let ((org-completion-use-ido nil)
- (org-completion-use-iswitchb nil))
- (org-completing-read
- "Link: "
- (append
- (mapcar (lambda (x) (list (concat x ":")))
- all-prefixes)
- (mapcar 'car org-stored-links)
- (mapcar 'cadr org-stored-links))
- nil nil nil
- 'tmphist
- (caar org-stored-links))))
+ (org-completing-read
+ "Link: "
+ (append
+ (mapcar (lambda (x) (concat x ":"))
+ all-prefixes)
+ (mapcar 'car org-stored-links))
+ nil nil nil
+ 'tmphist
+ (caar org-stored-links)))
(if (not (string-match "\\S-" link))
(error "No link selected"))
(mapc (lambda(l)
@@ -9422,7 +9419,7 @@ Use TAB to complete link prefixes, then RET for type-specific completion support
(defun org-file-complete-link (&optional arg)
"Create a file link using completion."
(let (file link)
- (setq file (read-file-name "File: "))
+ (setq file (org-iread-file-name "File: "))
(let ((pwd (file-name-as-directory (expand-file-name ".")))
(pwd1 (file-name-as-directory (abbreviate-file-name
(expand-file-name ".")))))
@@ -9440,6 +9437,19 @@ Use TAB to complete link prefixes, then RET for type-specific completion support
(t (setq link (concat "file:" file)))))
link))
+(defun org-iread-file-name (&rest args)
+ "Read-file-name using `ido-mode' speedup if available.
+ARGS are arguments that may be passed to `ido-read-file-name' or `read-file-name'.
+See `read-file-name' for a description of parameters."
+ (org-without-partial-completion
+ (if (and org-completion-use-ido
+ (fboundp 'ido-read-file-name)
+ (boundp 'ido-mode) ido-mode
+ (listp (second args)))
+ (let ((ido-enter-matching-directory nil))
+ (apply 'ido-read-file-name args))
+ (apply 'read-file-name args))))
+
(defun org-completing-read (&rest args)
"Completing-read with SPACE being a normal character."
(let ((enable-recursive-minibuffers t)