From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Tassilo Horn Newsgroups: gmane.emacs.devel,gmane.emacs.orgmode Subject: Re: [Orgmode] Re: Announcing org-contacts, a bbdb-like contact manager for Org Date: Fri, 11 Feb 2011 21:15:48 +0100 Message-ID: <87vd0qfhu3.fsf@member.fsf.org> References: <87r5bhysp6.fsf@keller.adm.naquadah.org> <878vxovsym.fsf@keller.adm.naquadah.org> <87k4h7ua23.fsf@member.fsf.org> <87vd0romky.fsf@keller.adm.naquadah.org> <87mxm2na63.fsf@member.fsf.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1297455367 5249 80.91.229.12 (11 Feb 2011 20:16:07 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 11 Feb 2011 20:16:07 +0000 (UTC) Cc: emacs-orgmode@gnu.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Feb 11 21:16:02 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PnzPM-0004mZ-9m for ged-emacs-devel@m.gmane.org; Fri, 11 Feb 2011 21:16:00 +0100 Original-Received: from localhost ([127.0.0.1]:41251 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PnzPL-00081v-FD for ged-emacs-devel@m.gmane.org; Fri, 11 Feb 2011 15:15:59 -0500 Original-Received: from [140.186.70.92] (port=38110 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PnzPG-0007xo-I1 for emacs-devel@gnu.org; Fri, 11 Feb 2011 15:15:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PnzPF-00046j-CU for emacs-devel@gnu.org; Fri, 11 Feb 2011 15:15:54 -0500 Original-Received: from out1.smtp.messagingengine.com ([66.111.4.25]:45666) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PnzPE-00046R-7s; Fri, 11 Feb 2011 15:15:53 -0500 Original-Received: from compute1.internal (compute1.nyi.mail.srv.osa [10.202.2.41]) by gateway1.messagingengine.com (Postfix) with ESMTP id 39A2820F8D; Fri, 11 Feb 2011 15:15:51 -0500 (EST) Original-Received: from frontend2.messagingengine.com ([10.202.2.161]) by compute1.internal (MEProxy); Fri, 11 Feb 2011 15:15:51 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=messagingengine.com; h=from:to:cc:subject:in-reply-to:references:date:message-id:mime-version:content-type; s=smtpout; bh=vW+M2V1CY+r07FQbMe+yDu2sKcA=; b=jP4/8PlUnTTOgEeJOI7kzkEeRUJwcWJCpQXMDPasVFBXWJCbOmYGli4KAp586g0tFxjlXnjXUbR8bH5RI67++Oe9jlBhVt3L27jGYxIRI8+xjPQfcEdIMowAtrMgcYMOcHcTl3yCdfvXnf/uo6aA0IfMkt/PLl/g8/5eyIHwACU= X-Sasl-enc: apxrqTCO59otvnOthD4oWcUGV2jQHWr2FzmokpwrlMKA 1297455350 Original-Received: from thinkpad (95-88-32-105-dynip.superkabel.de [95.88.32.105]) by mail.messagingengine.com (Postfix) with ESMTPA id 2D008442616; Fri, 11 Feb 2011 15:15:49 -0500 (EST) In-Reply-To: (Stefan Monnier's message of "Fri, 11 Feb 2011 09:47:54 -0500") User-Agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 66.111.4.25 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:135910 gmane.emacs.orgmode:37498 Archived-At: Stefan Monnier writes: Hi Stefan, >> So the question is: how can the completion-ignore-case value be >> propagated from the completion gathering function in >> `completion-at-point-functions' to the function that actually applies >> this completion, without having to modify the global or buffer local >> value of `completion-ignore-case'? > > Assuming you have a completion table in variable `table', you should > be able to construct a new completion table that's case-insensitive > with something like the untested code below: > > (defun completion-table-case-fold (table string pred action) > (let ((completion-ignore-case t)) > (complete-with-action action table string pred))) > > [...] > (let ((newtable > (apply-partially #'completion-table-case-fold table))) > [...]) > > where completion-table-case-fold is an auxiliary function which > (c|sh)ould be added to minibuffer.el. Hm, why not simply add a property :ignore-case to the PROPS a function in `completion-at-point-functions' may return in addition to the existing :predicate and :annotation-function? Then `completion-at-point' could simply bind `completion-ignore-case' according to that property when calling `completion-in-region'. Bye, Tassilo