From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Oleh Krehel Newsgroups: gmane.emacs.devel Subject: Re: Emacs rewrite in a maintainable language Date: Wed, 14 Oct 2015 13:33:51 +0200 Message-ID: <87twptheg0.fsf@gmail.com> References: <561A19AB.5060001@cumego.com> <87io6dl0h0.fsf@wanadoo.es> <87lhb82qxc.fsf@gmail.com> <878u78b3hg.fsf@fencepost.gnu.org> <87h9lwyv33.fsf@gmail.com> <561C368F.6010306@cs.ucla.edu> <87oag3xb2i.fsf@gmail.com> <561D241E.1010902@cs.ucla.edu> <87vbaaagr5.fsf@gmail.com> <86io6amqhd.fsf@gmail.com> <06472760353f91fb2b6a1e427e954a70@mail.iq.pl> <874mhtra55.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1444822584 17758 80.91.229.3 (14 Oct 2015 11:36:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 14 Oct 2015 11:36:24 +0000 (UTC) Cc: emacs-devel@gnu.org To: =?utf-8?Q?Przemys=C5=82aw?= Wojnowski Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 14 13:36:19 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 1ZmKLq-0000Ur-ML for ged-emacs-devel@m.gmane.org; Wed, 14 Oct 2015 13:36:10 +0200 Original-Received: from localhost ([::1]:41758 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZmKLq-0002l8-32 for ged-emacs-devel@m.gmane.org; Wed, 14 Oct 2015 07:36:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54132) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZmKJU-0000TX-Mx for emacs-devel@gnu.org; Wed, 14 Oct 2015 07:33:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZmKJQ-0003II-H5 for emacs-devel@gnu.org; Wed, 14 Oct 2015 07:33:44 -0400 Original-Received: from mail-wi0-x230.google.com ([2a00:1450:400c:c05::230]:36643) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZmKJQ-0003Hy-9n for emacs-devel@gnu.org; Wed, 14 Oct 2015 07:33:40 -0400 Original-Received: by wicgb1 with SMTP id gb1so226682982wic.1 for ; Wed, 14 Oct 2015 04:33:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type:content-transfer-encoding; bh=VjwmMQqwiJuYbHuqh/AUSfh9YshNAN7RedbnWbVRrLo=; b=Dz4YxS5NDyhGMKHQ5IrZD2EtG5b5EB6VxTYoVjtzuJ73cLGGJZC9nvZdvTGiESqLia 7o92N4yDbx4Pua+n7eTufMhJFAW8JLzr2JwV8UjOyggFi1TCf0Eft4RSiAD6NFZHNnaf vln2NbE31p/eMBocYelyQwL3VtK7bDLVonFF3pkyPyuKHd4TSknHHpe19aEQzJ11rScq g5yNJErij2CMAGLo8ZO//9z6DfSjA3Yb/0sGfr5gnMhHbKdZOhQPGIZBDo0CFjIwyJy0 CErFvhpCdNQ/UAhes+c0RMLRw+0BgORU0QHHeIvlneavS3YowSkVEr8wDIB5jqVyCKnU X0yg== X-Received: by 10.194.84.42 with SMTP id v10mr3906958wjy.1.1444822419387; Wed, 14 Oct 2015 04:33:39 -0700 (PDT) Original-Received: from firefly (dyn069045.nbw.tue.nl. [131.155.69.45]) by smtp.gmail.com with ESMTPSA id kr10sm9457134wjc.25.2015.10.14.04.33.37 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 14 Oct 2015 04:33:38 -0700 (PDT) In-Reply-To: <874mhtra55.fsf@gnu.org> (Tassilo Horn's message of "Wed, 14 Oct 2015 12:56:38 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::230 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:191545 Archived-At: Tassilo Horn writes: > Przemys=C5=82aw Wojnowski writes: > >>>> I don't. I have no problem spending time to replace "char const *" >>>> into "const char *". Browsing through a code base that I want to get >>>> familiar with and fixing a small annoyance doesn't sound bad to me. >>> >>> Pointless churn. Find something that fixes an bug, or adds a useful >>> new feature, and work on that. You will find it more rewarding, and >>> other users and developers will find your contribution more helpful. >> >> Refactorings that increase maintainability (like this one) are very >> useful to other developers. >> >> Such changes, even small, accumulate towards something that can be >> called a "maintainable system". In (wannabe) healthy systems it is >> everyday practice. > > OTOH, they reduce the helpfulness version control offers to new and old > developers. I.e., it's good when "git blame" shows you the last changes > which actually changed the code, and switching "char const *" to "const > char *" or vice versa are no real changes. I've seen this excuse before. Doesn't it mean that there's a flaw in the "git blame" workflow rather than in the refactoring commits? Besides, "git blame" provides a way to specify a range of revisions that you're interested in. Personally, looking through the revision history in order to understand code is a last resort for me. The code should be written and documented well enough to be understandable at the current revision. This is further magnified by the fact that we release source tarballs, which should be self-containing. > In the same vein, it's of course good to have one consistent indentation > style, one consistent style of setting braces, one consistent style of > naming variables, etc. But I'd suggest to clean up the non-conforming > parts only when you do significant changes in that area anyhow. You mean: /* TODO: change "char const *" to "const char *" when an opportunity ar= ises to change foo */ void foo (char const *bar); This doesn't sound like a sustainable and healthy approach. In the same vein, concerning the matter of one consistent indentation style, on occasion I've received complaints of producing too large whitespace diffs when changing Elisp functions. On those occasions I had to twist myself into never using `indent-sexp' and inserting the appropriate amount of mixed tabs and spaces with "C-q". It wasn't fun. Oleh