From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Emacs contributions, C and Lisp (was: Re: /srv/bzr/emacs/trunk r101338: ...) Date: Sun, 16 Feb 2014 19:36:30 +0200 Message-ID: <83sirj9cyp.fsf@gnu.org> References: <87r47bi1e5.fsf@yandex.ru> <52F96284.50507@yandex.ru> <52FAE12B.6060101@yandex.ru> <52FC3BEE.60604@yandex.ru> <52FCD2B4.5080006@yandex.ru> <52FD9F1D.50205@yandex.ru> <83mwhucg1h.fsf@gnu.org> <878ute589i.fsf@fencepost.gnu.org> <83d2iqc84m.fsf@gnu.org> <87wqgxkcr9.fsf@yandex.ru> <834n41db0d.fsf@gnu.org> <52FE2985.4070703@yandex.ru> <831tz5daes.fsf@gnu.org> <8738jlohd6.fsf@yandex.ru> <83txc1bl83.fsf@gnu.org> <5300189A.9090208@yandex.ru> <83wqgv9fbj.fsf@gnu.org> <20140216180712.236069f6@forcix.jorgenschaefer.de> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_aqTxczzwAYX/6P5tA1FSLg)" X-Trace: ger.gmane.org 1392572195 9279 80.91.229.3 (16 Feb 2014 17:36:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 16 Feb 2014 17:36:35 +0000 (UTC) Cc: emacs-devel@gnu.org, dgutov@yandex.ru To: Jorgen Schaefer Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Feb 16 18:36:44 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 1WF5dy-0001UV-S7 for ged-emacs-devel@m.gmane.org; Sun, 16 Feb 2014 18:36:43 +0100 Original-Received: from localhost ([::1]:34368 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WF5dy-0005Lm-FS for ged-emacs-devel@m.gmane.org; Sun, 16 Feb 2014 12:36:42 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55810) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WF5dp-0005Kd-Tz for emacs-devel@gnu.org; Sun, 16 Feb 2014 12:36:38 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WF5dl-0005fw-DY for emacs-devel@gnu.org; Sun, 16 Feb 2014 12:36:33 -0500 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:51230) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WF5dk-0005fo-Qu for emacs-devel@gnu.org; Sun, 16 Feb 2014 12:36:29 -0500 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0N1300900NGBV200@a-mtaout20.012.net.il> for emacs-devel@gnu.org; Sun, 16 Feb 2014 19:36:27 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N13009UHNKQT130@a-mtaout20.012.net.il>; Sun, 16 Feb 2014 19:36:27 +0200 (IST) In-reply-to: <20140216180712.236069f6@forcix.jorgenschaefer.de> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.166 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:169651 Archived-At: --Boundary_(ID_aqTxczzwAYX/6P5tA1FSLg) Content-type: text/plain > Date: Sun, 16 Feb 2014 18:07:12 +0100 > From: Jorgen Schaefer > Cc: Dmitry Gutov , emacs-devel@gnu.org > > On Sun, 16 Feb 2014 18:45:36 +0200 > Eli Zaretskii wrote: > > > But how about starting with those GUI code folding > > decorations like every IDE nowadays has, while Emacs doesn't? (ECB > > comes close, but why shouldn't an Emacs user have that out of the box, > > especially when Speedbar does something very similar for ages?) > > Assuming you mean something like this: > > http://pythonthusiast.pythonblogs.com/gallery/230/pycharm2.PNG Or like this: --Boundary_(ID_aqTxczzwAYX/6P5tA1FSLg) Content-type: image/png Content-transfer-encoding: base64 Content-disposition: attachment; filename=VS_Outlining.png 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 --Boundary_(ID_aqTxczzwAYX/6P5tA1FSLg) Content-type: text/plain > The whole code folding infrastructure in Emacs needs work, really. The > problem, as often with Emacs, is not that it wouldn't exist at all, but > that there are two dozen solutions that all have different > shortcomings. Then here's a clear bunch of todo items, right? I hope someone will volunteer. > > > Despite certain expectations that everything is better when written > > > in Emacs Lisp, context-dependent code completion and documentation > > > display support is usually delegated to an external process, and > > > there are relatively new packages that use editor-agnostic > > > services: Jedi for Python, nREPL for Clojure, Tern for JavaScript, > > > OmniSharp for C#. > > > > Where's their integration with Emacs, though? > > Jedi: https://github.com/tkf/emacs-jedi > Jedi and Rope: https://github.com/jorgenschaefer/elpy > nrepl: https://github.com/technomancy/nrepl.el (and others) > tern: https://github.com/marijnh/tern/tree/master/emacs (and others) > OmniSharp: https://github.com/sp3ctum/omnisharp-emacs (apparently) Why aren't they part of Emacs? > As I said in the thread you mentioned, the problem is not that these > extensions wouldn't exist for Emacs, it's that each and every one of > them reinvents most of the wheel to get similar features to Emacs. Bringing them into Emacs bundle is a significant first step towards solving the deficiencies, since Emacs maintainers will work with the authors to fix them, and will continue maintaining them through the years. If they are left outside, they will continue being on the fringe. > > > There are even several packages that provide support for C/C++ code > > > completion using Clang or libclang. They are older, though, than > > > the ones mentioned above. > > > > And where's _their_ integration with Emacs? > > The integration was declined on this list because Emacs should prefer > gcc over clang to protect user's freedoms, and gcc does not provide such > features. GCC supports plugins, so it should be possible to do the same. Or start with CEDET and Semantic, as was already suggested several times. In any case, clinging with clang clearly makes no sense, if we want these features in Emacs. > > Yes, refactoring is very important, and we should have it before we > > can call ourselves IDE. > > Various Rope-based extensions for Emacs (ropemacs, elpy) offer access to > Rope's Python refactoring tools. It's still short of "real" > integration, though, but the first steps are there. Bring those into Emacs, please. --Boundary_(ID_aqTxczzwAYX/6P5tA1FSLg)--