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: IDE Date: Wed, 28 Oct 2015 07:39:49 -0400 Message-ID: <5630B405.40007@gmail.com> References: <5610E0BC.8090902@online.de> <83si5r106e.fsf@gnu.org> <831td9z18h.fsf@gnu.org> <5612E996.7090700@yandex.ru> <83bnc7tavr.fsf@gnu.org> <5618C92A.3040207@yandex.ru> <83a8rrt9ag.fsf@gnu.org> <871tcyexa9.fsf@fimbulvetr.bsc.es> <87612a7my2.fsf@fencepost.gnu.org> <561DC925.5050001@siege-engine.com> <561E32D2.4060501@yandex.ru> <83wpum3ozk.fsf@gnu.org> <87si59ln6u.fsf@isaac.fritz.box> <56224B63.3010803@yandex.ru> <562592ED.1070104@siege-engine.com> <56262577.70107@yandex.ru> <562702C2.6070505@gmail.com> <56276ECE.3090508@yandex.ru> <56281747.9050305@gmail.com> <56282664.3000409@yandex.ru> <56283D79.2070904@gmail.com> <5628C5E7.5060803@yandex.ru> <5628DD6C.6000408@gmail.com> <56303005.4030808@yandex.ru> 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 1446032406 20101 80.91.229.3 (28 Oct 2015 11:40:06 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 28 Oct 2015 11:40:06 +0000 (UTC) Cc: emacs-devel@gnu.org To: Dmitry Gutov , David Engster Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 28 12:40:05 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 1ZrP5F-0002X5-PR for ged-emacs-devel@m.gmane.org; Wed, 28 Oct 2015 12:40:02 +0100 Original-Received: from localhost ([::1]:36985 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZrP5F-0006CJ-3S for ged-emacs-devel@m.gmane.org; Wed, 28 Oct 2015 07:40:01 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50198) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZrP5B-0006CB-Cb for emacs-devel@gnu.org; Wed, 28 Oct 2015 07:39:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZrP55-00089Q-AX for emacs-devel@gnu.org; Wed, 28 Oct 2015 07:39:57 -0400 Original-Received: from mail-qg0-x22d.google.com ([2607:f8b0:400d:c04::22d]:36134) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZrP55-00088m-4M for emacs-devel@gnu.org; Wed, 28 Oct 2015 07:39:51 -0400 Original-Received: by qgad10 with SMTP id d10so3288909qga.3 for ; Wed, 28 Oct 2015 04:39:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=b65v/4K5GsuEDx0zZ2G6+EQh8vbCq94uoiffhlglZNk=; b=PkU/iwhSbnqy4tzdJqSsEelk1aEopP5QyIHBcP0PMO9ROaDt3p3sHzIxDOZ0BNaRYD 3GUJdNyU6KcYlNOsohOlgQxbbIpMoG2vVAsSTi4LyNslqnmm01zaXiuzaSTduvknYiz6 SfPC9fd8KalvDUi9Ft+pqOKWXYU5ZkuPLA+E0Z2IuX038zE2qQirhalYheSZORysEN9O 8SqMwFnZ8QVlgqDHdQcYZAJinK8GZcS+fJCfoZq1I+4zhwrSn0c7vOuNM8t2R9P83BHi qlKUC1otXgmGPyhOM1VVO7Di+B1t9Bhs/8NZF8BOhVnSbrLsQ2x+hA+krIfgTodqrxBG 3Ugg== X-Received: by 10.140.102.237 with SMTP id w100mr15423075qge.44.1446032390667; Wed, 28 Oct 2015 04:39:50 -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 z130sm6527688qkz.7.2015.10.28.04.39.49 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Oct 2015 04:39:50 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 In-Reply-To: <56303005.4030808@yandex.ru> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400d:c04::22d 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:192784 Archived-At: On 10/27/2015 10:16 PM, Dmitry Gutov wrote: > On 10/22/2015 03:58 PM, Eric Ludlam wrote: > >> In addition, by going through the semantic version, there are a range of >> different formatting options to use that the user can select from. That >> doesn't require idle-summary-mode, but is a side effect of using >> semantic to extract contextual information. > > The formatting options depend on using some rich structure like > Semantic tags. So it would make sense to port that only after we > standardize on some tag format universally across Emacs (are Semantic > tags optimal? I don't know). > What is optimal? For me, it was about pulling all the datatype information out of the syntax, and differentiating between different tag classes, and having something that was Emacs friendly, and extensible to any language, no matter how strange. For me, Semantic's tag structure is pretty good. It has 5 slots: * The name, as 'car' so you can use assoc and other friendly things. * The class of the tag is next, as all languages have different kinds of tags. * plist of attributes, extensible to use anything, but with some common attribute names defined for use via API. * plist of properties, or bits of data needed by the tooling, which is arbitrary and extensible for whatever a tool might need. * Buffer binding information - either the [start end] of the tag, or an overlay. That makes the tag extensible for almost any situation, and keeps TAG data and OPERATIONAL data separate, saveable, and searchable. >> It was deemed optional when Yidong merged CEDET into Emacs. You will >> probably need to use Emacs24 to make it work. To try it out do this: > > Step 6 is broken for me. > >> 1) Install graphviz (it uses that for the layout engine) >> 2) Start emacs 24 >> 3) Use CEDET from it's git repository >> 4) M-x find-library RET cogre RET >> 5) find cogre-element-peer in the code >> 6) M-x cogre-uml-quick-class RET > > I only get a "Class:" prompt, without a default value or completions. > Typing "cogre-element-peer" gives me "Could not find class ...", even > though cogre is obviously loaded. That's in Emacs 24.5. Did you enable semantic-mode? The buffer would need to be parsed for the data to be available, and for the prompt to have completion. >> When thinking about CEDET, it isn't about a >> bullet list of user facing features but about how it can enable someone >> working on said feature to have their work leveraged to a wider >> audience. > > People working on said features should be encouraged, of course. > Unfortunately, the two more interesting projects that I've seen > utilize CEDET are language-specific: > > - SRefactor only does anything useful for C/C++. > - Oleh Krehel's function-args even mentions C/C++ in its summary. > > Perhaps, if there were more broadly applicable examples, it would lead > to broader adoption. Maybe we should wonder why prefer making tools > for CEDET that only target C and C++. > . This is a good point. I always have thought about language independence and extensibility, but most folks are just trying to solve a problem and may not be interested in extending to anything else. I've built many little tools over the years, but perhaps they are observed as parts of CEDET core, and not as examples. The semantic-ia functions were supposed to be examples for how to use the infrastructure, but users have ended up using them as their interface and they became more complex. Eric