From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jason Rumney Newsgroups: gmane.emacs.devel Subject: Re: Refactoring in Emacs Date: Wed, 01 Aug 2012 22:05:23 +0800 Message-ID: <87hasm6730.fsf@gnu.org> References: <5017D1D4.2050601@yandex.ru> <83wr1jeua9.fsf@gnu.org> <50181914.4030503@yandex.ru> <83pq7berfa.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1343830103 24935 80.91.229.3 (1 Aug 2012 14:08:23 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 1 Aug 2012 14:08:23 +0000 (UTC) Cc: Dmitry Antipov , joakim@verona.se, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 01 16:08:22 2012 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 1SwZb4-000355-Dh for ged-emacs-devel@m.gmane.org; Wed, 01 Aug 2012 16:08:22 +0200 Original-Received: from localhost ([::1]:45804 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SwZb3-0003OX-8Q for ged-emacs-devel@m.gmane.org; Wed, 01 Aug 2012 10:08:21 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:41366) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SwZaw-0003MD-Ps for emacs-devel@gnu.org; Wed, 01 Aug 2012 10:08:18 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SwZar-0006Uu-2j for emacs-devel@gnu.org; Wed, 01 Aug 2012 10:08:14 -0400 Original-Received: from mail-pb0-f41.google.com ([209.85.160.41]:48422) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SwZah-0006TX-0x; Wed, 01 Aug 2012 10:07:59 -0400 Original-Received: by pbbrp2 with SMTP id rp2so1288308pbb.0 for ; Wed, 01 Aug 2012 07:07:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=Pb0JhQlzzsZ6VS9mo50o6gVfdplNbrgVt2Y6AAzhd7E=; b=jtNCZSX7mW/j+GGaaZBGyAMHbfTNgmSckVcR4OEb1SCPSnePgHRiCMArp6r2hUepFj d9ICzZyhYp1B0i85z/DDnozUqh1ElwdVjHfWfknDL9fnRoRbhcBCQgYUGGiiFbw6SX8z 2CXM3rs0vltDHR8HNs2qcvLA3/SL2Z2waYglg0Y1btgDPKErv5X+7qhpacNs9FmN0DI2 pnVqucD11Q++HouqXryElK4sxy3n4aweaWAtiAUr+nnuovVliI6tjq0TqocICcGecyEx 7ujJQSP4+vzbbimsncSBWUtUUCGdGIBMiDf6mFuPofwtYgUbknJkh3mSsYaTLD8SrsQZ EHOA== Original-Received: by 10.68.195.197 with SMTP id ig5mr8745720pbc.137.1343830077821; Wed, 01 Aug 2012 07:07:57 -0700 (PDT) Original-Received: from home.jasonrumney.net ([180.75.28.25]) by mx.google.com with ESMTPS id wf7sm2665456pbc.34.2012.08.01.07.07.38 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 01 Aug 2012 07:07:57 -0700 (PDT) Original-Received: by home.jasonrumney.net (Postfix, from userid 1000) id D04DE12BE; Wed, 1 Aug 2012 22:05:23 +0800 (MYT) In-Reply-To: <83pq7berfa.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 31 Jul 2012 21:06:33 +0300") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.160.41 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:152078 Archived-At: Eli Zaretskii writes: >> Date: Tue, 31 Jul 2012 21:42:44 +0400 >> From: Dmitry Antipov >> >> IIUC real refactoring of C should imply preprocessing and full >> syntactic analysis > > Why is that? Can you give a couple of examples? > > Even if a full-fledged refactoring engine does need that, we could > have a somewhat limited one that doesn't, could we? AFAICS, the > refactoring you did until now were all quite simple. Preprocessing might even be a disadvantage, as it would mean skipping blocks of code that are currently #ifdef'ed out because of the configuration constants of the platform on which the refactoring is being done.