From 531d67a7150b3fbe4f97d736e65ab476706b1a31 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Thu, 13 Oct 2011 20:05:43 +0000 Subject: [PATCH] Fix Emacs 24 compatibility issue with Emacs 24 * contrib/lisp/org-contacts.el (completion-table-case-fold): Make completion compatible with Emacs 24Fix org-contacts completion at point (was: org-contacts completion stopped working) julien Barnier writes: Hi Julien, >> I use a very recent emacs 24 bzr checkout and org master from git. >> Not sure who's the culprit. > > Same problem here. After a quick look it seems that there has been a > recent change in the arguments taken by the completion-table-case-fold > function in minibuffer.el : > > http://bzr.savannah.gnu.org/lh/emacs/trunk/revision/105991 Thanks for the pointer! > But I don't think I could be able to find a fix by myself. But I was able, so good teamwork, mate. :-) --8<---------------cut here---------------start------------->8--- >From d89ca3ce39cd7436e5205744adcf468d9619180f Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Thu, 13 Oct 2011 17:02:07 +0200 Subject: [PATCH 2/2] Fix org-contacts completion at point. --- org-contacts.el | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/org-contacts.el b/org-contacts.el index f4d9cd7..4b21d26 100644 --- a/org-contacts.el +++ b/org-contacts.el @@ -169,9 +169,10 @@ If both match values are nil, return all contacts." (when (not (fboundp 'completion-table-case-fold)) ;; That function is new in Emacs 24... - (defun completion-table-case-fold (table string pred action) - (let ((completion-ignore-case t)) - (complete-with-action action table string pred)))) + (defun completion-table-case-fold (table &optional dont-fold) + (lambda (string pred action) + (let ((completion-ignore-case (not dont-fold))) + (complete-with-action action table string pred))))) (defun org-contacts-complete-name (&optional start) "Complete text at START with a user name and email." @@ -226,9 +227,7 @@ If both match values are nil, return all contacts." ;; If the user has an email address, append USER . if email collect (org-contacts-format-email contact-name email)) ", "))))) - (list start end (if org-contacts-completion-ignore-case - (apply-partially #'completion-table-case-fold completion-list) - completion-list)))) + (list start end (completion-table-case-fold completion-list (not org-contacts-completion-ignore-case))))) (defun org-contacts-message-complete-function () "Function used in `completion-at-point-functions' in `message-mode'."