From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Emacs bug #23794; sort-line behavior regressed from prior Emacs versions Date: Sun, 19 Jun 2016 19:30:21 +0300 Message-ID: <83oa6x87ky.fsf@gnu.org> References: <83shwa9zmr.fsf@gnu.org> <83lh229ywc.fsf@gnu.org> <83inx69xcx.fsf@gnu.org> <0984ce22-cbcf-42a6-906e-a03b65f3c71c@default> <8360t5aolu.fsf@gnu.org> <83vb158awq.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1466353895 30829 80.91.229.3 (19 Jun 2016 16:31:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 19 Jun 2016 16:31:35 +0000 (UTC) Cc: rms@gnu.org, drew.adams@oracle.com, emacs-devel@gnu.org To: rswgnu@gmail.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jun 19 18:31:30 2016 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 1bEfdB-0005pJ-TJ for ged-emacs-devel@m.gmane.org; Sun, 19 Jun 2016 18:31:30 +0200 Original-Received: from localhost ([::1]:39354 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bEfdB-0005LQ-1K for ged-emacs-devel@m.gmane.org; Sun, 19 Jun 2016 12:31:29 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53308) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bEfcY-0005LE-2b for emacs-devel@gnu.org; Sun, 19 Jun 2016 12:30:54 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bEfcT-0003If-Lr for emacs-devel@gnu.org; Sun, 19 Jun 2016 12:30:50 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:55274) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bEfcT-0003IS-IF; Sun, 19 Jun 2016 12:30:45 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2696 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1bEfcG-0001Qm-HU; Sun, 19 Jun 2016 12:30:33 -0400 In-reply-to: (message from Robert Weiner on Sun, 19 Jun 2016 12:12:12 -0400) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:204530 Archived-At: > From: Robert Weiner > Date: Sun, 19 Jun 2016 12:12:12 -0400 > Cc: Drew Adams , Richard Stallman , > emacs-devel > > On Sun, Jun 19, 2016 at 11:18 AM, Eli Zaretskii wrote: > > As I wrote, I'd very much prefer a solution that only affects > outline-mode and its descendants. In those modes, ignoring invisible > lines could be the default behavior. I think we should also provide a > defcustom to make sort-lines behave in outline modes as it does today, > because, although I agree that the current behavior makes less sense > in those modes, it's nonetheless a valid use case that we should not > disallow completely. > > As for modes that are not descendants of outline-mode, the default > should IMO stay as it is now. Whether we want an option to make > sort-lines disregard invisible text in those other modes is something > I have no opinion about, and won't object if patches to that effect > are submitted. > > This is a much clearer statement of your thinking. Thanks, it is helpful. It sounds like you are suggesting that > sort-lines have an internal conditional check for whether an outline mode is active in the buffer to be sorted > (rather than suggesting a separate outline-sort-lines function), correct? > > So I will try for a patch that leaves the default behavior of sort-lines the same unless an outline-mode or > descendant is active in which case the default will be to group invisible lines with visible ones. There will be a > way to override the default behavior with the other behavior (not grouping invisible lines with visible ones and > treating them as separate lines for sorting). How does that sound? Didn't think that far, but is it really clean for sort-lines to have special code for some major mode? I thought a better way is to override the default behavior by having sort-lines call functions through funcall or somesuch, and then outline modes could set the appropriate variable to the function of their liking? Just thinking aloud.