From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Perry E. Metzger" Newsgroups: gmane.emacs.devel Subject: Re: Emacs contributions, C and Lisp Date: Fri, 9 Jan 2015 13:13:35 -0500 Message-ID: <20150109131335.1a39f892@jabberwock.cb.piermont.com> References: <83bnxuzyl4.fsf@gnu.org> <8761nusb90.fsf@uwakimon.sk.tsukuba.ac.jp> <87vbkovhh7.fsf@engster.org> <87387rvobr.fsf@engster.org> <83ppat84hk.fsf@gnu.org> <20150106143933.0090bc83@jabberwock.cb.piermont.com> <83r3v77ij6.fsf@gnu.org> <20150106154539.3d0752c4@jabberwock.cb.piermont.com> <87wq4ype3z.fsf@fencepost.gnu.org> <878uherlf3.fsf@wanadoo.es> <20150108194342.1bd83ed1@jabberwock.cb.piermont.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1420827271 19673 80.91.229.3 (9 Jan 2015 18:14:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 9 Jan 2015 18:14:31 +0000 (UTC) Cc: ofv@wanadoo.es, emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 09 19:14:26 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 1Y9e48-0001g9-5s for ged-emacs-devel@m.gmane.org; Fri, 09 Jan 2015 19:13:44 +0100 Original-Received: from localhost ([::1]:51725 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y9e47-0001tW-2e for ged-emacs-devel@m.gmane.org; Fri, 09 Jan 2015 13:13:43 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53131) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y9e42-0001tP-HR for emacs-devel@gnu.org; Fri, 09 Jan 2015 13:13:39 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y9e41-000796-CJ for emacs-devel@gnu.org; Fri, 09 Jan 2015 13:13:38 -0500 Original-Received: from hacklheber.piermont.com ([2001:470:30:84:e276:63ff:fe62:3400]:46452) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y9e41-000777-09; Fri, 09 Jan 2015 13:13:37 -0500 Original-Received: from snark.cb.piermont.com (localhost [127.0.0.1]) by hacklheber.piermont.com (Postfix) with ESMTP id 30B86119; Fri, 9 Jan 2015 13:13:36 -0500 (EST) Original-Received: from jabberwock.cb.piermont.com (jabberwock.cb.piermont.com [10.160.2.107]) by snark.cb.piermont.com (Postfix) with ESMTP id F02622DEA20; Fri, 9 Jan 2015 13:13:35 -0500 (EST) In-Reply-To: X-Mailer: Claws Mail 3.10.1 (GTK+ 2.24.25; x86_64-apple-darwin14.0.0) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 2001:470:30:84:e276:63ff:fe62:3400 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:181106 Archived-At: On Fri, 09 Jan 2015 12:39:19 -0500 Richard Stallman wrote: > > There are refactorings that are impossible > > We were talking about completion -- you are changing the subject, > taking my statements out of context to make a false attack. We are not just talking about completion. We are talking about allowing Emacs to compete effectively with XCode, IntelliJ, and other modern integrated development environments. Such systems permit not only naive code completion (itself very difficult in a language like C++ without having an AST present) but complicated refactorings, and they are permitting more and more complicated refactorings with every passing year. Note that I'm also not persuaded that the AST is not needed for code completion in context when the underlying language has operator overloading and function overloading. I could perhaps be persuaded that there might be very specialized APIs possible to get around that, but then the sorts of refactorings you would want to perform become impossible anyway. > This is an example of your general approach. You (this means > several people) are not trying to help me make the right decision. > Rather you are trying to pressure me to do what you want, at the > expense of something I consider important. I am attempting to persuade. I believe everyone here is convinced and understands that you find it important to protect the AST, and we understand why. However, having free development tools that can compete with proprietary ones is also something many of us also consider very important. There is no shame in our explaining quite forcefully that this is very important and that there are few real alternatives to a real AST. > I will try to find out more about these refactoring practices -- > privately, with people I have confidence in, that have no axe to > grind. I would suggest that you instead attempt to actually use some of the modern tools out there so that you can intuitively understand, for yourself, the sorts of things Emacs is currently missing, without any sort of intermediary at all. You may find it enlightening. That said, to restrict yourself to *current* refactoring practices would also be to miss part of the point -- tools of this sort are constantly improving, and even if a limited API might handle this week's needs, it may not handle next week's or next year's. By forbidding the editor from having advanced knowledge of the parse tree, you are intentionally crippling the ability of smart people to build better and better free software tools. You are preventing smart hackers from going in and making the system as good as they can make it, from expressing their creativity in such a way as to build the best development environment they know how. Dare I say there is a freedom issue here? Many people -- you have heard from the in this thread -- would very much like to have information that the compiler has available inside their editor. You, as the software vendor, for purposes that I will admit are well intentioned, wish to prohibit that. Naturally, people find this frustrating, for the same reason you might yourself find it frustrating. You have asked us to see this from your point of view, and many of us have tried hard to do that. I beseech you to look at it from the point of view of other people as well. Perry -- Perry E. Metzger perry@piermont.com