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: Thu, 8 Jan 2015 19:43:42 -0500 Message-ID: <20150108194342.1bd83ed1@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> 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 1420764281 5756 80.91.229.3 (9 Jan 2015 00:44:41 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 9 Jan 2015 00:44:41 +0000 (UTC) Cc: =?ISO-8859-1?Q?=D3scar?= Fuentes , emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 09 01:44:36 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 1Y9NgC-0003on-4y for ged-emacs-devel@m.gmane.org; Fri, 09 Jan 2015 01:43:56 +0100 Original-Received: from localhost ([::1]:48695 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y9NgB-0004Wl-K0 for ged-emacs-devel@m.gmane.org; Thu, 08 Jan 2015 19:43:55 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37261) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y9Ng7-0004WU-EC for emacs-devel@gnu.org; Thu, 08 Jan 2015 19:43:52 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y9Ng6-0007xg-Ai for emacs-devel@gnu.org; Thu, 08 Jan 2015 19:43:51 -0500 Original-Received: from hacklheber.piermont.com ([2001:470:30:84:e276:63ff:fe62:3400]:44268) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y9Ng6-0007xC-6L; Thu, 08 Jan 2015 19:43:50 -0500 Original-Received: from snark.cb.piermont.com (localhost [127.0.0.1]) by hacklheber.piermont.com (Postfix) with ESMTP id 4DA4484; Thu, 8 Jan 2015 19:43:43 -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 F1F512DEA03; Thu, 8 Jan 2015 19:43:42 -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:181084 Archived-At: On Thu, 08 Jan 2015 18:59:24 -0500 Richard Stallman wrote: > Some data that I am sure is NOT needed is the entire statement-level > structure. There are refactorings that are impossible without statement level structure, such as semantic patches, that is, refactorings that are aware of higher level information such as "has this value that resulted from bar() being called been checked against NULL since the last call to foo(), and if not, bracket the variable it was assigned to in the following if statement...". Yes, people now have the opportunity to do such things, and because they can, they do. It is a powerful tool to use on a large code base. Programmers like being able to apply software to their programs to help them automate their work -- that's as old as computers practically. So, such high level global refactorings are a very desirable tool to the programmer. I have been forced up to now to use systems other than Emacs to perform such refactorings (specifically, LLVM derived systems -- and yes, I do such refactorings in the real world), but I would vastly prefer to write them in elisp and perform them inside of Emacs except in unusual circumstances. Again, I recognize the problem you wish to avoid, but I think that you are restricting the freedom of the users too much to avoid something that is now happening regardless. Perry -- Perry E. Metzger perry@piermont.com