From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: newline-and-indent vs. electric-indent-mode Date: Mon, 25 Jan 2021 10:15:03 -0500 Message-ID: References: <87wnw5yt58.fsf@hajtower> <01d07f6d-cc4c-2f54-4bae-a611bba7be93@yandex.ru> <66b7932d-4cee-9628-fae0-168ee6ebc041@yandex.ru> <801ef866-4212-5b74-350e-9942953174fe@yandex.ru> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17910"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: Madhu , emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Jan 25 16:19:31 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l43eN-0004WQ-0e for ged-emacs-devel@m.gmane-mx.org; Mon, 25 Jan 2021 16:19:31 +0100 Original-Received: from localhost ([::1]:35934 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l43eM-0007Au-0O for ged-emacs-devel@m.gmane-mx.org; Mon, 25 Jan 2021 10:19:30 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:49634) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l43aA-0004Vf-Es for emacs-devel@gnu.org; Mon, 25 Jan 2021 10:15:10 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:47909) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l43a8-0008Lg-2i for emacs-devel@gnu.org; Mon, 25 Jan 2021 10:15:09 -0500 Original-Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 4EB24805F3; Mon, 25 Jan 2021 10:15:06 -0500 (EST) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id C5B798021A; Mon, 25 Jan 2021 10:15:04 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1611587704; bh=swLp6hh5R7bua658vhphggfKop9kroWCDyvWTNk6dhA=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=Km9Vi05b9Y7G7z/jQUy9wrRIGO7aOw8G32BR8mWKaiOM8t81Xz005cLBRqU+RoB1J eRlE5mHOcSWg9Fnvh/fu/M5z2kzAh3T08i5DT9riPSmura10N6N9Ajr1vlMzlaTqe7 EbPCgkdviEwalN8R+n1PuLaUPs01BFFWE7txcNgeMRqrRj0Gr5uShdQeH6IkKRhMqz 4oRIqC8JrYs6VyCEp1ECUKZgrq6wwtUwwEt/mPserWhn9vWNcRgvAq12hxrSQmsg0Y YVsvLQzkaWqC5wsm85MhOp3kyl5u+xdPxl88kWLTDVklwnudMNVJfWMRlKVhP0CpNO RxnYQc0mmWQuQ== Original-Received: from alfajor (69-196-141-46.dsl.teksavvy.com [69.196.141.46]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 99C2B12025D; Mon, 25 Jan 2021 10:15:04 -0500 (EST) In-Reply-To: (Dmitry Gutov's message of "Mon, 25 Jan 2021 16:42:56 +0200") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:263388 Archived-At: >> The problem with `whitespace-cleanup-mode` is that it's global. >> I'd like something that only operates locally, i.e. only touches lines >> you've modified. > That would be https://github.com/lewang/ws-butler. That's better, indeed, tho if you look at the implementation you see that it has to deal with lots of corner cases, so it ends up "ugly and brittle": I'm not sure "cleanup on save" is the better option. I don't mean to say that Le Wang did a bad job, BTW: the issues aren't caused by a bad design or implementation, but by a hard problem. I was thinking instead of something that removes the trailing space(s) when point leaves the line (like Madhu suggested). Of course that's also fraught with danger (e.g. you don't want that whitespace to disappear just because you did `C-x C-x`), so the result might end up just as ugly&brittle. > whitespace-cleanup-mode is working out just fine for me, though, because by > default is only cleans files that were clean previously. I'd like a feature that is also active in non-clean files. Stefan