[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] org-olpath-completing-read is not friendly with partial-comple
From: |
Levin Du |
Subject: |
[Orgmode] org-olpath-completing-read is not friendly with partial-completion-mode |
Date: |
Fri, 16 Oct 2009 14:52:19 +0800 |
Try this:
(partial-completion-mode t)
(funcall 'org-olpath-completing-read "? "
'("todo1.org/tasks/"
"todo1.org/tasks/normal/"
"todo1.org/tasks/urgent/"
"note.org/")
nil t nil nil)
todo<tab><tab>
It stays on todo1.org/ (Sole completion)
my raw patch:
diff --git a/vendor/org/org.el b/vendor/org/org.el
index d3d886f..f3a02cf 100644
--- a/vendor/org/org.el
+++ b/vendor/org/org.el
@@ -7780,23 +7780,29 @@ from."
(defun org-icompleting-read (&rest args)
"Completing-read using `ido-mode' or `iswitchb' speedups if available"
- (if (and org-completion-use-ido
- (fboundp 'ido-completing-read)
- (boundp 'ido-mode) ido-mode
- (listp (second args)))
- (let ((ido-enter-matching-directory nil))
- (apply 'ido-completing-read (concat (car args))
- (if (consp (car (nth 1 args)))
- (mapcar (lambda (x) (car x)) (nth 1 args))
- (nth 1 args))
- (cddr args)))
- (if (and org-completion-use-iswitchb
- (boundp 'iswitchb-mode) iswitchb-mode
- (listp (second args)))
- (apply 'org-iswitchb-completing-read (concat (car args))
- (mapcar (lambda (x) (car x)) (nth 1 args))
- (cddr args))
- (apply 'completing-read args))))
+ (let ((saved-pc-mode partial-completion-mode))
+ (when saved-pc-mode
+ (partial-completion-mode 0))
+ (unwind-protect
+ (if (and org-completion-use-ido
+ (fboundp 'ido-completing-read)
+ (boundp 'ido-mode) ido-mode
+ (listp (second args)))
+ (let ((ido-enter-matching-directory nil))
+ (apply 'ido-completing-read (concat (car args))
+ (if (consp (car (nth 1 args)))
+ (mapcar (lambda (x) (car x)) (nth 1 args))
+ (nth 1 args))
+ (cddr args)))
+ (if (and org-completion-use-iswitchb
+ (boundp 'iswitchb-mode) iswitchb-mode
+ (listp (second args)))
+ (apply 'org-iswitchb-completing-read (concat (car args))
+ (mapcar (lambda (x) (car x)) (nth 1 args))
+ (cddr args))
+ (apply 'completing-read args)))
+ (when saved-pc-mode
+ (partial-completion-mode 1)))))
(defun org-extract-attributes (s)
"Extract the attributes cookie from a string and set as text property."
@@ -8890,7 +8896,6 @@ See also `org-refile-use-outline-path' and
`org-completion-use-ido'"
(unless org-refile-target-table
(error "No refile targets"))
(let* ((cbuf (current-buffer))
- (partial-completion-mode nil)
(cfn (buffer-file-name (buffer-base-buffer cbuf)))
(cfunc (if (and org-refile-use-outline-path
org-outline-path-complete-in-steps)
Hope it helps.
Regards,
Levin
- [Orgmode] org-olpath-completing-read is not friendly with partial-completion-mode,
Levin Du <=