From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?utf-8?Q?=C3=93scar_Fuentes?= Newsgroups: gmane.emacs.devel Subject: Re: Emacs contributions, C and Lisp Date: Sat, 01 Mar 2014 14:21:40 +0100 Message-ID: <87fvn2awbf.fsf@wanadoo.es> References: <87y50z90pd.fsf@fencepost.gnu.org> <87txbn8r6x.fsf@fencepost.gnu.org> <8338j717oe.fsf@gnu.org> <87zjlf6tdx.fsf@fencepost.gnu.org> <83sir7yue7.fsf@gnu.org> <8761o3dlak.fsf@wanadoo.es> <83bnxuzyl4.fsf@gnu.org> <871tyqes5q.fsf@wanadoo.es> <87a9ddg7o8.fsf@engster.org> <87d2i9ee8t.fsf@engster.org> <874n3ke1qn.fsf@engster.org> <87vbvzcjv9.fsf@engster.org> <87iorz18fy.fsf@fencepost.gnu.org> <83vbvyv08q.fsf@gnu.org> <87lhwuyycb.fsf@fencepost.gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1393680122 20075 80.91.229.3 (1 Mar 2014 13:22:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 1 Mar 2014 13:22:02 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Mar 01 14:22:10 2014 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 1WJjrm-0004y3-7A for ged-emacs-devel@m.gmane.org; Sat, 01 Mar 2014 14:22:10 +0100 Original-Received: from localhost ([::1]:59676 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WJjrl-0001op-Ns for ged-emacs-devel@m.gmane.org; Sat, 01 Mar 2014 08:22:09 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45855) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WJjrb-0001nW-I9 for emacs-devel@gnu.org; Sat, 01 Mar 2014 08:22:05 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WJjrV-0004VX-Mu for emacs-devel@gnu.org; Sat, 01 Mar 2014 08:21:59 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:54973) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WJjrV-0004Uy-Gp for emacs-devel@gnu.org; Sat, 01 Mar 2014 08:21:53 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1WJjrT-0004pG-W1 for emacs-devel@gnu.org; Sat, 01 Mar 2014 14:21:51 +0100 Original-Received: from 19.red-83-39-162.dynamicip.rima-tde.net ([83.39.162.19]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 01 Mar 2014 14:21:51 +0100 Original-Received: from ofv by 19.red-83-39-162.dynamicip.rima-tde.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 01 Mar 2014 14:21:51 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 42 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 19.red-83-39-162.dynamicip.rima-tde.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) Cancel-Lock: sha1:JRUHyHJR0r0QPoFdQk8CFmx+5sE= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:169991 Archived-At: David Kastrup writes: [snip] >> We already have elaborate infrastructure for this kind of features: >> CEDET and in particular Semantic. Moreover, we included CEDET in >> Emacs several releases ago precisely _because_ we wanted to move in >> the direction of making Emacs a better IDE. If we need more of what >> is in ECB and the upstream CEDET, we can bring that in. This is IMO >> the preferred direction: make Emacs features depend on nothing but >> Emacs packages. I know that you don't trust me when I say that this is foolish, so I'll recommend to you to ask on gcc-devel: "how much work it is to implement the necessary features from scratch (say on Elisp) for providing C++ smart code completion as Clang does?" You can also take a look at GCC or Clang sources to get an idea of the involved complexity (not that the sources reflects all the complexity.) [snip] > We have the statement here (and far too little attention has been paid > to it) that -fdump-xref and associated programs of the GNAT project > would do the trick for the editing task currently at issue. So there is > a prototype people could be testing and experimenting with instead of > doing flame wars. You can see -fdump-xref as adequate only if you look at it with the Etags mindset. -fdump-xref does not solve this most common pattern where you type this two lines in sequence: auto x = ; x. <- request code completion here You need to figure out the type of `x' for providing the completion candidates on the second line. For that, you'll need to start by rebuilding and reading the output of -fdump-xref for the current compile unit, which is very resource-intensive. Also, -fdump-xref would need to work well enough on malformed source code. [snip]