From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eric Ludlam Newsgroups: gmane.emacs.devel Subject: Re: running EDE from a file that is not under a project root dir Date: Wed, 05 Aug 2015 07:51:17 -0400 Message-ID: <55C1F8B5.7000003@siege-engine.com> References: <861tfiexaz.fsf@stephe-leake.org> <55C16D73.6080801@siege-engine.com> <86egjick23.fsf@stephe-leake.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1438775507 16741 80.91.229.3 (5 Aug 2015 11:51:47 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 5 Aug 2015 11:51:47 +0000 (UTC) To: Stephen Leake , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 05 13:51:39 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 1ZMxEQ-0003ZH-UW for ged-emacs-devel@m.gmane.org; Wed, 05 Aug 2015 13:51:39 +0200 Original-Received: from localhost ([::1]:40071 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMxEQ-0006Fp-63 for ged-emacs-devel@m.gmane.org; Wed, 05 Aug 2015 07:51:38 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50474) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMxEA-0006Dl-BC for emacs-devel@gnu.org; Wed, 05 Aug 2015 07:51:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZMxE7-0007uv-47 for emacs-devel@gnu.org; Wed, 05 Aug 2015 07:51:22 -0400 Original-Received: from mail-vk0-f42.google.com ([209.85.213.42]:35838) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMxE6-0007ul-Vw for emacs-devel@gnu.org; Wed, 05 Aug 2015 07:51:19 -0400 Original-Received: by vkhg129 with SMTP id g129so14431896vkh.2 for ; Wed, 05 Aug 2015 04:51:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=9btGMvaGdNs9+fvMFNfVu77Hf0Gy+UjRcT99XRAv/2Y=; b=i3oWJS+lHPFfqawJFbFVVt2UwgSrwgiXogRe2GIrZcj9xCi7aYLj5XNP17sU6RADVg Vm5NMyPodPkyzjz9L0KEnxW5AAwAXSVJCRMOQQ8kswwliclLWsF0mcEbm055idi6IR6o nsvAD5Jj8KHY9jKc3di/0l1VRb+r+SoG0oKsN1vQP7vWe1bMX3b5/Lyfww4/G8ujK3g+ lKxmVrZZEVZiBIx7lv9qC3dsyVScrO+rkKzH0Bg0R/O0f9DgIiNzbjvI8jWtkPzfUFbz kEO4tJiNxrqle24nChxQ4EySr2i9chlBFv+JJl1AFE+DJEwiZW/sl6Y8GZRb3tHdpML9 2iqg== X-Received: by 10.52.72.84 with SMTP id b20mr12034133vdv.6.1438775478030; Wed, 05 Aug 2015 04:51:18 -0700 (PDT) Original-Received: from [192.168.1.202] (pool-71-184-198-118.bstnma.fios.verizon.net. [71.184.198.118]) by smtp.googlemail.com with ESMTPSA id ew5sm506638vdc.10.2015.08.05.04.51.17 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 05 Aug 2015 04:51:17 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 In-Reply-To: <86egjick23.fsf@stephe-leake.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.85.213.42 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:188438 Archived-At: On 08/05/2015 02:43 AM, Stephen Leake wrote: >>> >> The EDE info manual in Emacs master mentions ede-proj-elisp.el in >>> >> section 8 Extending EDE, but I don't see that file in Emacs master >>> >> git. >> > >> >That is a piece of the large Make/Automake project system that builds >> >makefiles for you. > I think you are saying the file ede-proj-elisp.el is in some CEDET > repository, but not in Emacs core? I'll go look. Sorry, I wasn't clear. You can think of EDE as being broken into some different groups. There is project detection, for finding projects on disk, and there is 'core' EDE functionality that just manages file names, menus, keybindings and the like. There are also project implementations, such as a project for emacs, linux, and a project type that builds Makefiles for you based on meta data you provide. ede/proj-elisp.el is part of a bigger project that creates Project.ede files. The proj-elisp.el part is for managing Emacs Lisp code in that project type, and has code for creating makefile targets. Anyone who digs into any of the proj-*.el files will find code that starts dealing with file name patterns. These are used for building up make rules. There are some abstractions in there for 'source' files in ede/source.el for supporting that. I suppose that infrastructure could be used to build file patterns based on your current target, but it isn't bound to other project types. I'll also guess you won't want EDE dropping Project.ede files or creating Makefiles as you go along, so some some development of EDE would be needed to start bring the concepts across between the feature sets. Other project type also have emacs lisp targets, such as the Emacs project type. To use, just enabled ede with (global-ede-mode 1) And go edit some Emacs. Everything you might want to tweak that is project specific is in ede/emacs.el You could also consider (ede-enable-generic-projects) to get other basic projects to start being used. It will track .el files, but doesn't have any special features for it. Eric