From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: cl-defgeneric vs random funcall in project.el Date: Tue, 4 Aug 2015 20:59:56 +0100 Message-ID: References: <86oaiwa57v.fsf@stephe-leake.org> <55B79B3F.1060200@yandex.ru> <86wpxj93r2.fsf@stephe-leake.org> <55B82A0C.5040709@yandex.ru> <86fv4782k2.fsf@stephe-leake.org> <55B92F76.7060104@yandex.ru> <86380686sm.fsf@stephe-leake.org> <55BA0AC4.7060906@yandex.ru> <86mvyd7jf0.fsf@stephe-leake.org> <55BA5BDD.1080009@yandex.ru> <86k2thz0dw.fsf@stephe-leake.org> <55BAC366.1010803@yandex.ru> <86fv44z94l.fsf@stephe-leake.org> <55BBFC3E.2010405@yandex.ru> <86h9ojjoll.fsf@stephe-leake.org> <55BCB6E5.2040804@yandex.ru> <86wpxfhyzm.fsf@stephe-leake.org> <55BCF888.4020907@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1438718457 32472 80.91.229.3 (4 Aug 2015 20:00:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 4 Aug 2015 20:00:57 +0000 (UTC) Cc: Stephen Leake , emacs-devel To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Aug 04 22:00:51 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZMiOF-000826-BX for ged-emacs-devel@m.gmane.org; Tue, 04 Aug 2015 22:00:47 +0200 Original-Received: from localhost ([::1]:37530 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMiOE-0000U7-Sh for ged-emacs-devel@m.gmane.org; Tue, 04 Aug 2015 16:00:46 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52218) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMiNl-0000Tl-Tw for emacs-devel@gnu.org; Tue, 04 Aug 2015 16:00:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZMiNk-00033c-7F for emacs-devel@gnu.org; Tue, 04 Aug 2015 16:00:17 -0400 Original-Received: from mail-ig0-x22a.google.com ([2607:f8b0:4001:c05::22a]:33257) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMiNk-00033X-2l for emacs-devel@gnu.org; Tue, 04 Aug 2015 16:00:16 -0400 Original-Received: by igbpg9 with SMTP id pg9so100637229igb.0 for ; Tue, 04 Aug 2015 13:00:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=LuiHnTqfn3dxcxTbnhUdgObcm9KaDTKnJxxnrcXduZg=; b=P5jdTPj/ktLJkDSyO5RH/Z0Z9F503Rx2Uw44W+3IaOZb1lFF/hNv6P5c25y6ObuEQE ZiLDd2IdzEUojSGF/YXLnkFkso8Z6/Sn3JfiqX8vttTAZYMaB/NHSnfPDh7cN6Oo25em S0noIk/CJ62An3SPazayKim83nRyt65FHUxU5p4o7KR1TbLp5NhKP96/culOunDbp8Km 020swnwEkN6/ZEhYdPqYd0DGDs6qpysbCj63JjVblXzFlVUck6cdaYnMSocVNXBvT+FM TgpHWcwpgpqG2cjDvFUB6pEfqVuevgevd9wvvDHrM0YY23RIoxK6AdC5/44NV15TpKH0 +B8Q== X-Received: by 10.50.43.167 with SMTP id x7mr6407614igl.95.1438718415574; Tue, 04 Aug 2015 13:00:15 -0700 (PDT) Original-Received: by 10.107.30.210 with HTTP; Tue, 4 Aug 2015 12:59:56 -0700 (PDT) In-Reply-To: <55BCF888.4020907@yandex.ru> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4001:c05::22a X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:188411 Archived-At: On Sat, Aug 1, 2015 at 5:49 PM, Dmitry Gutov wrote: > On 08/01/2015 05:20 PM, Stephen Leake wrote: > >>> Not at all, they need variables. You can easily set the variables from >>> .dir-locals.el, and any Emacs-wielding team member on the same project >>> will use them automatically. > Thinking about this more, buffer-local variables have their own > complications: > > - You need an buffer open, inside the given directory tree, to get their > values. The project-find-functions API just passes in DIR to get a projec= t > instance. There might not even be a buffer open in that directory. You can probably (with-temp-buffer (setq default-directory DIR) (hack-dir-local-variables)) ...) Won't that work? I use this ocasionally for my personal horrible ad-hoc project managing code (that I hope to replace with project.el eventually). > - If a user tries to set their values in init.el, that won't end well. What happens by default when a user sets other dir-local variables in her init file? I'd be happy with that ending. > The best bet seems to be to store them in the project file, which a proje= ct > backend reads and saves to the project instance's slots. I'd prefer that .dir-locals is used if you can manage it. I don't want to have to debug other sources of variable settings other than the ones I have to know now. It also makes backend writing much easier. --=20 Jo=C3=A3o T=C3=A1vora