From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: A vision for multiple major modes: some design notes Date: Sat, 23 Apr 2016 21:26:05 +0300 Message-ID: <8b50232e-8804-3f20-e5c2-a7b8ed9cd2e4@yandex.ru> References: <20160420194450.GA3457@acm.fritz.box> <8360vb6o7u.fsf@gnu.org> <20160421221943.GE1775@acm.fritz.box> <83a8km58qz.fsf@gnu.org> <20160422223507.GD1873@acm.fritz.box> <83d1pg6aes.fsf@gnu.org> <20160423170207.GB4624@acm.fritz.box> <83shyc42k6.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1461436004 27267 80.91.229.3 (23 Apr 2016 18:26:44 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 23 Apr 2016 18:26:44 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii , Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 23 20:26:34 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 1au2GH-00010o-Q9 for ged-emacs-devel@m.gmane.org; Sat, 23 Apr 2016 20:26:33 +0200 Original-Received: from localhost ([::1]:53210 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1au2GD-0002fx-W0 for ged-emacs-devel@m.gmane.org; Sat, 23 Apr 2016 14:26:30 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51866) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1au2Fy-0002dR-Os for emacs-devel@gnu.org; Sat, 23 Apr 2016 14:26:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1au2Fv-00048K-KA for emacs-devel@gnu.org; Sat, 23 Apr 2016 14:26:14 -0400 Original-Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]:36299) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1au2Fv-00048F-CT; Sat, 23 Apr 2016 14:26:11 -0400 Original-Received: by mail-wm0-x243.google.com with SMTP id w143so10973635wmw.3; Sat, 23 Apr 2016 11:26:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=yE0VV1mb8oM4M52QeSoDUD5Qp7F38A53AJ1l5HA+7kY=; b=fXL5ljdfYirpjPEgdDvAECuEur3ukAzdKuOKweB0loQpqdb4qHqz5Y+6JBzEJaEgwY y740zhjAo8A/JWeb9VPtSCB7em+IZuZtlhlY7GuyNeQrjYBH5O6CXyLFx8UxoFuPcpbC brl8xrXyFNECvQdthoP1KHAUzpyt7ep13zePOJVhNb8hMp69saxuEPGByXG+RiE/xEg4 V5abEEgoepn1QTZy1L7v/696RMR4Wh0Qc1cX+fQaJikXRogIYJUlTDNHLh7xQXYPPqHK KEXh409TlPIECXXDK+Wl9xqAdpciF9RXyBt5PzFjlum2JirR1jB0yBNlQcbqey5HCgJx yYuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:to:references:cc:from:message-id :date:user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=yE0VV1mb8oM4M52QeSoDUD5Qp7F38A53AJ1l5HA+7kY=; b=XAZWfv+eIlUdhJqCOksITPsKBwk5cROqllrYZoCNz26QsnV/oUHkjhc/WTAqrrT5tC A9GLCJxD0fwe/KLvXeDITANNPolb39Yf2VhM0d6TVeWTTHVr3STDsuSkQ1hAvvLJTKR4 wUFXJzJXk8LGGYJo5+rrgmtahbIcFevp9dq/0/j1L1SwX9CjirEDl4p2VHsij2iBvsPU wtsFqU0ojZYD3AG64NaFWPS0ndIh8q40Nqh3GslJSbkB/wPRfqy+EQSLTUFl0duJs5AL V/Er4lQKKpp+NYb2W7Z/tcV183nhvb4MAS84BiG/Q10e6u4fHWUqqW3WWWIYjHQPCPO0 I+2w== X-Gm-Message-State: AOPr4FVj777VqxG74Hk62vODhurkDv/lpY2doDqAmhUJ12pOs+i1+oZj7GnhzbAYLlvQiw== X-Received: by 10.28.137.14 with SMTP id l14mr1982092wmd.64.1461435970475; Sat, 23 Apr 2016 11:26:10 -0700 (PDT) Original-Received: from [192.168.1.2] ([185.105.175.24]) by smtp.googlemail.com with ESMTPSA id iv1sm14289239wjb.34.2016.04.23.11.26.07 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 23 Apr 2016 11:26:09 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 In-Reply-To: <83shyc42k6.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::243 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:203226 Archived-At: On 04/23/2016 09:12 PM, Eli Zaretskii wrote: >> We must consider both these things together. A prime design goal is to >> allow an arbitrary major mode to be used by a super mode with the minimum >> of adaptation to the major mode, ideally none. > > I think you make this goal the main one, and that is a mistake. The > changes that will be needed for supporting multiple modes in the same > buffer will be extensive, whether you want it or not, so trying too > hard to make it easier on modes to adapt will skew the design. +1. I also think we can afford to require some changes to the major mode code, as long as they're simple, and it's easy to spot whether they have been made. A hundred or so regexps to change is not that much if the design is otherwise sound.